@restforgejs/platform 5.0.3 → 5.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +1 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/processor/create.js +1 -1
- package/generators/lib/dbschema-kit/apply-executor.js +15 -1
- package/generators/lib/dbschema-kit/connection.js +17 -2
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
- package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
- package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
- package/generators/lib/payload/payload-runner.js +44 -2
- package/generators/lib/payload/schema-diff.js +31 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +421 -7
- package/generators/lib/validators/argument-validator.js +2 -2
- package/integrity-manifest.json +18 -18
- package/package.json +4 -2
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0x38d682=a0_0x21db;(function(_0x23bc45,_0x22a67a){const _0x4e1fef=a0_0x21db,_0x2dc347=_0x23bc45();while(!![]){try{const _0x9521de=-parseInt(_0x4e1fef(0x114))/0x1+-parseInt(_0x4e1fef(0x118))/0x2*(-parseInt(_0x4e1fef(0xf5))/0x3)+-parseInt(_0x4e1fef(0x11b))/0x4+parseInt(_0x4e1fef(0x11a))/0x5+-parseInt(_0x4e1fef(0x125))/0x6*(-parseInt(_0x4e1fef(0x117))/0x7)+-parseInt(_0x4e1fef(0xfb))/0x8*(parseInt(_0x4e1fef(0xfe))/0x9)+parseInt(_0x4e1fef(0x101))/0xa;if(_0x9521de===_0x22a67a)break;else _0x2dc347['push'](_0x2dc347['shift']());}catch(_0x41cdf3){_0x2dc347['push'](_0x2dc347['shift']());}}}(a0_0x15a5,0xa5f56));function a0_0x15a5(){const _0x4b2475=['BgvUz3rO','Dg9vChbLCKnHC2u','Bw9KDwXL','nM96BMXxuW','DgvTCerPCG','oti3yw9VDfbe','x2rLBgv0zvrLBxbgAwXL','u1HPqvG','Bwf0y2G','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','BM93','mtzLzLHSwKG','BxvSDgvY','DhjPBq','mtqXmZuXm0joCK5qyW','ChjVBwLZzxm','C2L6zq','nZy4mdKWzKz1BefX','zxHPC3rZu3LUyW','zw52','Aw5JBhvKzxm','zxjYB3i','q05TuhO','Agv4','y3jLyxrLuMvHzfn0CMvHBq','Cgf0Aa','A2v5','vvbmt0fex1rftvbFreLs','t1vWwK0','DxbSB2fK','B3jPz2LUywXUyw1L','x3rLBxbeAxi','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','x3bHCNnLrMLSzvnPEMu','DxjS','DwDPDvO','mZC2nJqWvfDOwLHf','Dg9tDhjPBMC','AwLSz3G','ntq5mJeZn21SCffzwq','mtGYDuHnDLDQ','zMLSzxm','nta2mJuZmgj6B1HMsW','mJeYnJaYmfffsLPzEa','DxbSB2fKzwrcEq','Bwf4rMLSzxm','zgvMyxvSDa','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','DgvTCa','BgLIBgq'];a0_0x15a5=function(){return _0x4b2475;};return a0_0x15a5();}const multer=require(a0_0x38d682(0xfc)),path=require(a0_0x38d682(0x109)),crypto=require('crypto'),fs=require('fs')[a0_0x38d682(0xff)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x3d9cb3=a0_0x38d682;this[_0x3d9cb3(0x10f)]=null;}get[a0_0x38d682(0xf4)](){const _0x4ea610=a0_0x38d682,_0x3ef389={'OUpZM':_0x4ea610(0x11e)};if(!this[_0x4ea610(0x10f)]){const _0x16c347=process[_0x4ea610(0x103)]['RESTFORGE_PROJECT_NAME']||_0x3ef389[_0x4ea610(0x10c)];this['_tempDir']=process[_0x4ea610(0x103)][_0x4ea610(0x10b)]||path['join'](process['cwd'](),_0x4ea610(0x120),'uploads',_0x16c347),!fsSync['existsSync'](this['_tempDir'])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}[a0_0x38d682(0x110)](_0x3dff51={}){const _0x4d1b6b=a0_0x38d682,_0x43fcb3={'tfrrn':function(_0x1d79b9,_0x34a32c,_0x1a3abb){return _0x1d79b9(_0x34a32c,_0x1a3abb);},'fbuZN':function(_0x3f4014,_0xfe38bc,_0x2f43a9){return _0x3f4014(_0xfe38bc,_0x2f43a9);},'KkDyS':function(_0x1026cb,_0x7568fd){return _0x1026cb(_0x7568fd);},'iilgx':'10MB','CNmPz':_0x4d1b6b(0x119)},_0x3613e5=_0x3dff51[_0x4d1b6b(0x11d)]||0x5,_0x13e5ab=this['_parseFileSize'](_0x3dff51['maxFileSize']||_0x43fcb3[_0x4d1b6b(0x116)]),_0x5b4412=_0x3dff51['allowedTypes']||[],_0x237588=multer['diskStorage']({'destination':(_0x492248,_0x2af506,_0x57f7d7)=>{const _0x5836b3=_0x4d1b6b;!fsSync[_0x5836b3(0x102)](this[_0x5836b3(0xf4)])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x57f7d7(null,this['tempDir']);},'filename':(_0x376384,_0x770e54,_0xb9b612)=>{const _0x4f624c=_0x4d1b6b,_0x705e3=crypto['randomBytes'](0x8)[_0x4f624c(0x115)](_0x4f624c(0x107)),_0x20b4b7=Date[_0x4f624c(0xfa)](),_0x1c5247=path['extname'](_0x770e54['originalname']);_0x43fcb3['tfrrn'](_0xb9b612,null,'upload-'+_0x20b4b7+'-'+_0x705e3+_0x1c5247);}}),_0x2bbdae=(_0x1bef56,_0x6bc819,_0x24576a)=>{const _0x49218a=_0x4d1b6b;if(_0x5b4412[_0x49218a(0x122)]===0x0)return _0x24576a(null,!![]);const _0xe94e5c=path['extname'](_0x6bc819[_0x49218a(0x10e)])['toLowerCase']()['replace']('.','');_0x5b4412[_0x49218a(0x104)](_0xe94e5c)?_0x43fcb3['fbuZN'](_0x24576a,null,!![]):_0x43fcb3['KkDyS'](_0x24576a,new Error('File\x20type\x20\x22.'+_0xe94e5c+_0x49218a(0xf9)+_0x5b4412['join'](',\x20')));};return multer({'storage':_0x237588,'limits':{'fileSize':_0x13e5ab,'files':_0x3613e5},'fileFilter':_0x2bbdae})['array'](_0x43fcb3[_0x4d1b6b(0x106)],_0x3613e5);}async['processUploadedFiles'](_0x5624bb,_0x28b224,_0x3c48d4={}){const _0x2ff94d=a0_0x38d682,_0x1a41ff={'libld':function(_0x5719c2,_0x414cd9){return _0x5719c2(_0x414cd9);}},{createFileMetadata:_0x17251a}=_0x1a41ff[_0x2ff94d(0x121)](require,_0x2ff94d(0x11f)),_0x422d1b=[];for(const _0x461681 of _0x5624bb){try{const _0x267058=_0x28b224['generateKey'](_0x461681[_0x2ff94d(0x10e)],{'prefix':_0x3c48d4['prefix']||'','project':_0x3c48d4['project']||'','module':_0x3c48d4[_0x2ff94d(0x124)]||'','endpoint':_0x3c48d4['endpoint']||''}),_0xbf6a49=fsSync[_0x2ff94d(0x108)](_0x461681[_0x2ff94d(0x109)]),_0x3876f7=await _0x28b224[_0x2ff94d(0x10d)](_0xbf6a49,_0x267058,{'contentType':_0x461681['mimetype'],'fileSize':_0x461681[_0x2ff94d(0x100)]}),_0xcfefe9=_0x17251a({'key':_0x3876f7[_0x2ff94d(0x10a)],'originalName':_0x461681[_0x2ff94d(0x10e)],'fileName':path['basename'](_0x267058),'contentType':_0x461681['mimetype'],'size':_0x461681[_0x2ff94d(0x100)],'url':_0x3876f7[_0x2ff94d(0x112)],'provider':_0x28b224['providerName'],'bucket':_0x28b224['bucket']||null,'uploadedBy':_0x3c48d4[_0x2ff94d(0x11c)]||null});_0x422d1b['push'](_0xcfefe9);}catch(_0xf50647){logger[_0x2ff94d(0x105)]({'event':'upload_v2_process_error','file':_0x461681['originalname'],'error':_0xf50647['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x461681['originalname']);throw _0xf50647;}finally{await this[_0x2ff94d(0xf6)](_0x461681['path']);}}return _0x422d1b;}async['_deleteTempFile'](_0xb6bba2){const _0x1ef4b8=a0_0x38d682,_0x34997d={'SXiAX':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0xb6bba2);}catch(_0x30c280){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0xb6bba2,'error':_0x30c280['message']},_0x34997d[_0x1ef4b8(0xf7)]);}}[a0_0x38d682(0x111)](_0x325076){const _0x3278d2=a0_0x38d682,_0x1b3ab1={'lTaOH':'number','bWAwd':function(_0x575324,_0x2a9a60){return _0x575324(_0x2a9a60);},'ugiuZ':function(_0x4ff4e5,_0x577eec){return _0x4ff4e5*_0x577eec;},'vztuc':function(_0x40deba,_0x812e67){return _0x40deba*_0x812e67;}};if(typeof _0x325076===_0x1b3ab1['lTaOH'])return _0x325076;const _0x39d52d=_0x1b3ab1['bWAwd'](String,_0x325076)[_0x3278d2(0xfd)]()[_0x3278d2(0xf8)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x39d52d)return 0xa*0x400*0x400;const _0xf30a79=parseFloat(_0x39d52d[0x1]),_0x504329=_0x39d52d[0x2][_0x3278d2(0x123)](),_0x25fbdc={'B':0x1,'KB':0x400,'MB':_0x1b3ab1[_0x3278d2(0x113)](0x400,0x400),'GB':_0x1b3ab1['vztuc'](0x400*0x400,0x400)};return Math['floor'](_0x1b3ab1['vztuc'](_0xf30a79,_0x25fbdc[_0x504329]||0x1));}}function a0_0x21db(_0x1c436d,_0x1c9815){_0x1c436d=_0x1c436d-0xf4;const _0x15a575=a0_0x15a5();let _0x21dbe1=_0x15a575[_0x1c436d];if(a0_0x21db['cuSljC']===undefined){var _0x3724ac=function(_0x34035a){const _0x2d5057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x222845='',_0x1de876='';for(let _0x1f137a=0x0,_0x4efc69,_0x5f4227,_0x4d359b=0x0;_0x5f4227=_0x34035a['charAt'](_0x4d359b++);~_0x5f4227&&(_0x4efc69=_0x1f137a%0x4?_0x4efc69*0x40+_0x5f4227:_0x5f4227,_0x1f137a++%0x4)?_0x222845+=String['fromCharCode'](0xff&_0x4efc69>>(-0x2*_0x1f137a&0x6)):0x0){_0x5f4227=_0x2d5057['indexOf'](_0x5f4227);}for(let _0x126feb=0x0,_0x4c010=_0x222845['length'];_0x126feb<_0x4c010;_0x126feb++){_0x1de876+='%'+('00'+_0x222845['charCodeAt'](_0x126feb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1de876);};a0_0x21db['hQDRBJ']=_0x3724ac,a0_0x21db['TbXdPM']={},a0_0x21db['cuSljC']=!![];}const _0xe418a2=_0x15a575[0x0],_0x232469=_0x1c436d+_0xe418a2,_0x5e53b2=a0_0x21db['TbXdPM'][_0x232469];return!_0x5e53b2?(_0x21dbe1=a0_0x21db['hQDRBJ'](_0x21dbe1),a0_0x21db['TbXdPM'][_0x232469]=_0x21dbe1):_0x21dbe1=_0x5e53b2,_0x21dbe1;}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x6e6b(){const _0x2f4b28=['z2v0vxbSB2fKtwLKzgXLD2fYzq','zxHPC3rZu3LUyW','odCXnZC2yNLiENvm','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','DxbSB2fKlq','B3jPz2LUywXUyw1L','Dg9tDhjPBMC','mtiXotuYne16zKTYqG','x3vWBg9HzerPCG','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','r3rVBKu','mta4odu0odbJBeDovu8','BM93','qMDXtfi','sNzht1C','mteWodiYmvnfzNnozq','zxjYB3i','Agv4','tevKquy','nZCZn3PHvenNqq','AKLlDfC','Aw5MBW','AM9PBG','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','oeXXtwvtDG','zgvSzxrLrMLSzq','mtmWmJuXmgnzsvLMrq','BwvZC2fNzq','DxbSB2fKrgLY','ChjVBwLZzxm','BwTKAxjtEw5J','Dg9mB3DLCKnHC2u','Aw9xzu0','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','ze15zLe','rM9guhu','lNHSC3G','txrTCvy','zgvMyxvSDa','ndK0mdGXmxboBwvxtG','rM9KC0m','z2v0u3rVCMfNzq','Aw5JBhvKzxm','Bwf4rMLSzvnPEMu','y3jtrLm','mJHlq3HIEgC','mZq4zfvQB050'];a0_0x6e6b=function(){return _0x2f4b28;};return a0_0x6e6b();}const a0_0x393017=a0_0xedb9;(function(_0xcff9e1,_0x379cb7){const _0x35fad6=a0_0xedb9,_0x1de5b3=_0xcff9e1();while(!![]){try{const _0x49f918=parseInt(_0x35fad6(0xa0))/0x1+-parseInt(_0x35fad6(0x90))/0x2*(-parseInt(_0x35fad6(0xa4))/0x3)+-parseInt(_0x35fad6(0x93))/0x4+-parseInt(_0x35fad6(0xab))/0x5+-parseInt(_0x35fad6(0x98))/0x6*(parseInt(_0x35fad6(0x8f))/0x7)+parseInt(_0x35fad6(0xa9))/0x8*(-parseInt(_0x35fad6(0x89))/0x9)+parseInt(_0x35fad6(0x9c))/0xa;if(_0x49f918===_0x379cb7)break;else _0x1de5b3['push'](_0x1de5b3['shift']());}catch(_0x506eb8){_0x1de5b3['push'](_0x1de5b3['shift']());}}}(a0_0x6e6b,0xc48d2));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x393017(0xae)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x4cd10a=a0_0x393017,_0x599cfa={'ioWeM':function(_0x3ee074,_0x460481){return _0x3ee074*_0x460481;}};this['_uploadDir']=null,this[_0x4cd10a(0x8d)]=_0x599cfa[_0x4cd10a(0xb1)](0xa,0x400)*0x400;}get[a0_0x393017(0xad)](){const _0x3c2eea=a0_0x393017,_0x36a05e={'MtmqV':_0x3c2eea(0x88),'LEdAF':'Upload\x20handler\x20initialized','crSFS':_0x3c2eea(0x9a),'dMyfQ':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x3c2eea(0x99)]){const _0x28cfe3=process['env']['RESTFORGE_PROJECT_NAME']||_0x36a05e[_0x3c2eea(0xb6)];this[_0x3c2eea(0x99)]=process['env']['UPLOAD_DIR']||path[_0x3c2eea(0xa7)](__dirname,'../../temp/uploads/'+_0x28cfe3);try{!fsSync[_0x3c2eea(0x92)](this['_uploadDir'])&&fsSync[_0x3c2eea(0xaf)](this['_uploadDir'],{'recursive':!![]}),logger[_0x3c2eea(0xa6)]({'event':'upload_handler_init','dir':this['_uploadDir']},_0x36a05e[_0x3c2eea(0xa3)]);}catch(_0x54d21e){logger[_0x3c2eea(0xa1)]({'event':_0x36a05e[_0x3c2eea(0x8e)],'error':_0x54d21e[_0x3c2eea(0xac)]},_0x36a05e[_0x3c2eea(0xb3)]);}}return this[_0x3c2eea(0x99)];}['getStorage'](){const _0x5de253={'JvGOW':function(_0x2d4761,_0x5e9b61,_0x10bdbc){return _0x2d4761(_0x5e9b61,_0x10bdbc);}};return multer['diskStorage']({'destination':(_0x315b7a,_0x46aff5,_0x5ad2a6)=>{const _0x2ab570=a0_0xedb9;!fsSync[_0x2ab570(0x92)](this['uploadDir'])&&fsSync[_0x2ab570(0xaf)](this['uploadDir'],{'recursive':!![]}),_0x5ad2a6(null,this['uploadDir']);},'filename':(_0x22e60b,_0x288c44,_0x2b4c4b)=>{const _0x1590b4=a0_0xedb9,_0x4e394a=crypto['randomBytes'](0x8)[_0x1590b4(0x97)](_0x1590b4(0xa2)),_0x502bcf=Date[_0x1590b4(0x9d)](),_0x1ae4ba=path['extname'](_0x288c44[_0x1590b4(0x96)]);_0x5de253[_0x1590b4(0x9f)](_0x2b4c4b,null,_0x1590b4(0x95)+_0x502bcf+'-'+_0x4e394a+_0x1ae4ba);}});}[a0_0x393017(0x91)](){const _0x59d5c5=a0_0x393017,_0x4b86c2={'NlUhi':'application/vnd.ms-excel','FoFPu':_0x59d5c5(0xb5),'UAGjw':'.xls','BgqLR':function(_0x4e7a1d,_0x1272aa,_0x2d9ebf){return _0x4e7a1d(_0x1272aa,_0x2d9ebf);},'FodsC':function(_0x21e066,_0x2625c4){return _0x21e066(_0x2625c4);}};return multer({'storage':this[_0x59d5c5(0x8b)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x3e46e4,_0x220fd3,_0x2edc7f)=>{const _0x226b9a=_0x59d5c5,_0x4db9d2=[_0x226b9a(0xb2),_0x4b86c2['NlUhi']],_0x142769=[_0x4b86c2[_0x226b9a(0xb4)],_0x4b86c2['UAGjw']],_0x27ee8c=path['extname'](_0x220fd3[_0x226b9a(0x96)])[_0x226b9a(0xb0)]();_0x4db9d2[_0x226b9a(0x8c)](_0x220fd3['mimetype'])&&_0x142769[_0x226b9a(0x8c)](_0x27ee8c)?_0x4b86c2[_0x226b9a(0x9e)](_0x2edc7f,null,!![]):_0x4b86c2[_0x226b9a(0x8a)](_0x2edc7f,new Error(_0x226b9a(0x94)));}})['single']('file');}async[a0_0x393017(0xaa)](_0x242a20){const _0x38039c=a0_0x393017,_0xe32cf1={'GtonE':'upload_file_deleted','NyvOf':'upload_file_delete_error','jIKtW':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x242a20),logger['info']({'event':_0xe32cf1[_0x38039c(0x9b)],'filePath':_0x242a20},_0x38039c(0xa8));}catch(_0x36333d){logger[_0x38039c(0xa1)]({'event':_0xe32cf1['NyvOf'],'filePath':_0x242a20,'error':_0x36333d[_0x38039c(0xac)]},_0xe32cf1[_0x38039c(0xa5)]);}}}function a0_0xedb9(_0x41751e,_0x3b22c3){_0x41751e=_0x41751e-0x88;const _0x6e6b69=a0_0x6e6b();let _0xedb979=_0x6e6b69[_0x41751e];if(a0_0xedb9['ZCFljF']===undefined){var _0x32d51d=function(_0x577026){const _0x28eef6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c33cc='',_0x3388ca='';for(let _0xb4b8a5=0x0,_0x227c94,_0x45dddc,_0x71348c=0x0;_0x45dddc=_0x577026['charAt'](_0x71348c++);~_0x45dddc&&(_0x227c94=_0xb4b8a5%0x4?_0x227c94*0x40+_0x45dddc:_0x45dddc,_0xb4b8a5++%0x4)?_0x3c33cc+=String['fromCharCode'](0xff&_0x227c94>>(-0x2*_0xb4b8a5&0x6)):0x0){_0x45dddc=_0x28eef6['indexOf'](_0x45dddc);}for(let _0x325562=0x0,_0x2037d4=_0x3c33cc['length'];_0x325562<_0x2037d4;_0x325562++){_0x3388ca+='%'+('00'+_0x3c33cc['charCodeAt'](_0x325562)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3388ca);};a0_0xedb9['KVwiVJ']=_0x32d51d,a0_0xedb9['NYEtIs']={},a0_0xedb9['ZCFljF']=!![];}const _0x1fc875=_0x6e6b69[0x0],_0xc3001f=_0x41751e+_0x1fc875,_0x288658=a0_0xedb9['NYEtIs'][_0xc3001f];return!_0x288658?(_0xedb979=a0_0xedb9['KVwiVJ'](_0xedb979),a0_0xedb9['NYEtIs'][_0xc3001f]=_0xedb979):_0xedb979=_0x288658,_0xedb979;}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4a0a(){const _0x260100=['mZGWnZeXnhrMsvbIzq','mJmYmda2mhnyzuPAtq','lcbtDgf0Dxm6ia','zxHWB3j0CW','BwvZC2fNzq','otC3mZe2mejTANLusW','mti0mZmXnJbKve9IzgW','yxHPB3m','yxbWBgLJyxrPB24VANnVBG','n0vwu1jtvW','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','wMLHqwW','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','mta5nJy0mtbszKPkvuG','mJC2mtK2z25jt05r','nefXz1DtrW','C3rHDhvZ','Bg9N','tNLMCKq','Cg9ZDa','nJKYmJu3mgPvEKTpCW','ndros3zOCKm','uMvZDezVCMDLlvDLyMHVB2SVms4W','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','mtf3DfryzNy'];a0_0x4a0a=function(){return _0x260100;};return a0_0x4a0a();}const a0_0x23241c=a0_0x55db;(function(_0x45e818,_0x26e50e){const _0x31a0da=a0_0x55db,_0x14e0ed=_0x45e818();while(!![]){try{const _0x3b5eab=parseInt(_0x31a0da(0x1a1))/0x1*(-parseInt(_0x31a0da(0x1b1))/0x2)+parseInt(_0x31a0da(0x1a2))/0x3*(-parseInt(_0x31a0da(0x1b2))/0x4)+parseInt(_0x31a0da(0x19d))/0x5+parseInt(_0x31a0da(0x1a7))/0x6+-parseInt(_0x31a0da(0x1ab))/0x7*(parseInt(_0x31a0da(0x1a8))/0x8)+parseInt(_0x31a0da(0x1b0))/0x9+parseInt(_0x31a0da(0x1a3))/0xa*(parseInt(_0x31a0da(0x19e))/0xb);if(_0x3b5eab===_0x26e50e)break;else _0x14e0ed['push'](_0x14e0ed['shift']());}catch(_0x5263f8){_0x14e0ed['push'](_0x14e0ed['shift']());}}}(a0_0x4a0a,0xc79db));function a0_0x55db(_0x423a1e,_0x4fdb5b){_0x423a1e=_0x423a1e-0x199;const _0x4a0ac5=a0_0x4a0a();let _0x55db3e=_0x4a0ac5[_0x423a1e];if(a0_0x55db['HQZgdU']===undefined){var _0x241992=function(_0x696de2){const _0x4bbc76='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7989='',_0x42ea89='';for(let _0x36baae=0x0,_0x278c8d,_0x32104e,_0x2a39e4=0x0;_0x32104e=_0x696de2['charAt'](_0x2a39e4++);~_0x32104e&&(_0x278c8d=_0x36baae%0x4?_0x278c8d*0x40+_0x32104e:_0x32104e,_0x36baae++%0x4)?_0x3f7989+=String['fromCharCode'](0xff&_0x278c8d>>(-0x2*_0x36baae&0x6)):0x0){_0x32104e=_0x4bbc76['indexOf'](_0x32104e);}for(let _0x5e01bb=0x0,_0x45308b=_0x3f7989['length'];_0x5e01bb<_0x45308b;_0x5e01bb++){_0x42ea89+='%'+('00'+_0x3f7989['charCodeAt'](_0x5e01bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42ea89);};a0_0x55db['ItueNe']=_0x241992,a0_0x55db['CEjODL']={},a0_0x55db['HQZgdU']=!![];}const _0x3de95e=_0x4a0ac5[0x0],_0x4d130e=_0x423a1e+_0x3de95e,_0x55a1c2=a0_0x55db['CEjODL'][_0x4d130e];return!_0x55a1c2?(_0x55db3e=a0_0x55db['ItueNe'](_0x55db3e),a0_0x55db['CEjODL'][_0x4d130e]=_0x55db3e):_0x55db3e=_0x55a1c2,_0x55db3e;}const axios=require(a0_0x23241c(0x1a9));async function sendInsertWebhook(_0x16063b,_0xd9e8b2,_0x5ab1b1={}){const _0x47aa72=a0_0x23241c,_0x2a7519={'ZiaAl':'RestForge-Webhook/1.0','iPvRk':_0x47aa72(0x1ac),'qZJdl':'Error\x20sending\x20insert\x20webhook:'};try{const _0x44211e={'event':'insert','timestamp':new Date()['toISOString'](),'data':_0xd9e8b2},_0x56f8e3=await axios[_0x47aa72(0x19c)](_0x16063b,_0x44211e,{'headers':{'Content-Type':'application/json','User-Agent':_0x2a7519[_0x47aa72(0x1ad)],..._0x5ab1b1},'timeout':0x2710});return console[_0x47aa72(0x19a)](_0x47aa72(0x1a0)+_0x16063b+',\x20Status:\x20'+_0x56f8e3[_0x47aa72(0x199)]),{'success':!![],'message':_0x2a7519['iPvRk'],'status':_0x56f8e3['status'],'url':_0x16063b};}catch(_0x480c2f){return console['error'](_0x2a7519['qZJdl'],_0x480c2f[_0x47aa72(0x1a6)]),{'success':![],'message':_0x47aa72(0x1ae),'error':_0x480c2f[_0x47aa72(0x1a6)],'url':_0x16063b};}}async function sendDeleteWebhook(_0x4a28c2,_0x474d1a,_0xb1463f={}){const _0x4eb91e=a0_0x23241c,_0x244701={'EVEuw':'delete','NyfrD':'Error\x20sending\x20delete\x20webhook:','KAVjO':_0x4eb91e(0x1af)};try{const _0xbb30b3={'event':_0x244701['EVEuw'],'timestamp':new Date()['toISOString'](),'deleted_data':_0x474d1a},_0x3093c3=await axios[_0x4eb91e(0x19c)](_0x4a28c2,_0xbb30b3,{'headers':{'Content-Type':_0x4eb91e(0x1aa),'User-Agent':_0x4eb91e(0x19f),..._0xb1463f},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4a28c2+_0x4eb91e(0x1a4)+_0x3093c3['status']),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x3093c3['status'],'url':_0x4a28c2};}catch(_0x2bd139){return console['error'](_0x244701[_0x4eb91e(0x19b)],_0x2bd139['message']),{'success':![],'message':_0x244701['KAVjO'],'error':_0x2bd139['message'],'url':_0x4a28c2};}}module[a0_0x23241c(0x1a5)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4fa4a9=a0_0x3864;(function(_0x1d9763,_0x34174b){const _0x549247=a0_0x3864,_0x23897b=_0x1d9763();while(!![]){try{const _0x113b65=parseInt(_0x549247(0x191))/0x1+parseInt(_0x549247(0x189))/0x2*(parseInt(_0x549247(0x194))/0x3)+parseInt(_0x549247(0x175))/0x4*(-parseInt(_0x549247(0x17f))/0x5)+-parseInt(_0x549247(0x18c))/0x6+parseInt(_0x549247(0x181))/0x7*(-parseInt(_0x549247(0x182))/0x8)+-parseInt(_0x549247(0x186))/0x9+parseInt(_0x549247(0x183))/0xa;if(_0x113b65===_0x34174b)break;else _0x23897b['push'](_0x23897b['shift']());}catch(_0x390dbc){_0x23897b['push'](_0x23897b['shift']());}}}(a0_0x4f4f,0x8db16));function a0_0x4f4f(){const _0x1f3ab8=['mtbcCe9lr0i','l3n0yxr1CW','mtmZodq3EKPorvbe','mtKYt3LWzhjf','odC3mZu1mfvMrw9ICa','u3LUBgu','zxHWCMvZCW','mtmXnJuYow50DfDICq','C3rHDhvZ','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','nJuZmZKYA3rJq0zS','zxjYB3i','yM9KEq','otmYnda2rMXmtLjW','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','BwvZC2fNzq','ywHot1y','EKTqwgy','mteZmdm5r2fVvNL0','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','zxHWB3j0CW','owTUEKXdsq','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mti1ota0nfnlzgvSDG','C3vJy2vZCW','vvbprwK','Cg9ZDa','ANnVBG','whbXr1K','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','AMnLywi','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','l2fJCxvPCMu'];a0_0x4f4f=function(){return _0x1f3ab8;};return a0_0x4f4f();}function a0_0x3864(_0x512e3d,_0x40f798){_0x512e3d=_0x512e3d-0x174;const _0x4f4f09=a0_0x4f4f();let _0x3864aa=_0x4f4f09[_0x512e3d];if(a0_0x3864['xHtdQA']===undefined){var _0x3a6cf9=function(_0x387a3e){const _0x50442d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xab8964='',_0x1045c4='';for(let _0x5ddd0f=0x0,_0xca10bc,_0x1c288d,_0x58b3a9=0x0;_0x1c288d=_0x387a3e['charAt'](_0x58b3a9++);~_0x1c288d&&(_0xca10bc=_0x5ddd0f%0x4?_0xca10bc*0x40+_0x1c288d:_0x1c288d,_0x5ddd0f++%0x4)?_0xab8964+=String['fromCharCode'](0xff&_0xca10bc>>(-0x2*_0x5ddd0f&0x6)):0x0){_0x1c288d=_0x50442d['indexOf'](_0x1c288d);}for(let _0x1d0569=0x0,_0x1beff8=_0xab8964['length'];_0x1d0569<_0x1beff8;_0x1d0569++){_0x1045c4+='%'+('00'+_0xab8964['charCodeAt'](_0x1d0569)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1045c4);};a0_0x3864['iuGguy']=_0x3a6cf9,a0_0x3864['gCPrCZ']={},a0_0x3864['xHtdQA']=!![];}const _0x5b8dd1=_0x4f4f09[0x0],_0x331040=_0x512e3d+_0x5b8dd1,_0x2d4a2b=a0_0x3864['gCPrCZ'][_0x331040];return!_0x2d4a2b?(_0x3864aa=a0_0x3864['iuGguy'](_0x3864aa),a0_0x3864['gCPrCZ'][_0x331040]=_0x3864aa):_0x3864aa=_0x2d4a2b,_0x3864aa;}const express=require(a0_0x4fa4a9(0x185)),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x1f91c3=a0_0x4fa4a9,_0x263d10={'UhNyz':function(_0x1e94b7,_0x116ba6){return _0x1e94b7(_0x116ba6);},'zKPXf':'./resource-lock-manager','tKhIZ':function(_0x237331,_0x507b7b){return _0x237331===_0x507b7b;},'ovlnv':'Resource\x20lock\x20conflict','Synle':_0x1f91c3(0x174),'jceab':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','IsuKT':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','UPOEi':function(_0x3e3d7b){return _0x3e3d7b();},'syZiy':'lock_release_route_error','yffwE':function(_0x2cb821,_0x32e73d){return _0x2cb821||_0x32e73d;},'XpqGY':_0x1f91c3(0x188),'NpwUz':_0x1f91c3(0x192),'ahNOV':_0x1f91c3(0x180)},_0xa4a10d=express['Router']();let _0x3d0a21=null;function _0x5f097e(){const _0x46f576=_0x1f91c3;return!_0x3d0a21&&(_0x3d0a21=_0x263d10['UhNyz'](require,_0x263d10[_0x46f576(0x190)])),_0x3d0a21;}return _0xa4a10d['post'](_0x1f91c3(0x17e),async(_0x5a869b,_0x38bec9)=>{const _0x3bd392=_0x1f91c3;try{const {resource:_0x30d5a7,lock_keys:_0x53d322,ttl:_0x2e3170,owner:_0x56d0bd}=_0x5a869b[_0x3bd392(0x18b)];if(!_0x30d5a7||!_0x53d322||!_0x2e3170||!_0x56d0bd)return _0x38bec9[_0x3bd392(0x187)](0x190)[_0x3bd392(0x179)]({'success':![],'error':_0x3bd392(0x17d)});const _0x36e381=_0x5f097e(),_0x16324a=await _0x36e381['acquireResourceLocks']({'resource':_0x30d5a7,'lockKeys':_0x53d322,'ttl':_0x2e3170,'owner':_0x56d0bd});if(_0x16324a['success'])return _0x38bec9['json'](_0x16324a);const _0x1aa4b1=_0x263d10['tKhIZ'](_0x16324a[_0x3bd392(0x18a)],_0x263d10['ovlnv'])?0x199:0x190;return _0x38bec9['status'](_0x1aa4b1)['json'](_0x16324a);}catch(_0x4d9c85){logger[_0x3bd392(0x18a)]({'event':_0x263d10[_0x3bd392(0x184)],'error':_0x4d9c85[_0x3bd392(0x18e)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x4d9c85['message']),_0x38bec9['status'](0x1f4)['json']({'success':![],'error':_0x263d10[_0x3bd392(0x17c)]});}}),_0xa4a10d[_0x1f91c3(0x178)]('/release',async(_0xc496a8,_0x4bbc70)=>{const _0x2cd675=_0x1f91c3;try{const {resource:_0x4e6308,lock_keys:_0x55646e,lock_token:_0x1ecfab}=_0xc496a8['body'];if(!_0x4e6308||!_0x55646e||!_0x1ecfab)return _0x4bbc70[_0x2cd675(0x187)](0x190)['json']({'success':![],'error':_0x263d10['IsuKT']});const _0x2c4ab8=_0x263d10[_0x2cd675(0x177)](_0x5f097e),_0x18e2ed=await _0x2c4ab8['releaseResourceLocks']({'resource':_0x4e6308,'lockKeys':_0x55646e,'lockToken':_0x1ecfab});if(_0x18e2ed['success'])return _0x4bbc70[_0x2cd675(0x179)](_0x18e2ed);return _0x4bbc70[_0x2cd675(0x187)](0x190)['json'](_0x18e2ed);}catch(_0x5ae0f7){logger[_0x2cd675(0x18a)]({'event':_0x263d10['syZiy'],'error':_0x5ae0f7['message']},'Lock\x20release\x20route\x20error:\x20'+_0x5ae0f7['message']),_0x4bbc70[_0x2cd675(0x187)](0x1f4)['json']({'success':![],'error':_0x2cd675(0x17b)});}}),_0xa4a10d[_0x1f91c3(0x178)](_0x263d10[_0x1f91c3(0x18f)],async(_0x1e1fe7,_0x4f8410)=>{const _0x393869=_0x1f91c3;try{const {resource:_0x283bae,lock_keys:_0x4b5ee3}=_0x1e1fe7[_0x393869(0x18b)];if(_0x263d10['yffwE'](!_0x283bae,!_0x4b5ee3))return _0x4f8410[_0x393869(0x187)](0x190)[_0x393869(0x179)]({'success':![],'error':_0x393869(0x18d)});const _0x415474=_0x5f097e(),_0xedfaa4=await _0x415474['getResourceLockStatus']({'resource':_0x283bae,'lockKeys':_0x4b5ee3});if(_0xedfaa4[_0x393869(0x176)])return _0x4f8410[_0x393869(0x179)](_0xedfaa4);return _0x4f8410[_0x393869(0x187)](0x190)[_0x393869(0x179)](_0xedfaa4);}catch(_0x1300d2){logger[_0x393869(0x18a)]({'event':_0x263d10[_0x393869(0x17a)],'error':_0x1300d2[_0x393869(0x18e)]},'Lock\x20status\x20route\x20error:\x20'+_0x1300d2[_0x393869(0x18e)]),_0x4f8410[_0x393869(0x187)](0x1f4)[_0x393869(0x179)]({'success':![],'error':_0x263d10['NpwUz']});}}),_0xa4a10d;}module[a0_0x4fa4a9(0x193)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x31f0bf=a0_0x218f;(function(_0x20c355,_0x15b825){const _0x49f454=a0_0x218f,_0x1a8186=_0x20c355();while(!![]){try{const _0x217c5f=parseInt(_0x49f454(0x1aa))/0x1*(parseInt(_0x49f454(0x1b1))/0x2)+-parseInt(_0x49f454(0x1a0))/0x3*(parseInt(_0x49f454(0x1a7))/0x4)+-parseInt(_0x49f454(0x18f))/0x5+-parseInt(_0x49f454(0x17f))/0x6+parseInt(_0x49f454(0x179))/0x7+parseInt(_0x49f454(0x184))/0x8+-parseInt(_0x49f454(0x1a3))/0x9*(-parseInt(_0x49f454(0x192))/0xa);if(_0x217c5f===_0x15b825)break;else _0x1a8186['push'](_0x1a8186['shift']());}catch(_0x437ff5){_0x1a8186['push'](_0x1a8186['shift']());}}}(a0_0x4199,0x8a2cf));const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x31f0bf(0x18b)),{v4:uuidv4}=require(a0_0x31f0bf(0x188));function getPrefix(){const _0x3e1448=a0_0x31f0bf,_0x2f159d={'cquQy':'default'},_0x297ff7=process['env'][_0x3e1448(0x18d)]||_0x2f159d[_0x3e1448(0x1a1)];return'rf:'+_0x297ff7+_0x3e1448(0x190);}function a0_0x218f(_0x158ef4,_0xea8d85){_0x158ef4=_0x158ef4-0x171;const _0x419975=a0_0x4199();let _0x218f8d=_0x419975[_0x158ef4];if(a0_0x218f['GgsBcu']===undefined){var _0x7e1f28=function(_0x1fceac){const _0x4fb45e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x427829='',_0x27fa23='';for(let _0x33a08a=0x0,_0x4479f3,_0x3bdd13,_0x28545c=0x0;_0x3bdd13=_0x1fceac['charAt'](_0x28545c++);~_0x3bdd13&&(_0x4479f3=_0x33a08a%0x4?_0x4479f3*0x40+_0x3bdd13:_0x3bdd13,_0x33a08a++%0x4)?_0x427829+=String['fromCharCode'](0xff&_0x4479f3>>(-0x2*_0x33a08a&0x6)):0x0){_0x3bdd13=_0x4fb45e['indexOf'](_0x3bdd13);}for(let _0x309d07=0x0,_0x11689f=_0x427829['length'];_0x309d07<_0x11689f;_0x309d07++){_0x27fa23+='%'+('00'+_0x427829['charCodeAt'](_0x309d07)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x27fa23);};a0_0x218f['vzgjbV']=_0x7e1f28,a0_0x218f['cwPdDY']={},a0_0x218f['GgsBcu']=!![];}const _0x3383f4=_0x419975[0x0],_0x16c9f4=_0x158ef4+_0x3383f4,_0x46cdee=a0_0x218f['cwPdDY'][_0x16c9f4];return!_0x46cdee?(_0x218f8d=a0_0x218f['vzgjbV'](_0x218f8d),a0_0x218f['cwPdDY'][_0x16c9f4]=_0x218f8d):_0x218f8d=_0x46cdee,_0x218f8d;}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';function a0_0x4199(){const _0x59aa89=['DfvIwfO','rM1eu3G','A2v5','DMfSAwq','Dw5RBM93BG','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','zw52','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','qwT5BNq','zxjYB3i','B3DUzxi','mtK3mdaXtKzsC2Lg','y3f1uxK','BM93','otGYmJG2muDdB3Llta','B0DlqNm','svvKAeG','Aw5KzxHpzG','mJbJtfDWyK4','AMP4CMS','te9ds19srvnpvvjdrv9nqvHFvfrm','muXPELHwDq','zxH0CMfJDe93BMvY','ChvZAa','s1vsvNe','BwLU','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mJe1otKYnMzlr3L5uG','x3zHBgLKyxrLuMvSzwfZzuLUChv0','ywXS','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','zxHWB3j0CW','C3rYAw5N','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','wuzrEeC','DMfSDwu','r3D3yLi','u2zfzw4','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','CMvSzwfZzvjLC291CMnLtg9JA3m','x3jVBgXIywnRs2v5CW','Bg9JA19RzxLZwW','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','mZu0mJKZofbkrNnSyq','BgvUz3rO','zejtBgq','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BNvTyMvY','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','ndCZmdG4nKP0y0fXzG','z2v0q2XPzw50','q0zdEgG','zxzHBa','D2fYBG','ote2ntG0yKf4BNDw','AxnbCNjHEq','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','DhrS','DxvPza','tg9JAYbHy3f1AxjLigzHAwXLzdOG','yMzMrK0','lI4VlI4VDxrPBhmVBg9Nz2vY','yNvPBgrlzxK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BwvZC2fNzq','ntu0nJu4meTequ9fua','oNjSB2nRoG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mtb5yvvnvLG','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','Aw5MBW'];a0_0x4199=function(){return _0x59aa89;};return a0_0x4199();}class ResourceLockManager{['buildKey'](_0x6ecf70,_0xfe1f59,_0x359ccb){return''+getPrefix()+_0x6ecf70+':'+_0xfe1f59+':'+_0x359ccb;}['generateToken'](_0x1b1d92){const _0x58a1a8=a0_0x31f0bf;return _0x1b1d92+':'+uuidv4()+':'+Date[_0x58a1a8(0x1a2)]();}['extractOwner'](_0x515bf4){const _0x3476ec=a0_0x31f0bf,_0x2f0bd1={'SgOWj':'unknown','xWdNt':function(_0x2683ab,_0x2b516f){return _0x2683ab>_0x2b516f;}};if(!_0x515bf4)return _0x2f0bd1['SgOWj'];const _0x245803=_0x515bf4[_0x3476ec(0x1a6)](':');return _0x2f0bd1['xWdNt'](_0x245803,0x0)?_0x515bf4['substring'](0x0,_0x245803):_0x515bf4;}['getMaxTTLSeconds'](){const _0x4196b5=a0_0x31f0bf;return parseInt(process[_0x4196b5(0x19b)][_0x4196b5(0x1a9)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x2de7d8,lockKeys:_0x4a4d21,ttl:_0x4fbbb6,owner:_0x52ed8c}){const _0x27ced4=a0_0x31f0bf,_0xddc50f={'CFCxh':function(_0x40c543,_0x46680f){return _0x40c543<_0x46680f;},'iuHMs':function(_0x168b5f,_0x3126ff){return _0x168b5f===_0x3126ff;},'FmDSx':_0x27ced4(0x17c),'YHLIk':_0x27ced4(0x178),'YFQxG':'resource_lock_acquire_error'},_0x22229b=this['_validateAcquireInput']({'resource':_0x2de7d8,'lockKeys':_0x4a4d21,'ttl':_0x4fbbb6,'owner':_0x52ed8c});if(!_0x22229b['valid'])return{'success':![],'error':_0x22229b[_0x27ced4(0x19e)]};const _0x57cb69=this['getMaxTTLSeconds'](),_0x5adece=Math[_0x27ced4(0x1ae)](_0x4fbbb6,_0x57cb69),_0x25ce24=this['generateToken'](_0x52ed8c),_0x55e055=[];try{const _0x4d60af=redisClient['getClient']();for(let _0x521c6b=0x0;_0xddc50f[_0x27ced4(0x181)](_0x521c6b,_0x4a4d21[_0x27ced4(0x17a)]);_0x521c6b++){const {key:_0x8d251a,value:_0x26d691}=_0x4a4d21[_0x521c6b],_0x4f3b64=this['buildKey'](_0x2de7d8,_0x8d251a,_0x26d691),_0x410e31=await _0x4d60af['set'](_0x4f3b64,_0x25ce24,'EX',_0x5adece,'NX');if(_0xddc50f['iuHMs'](_0x410e31,'OK'))_0x55e055[_0x27ced4(0x1ac)](_0x4f3b64);else{await this[_0x27ced4(0x175)](_0x4d60af,_0x55e055,_0x25ce24);const _0x8f60f4=await this['_getConflictInfo'](_0x4d60af,_0x4f3b64);return logger[_0x27ced4(0x183)]({'event':_0xddc50f[_0x27ced4(0x196)],'resource':_0x2de7d8,'conflicting_key':{'key':_0x8d251a,'value':_0x26d691},'locked_by':_0x8f60f4[_0x27ced4(0x19f)],'ttl_remaining':_0x8f60f4['ttlRemaining'],'attempted_by':_0x52ed8c},'Resource\x20lock\x20conflict\x20on\x20'+_0x2de7d8+':'+_0x8d251a+':'+_0x26d691),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x8d251a,'value':_0x26d691},'locked_by':_0x8f60f4['owner'],'ttl_remaining':_0x8f60f4['ttlRemaining']}};}}const _0x15582c=_0x4a4d21['map'](({key:_0x1ef8bd,value:_0x16364d})=>({'key':_0x1ef8bd,'value':_0x16364d,'lock_key':this['buildKey'](_0x2de7d8,_0x1ef8bd,_0x16364d)}));return logger[_0x27ced4(0x194)]({'event':_0x27ced4(0x17e),'resource':_0x2de7d8,'keys_count':_0x4a4d21['length'],'ttl':_0x5adece,'owner':_0x52ed8c},_0x27ced4(0x177)+_0x2de7d8+'\x20('+_0x4a4d21['length']+'\x20keys,\x20TTL:\x20'+_0x5adece+'s)'),{'success':!![],'data':{'lock_token':_0x25ce24,'resource':_0x2de7d8,'locked_keys':_0x15582c,'ttl':_0x5adece,'owner':_0x52ed8c,'acquired_at':new Date()['toISOString']()}};}catch(_0x33dcb5){try{const _0x5e79c9=redisClient['getClient']();await this[_0x27ced4(0x175)](_0x5e79c9,_0x55e055,_0x25ce24);}catch(_0x202208){logger['error']({'event':_0xddc50f['YHLIk'],'error':_0x202208['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x27ced4(0x19e)]({'event':_0xddc50f[_0x27ced4(0x1b9)],'resource':_0x2de7d8,'owner':_0x52ed8c,'error':_0x33dcb5['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x33dcb5[_0x27ced4(0x18e)]),{'success':![],'error':_0x27ced4(0x189)+_0x33dcb5['message']};}}async[a0_0x31f0bf(0x174)]({resource:_0x1389c7,lockKeys:_0x1a0c4,lockToken:_0x3dcd63}){const _0x2d99d8=a0_0x31f0bf,_0x14a8ea=this[_0x2d99d8(0x1b2)]({'resource':_0x1389c7,'lockKeys':_0x1a0c4,'lockToken':_0x3dcd63});if(!_0x14a8ea[_0x2d99d8(0x198)])return{'success':![],'error':_0x14a8ea[_0x2d99d8(0x19e)]};try{const _0x3d6a27=redisClient[_0x2d99d8(0x180)]();let _0x216e7e=0x0;for(const {key:_0x4c00d9,value:_0x434a1a}of _0x1a0c4){const _0x5cc3c6=this[_0x2d99d8(0x18c)](_0x1389c7,_0x4c00d9,_0x434a1a),_0x282f64=await _0x3d6a27[_0x2d99d8(0x182)](RELEASE_LUA_SCRIPT,0x1,_0x5cc3c6,_0x3dcd63);_0x282f64===0x1&&_0x216e7e++;}return logger['info']({'event':_0x2d99d8(0x173),'resource':_0x1389c7,'released_keys':_0x216e7e,'total_keys':_0x1a0c4['length'],'owner':this['extractOwner'](_0x3dcd63)},'Resource\x20lock\x20released:\x20'+_0x1389c7+'\x20('+_0x216e7e+'/'+_0x1a0c4['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x1389c7,'released_keys':_0x216e7e,'total_keys':_0x1a0c4['length']}};}catch(_0x122491){return logger['error']({'event':'resource_lock_release_error','resource':_0x1389c7,'error':_0x122491['message']},_0x2d99d8(0x191)+_0x122491[_0x2d99d8(0x18e)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x122491['message']};}}async['getResourceLockStatus']({resource:_0x49c7d6,lockKeys:_0x4ec8e1}){const _0x65a550=a0_0x31f0bf,_0xa6ba9={'SfEen':_0x65a550(0x1b7)};if(!_0x49c7d6||!Array[_0x65a550(0x185)](_0x4ec8e1)||_0x4ec8e1['length']===0x0)return{'success':![],'error':_0x65a550(0x19a)};try{const _0x2a6199=redisClient[_0x65a550(0x180)](),_0x45ecb3=[];for(const {key:_0x52a153,value:_0x2a21b7}of _0x4ec8e1){const _0x1ac50a=this[_0x65a550(0x18c)](_0x49c7d6,_0x52a153,_0x2a21b7),[_0x1617bb,_0x196c0b]=await Promise[_0x65a550(0x1b3)]([_0x2a6199['get'](_0x1ac50a),_0x2a6199['ttl'](_0x1ac50a)]),_0x388f32=_0x1617bb!==null;_0x45ecb3['push']({'key':_0x52a153,'value':_0x2a21b7,'locked':_0x388f32,'owner':_0x388f32?this[_0x65a550(0x1ab)](_0x1617bb):null,'ttl_remaining':_0x388f32&&_0x196c0b>0x0?_0x196c0b:null});}return{'success':!![],'data':{'resource':_0x49c7d6,'keys':_0x45ecb3}};}catch(_0x308b81){return logger[_0x65a550(0x19e)]({'event':_0xa6ba9[_0x65a550(0x171)],'resource':_0x49c7d6,'error':_0x308b81[_0x65a550(0x18e)]},_0x65a550(0x1b4)+_0x308b81['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x308b81['message']};}}async[a0_0x31f0bf(0x175)](_0x4e6acd,_0x162466,_0x556e18){const _0x36eccb=a0_0x31f0bf,_0x5ec8ce={'GwwbR':_0x36eccb(0x1af)};for(const _0x3c87a0 of _0x162466){try{await _0x4e6acd[_0x36eccb(0x182)](RELEASE_LUA_SCRIPT,0x1,_0x3c87a0,_0x556e18);}catch(_0x1cf5bf){logger[_0x36eccb(0x19e)]({'event':_0x5ec8ce[_0x36eccb(0x1bb)],'key':_0x3c87a0,'error':_0x1cf5bf['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x3c87a0);}}}async['_getConflictInfo'](_0x395ef4,_0x22b8d1){const _0x3a166a=a0_0x31f0bf,_0x556368={'bffFM':_0x3a166a(0x199),'zvBeD':function(_0x4999bf,_0x5d3518){return _0x4999bf>_0x5d3518;}};try{const [_0x22d24b,_0x4f919f]=await Promise[_0x3a166a(0x1b3)]([_0x395ef4['get'](_0x22b8d1),_0x395ef4[_0x3a166a(0x187)](_0x22b8d1)]);return{'owner':_0x22d24b?this['extractOwner'](_0x22d24b):_0x556368[_0x3a166a(0x18a)],'ttlRemaining':_0x556368['zvBeD'](_0x4f919f,0x0)?_0x4f919f:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x3dfb6f,lockKeys:_0x6bd0d2,ttl:_0x490731,owner:_0x3c4559}){const _0x20860a=a0_0x31f0bf,_0x40ab27={'oGKBs':'string','KURVq':_0x20860a(0x172),'WJTyL':function(_0x4f25fe,_0x8d99c0){return _0x4f25fe>_0x8d99c0;},'IUdhH':_0x20860a(0x17d),'jjxrk':function(_0x3e2bfd,_0x1191a3){return _0x3e2bfd<_0x1191a3;},'NxBHw':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','sqjtX':function(_0x2aa4b6,_0x4ffed2){return _0x2aa4b6!==_0x4ffed2;},'mbJql':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x3dfb6f||typeof _0x3dfb6f!==_0x40ab27['oGKBs'])return{'valid':![],'error':_0x40ab27[_0x20860a(0x1ad)]};if(!Array[_0x20860a(0x185)](_0x6bd0d2)||_0x6bd0d2['length']===0x0)return{'valid':![],'error':_0x20860a(0x1b0)};if(_0x40ab27['WJTyL'](_0x6bd0d2['length'],0x64))return{'valid':![],'error':_0x20860a(0x193)};for(let _0x3e8f67=0x0;_0x3e8f67<_0x6bd0d2['length'];_0x3e8f67++){const _0x3a8fdd=_0x6bd0d2[_0x3e8f67];if(!_0x3a8fdd||!_0x3a8fdd[_0x20860a(0x197)]||!_0x3a8fdd[_0x20860a(0x1ba)])return{'valid':![],'error':'lock_keys['+_0x3e8f67+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x490731||typeof _0x490731!==_0x40ab27[_0x20860a(0x1a5)]||_0x40ab27[_0x20860a(0x1a8)](_0x490731,0x1))return{'valid':![],'error':_0x40ab27['NxBHw']};const _0x537192=this['getMaxTTLSeconds']();if(_0x40ab27['WJTyL'](_0x490731,_0x537192))return{'valid':![],'error':_0x20860a(0x186)+_0x537192+_0x20860a(0x19c)};if(!_0x3c4559||_0x40ab27['sqjtX'](typeof _0x3c4559,_0x40ab27[_0x20860a(0x1a4)]))return{'valid':![],'error':_0x40ab27['mbJql']};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x137e3b,lockKeys:_0x4e8337,lockToken:_0x4e79d8}){const _0x359f36=a0_0x31f0bf,_0x1b5899={'dBSld':function(_0x3f36f3,_0x128126){return _0x3f36f3!==_0x128126;},'UWIzc':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','Akynt':function(_0x5ce7f6,_0x7cbf23){return _0x5ce7f6<_0x7cbf23;},'tUbXZ':_0x359f36(0x1b6),'iMjNi':_0x359f36(0x1b8)};if(!_0x137e3b||_0x1b5899['dBSld'](typeof _0x137e3b,_0x359f36(0x1b6)))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x4e8337)||_0x4e8337['length']===0x0)return{'valid':![],'error':_0x1b5899['UWIzc']};for(let _0xca8b31=0x0;_0x1b5899[_0x359f36(0x19d)](_0xca8b31,_0x4e8337[_0x359f36(0x17a)]);_0xca8b31++){const _0x1ce242=_0x4e8337[_0xca8b31];if(!_0x1ce242||!_0x1ce242[_0x359f36(0x197)]||!_0x1ce242[_0x359f36(0x1ba)])return{'valid':![],'error':_0x359f36(0x176)+_0xca8b31+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4e79d8||_0x1b5899[_0x359f36(0x17b)](typeof _0x4e79d8,_0x1b5899[_0x359f36(0x195)]))return{'valid':![],'error':_0x1b5899['iMjNi']};return{'valid':!![]};}}module[a0_0x31f0bf(0x1b5)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x270ce2=a0_0x4770;(function(_0x201399,_0x5a44e9){const _0x1b6b7d=a0_0x4770,_0x32f435=_0x201399();while(!![]){try{const _0x369922=-parseInt(_0x1b6b7d(0x227))/0x1*(parseInt(_0x1b6b7d(0x211))/0x2)+parseInt(_0x1b6b7d(0x230))/0x3*(-parseInt(_0x1b6b7d(0x22b))/0x4)+-parseInt(_0x1b6b7d(0x223))/0x5+-parseInt(_0x1b6b7d(0x209))/0x6*(parseInt(_0x1b6b7d(0x239))/0x7)+parseInt(_0x1b6b7d(0x231))/0x8*(-parseInt(_0x1b6b7d(0x200))/0x9)+-parseInt(_0x1b6b7d(0x214))/0xa+parseInt(_0x1b6b7d(0x237))/0xb;if(_0x369922===_0x5a44e9)break;else _0x32f435['push'](_0x32f435['shift']());}catch(_0x58485c){_0x32f435['push'](_0x32f435['shift']());}}}(a0_0x473e,0x4bb83));function a0_0x4770(_0x4ef2c7,_0x191823){_0x4ef2c7=_0x4ef2c7-0x1f2;const _0x473ebf=a0_0x473e();let _0x47703e=_0x473ebf[_0x4ef2c7];if(a0_0x4770['BnkFEJ']===undefined){var _0x386f8b=function(_0x2063b6){const _0x14a436='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x217c03='',_0x3000fd='';for(let _0x15ee48=0x0,_0x36cf9f,_0x355615,_0x57f5e3=0x0;_0x355615=_0x2063b6['charAt'](_0x57f5e3++);~_0x355615&&(_0x36cf9f=_0x15ee48%0x4?_0x36cf9f*0x40+_0x355615:_0x355615,_0x15ee48++%0x4)?_0x217c03+=String['fromCharCode'](0xff&_0x36cf9f>>(-0x2*_0x15ee48&0x6)):0x0){_0x355615=_0x14a436['indexOf'](_0x355615);}for(let _0x2319bc=0x0,_0x39f484=_0x217c03['length'];_0x2319bc<_0x39f484;_0x2319bc++){_0x3000fd+='%'+('00'+_0x217c03['charCodeAt'](_0x2319bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3000fd);};a0_0x4770['aAEsjG']=_0x386f8b,a0_0x4770['bMQfba']={},a0_0x4770['BnkFEJ']=!![];}const _0x5324d7=_0x473ebf[0x0],_0x428b97=_0x4ef2c7+_0x5324d7,_0x49e0ce=a0_0x4770['bMQfba'][_0x428b97];return!_0x49e0ce?(_0x47703e=a0_0x4770['aAEsjG'](_0x47703e),a0_0x4770['bMQfba'][_0x428b97]=_0x47703e):_0x47703e=_0x49e0ce,_0x47703e;}const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x270ce2(0x218)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x29ed7b=a0_0x270ce2,_0x1c6e54={'mAXAw':'default'},_0x1d0197=process[_0x29ed7b(0x23b)]['RESTFORGE_PROJECT_NAME']||_0x1c6e54[_0x29ed7b(0x208)];return _0x29ed7b(0x20f)+_0x1d0197+_0x29ed7b(0x213);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x270ce2(0x217);class ResourceLockManager{[a0_0x270ce2(0x219)](_0x5e51c9,_0x338516,_0x29f305){const _0x315f66=a0_0x270ce2,_0x302e6f={'SbmXi':function(_0x4d1287){return _0x4d1287();}};return''+_0x302e6f[_0x315f66(0x1fa)](getPrefix)+_0x5e51c9+':'+_0x338516+':'+_0x29f305;}[a0_0x270ce2(0x1f7)](_0x1b099b){const _0x2cc83a=a0_0x270ce2;return _0x1b099b+':'+uuidv4()+':'+Date[_0x2cc83a(0x21a)]();}[a0_0x270ce2(0x22a)](_0x28edc7){const _0x5cecfc=a0_0x270ce2,_0x252eb5={'wofeO':function(_0x35b78a,_0x286205){return _0x35b78a>_0x286205;}};if(!_0x28edc7)return'unknown';const _0x1ad621=_0x28edc7[_0x5cecfc(0x21c)](':');return _0x252eb5['wofeO'](_0x1ad621,0x0)?_0x28edc7[_0x5cecfc(0x20d)](0x0,_0x1ad621):_0x28edc7;}['getMaxTTLSeconds'](){const _0x2cdb92=a0_0x270ce2,_0x37d21b={'jItvR':function(_0x501585,_0x30d618,_0x5da573){return _0x501585(_0x30d618,_0x5da573);}};return _0x37d21b[_0x2cdb92(0x22d)](parseInt,process[_0x2cdb92(0x23b)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x51bda0,lockKeys:_0x41859e,ttl:_0x10d819,owner:_0x78a09d}){const _0x610efb=a0_0x270ce2,_0x17e01d={'Cdwpt':function(_0x53eeef,_0x5717fa){return _0x53eeef<_0x5717fa;},'qeVZX':function(_0x1bba46,_0x372830){return _0x1bba46===_0x372830;},'SEJcE':'resource_lock_acquired','iahmh':'resource_lock_rollback_error','cWqTQ':_0x610efb(0x1f8),'fEyCD':'resource_lock_acquire_error'},_0x4dcf4a=this['_validateAcquireInput']({'resource':_0x51bda0,'lockKeys':_0x41859e,'ttl':_0x10d819,'owner':_0x78a09d});if(!_0x4dcf4a['valid'])return{'success':![],'error':_0x4dcf4a['error']};const _0x3aae7a=this[_0x610efb(0x241)](),_0x19a577=Math[_0x610efb(0x20b)](_0x10d819,_0x3aae7a),_0x43f8d3=this['generateToken'](_0x78a09d),_0x443936=[];try{const _0x45df33=redisClient[_0x610efb(0x20c)]();for(let _0x3b4b6a=0x0;_0x17e01d['Cdwpt'](_0x3b4b6a,_0x41859e['length']);_0x3b4b6a++){const {key:_0x403a66,value:_0x551f10}=_0x41859e[_0x3b4b6a],_0x5982c4=this['buildKey'](_0x51bda0,_0x403a66,_0x551f10),_0xf4a460=await _0x45df33[_0x610efb(0x207)](_0x5982c4,_0x43f8d3,'EX',_0x19a577,'NX');if(_0x17e01d[_0x610efb(0x203)](_0xf4a460,'OK'))_0x443936['push'](_0x5982c4);else{await this['_rollbackKeys'](_0x45df33,_0x443936,_0x43f8d3);const _0x2d4cb3=await this[_0x610efb(0x23e)](_0x45df33,_0x5982c4);return logger['warn']({'event':_0x610efb(0x238),'resource':_0x51bda0,'conflicting_key':{'key':_0x403a66,'value':_0x551f10},'locked_by':_0x2d4cb3[_0x610efb(0x215)],'ttl_remaining':_0x2d4cb3['ttlRemaining'],'attempted_by':_0x78a09d},_0x610efb(0x221)+_0x51bda0+':'+_0x403a66+':'+_0x551f10),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x403a66,'value':_0x551f10},'locked_by':_0x2d4cb3[_0x610efb(0x215)],'ttl_remaining':_0x2d4cb3[_0x610efb(0x210)]}};}}const _0x5f031b=_0x41859e[_0x610efb(0x1fc)](({key:_0x4bd9c2,value:_0x3ffc86})=>({'key':_0x4bd9c2,'value':_0x3ffc86,'lock_key':this[_0x610efb(0x219)](_0x51bda0,_0x4bd9c2,_0x3ffc86)}));return logger[_0x610efb(0x235)]({'event':_0x17e01d['SEJcE'],'resource':_0x51bda0,'keys_count':_0x41859e[_0x610efb(0x21b)],'ttl':_0x19a577,'owner':_0x78a09d},'Resource\x20lock\x20acquired:\x20'+_0x51bda0+'\x20('+_0x41859e['length']+'\x20keys,\x20TTL:\x20'+_0x19a577+'s)'),{'success':!![],'data':{'lock_token':_0x43f8d3,'resource':_0x51bda0,'locked_keys':_0x5f031b,'ttl':_0x19a577,'owner':_0x78a09d,'acquired_at':new Date()['toISOString']()}};}catch(_0x4f559b){try{const _0x2f48cc=redisClient[_0x610efb(0x20c)]();await this[_0x610efb(0x21f)](_0x2f48cc,_0x443936,_0x43f8d3);}catch(_0x6067be){logger[_0x610efb(0x1f9)]({'event':_0x17e01d[_0x610efb(0x204)],'error':_0x6067be['message']},_0x17e01d['cWqTQ']);}return logger['error']({'event':_0x17e01d[_0x610efb(0x201)],'resource':_0x51bda0,'owner':_0x78a09d,'error':_0x4f559b[_0x610efb(0x23f)]},_0x610efb(0x1f5)+_0x4f559b['message']),{'success':![],'error':_0x610efb(0x22e)+_0x4f559b[_0x610efb(0x23f)]};}}async[a0_0x270ce2(0x23a)]({resource:_0x1ae74a,lockKeys:_0x4cde2d,lockToken:_0x39eee2}){const _0x3b7085=a0_0x270ce2,_0xd87645={'AkSIv':'resource_lock_released'},_0x954e12=this['_validateReleaseInput']({'resource':_0x1ae74a,'lockKeys':_0x4cde2d,'lockToken':_0x39eee2});if(!_0x954e12['valid'])return{'success':![],'error':_0x954e12['error']};try{const _0x2649a1=redisClient['getClient']();let _0x11bc14=0x0;for(const {key:_0x3ab06a,value:_0x2aec33}of _0x4cde2d){const _0x44ba32=this[_0x3b7085(0x219)](_0x1ae74a,_0x3ab06a,_0x2aec33),_0x380325=await _0x2649a1[_0x3b7085(0x21d)](RELEASE_LUA_SCRIPT,0x1,_0x44ba32,_0x39eee2);_0x380325===0x1&&_0x11bc14++;}return logger[_0x3b7085(0x235)]({'event':_0xd87645[_0x3b7085(0x224)],'resource':_0x1ae74a,'released_keys':_0x11bc14,'total_keys':_0x4cde2d['length'],'owner':this['extractOwner'](_0x39eee2)},_0x3b7085(0x233)+_0x1ae74a+'\x20('+_0x11bc14+'/'+_0x4cde2d['length']+_0x3b7085(0x220)),{'success':!![],'data':{'resource':_0x1ae74a,'released_keys':_0x11bc14,'total_keys':_0x4cde2d[_0x3b7085(0x21b)]}};}catch(_0x4b4b2c){return logger['error']({'event':_0x3b7085(0x1f3),'resource':_0x1ae74a,'error':_0x4b4b2c[_0x3b7085(0x23f)]},'Resource\x20lock\x20release\x20error:\x20'+_0x4b4b2c['message']),{'success':![],'error':_0x3b7085(0x205)+_0x4b4b2c['message']};}}async['getResourceLockStatus']({resource:_0x121a76,lockKeys:_0x4edf09}){const _0xa7a3c4=a0_0x270ce2,_0x32d9b9={'RLtFR':function(_0xdd4f02,_0x10433f){return _0xdd4f02===_0x10433f;},'hYDhb':_0xa7a3c4(0x212),'eDxvc':function(_0x5d0def,_0x7e5822){return _0x5d0def>_0x7e5822;},'QoAHx':_0xa7a3c4(0x225)};if(!_0x121a76||!Array['isArray'](_0x4edf09)||_0x32d9b9['RLtFR'](_0x4edf09['length'],0x0))return{'success':![],'error':_0x32d9b9['hYDhb']};try{const _0x5c5777=redisClient[_0xa7a3c4(0x20c)](),_0x5f4b80=[];for(const {key:_0x11a201,value:_0x174672}of _0x4edf09){const _0xe42d51=this[_0xa7a3c4(0x219)](_0x121a76,_0x11a201,_0x174672),[_0x475223,_0x3d7e3e]=await Promise[_0xa7a3c4(0x1fb)]([_0x5c5777['get'](_0xe42d51),_0x5c5777['ttl'](_0xe42d51)]),_0x385bea=_0x475223!==null;_0x5f4b80['push']({'key':_0x11a201,'value':_0x174672,'locked':_0x385bea,'owner':_0x385bea?this[_0xa7a3c4(0x22a)](_0x475223):null,'ttl_remaining':_0x385bea&&_0x32d9b9[_0xa7a3c4(0x1fd)](_0x3d7e3e,0x0)?_0x3d7e3e:null});}return{'success':!![],'data':{'resource':_0x121a76,'keys':_0x5f4b80}};}catch(_0x269fe4){return logger['error']({'event':_0x32d9b9[_0xa7a3c4(0x23d)],'resource':_0x121a76,'error':_0x269fe4['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x269fe4['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x269fe4[_0xa7a3c4(0x23f)]};}}async['_rollbackKeys'](_0xa20212,_0x5195e1,_0x142cef){const _0x5ad0d7=a0_0x270ce2;for(const _0x4a090e of _0x5195e1){try{await _0xa20212[_0x5ad0d7(0x21d)](RELEASE_LUA_SCRIPT,0x1,_0x4a090e,_0x142cef);}catch(_0x3975aa){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x4a090e,'error':_0x3975aa[_0x5ad0d7(0x23f)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x4a090e);}}}async[a0_0x270ce2(0x23e)](_0x155d9a,_0x5b35bf){const _0x21636d=a0_0x270ce2,_0x374b64={'epunv':_0x21636d(0x23c)};try{const [_0x501241,_0x2c4521]=await Promise['all']([_0x155d9a[_0x21636d(0x232)](_0x5b35bf),_0x155d9a['ttl'](_0x5b35bf)]);return{'owner':_0x501241?this['extractOwner'](_0x501241):_0x374b64['epunv'],'ttlRemaining':_0x2c4521>0x0?_0x2c4521:null};}catch{return{'owner':_0x21636d(0x23c),'ttlRemaining':null};}}[a0_0x270ce2(0x1f4)]({resource:_0x42fa05,lockKeys:_0x3889aa,ttl:_0x3c1a37,owner:_0x1dcd8b}){const _0x39ebd8=a0_0x270ce2,_0x223438={'aJPsy':'string','XfypW':function(_0x42d2db,_0x1f59e1){return _0x42d2db===_0x1f59e1;},'NtDIY':_0x39ebd8(0x226),'zPKuB':function(_0x136a8f,_0x2aacfa){return _0x136a8f>_0x2aacfa;},'WQoYB':function(_0x4a2d0b,_0xf14700){return _0x4a2d0b!==_0xf14700;},'ZGMcX':function(_0x18f5d1,_0x1330a6){return _0x18f5d1<_0x1330a6;},'iYzCd':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};if(!_0x42fa05||typeof _0x42fa05!==_0x223438['aJPsy'])return{'valid':![],'error':_0x39ebd8(0x229)};if(!Array['isArray'](_0x3889aa)||_0x223438[_0x39ebd8(0x1fe)](_0x3889aa[_0x39ebd8(0x21b)],0x0))return{'valid':![],'error':_0x223438['NtDIY']};if(_0x223438['zPKuB'](_0x3889aa['length'],0x64))return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0xa3219f=0x0;_0xa3219f<_0x3889aa['length'];_0xa3219f++){const _0x2f4c81=_0x3889aa[_0xa3219f];if(!_0x2f4c81||!_0x2f4c81[_0x39ebd8(0x22f)]||!_0x2f4c81[_0x39ebd8(0x216)])return{'valid':![],'error':'lock_keys['+_0xa3219f+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3c1a37||_0x223438[_0x39ebd8(0x202)](typeof _0x3c1a37,_0x39ebd8(0x206))||_0x223438[_0x39ebd8(0x21e)](_0x3c1a37,0x1))return{'valid':![],'error':_0x223438['iYzCd']};const _0x169199=this['getMaxTTLSeconds']();if(_0x3c1a37>_0x169199)return{'valid':![],'error':_0x39ebd8(0x1f2)+_0x169199+_0x39ebd8(0x222)};if(!_0x1dcd8b||_0x223438[_0x39ebd8(0x202)](typeof _0x1dcd8b,_0x223438[_0x39ebd8(0x22c)]))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x26cd5c,lockKeys:_0x4913b0,lockToken:_0x5c582a}){const _0x45f26f=a0_0x270ce2,_0x515bc2={'ninyM':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','EIbZr':function(_0x5d415d,_0x4fd1c5){return _0x5d415d===_0x4fd1c5;},'Jdpon':function(_0x11d7dc,_0x2a5e6f){return _0x11d7dc!==_0x2a5e6f;},'FYJXk':'string'};if(!_0x26cd5c||typeof _0x26cd5c!==_0x45f26f(0x236))return{'valid':![],'error':_0x515bc2[_0x45f26f(0x228)]};if(!Array['isArray'](_0x4913b0)||_0x515bc2[_0x45f26f(0x240)](_0x4913b0[_0x45f26f(0x21b)],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x42e798=0x0;_0x42e798<_0x4913b0['length'];_0x42e798++){const _0x3cca4b=_0x4913b0[_0x42e798];if(!_0x3cca4b||!_0x3cca4b['key']||!_0x3cca4b[_0x45f26f(0x216)])return{'valid':![],'error':_0x45f26f(0x20a)+_0x42e798+_0x45f26f(0x1ff)};}if(!_0x5c582a||_0x515bc2[_0x45f26f(0x234)](typeof _0x5c582a,_0x515bc2['FYJXk']))return{'valid':![],'error':_0x45f26f(0x20e)};return{'valid':!![]};}}function a0_0x473e(){const _0x39cba2=['z2v0','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','sMrWB24','Aw5MBW','C3rYAw5N','mJi1mdu2otjquhHXz3u','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','mZqWmLbdtwrbyq','CMvSzwfZzvjLC291CMnLtg9JA3m','zw52','Dw5RBM93BG','uw9bshG','x2DLDenVBMzSAwn0sw5MBW','BwvZC2fNzq','ruLIwNi','z2v0twf4vfrmu2vJB25KCW','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','x3zHBgLKyxrLqwnXDwLYzuLUChv0','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','zxHWB3j0CW','z2vUzxjHDgvuB2TLBG','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','zxjYB3i','u2jTwgK','ywXS','BwfW','zur4DMm','wgz5CfC','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','mJG4ouzpDMDPAW','zKv5q0q','v1fVwui','CwvwwLG','AwfOBwG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','BNvTyMvY','C2v0','BufyqxC','mJq2meXyAg1wEq','Bg9JA19RzxLZwW','BwLU','z2v0q2XPzw50','C3vIC3rYAw5N','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','CMy6','DhrSuMvTywLUAw5N','ntm0q2nUDNLN','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','oNjSB2nRoG','mZa4mti2meXhuMHhyG','B3DUzxi','DMfSDwu','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','lI4VlI4VDxrPBhmVBg9Nz2vY','yNvPBgrlzxK','BM93','BgvUz3rO','Aw5KzxHpzG','zxzHBa','wKDny1G','x3jVBgXIywnRs2v5CW','igTLExmP','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mJm4mZaZmgDRzhLryW','qwTtsxy','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mti3nM9qyMLWDG','BMLUEu0','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxH0CMfJDe93BMvY','mtjTtKnUDMu','yuPqC3K','AKL0DLi','tg9JAYbHy3f1AxjLigzHAwXLzdOG','A2v5','mZa5nZa1rfDbDuzv','mJuYohLqDw12sq'];a0_0x473e=function(){return _0x39cba2;};return a0_0x473e();}module[a0_0x270ce2(0x1f6)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x22f015=a0_0x2de7;function a0_0x5b10(){const _0x31ae55=['z2v0q29UzMLN','A2fMA2fQCW','z2v0u3rHDhvZ','A2fMA2e','AxnbCNjHEq','BwvZC2fNzxnszwnLAxzLza','nhWZFdv8mhWXFdi','DMfSDwu','s0fgs0fFu0vtu0LptL9usu1ft1vu','BwvZC2fNzq','C3rVCa','C3bSAxq','Bwf4','sK52BMW','mta0odu3nG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mZaWma','yKTxzge','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFte9hx0XfvKvm','rLz1tg4','zw52','Agzkzxu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CM91BMq','y29UC3vTzxiUC3rVCa','yNjVA2vYCW','CMvZDw1L','AxnqyxvZzwq','mJuWmda','wgrHuMK','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','rvjst1i','CgfYC2vizwfKzxjZ','mJG3nZm0ng5Tsgf0za','zxjYB3i','BhvzzLC','z2v0tg9Ntgv2zwW','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BM93','revcvuC','mtCZodqWnhbYCNnguW','A2v5','C2vLA1rVt2zMC2v0','DxvPza','Aw1OzfG','C3vIC2nYAwjLzfrVCgLJCW','AxnjBML0AwfSAxPPBMC','mZaWmda','CMvKDwnL','ntaWma','y29UC3vTzxi','ChvZAa','z2v0vgLTzq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','ig9Uia','s0fgs0fFu0fttf9vu0vstKfnrq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','y29UC3vTzxiUCMvIywXHBMnPBMC','y2XVC2u','AxndB25Uzwn0zwq','yxv0B0nVBw1PDeLUDgvYDMfS','nZuWnJG0CxLhDM91','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','y29UBMvJDgLVBLrPBwvVDxq','s0fgs0fFu1nm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','vg90C04','zgvMyxvSDa','mZmZotb2DKjsDNK','y2XPzw50swq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','y29UBMvJDa','s0fgs0fFqvvut19dt01nsvq','D2fYBG','nJnvAwrYCgy','z3jVDxbjza','yxv0B0nVBw1PDa','CMvXDwvZDfrPBwvVDxq','mtaWma','BwvZC2fNzxngywLSzwq','BgvUz3rO','suTODe8','tK9useLorW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','CNvU','C3vIC2nYAwjL','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','CMv0CNLbDhrLBxb0CW','y29UBMvJDgLVBLbYB21PC2u','Bg9N','zgLZy29UBMvJDa','DuDHwMi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','rxfhyNe','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','mJi4mJqWouHirNjvBG','qxDtt2K','lwnVBNn1BwvYlwDYB3vW','icHNCM91CeLKoIa','z2v0twv0CMLJCW','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','Dg9tDhjPBMC','AM9PBG','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','rhb0zhe','mtKXmJq3uwHsy3DW','nJzJBKHHtgm','tNDVzge','BwvZC2fNzuHHBMrSzxi','Bwf4qNL0zxnqzxjqyxj0AxrPB24','Bg9Ntgv2zwW','suvOt2S','mZKWmZG1zMLmy0nK','C2vLAW','CMv0CNLnyxHezwXHEq','v0fstG','CMv0CNLezwXHEq','AxnsDw5UAw5N','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','vLPxuu8'];a0_0x5b10=function(){return _0x31ae55;};return a0_0x5b10();}(function(_0x28aa98,_0x1c11bf){const _0x58d481=a0_0x2de7,_0xfac85b=_0x28aa98();while(!![]){try{const _0x8bdbb=-parseInt(_0x58d481(0xd9))/0x1*(parseInt(_0x58d481(0xd1))/0x2)+parseInt(_0x58d481(0xc9))/0x3+parseInt(_0x58d481(0xb4))/0x4+-parseInt(_0x58d481(0x102))/0x5*(-parseInt(_0x58d481(0xfc))/0x6)+-parseInt(_0x58d481(0xfb))/0x7+parseInt(_0x58d481(0xac))/0x8+-parseInt(_0x58d481(0xef))/0x9;if(_0x8bdbb===_0x1c11bf)break;else _0xfac85b['push'](_0xfac85b['shift']());}catch(_0x4c5f8c){_0xfac85b['push'](_0xfac85b['shift']());}}}(a0_0x5b10,0x8b50d));const {Kafka,logLevel}=require(a0_0x22f015(0x10e)),{v7:uuidv7}=require(a0_0x22f015(0xb7));class KafkaConsumerService{constructor(){const _0xd79e02=a0_0x22f015;this[_0xd79e02(0x110)]=null,this[_0xd79e02(0xbe)]=null,this['isConnected']=![],this[_0xd79e02(0xba)]=![],this[_0xd79e02(0x107)]=![],this['isPaused']=![],this['connectionPromise']=null,this['subscribedTopics']=[],this[_0xd79e02(0xda)]=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x22f015(0x10d)](){const _0x66a748=a0_0x22f015,_0x151206={'DcAuN':'true','IEhOk':_0x66a748(0xd0),'uGaZb':function(_0x2e5b7f,_0xfd95a){return _0x2e5b7f(_0xfd95a);},'dRxHd':function(_0xa2d069,_0x120d27){return _0xa2d069(_0x120d27);},'Nwoda':'3000','kGvEJ':_0x66a748(0x11b),'TotsN':function(_0x5b8f95,_0x37a1cb){return _0x5b8f95===_0x37a1cb;},'ximPE':function(_0xc83849,_0x26c2c8){return _0xc83849(_0x26c2c8);},'BymtA':_0x66a748(0xdd),'imhdX':function(_0x2afff0,_0x990578){return _0x2afff0(_0x990578);},'HCwfe':_0x66a748(0xd8)};return{'enabled':process[_0x66a748(0x122)][_0x66a748(0x108)]===_0x151206['DcAuN'],'brokers':(process['env'][_0x66a748(0xb0)]||'localhost:9092')[_0x66a748(0x118)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x66a748(0x122)][_0x66a748(0x124)]||_0x151206[_0x66a748(0x101)])+'-consumer','connectionTimeout':parseInt(process[_0x66a748(0x122)][_0x66a748(0xd3)]||_0x66a748(0x11d)),'requestTimeout':_0x151206[_0x66a748(0xea)](parseInt,process[_0x66a748(0x122)]['KAFKA_REQUEST_TIMEOUT']||_0x66a748(0xa7)),'sessionTimeout':_0x151206['dRxHd'](parseInt,process[_0x66a748(0x122)][_0x66a748(0x115)]||_0x66a748(0xbb)),'heartbeatInterval':_0x151206['dRxHd'](parseInt,process[_0x66a748(0x122)]['KAFKA_HEARTBEAT_INTERVAL']||_0x151206[_0x66a748(0xfd)]),'maxBytesPerPartition':_0x151206[_0x66a748(0xea)](parseInt,process[_0x66a748(0x122)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x151206['kGvEJ']),'autoCommit':_0x151206[_0x66a748(0xcf)](process['env'][_0x66a748(0xd7)],'true'),'autoCommitInterval':_0x151206['uGaZb'](parseInt,process[_0x66a748(0x122)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x66a748(0xbd)),'retryAttempts':_0x151206['dRxHd'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x151206['ximPE'](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x151206['BymtA']),'retryMaxDelay':_0x151206[_0x66a748(0xb8)](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x66a748(0xbb)),'logLevel':process[_0x66a748(0x122)][_0x66a748(0x120)]||_0x151206['HCwfe']};}[a0_0x22f015(0xaf)](_0x13d758){const _0x382339=a0_0x22f015,_0x487747={'nothing':logLevel[_0x382339(0xe1)],'error':logLevel[_0x382339(0xaa)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x382339(0xb3)]};return _0x487747[_0x13d758['toLowerCase']()]||logLevel[_0x382339(0x105)];}async['initialize'](_0x30e4d1={}){const _0x171d90=a0_0x22f015,_0x17b1df={'HcjrQ':function(_0x188c53,_0x4d3a26){return _0x188c53===_0x4d3a26;},'gtIQs':_0x171d90(0xa9)},_0x1d484c=this[_0x171d90(0x10d)]();if(!_0x1d484c['enabled'])return console['log'](_0x17b1df['gtIQs']),![];if(this[_0x171d90(0xc7)])return!![];if(this[_0x171d90(0xba)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x171d90(0xe7)]=new Promise(async _0x119b62=>{const _0x2a2e01=_0x171d90;try{let _0x326dcd=undefined;_0x17b1df['HcjrQ'](process[_0x2a2e01(0x122)][_0x2a2e01(0xcd)],'true')&&(_0x326dcd=!![]);let _0x3d0060=undefined;process[_0x2a2e01(0x122)]['KAFKA_SASL_MECHANISM']&&(_0x3d0060={'mechanism':process[_0x2a2e01(0x122)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x2a2e01(0xc3)]||'','password':process[_0x2a2e01(0x122)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x30e4d1['clientId']||_0x1d484c['clientId'],'brokers':_0x1d484c[_0x2a2e01(0xa4)],'connectionTimeout':_0x1d484c[_0x2a2e01(0xcc)],'requestTimeout':_0x1d484c[_0x2a2e01(0xdc)],'logLevel':this['getLogLevel'](_0x1d484c[_0x2a2e01(0x100)]),'ssl':_0x326dcd,'sasl':_0x3d0060,'retry':{'initialRetryTime':_0x1d484c[_0x2a2e01(0x106)],'retries':_0x1d484c[_0x2a2e01(0xe6)],'maxRetryTime':_0x1d484c[_0x2a2e01(0x104)]}}),this['groupId']=_0x30e4d1['groupId']||'restforge-'+(process[_0x2a2e01(0x122)][_0x2a2e01(0x124)]||_0x2a2e01(0xd0))+_0x2a2e01(0xf1),this[_0x2a2e01(0xbe)]=this[_0x2a2e01(0x110)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x1d484c['sessionTimeout'],'heartbeatInterval':_0x1d484c['heartbeatInterval'],'maxBytesPerPartition':_0x1d484c[_0x2a2e01(0xff)],'allowAutoTopicCreation':![]}),await this['consumer'][_0x2a2e01(0xd6)](),this[_0x2a2e01(0xc7)]=!![],console['log'](_0x2a2e01(0x109)+_0x1d484c['brokers']['join'](',\x20')+_0x2a2e01(0xf2)+this[_0x2a2e01(0xda)]+')'),this['setupEventHandlers'](),_0x119b62(!![]);}catch(_0x285354){console[_0x2a2e01(0xad)](_0x2a2e01(0xec)+_0x285354[_0x2a2e01(0x116)]),this['isConnected']=![],_0x119b62(![]);}finally{this[_0x2a2e01(0xba)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x3d6d22=a0_0x22f015,_0xf55217={'zsdYb':_0x3d6d22(0xa3),'ejAnI':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on'](_0x3d6d22(0x10b),()=>{const _0x1aa13a=_0x3d6d22;console[_0x1aa13a(0xe8)](_0x1aa13a(0xe5)),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0xf55217['zsdYb'],()=>{const _0x560cc4=_0x3d6d22;console[_0x560cc4(0xe8)]('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x560cc4(0x107)]=![];}),this['consumer']['on'](_0xf55217['ejAnI'],_0x1240ef=>{const _0x4dc3ca=_0x3d6d22;console['error'](_0x4dc3ca(0x11c)+_0x1240ef['payload'][_0x4dc3ca(0xad)][_0x4dc3ca(0x116)]),this[_0x4dc3ca(0x107)]=![];}),this['consumer']['on'](_0x3d6d22(0xc5),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x22f015(0xe4)](_0x2ad689,_0x518084=![]){const _0x5f5cf1=a0_0x22f015;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x5688b3=Array[_0x5f5cf1(0x111)](_0x2ad689)?_0x2ad689:[_0x2ad689];for(const _0x197c30 of _0x5688b3){await this[_0x5f5cf1(0xbe)][_0x5f5cf1(0xe4)]({'topic':_0x197c30,'fromBeginning':_0x518084}),console[_0x5f5cf1(0xe8)](_0x5f5cf1(0xc1)+_0x197c30+'\x20(fromBeginning:\x20'+_0x518084+')');}return this[_0x5f5cf1(0xb9)]=[...new Set([...this['subscribedTopics'],..._0x5688b3])],!![];}catch(_0x474340){return console[_0x5f5cf1(0xad)](_0x5f5cf1(0xc4)+_0x474340['message']),![];}}async['startConsuming'](_0x11d9d5,_0x732c16={}){const _0xf5a956=a0_0x22f015,_0x3fc29e={'HkYQF':function(_0xa75a51,_0x2f846e){return _0xa75a51+_0x2f846e;},'bKWda':function(_0x3dd08c,_0x1bd622){return _0x3dd08c(_0x1bd622);},'hfJeu':function(_0x5c4c53,_0x1403e5){return _0x5c4c53-_0x1403e5;},'uGOBo':function(_0x2bf007){return _0x2bf007();}};if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0xf5a956(0x107)])return console['log'](_0xf5a956(0xeb)),!![];const _0x556630=this['getConfig']();this['messageHandler']=_0x11d9d5;try{return this[_0xf5a956(0xf4)][_0xf5a956(0xca)]=new Date(),await this['consumer'][_0xf5a956(0xe3)]({'autoCommit':_0x732c16['autoCommit']!==undefined?_0x732c16[_0xf5a956(0xdb)]:_0x556630['autoCommit'],'autoCommitInterval':_0x556630[_0xf5a956(0xc8)],'eachMessage':async({topic:_0x244154,partition:_0x5d7a7a,message:_0x30bea1,heartbeat:_0xb8e7be})=>{const _0x5d15ed=_0xf5a956,_0x6c842a=Date['now']();this['metrics'][_0x5d15ed(0x112)]++,this[_0x5d15ed(0xf4)][_0x5d15ed(0xf8)]=new Date();try{const _0x261c8f=_0x30bea1[_0x5d15ed(0x114)]?_0x30bea1['value']['toString']():null;let _0xa50a71=null;try{_0xa50a71=_0x261c8f?JSON['parse'](_0x261c8f):null;}catch(_0x5b04da){_0xa50a71=_0x261c8f;}const _0x4d9fce={'topic':_0x244154,'partition':_0x5d7a7a,'offset':_0x30bea1['offset'],'key':_0x30bea1[_0x5d15ed(0xb5)]?_0x30bea1[_0x5d15ed(0xb5)][_0x5d15ed(0xf6)]():null,'headers':this['parseHeaders'](_0x30bea1['headers']),'timestamp':_0x30bea1['timestamp'],'value':_0xa50a71,'raw':_0x261c8f};this[_0x5d15ed(0xfe)]&&await this['messageHandler'](_0x4d9fce);!_0x556630[_0x5d15ed(0xdb)]&&await this[_0x5d15ed(0xbe)]['commitOffsets']([{'topic':_0x244154,'partition':_0x5d7a7a,'offset':_0x3fc29e['HkYQF'](_0x3fc29e[_0x5d15ed(0x11e)](parseInt,_0x30bea1['offset']),0x1)[_0x5d15ed(0xf6)]()}]);this['metrics'][_0x5d15ed(0xd4)]++;const _0x400369=_0x3fc29e[_0x5d15ed(0x123)](Date['now'](),_0x6c842a);this['metrics'][_0x5d15ed(0x11f)][_0x5d15ed(0xbf)](_0x400369),this['metrics']['processingTimes'][_0x5d15ed(0xdf)]>0x64&&this['metrics'][_0x5d15ed(0x11f)]['shift'](),await _0x3fc29e['uGOBo'](_0xb8e7be);}catch(_0x5cecca){this['metrics'][_0x5d15ed(0xde)]++,console[_0x5d15ed(0xad)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x5cecca[_0x5d15ed(0x116)]);throw _0x5cecca;}}}),this[_0xf5a956(0x107)]=!![],console['log'](_0xf5a956(0xee)+this[_0xf5a956(0xb9)][_0xf5a956(0xf7)](',\x20')),!![];}catch(_0x5da631){return console[_0xf5a956(0xad)](_0xf5a956(0x10a)+_0x5da631[_0xf5a956(0x116)]),![];}}[a0_0x22f015(0xab)](_0x74f9b9){if(!_0x74f9b9)return{};const _0x2dfd1d={};for(const [_0x1313d9,_0x4a8926]of Object['entries'](_0x74f9b9)){_0x2dfd1d[_0x1313d9]=_0x4a8926?_0x4a8926['toString']():null;}return _0x2dfd1d;}async['pause'](){const _0x37ef46=a0_0x22f015,_0x1d7222={'XdaRi':_0x37ef46(0xb1),'VZWQO':_0x37ef46(0xd5),'Dptdq':_0x37ef46(0xe2)};if(!this[_0x37ef46(0xc7)]||!this[_0x37ef46(0x107)])return console[_0x37ef46(0xe8)](_0x1d7222[_0x37ef46(0xa8)]),![];if(this['isPaused'])return console[_0x37ef46(0xe8)](_0x1d7222[_0x37ef46(0x10c)]),!![];try{const _0x4484df=this[_0x37ef46(0xb9)]['map'](_0x1c5c86=>({'topic':_0x1c5c86}));return this['consumer']['pause'](_0x4484df),this['isPaused']=!![],console['log'](_0x1d7222[_0x37ef46(0xfa)]),!![];}catch(_0x2a9089){return console['error'](_0x37ef46(0xf5)+_0x2a9089[_0x37ef46(0x116)]),![];}}async[a0_0x22f015(0xa5)](){const _0x178279=a0_0x22f015,_0x132cb1={'XsLXM':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','KUdRJ':'[KafkaConsumer]\x20Consumer\x20not\x20paused','EqGbq':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x178279(0xc7)]||!this[_0x178279(0x107)])return console[_0x178279(0xe8)](_0x132cb1['XsLXM']),![];if(!this['isPaused'])return console[_0x178279(0xe8)](_0x132cb1['KUdRJ']),!![];try{const _0x274ecf=this[_0x178279(0xb9)]['map'](_0x4ec7f1=>({'topic':_0x4ec7f1}));return this[_0x178279(0xbe)]['resume'](_0x274ecf),this[_0x178279(0xa6)]=![],console['log'](_0x132cb1[_0x178279(0xed)]),!![];}catch(_0x56b332){return console[_0x178279(0xad)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x56b332[_0x178279(0x116)]),![];}}async[a0_0x22f015(0x117)](){const _0x31f2a8=a0_0x22f015,_0xa65d95={'MYaBZ':_0x31f2a8(0xce),'IKhtO':_0x31f2a8(0x113)};if(!this[_0x31f2a8(0xc7)])return console[_0x31f2a8(0xe8)](_0xa65d95['MYaBZ']),!![];try{const _0x402081=_0xa65d95[_0x31f2a8(0xe0)]['split']('|');let _0x269088=0x0;while(!![]){switch(_0x402081[_0x269088++]){case'0':this[_0x31f2a8(0xa6)]=![];continue;case'1':console[_0x31f2a8(0xe8)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'2':return!![];case'3':this[_0x31f2a8(0xc7)]=![];continue;case'4':this[_0x31f2a8(0xbe)]&&(await this[_0x31f2a8(0xbe)][_0x31f2a8(0x117)](),await this[_0x31f2a8(0xbe)][_0x31f2a8(0xe9)]());continue;case'5':this[_0x31f2a8(0x107)]=![];continue;}break;}}catch(_0x2ecf39){return console[_0x31f2a8(0xad)](_0x31f2a8(0xf9)+_0x2ecf39[_0x31f2a8(0x116)]),![];}}async[a0_0x22f015(0xb6)](_0x4f2699,_0x41be14,_0x3a2eb0){const _0x53bb76=a0_0x22f015;if(!this['isConnected'])return console[_0x53bb76(0xad)](_0x53bb76(0xcb)),![];try{return this[_0x53bb76(0xbe)][_0x53bb76(0x103)]({'topic':_0x4f2699,'partition':_0x41be14,'offset':_0x3a2eb0[_0x53bb76(0xf6)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x3a2eb0+_0x53bb76(0xc2)+_0x4f2699+':'+_0x41be14),!![];}catch(_0x17b6a2){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x17b6a2['message']),![];}}[a0_0x22f015(0x10f)](){const _0x19fb2a=a0_0x22f015,_0x7e76ed=this[_0x19fb2a(0x10d)]();return{'enabled':_0x7e76ed['enabled'],'connected':this[_0x19fb2a(0xc7)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x7e76ed[_0x19fb2a(0xa4)],'clientId':_0x7e76ed[_0x19fb2a(0xd2)],'groupId':this[_0x19fb2a(0xda)],'subscribedTopics':this['subscribedTopics']};}[a0_0x22f015(0xf3)](){const _0x2d992d=a0_0x22f015,_0x5da5ab={'bcwBB':function(_0x58d15f,_0x1d1bf4){return _0x58d15f/_0x1d1bf4;},'luYfW':function(_0x2ab9de,_0x102922){return _0x2ab9de>_0x102922;},'FVuLn':function(_0xc5cc9d,_0x212121){return _0xc5cc9d>_0x212121;},'AwSOi':function(_0x4ed0b3,_0x40526a){return _0x4ed0b3+_0x40526a;},'lDkql':function(_0x43816f,_0x478506){return _0x43816f*_0x478506;},'JNvnl':function(_0x9cd19c,_0x59f3b6){return _0x9cd19c/_0x59f3b6;},'oqdZQ':function(_0x9af77a,_0x1a78ba){return _0x9af77a-_0x1a78ba;},'pxCAs':function(_0x4785b6,_0x2289c0){return _0x4785b6+_0x2289c0;}},_0x360e6e=this[_0x2d992d(0xf4)]['processingTimes']['length']>0x0?_0x5da5ab['bcwBB'](this['metrics']['processingTimes'][_0x2d992d(0xbc)]((_0x44a614,_0x2387c5)=>_0x44a614+_0x2387c5,0x0),this[_0x2d992d(0xf4)]['processingTimes'][_0x2d992d(0xdf)]):0x0,_0x58d0c8=_0x5da5ab[_0x2d992d(0xae)](this['metrics'][_0x2d992d(0x11f)]['length'],0x0)?Math['min'](...this[_0x2d992d(0xf4)]['processingTimes']):0x0,_0x59df13=_0x5da5ab['FVuLn'](this['metrics']['processingTimes']['length'],0x0)?Math[_0x2d992d(0x119)](...this[_0x2d992d(0xf4)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x5da5ab[_0x2d992d(0x121)](this['metrics'][_0x2d992d(0x112)],0x0)?_0x5da5ab[_0x2d992d(0xf0)](_0x5da5ab['lDkql'](this['metrics']['messagesProcessed']/this[_0x2d992d(0xf4)][_0x2d992d(0x112)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x2d992d(0xf4)]['lastMessageTime'],'startTime':this[_0x2d992d(0xf4)][_0x2d992d(0xca)],'uptime':this['metrics']['startTime']?_0x5da5ab[_0x2d992d(0xf0)](Math['floor'](_0x5da5ab[_0x2d992d(0x11a)](_0x5da5ab['oqdZQ'](Date[_0x2d992d(0xb2)](),this[_0x2d992d(0xf4)][_0x2d992d(0xca)][_0x2d992d(0xc0)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x2d992d(0x125)](_0x360e6e)+'ms','min':_0x5da5ab['pxCAs'](_0x58d0c8,'ms'),'max':_0x5da5ab['AwSOi'](_0x59df13,'ms')}};}['resetMetrics'](){const _0x40fdd9=a0_0x22f015;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x40fdd9(0xe8)]('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x22f015(0xc6)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x2de7(_0x387567,_0x5f3c6a){_0x387567=_0x387567-0xa3;const _0x5b102c=a0_0x5b10();let _0x2de785=_0x5b102c[_0x387567];if(a0_0x2de7['PrbCtP']===undefined){var _0x2bcaa4=function(_0x27bf67){const _0x5843c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ebf30='',_0x1b9479='';for(let _0xe52c8b=0x0,_0xc64743,_0x57c73d,_0x2250b8=0x0;_0x57c73d=_0x27bf67['charAt'](_0x2250b8++);~_0x57c73d&&(_0xc64743=_0xe52c8b%0x4?_0xc64743*0x40+_0x57c73d:_0x57c73d,_0xe52c8b++%0x4)?_0x4ebf30+=String['fromCharCode'](0xff&_0xc64743>>(-0x2*_0xe52c8b&0x6)):0x0){_0x57c73d=_0x5843c1['indexOf'](_0x57c73d);}for(let _0x280135=0x0,_0x19e939=_0x4ebf30['length'];_0x280135<_0x19e939;_0x280135++){_0x1b9479+='%'+('00'+_0x4ebf30['charCodeAt'](_0x280135)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9479);};a0_0x2de7['RHNjIS']=_0x2bcaa4,a0_0x2de7['pqUYfo']={},a0_0x2de7['PrbCtP']=!![];}const _0xe09a5=_0x5b102c[0x0],_0x5c7890=_0x387567+_0xe09a5,_0x2c7bd1=a0_0x2de7['pqUYfo'][_0x5c7890];return!_0x2c7bd1?(_0x2de785=a0_0x2de7['RHNjIS'](_0x2de785),a0_0x2de7['pqUYfo'][_0x5c7890]=_0x2de785):_0x2de785=_0x2c7bd1,_0x2de785;}function resetInstance(){const _0x293b3e=a0_0x22f015;instance&&(instance[_0x293b3e(0xc6)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x3fccc1=a0_0x2b43;(function(_0x2e632c,_0x34320c){const _0xb45a74=a0_0x2b43,_0x5130f1=_0x2e632c();while(!![]){try{const _0x266a47=-parseInt(_0xb45a74(0xab))/0x1*(parseInt(_0xb45a74(0xf8))/0x2)+parseInt(_0xb45a74(0x112))/0x3+parseInt(_0xb45a74(0xfd))/0x4*(parseInt(_0xb45a74(0xaf))/0x5)+-parseInt(_0xb45a74(0xa6))/0x6*(-parseInt(_0xb45a74(0xaa))/0x7)+-parseInt(_0xb45a74(0xb5))/0x8*(-parseInt(_0xb45a74(0x116))/0x9)+-parseInt(_0xb45a74(0xde))/0xa+parseInt(_0xb45a74(0xcb))/0xb*(-parseInt(_0xb45a74(0x105))/0xc);if(_0x266a47===_0x34320c)break;else _0x5130f1['push'](_0x5130f1['shift']());}catch(_0x1f9f2b){_0x5130f1['push'](_0x5130f1['shift']());}}}(a0_0x2f17,0x8e1ff));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x4a11ef=a0_0x2b43;this[_0x4a11ef(0xac)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x4a11ef(0xc4)]=![],this[_0x4a11ef(0xca)]=null,this['subscribedTopics']=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x3fccc1(0xbd)](){const _0x26b254=a0_0x3fccc1,_0x406524={'zTffg':'true','jnmdR':_0x26b254(0xfa),'fnDsc':'default','fiDLI':'25000','pdGdX':_0x26b254(0xe4),'Twhhj':function(_0x46950e,_0x3bd0a5){return _0x46950e(_0x3bd0a5);},'JmcPB':function(_0x5b5cb5,_0x32fbd3){return _0x5b5cb5(_0x32fbd3);},'izJES':_0x26b254(0xae),'auJAb':_0x26b254(0xf3)};return{'enabled':process['env'][_0x26b254(0x124)]===_0x406524[_0x26b254(0xf7)],'brokers':(process['env'][_0x26b254(0x9d)]||_0x406524[_0x26b254(0xb1)])[_0x26b254(0xe1)](','),'clientId':process['env'][_0x26b254(0xf0)]||_0x26b254(0xdf)+(process['env'][_0x26b254(0x11f)]||_0x406524['fnDsc'])+_0x26b254(0xa2),'connectionTimeout':parseInt(process[_0x26b254(0xbc)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x406524[_0x26b254(0x106)]),'sessionTimeout':parseInt(process[_0x26b254(0xbc)][_0x26b254(0xfe)]||_0x406524[_0x26b254(0x100)]),'heartbeatInterval':parseInt(process[_0x26b254(0xbc)][_0x26b254(0xdd)]||_0x26b254(0x9f)),'maxBytesPerPartition':_0x406524[_0x26b254(0xa4)](parseInt,process['env'][_0x26b254(0x11e)]||_0x26b254(0x98)),'autoCommit':process[_0x26b254(0xbc)]['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process['env'][_0x26b254(0xa3)]||_0x26b254(0xfb)),'retryAttempts':parseInt(process['env'][_0x26b254(0xa1)]||'3'),'retryDelay':_0x406524['JmcPB'](parseInt,process['env'][_0x26b254(0xec)]||_0x406524[_0x26b254(0xd2)]),'retryMaxDelay':parseInt(process[_0x26b254(0xbc)]['KAFKA_RETRY_MAX_DELAY']||_0x406524['pdGdX']),'logLevel':process['env'][_0x26b254(0xed)]||_0x406524['auJAb']};}[a0_0x3fccc1(0xee)](_0x3268c6){const _0x2fea3a=a0_0x3fccc1,_0x27a8ce={'nothing':logLevel[_0x2fea3a(0xea)],'error':logLevel[_0x2fea3a(0xba)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x27a8ce[_0x3268c6[_0x2fea3a(0x10a)]()]||logLevel['WARN'];}async['initialize'](_0xbabdbc={}){const _0x5e4d4c=a0_0x3fccc1,_0x1bf041={'uvPMu':'default','bVNBl':function(_0x1f9d53,_0x2bcfa){return _0x1f9d53(_0x2bcfa);},'AwPMo':function(_0x48ade1,_0x282385){return _0x48ade1(_0x282385);}},_0x82d0b9=this[_0x5e4d4c(0xbd)]();if(!_0x82d0b9[_0x5e4d4c(0xc5)])return console[_0x5e4d4c(0x110)](_0x5e4d4c(0xb9)),![];if(this['isConnected'])return!![];if(this[_0x5e4d4c(0xce)]&&this['connectionPromise'])return this[_0x5e4d4c(0xca)];return this['isInitializing']=!![],this[_0x5e4d4c(0xca)]=new Promise(async _0x307d55=>{const _0x4f5ad2=_0x5e4d4c;try{let _0x4344a0=undefined;process['env'][_0x4f5ad2(0xc7)]===_0x4f5ad2(0xef)&&(_0x4344a0=!![]);let _0x1aad75=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1aad75={'mechanism':process[_0x4f5ad2(0xbc)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x4f5ad2(0x122)]||'','password':process[_0x4f5ad2(0xbc)]['KAFKA_SASL_PASSWORD']||''}),this[_0x4f5ad2(0xac)]=new Kafka({'clientId':_0xbabdbc[_0x4f5ad2(0xd3)]||_0x82d0b9['clientId'],'brokers':_0x82d0b9[_0x4f5ad2(0xbf)],'connectionTimeout':_0x82d0b9[_0x4f5ad2(0x120)],'requestTimeout':_0x82d0b9[_0x4f5ad2(0xa8)],'logLevel':this['getLogLevel'](_0x82d0b9[_0x4f5ad2(0x101)]),'ssl':_0x4344a0,'sasl':_0x1aad75,'retry':{'initialRetryTime':_0x82d0b9[_0x4f5ad2(0xd5)],'retries':_0x82d0b9['retryAttempts'],'maxRetryTime':_0x82d0b9[_0x4f5ad2(0x10e)]}}),this['groupId']=_0xbabdbc['groupId']||_0x4f5ad2(0xdf)+(process[_0x4f5ad2(0xbc)]['RESTFORGE_PROJECT_NAME']||_0x1bf041[_0x4f5ad2(0xa9)])+_0x4f5ad2(0x109),this[_0x4f5ad2(0xd7)]=this['kafka']['consumer']({'groupId':this[_0x4f5ad2(0xad)],'sessionTimeout':_0x82d0b9[_0x4f5ad2(0xe2)],'heartbeatInterval':_0x82d0b9['heartbeatInterval'],'maxBytesPerPartition':_0x82d0b9[_0x4f5ad2(0xcc)],'allowAutoTopicCreation':![]}),await this[_0x4f5ad2(0xd7)][_0x4f5ad2(0xf1)](),this['isConnected']=!![],console[_0x4f5ad2(0x110)](_0x4f5ad2(0xb4)+_0x82d0b9['brokers']['join'](',\x20')+_0x4f5ad2(0x102)+this['groupId']+')'),this['setupEventHandlers'](),_0x1bf041['bVNBl'](_0x307d55,!![]);}catch(_0x49a740){console['error'](_0x4f5ad2(0xf6)+_0x49a740['message']),this['isConnected']=![],_0x1bf041['AwPMo'](_0x307d55,![]);}finally{this['isInitializing']=![];}}),this[_0x5e4d4c(0xca)];}['setupEventHandlers'](){const _0x4addd9=a0_0x3fccc1,_0x36a223={'ZtLEm':_0x4addd9(0x10d),'VRrUN':_0x4addd9(0xe9),'PwSMY':'consumer.stop','OOHbc':_0x4addd9(0xa0),'byOZE':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x4addd9(0x9a),()=>{const _0x21010c=_0x4addd9;console['log'](_0x36a223['ZtLEm']),this[_0x21010c(0xda)]=![],this[_0x21010c(0x115)]=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223[_0x4addd9(0xe0)],()=>{const _0x2672d4=_0x4addd9;console[_0x2672d4(0x110)](_0x36a223[_0x2672d4(0x99)]),this['isRunning']=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223[_0x4addd9(0x9b)],_0x17defb=>{const _0x446f43=_0x4addd9;console[_0x446f43(0xf4)](_0x446f43(0xdc)+_0x17defb[_0x446f43(0xe7)]['error']['message']),this[_0x446f43(0x115)]=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223['byOZE'],()=>{const _0x5ef5ba=_0x4addd9;console[_0x5ef5ba(0x110)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x4e3d7e,_0x314464=![]){const _0x373d5d=a0_0x3fccc1,_0x212b39={'LXLQr':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x373d5d(0xf4)](_0x212b39['LXLQr']),![];try{const _0x1366a9=Array['isArray'](_0x4e3d7e)?_0x4e3d7e:[_0x4e3d7e];for(const _0x3cee94 of _0x1366a9){await this['consumer']['subscribe']({'topic':_0x3cee94,'fromBeginning':_0x314464}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x3cee94+'\x20(fromBeginning:\x20'+_0x314464+')');}return this[_0x373d5d(0x107)]=[...new Set([...this[_0x373d5d(0x107)],..._0x1366a9])],!![];}catch(_0x925ca8){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x925ca8['message']),![];}}async[a0_0x3fccc1(0x118)](_0x124767,_0x39dddf={}){const _0x207cdf=a0_0x3fccc1,_0x5f0b75={'clMAN':function(_0xd91ed3){return _0xd91ed3();},'OwsZN':_0x207cdf(0x121),'DQCGs':function(_0x470e72,_0x4d76cb){return _0x470e72!==_0x4d76cb;}};if(!this[_0x207cdf(0xda)])return console['error'](_0x5f0b75[_0x207cdf(0xc0)]),![];if(this[_0x207cdf(0x115)])return console[_0x207cdf(0x110)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x410722=this[_0x207cdf(0xbd)]();this['messageHandler']=_0x124767;try{return this[_0x207cdf(0x97)]['startTime']=new Date(),await this['consumer'][_0x207cdf(0x9c)]({'autoCommit':_0x5f0b75[_0x207cdf(0xc1)](_0x39dddf['autoCommit'],undefined)?_0x39dddf['autoCommit']:_0x410722[_0x207cdf(0xb0)],'autoCommitInterval':_0x410722['autoCommitInterval'],'eachMessage':async({topic:_0x237c24,partition:_0x2d888c,message:_0x333b75,heartbeat:_0x53db59})=>{const _0x13a080=_0x207cdf,_0x517bf5=Date[_0x13a080(0xa7)]();this['metrics'][_0x13a080(0x10f)]++,this[_0x13a080(0x97)][_0x13a080(0x11a)]=new Date();try{const _0xac86e2=_0x333b75[_0x13a080(0xe5)]?_0x333b75['value']['toString']():null;let _0x2b0600=null;try{_0x2b0600=_0xac86e2?JSON['parse'](_0xac86e2):null;}catch(_0x17eafc){_0x2b0600=_0xac86e2;}const _0x491841={'topic':_0x237c24,'partition':_0x2d888c,'offset':_0x333b75[_0x13a080(0xb7)],'key':_0x333b75['key']?_0x333b75[_0x13a080(0x11d)]['toString']():null,'headers':this[_0x13a080(0x10c)](_0x333b75[_0x13a080(0xb2)]),'timestamp':_0x333b75[_0x13a080(0xe3)],'value':_0x2b0600,'raw':_0xac86e2};this[_0x13a080(0x123)]&&await this[_0x13a080(0x123)](_0x491841);!_0x410722['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x237c24,'partition':_0x2d888c,'offset':(parseInt(_0x333b75['offset'])+0x1)['toString']()}]);this[_0x13a080(0x97)]['messagesProcessed']++;const _0x79db68=Date[_0x13a080(0xa7)]()-_0x517bf5;this[_0x13a080(0x97)]['processingTimes']['push'](_0x79db68),this[_0x13a080(0x97)][_0x13a080(0xeb)]['length']>0x64&&this[_0x13a080(0x97)][_0x13a080(0xeb)][_0x13a080(0xbb)](),await _0x5f0b75[_0x13a080(0xc3)](_0x53db59);}catch(_0x5c73b4){this['metrics'][_0x13a080(0x103)]++,console[_0x13a080(0xf4)](_0x13a080(0x9e)+_0x5c73b4[_0x13a080(0x10b)]);throw _0x5c73b4;}}}),this[_0x207cdf(0x115)]=!![],console['log'](_0x207cdf(0x117)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x13a532){return console['error'](_0x207cdf(0xc6)+_0x13a532['message']),![];}}[a0_0x3fccc1(0x10c)](_0xc6e9ba){const _0x478bb8=a0_0x3fccc1;if(!_0xc6e9ba)return{};const _0x2dbd83={};for(const [_0x50df1e,_0x5e5963]of Object[_0x478bb8(0xf5)](_0xc6e9ba)){_0x2dbd83[_0x50df1e]=_0x5e5963?_0x5e5963['toString']():null;}return _0x2dbd83;}async['pause'](){const _0x5b7a8a=a0_0x3fccc1,_0x54fdba={'ACkjJ':_0x5b7a8a(0xd8),'sqVkP':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x5b7a8a(0x110)](_0x54fdba[_0x5b7a8a(0x11c)]),![];if(this[_0x5b7a8a(0xc4)])return console[_0x5b7a8a(0x110)](_0x54fdba['sqVkP']),!![];try{const _0x532b81=this[_0x5b7a8a(0x107)]['map'](_0x33a507=>({'topic':_0x33a507}));return this['consumer']['pause'](_0x532b81),this['isPaused']=!![],console[_0x5b7a8a(0x110)](_0x5b7a8a(0xdb)),!![];}catch(_0xd3be2){return console[_0x5b7a8a(0xf4)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xd3be2[_0x5b7a8a(0x10b)]),![];}}async[a0_0x3fccc1(0xd0)](){const _0x4d4859=a0_0x3fccc1,_0x40e209={'ITNwL':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','mRYGo':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x4d4859(0xda)]||!this[_0x4d4859(0x115)])return console[_0x4d4859(0x110)](_0x40e209[_0x4d4859(0xc8)]),![];if(!this[_0x4d4859(0xc4)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x11f04b=this[_0x4d4859(0x107)]['map'](_0x4ebeb6=>({'topic':_0x4ebeb6}));return this[_0x4d4859(0xd7)]['resume'](_0x11f04b),this['isPaused']=![],console['log'](_0x40e209['mRYGo']),!![];}catch(_0x2c3db9){return console[_0x4d4859(0xf4)](_0x4d4859(0xb8)+_0x2c3db9['message']),![];}}async[a0_0x3fccc1(0xb6)](){const _0x4742a1=a0_0x3fccc1,_0xec781d={'izhgJ':'2|4|1|3|0|5','HKmsJ':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4742a1(0xda)])return console['log'](_0x4742a1(0xf9)),!![];try{const _0x4c9e78=_0xec781d[_0x4742a1(0xc9)]['split']('|');let _0x448a1c=0x0;while(!![]){switch(_0x4c9e78[_0x448a1c++]){case'0':console[_0x4742a1(0x110)](_0xec781d[_0x4742a1(0xb3)]);continue;case'1':this['isRunning']=![];continue;case'2':this['consumer']&&(await this[_0x4742a1(0xd7)][_0x4742a1(0xb6)](),await this[_0x4742a1(0xd7)][_0x4742a1(0xa5)]());continue;case'3':this[_0x4742a1(0xc4)]=![];continue;case'4':this['isConnected']=![];continue;case'5':return!![];}break;}}catch(_0x4d66c3){return console[_0x4742a1(0xf4)](_0x4742a1(0xc2)+_0x4d66c3['message']),![];}}async[a0_0x3fccc1(0xfc)](_0x2fe073,_0x55b373,_0x34deea){const _0x3329a0=a0_0x3fccc1;if(!this['isConnected'])return console[_0x3329a0(0xf4)](_0x3329a0(0xe8)),![];try{return this[_0x3329a0(0xd7)][_0x3329a0(0xd4)]({'topic':_0x2fe073,'partition':_0x55b373,'offset':_0x34deea[_0x3329a0(0xcf)]()}),console['log'](_0x3329a0(0xd9)+_0x34deea+_0x3329a0(0x11b)+_0x2fe073+':'+_0x55b373),!![];}catch(_0xeed1e){return console[_0x3329a0(0xf4)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xeed1e['message']),![];}}['getStatus'](){const _0x42e548=a0_0x3fccc1,_0x5b8efe=this[_0x42e548(0xbd)]();return{'enabled':_0x5b8efe['enabled'],'connected':this['isConnected'],'running':this[_0x42e548(0x115)],'paused':this[_0x42e548(0xc4)],'brokers':_0x5b8efe['brokers'],'clientId':_0x5b8efe[_0x42e548(0xd3)],'groupId':this['groupId'],'subscribedTopics':this[_0x42e548(0x107)]};}['getMetrics'](){const _0x55161e=a0_0x3fccc1,_0x4633ff={'KGmSM':function(_0x342eb8,_0x2b78f2){return _0x342eb8>_0x2b78f2;},'tjXsA':function(_0x9fc32a,_0x59f734){return _0x9fc32a*_0x59f734;},'VgIKt':function(_0x244b47,_0x1a30ec){return _0x244b47/_0x1a30ec;},'SWNBn':function(_0x4140b1,_0x308fd4){return _0x4140b1+_0x308fd4;},'WrrlK':function(_0x27dc0,_0x455afe){return _0x27dc0/_0x455afe;},'eYqev':function(_0x257ddc,_0x3db3c5){return _0x257ddc-_0x3db3c5;}},_0x50c629=_0x4633ff['KGmSM'](this['metrics']['processingTimes'][_0x55161e(0xd1)],0x0)?this['metrics']['processingTimes']['reduce']((_0x528134,_0x4ceee9)=>_0x528134+_0x4ceee9,0x0)/this[_0x55161e(0x97)][_0x55161e(0xeb)]['length']:0x0,_0x3023d7=_0x4633ff[_0x55161e(0x113)](this['metrics'][_0x55161e(0xeb)][_0x55161e(0xd1)],0x0)?Math[_0x55161e(0xf2)](...this[_0x55161e(0x97)][_0x55161e(0xeb)]):0x0,_0x232078=_0x4633ff[_0x55161e(0x113)](this[_0x55161e(0x97)]['processingTimes']['length'],0x0)?Math[_0x55161e(0xe6)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x55161e(0x10f)],'messagesProcessed':this[_0x55161e(0x97)][_0x55161e(0x111)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x4633ff[_0x55161e(0x113)](this[_0x55161e(0x97)][_0x55161e(0x10f)],0x0)?_0x4633ff[_0x55161e(0x119)](_0x4633ff[_0x55161e(0xd6)](this['metrics']['messagesProcessed'],this['metrics'][_0x55161e(0x10f)]),0x64)[_0x55161e(0x114)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x55161e(0x11a)],'startTime':this['metrics'][_0x55161e(0xbe)],'uptime':this['metrics'][_0x55161e(0xbe)]?_0x4633ff['SWNBn'](Math['floor'](_0x4633ff[_0x55161e(0x108)](_0x4633ff['eYqev'](Date['now'](),this['metrics'][_0x55161e(0xbe)][_0x55161e(0x104)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x55161e(0xcd)](_0x50c629)+'ms','min':_0x3023d7+'ms','max':_0x232078+'ms'}};}['resetMetrics'](){const _0x1a99f4=a0_0x3fccc1;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1a99f4(0x115)]?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 resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x2b43(_0x123d84,_0x29de11){_0x123d84=_0x123d84-0x97;const _0x2f1725=a0_0x2f17();let _0x2b4385=_0x2f1725[_0x123d84];if(a0_0x2b43['IMQceG']===undefined){var _0x5d08f1=function(_0x3a180a){const _0x4a8806='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fb821='',_0x3b1edb='';for(let _0x3e55ab=0x0,_0x5573b2,_0x481da4,_0xe031db=0x0;_0x481da4=_0x3a180a['charAt'](_0xe031db++);~_0x481da4&&(_0x5573b2=_0x3e55ab%0x4?_0x5573b2*0x40+_0x481da4:_0x481da4,_0x3e55ab++%0x4)?_0x2fb821+=String['fromCharCode'](0xff&_0x5573b2>>(-0x2*_0x3e55ab&0x6)):0x0){_0x481da4=_0x4a8806['indexOf'](_0x481da4);}for(let _0x333583=0x0,_0x4a8aad=_0x2fb821['length'];_0x333583<_0x4a8aad;_0x333583++){_0x3b1edb+='%'+('00'+_0x2fb821['charCodeAt'](_0x333583)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b1edb);};a0_0x2b43['yozsej']=_0x5d08f1,a0_0x2b43['NqZWjz']={},a0_0x2b43['IMQceG']=!![];}const _0x57a754=_0x2f1725[0x0],_0x16bc8a=_0x123d84+_0x57a754,_0x39c278=a0_0x2b43['NqZWjz'][_0x16bc8a];return!_0x39c278?(_0x2b4385=a0_0x2b43['yozsej'](_0x2b4385),a0_0x2b43['NqZWjz'][_0x16bc8a]=_0x2b4385):_0x2b4385=_0x39c278,_0x2b4385;}function a0_0x2f17(){const _0x42db28=['BwvZC2fNzuHHBMrSzxi','s0fgs0fFru5bqKXfra','Bwv0CMLJCW','mta0odu3nG','vLjYvu4','y29UC3vTzxiUzgLZy29UBMvJDa','t09iyMm','CNvU','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','mZaWma','y29UC3vTzxiUy3jHC2G','s0fgs0fFuKvuuLLFqvruru1qvfm','lwnVBNn1BwvY','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','vhDOAgO','zgLZy29UBMvJDa','mtmWodG3nKnLAefzBq','BM93','CMvXDwvZDfrPBwvVDxq','Dxzqtxu','mZvdChDbAva','mZG2nJy0BfzYC3jX','A2fMA2e','z3jVDxbjza','mtaWma','ntyYndyZnvb1AgvjrW','yxv0B0nVBw1PDa','AM5Tzfi','AgvHzgvYCW','seTTC0O','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','oeHMy0zUCG','C3rVCa','B2zMC2v0','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','rvjst1i','C2HPzNq','zw52','z2v0q29UzMLN','C3rHCNruAw1L','yNjVA2vYCW','t3DZwK4','rffdr3m','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','y2Xnqu4','AxnqyxvZzwq','zw5HyMXLza','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','s0fgs0fFu1nm','svroD0W','AxPOz0O','y29UBMvJDgLVBLbYB21PC2u','nZe1qxznvLrf','Bwf4qNL0zxnqzxjqyxj0AxrPB24','CM91BMq','AxnjBML0AwfSAxPPBMC','Dg9tDhjPBMC','CMvZDw1L','BgvUz3rO','AxPkrvm','y2XPzw50swq','C2vLAW','CMv0CNLezwXHEq','vMDjs3q','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFsevbuLrcrufux0LovevsvKfm','ndG1ntq2mgrlEKDvsq','CMvZDgzVCMDLlq','uhDttvK','C3bSAxq','C2vZC2LVBLrPBwvVDxq','DgLTzxn0yw1W','mZaWmda','DMfSDwu','Bwf4','Cgf5Bg9Hza','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','tK9useLorW','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFuKvuuLLFrevmqvK','s0fgs0fFte9hx0XfvKvm','z2v0tg9Ntgv2zwW','Dhj1zq','s0fgs0fFq0Xjru5ux0Le','y29UBMvJDa','BwLU','D2fYBG','zxjYB3i','zw50CMLLCW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','ELrMzMC','mKLUyNjIEG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bg9JywXOB3n0oJKWoti','ntaWma','C2vLA1rVt2zMC2v0','ngTvBgPrsa','s0fgs0fFu0vtu0LptL9usu1ft1vu','zxHWB3j0CW','CgrhzfG','Bg9Ntgv2zwW','icHNCM91CeLKoIa','BwvZC2fNzxngywLSzwq','z2v0vgLTzq','mZuZmtCYvMn4y1DJ','zMLeteK','C3vIC2nYAwjLzfrVCgLJCW','v3jYBeS','lwnVBNn1BwvYlwDYB3vW','Dg9mB3DLCKnHC2u','BwvZC2fNzq','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','CMv0CNLnyxHezwXHEq','BwvZC2fNzxnszwnLAxzLza','Bg9N','BwvZC2fNzxnqCM9JzxnZzwq','mtK5ndC2ouvpENPmEa','s0DTu00','Dg9gAxHLza','AxnsDw5UAw5N','ndm4mta5mMnSCKXgBG','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','C3rHCNrdB25ZDw1PBMC','DgPyC0e','BgfZDe1LC3nHz2vuAw1L','ig9Uia','qunRAKO','A2v5','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFu0fttf9vu0vstKfnrq'];a0_0x2f17=function(){return _0x42db28;};return a0_0x2f17();}function createInstance(){return new KafkaConsumerService();}module[a0_0x3fccc1(0xff)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5be4(){const _0x37be9c=['Aw5PDgLHBgL6zq','zxjYB3i','ru5usvrzx1vqrefuruq','zgvMyxvSDa','CMv0CNLbDhrLBxb0CW','DgvUyw50swq','s0fgs0fFte9hx0XfvKvm','Bw9KDwXL','Dw5RBM93BG','nZm0mZmXnM5ACKTbvW','yNvPBgruB3bPy05HBwu','s0fgs0fFuKvrvuvtvf9usu1ft1vu','tgvNywn5ugfYDgL0Aw9Uzxi','qK5psey','ChvIBgLZAev2zw50','mtmYuhvvCfzZ','A2v5rMLLBgq','mte4mJCWDhD0wNne','ChjVzhvJzxi','s0fgs0fFru5bqKXfra','mJjfzfzQChm','ru5usvrzx0nsrufuruq','yMfZzu9MzNnLDa','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','lxbYB2r1y2vY','zgvSzxrLza','tgXPsNC','CgfKu3rHCNq','BwvZC2fNzq','AxndB25Uzwn0zwq','EuL6rNK','CMvZDgzVCMDLlq','uKvtvezpuKDflq','yNjVA2vYCW','Dg9WAwnqyxr0zxjU','y29UBMvJDgLVBLrPBwvVDxq','s0fgs0fFu0fttf9nruniqu5ju00','nZK2mZztvxPRrfu','CMv0CNLezwXHEq','y2XVC2u','mZaWma','mtGWmdi2ngLbvhnczW','s0fgs0fFq0Xjru5ux0Le','A2fMA2e','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','Bg9N','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','y3jLyxrLza','mJuWmda','y29YCI0','DgfIBgvoyw1L','nda5nZC2nJbksLHrEKC','ChvIBgLZAfvWzgf0zq','zxHWB3j0CW','mtaWmtyZq3bosvzN','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','z2v0rNvSBfLLyxi','s0fgs0fFve9qsunFuefuvevstG','yNvPBgrfDMvUDe1LC3nHz2u','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ms4W','s0fgs0fFu0fttf9qqvntv09sra','y29YCMvSyxrPB25jza','zw5HyMXLza','Dhj1zq','y3jLyxrLzej5','zKfuDNy','Dg9mB3DLCKnHC2u','s0fgs0fFuKvuuLLFqvruru1qvfm','z2v0rgf0zq','z2v0u3rHDhvZ','su5gtW','ohfHDhbrqG','C2vUza','AxnjBML0AwfSAxPPBMC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','DxbKyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9vChbLCKnHC2u','v0fstG','s0fgs0fFqLjps0vsuW','ChjVzhvJzxiUzgLZy29UBMvJDa','zw52','E21VzhvSzx0','y29UBMvJDgLVBLbYB21PC2u','tK9useLorW','z2v0q29UzMLN','z2v0twLUDxrLCW','mZi3mZq1m1DQCNz2BG','E2fJDgLVBN0'];a0_0x5be4=function(){return _0x37be9c;};return a0_0x5be4();}const a0_0x127050=a0_0x27ac;(function(_0x2e9619,_0x1e12e9){const _0x185f6e=a0_0x27ac,_0x21f30c=_0x2e9619();while(!![]){try{const _0x532d5b=parseInt(_0x185f6e(0x84))/0x1*(-parseInt(_0x185f6e(0xce))/0x2)+-parseInt(_0x185f6e(0xb8))/0x3+parseInt(_0x185f6e(0xc9))/0x4*(-parseInt(_0x185f6e(0xcb))/0x5)+parseInt(_0x185f6e(0x88))/0x6+-parseInt(_0x185f6e(0x95))/0x7*(-parseInt(_0x185f6e(0xa8))/0x8)+-parseInt(_0x185f6e(0xc3))/0x9+parseInt(_0x185f6e(0x92))/0xa;if(_0x532d5b===_0x1e12e9)break;else _0x21f30c['push'](_0x21f30c['shift']());}catch(_0x2028ee){_0x21f30c['push'](_0x21f30c['shift']());}}}(a0_0x5be4,0xcf252));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x27ac(_0x2777ee,_0x3e27ad){_0x2777ee=_0x2777ee-0x7f;const _0x5be450=a0_0x5be4();let _0x27ac62=_0x5be450[_0x2777ee];if(a0_0x27ac['azigFq']===undefined){var _0x5e661b=function(_0x29ce4c){const _0x484637='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d654e='',_0x5db6f5='';for(let _0x5e022a=0x0,_0x581d34,_0x6d4d5a,_0x2e58a7=0x0;_0x6d4d5a=_0x29ce4c['charAt'](_0x2e58a7++);~_0x6d4d5a&&(_0x581d34=_0x5e022a%0x4?_0x581d34*0x40+_0x6d4d5a:_0x6d4d5a,_0x5e022a++%0x4)?_0x2d654e+=String['fromCharCode'](0xff&_0x581d34>>(-0x2*_0x5e022a&0x6)):0x0){_0x6d4d5a=_0x484637['indexOf'](_0x6d4d5a);}for(let _0x59e8b3=0x0,_0x1dfe62=_0x2d654e['length'];_0x59e8b3<_0x1dfe62;_0x59e8b3++){_0x5db6f5+='%'+('00'+_0x2d654e['charCodeAt'](_0x59e8b3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5db6f5);};a0_0x27ac['pzYZQh']=_0x5e661b,a0_0x27ac['zEHzBg']={},a0_0x27ac['azigFq']=!![];}const _0x4c2e64=_0x5be450[0x0],_0x1f6004=_0x2777ee+_0x4c2e64,_0x301c0a=a0_0x27ac['zEHzBg'][_0x1f6004];return!_0x301c0a?(_0x27ac62=a0_0x27ac['pzYZQh'](_0x27ac62),a0_0x27ac['zEHzBg'][_0x1f6004]=_0x27ac62):_0x27ac62=_0x301c0a,_0x27ac62;}class KafkaService{constructor(){const _0xea0911=a0_0x27ac,_0x3da2d2='1|0|2|3|4'['split']('|');let _0x13d3bf=0x0;while(!![]){switch(_0x3da2d2[_0x13d3bf++]){case'0':this['producer']=null;continue;case'1':this['kafka']=null;continue;case'2':this['isConnected']=![];continue;case'3':this[_0xea0911(0xaa)]=![];continue;case'4':this['connectionPromise']=null;continue;}break;}}[a0_0x127050(0xb6)](){const _0x45c884=a0_0x127050,_0xa1c267={'PXMAi':function(_0x19d55f,_0x48e743){return _0x19d55f===_0x48e743;},'xvPus':_0x45c884(0xbd),'fATvv':function(_0x5903a9,_0xa2a989){return _0x5903a9(_0xa2a989);},'LliJw':'1000'};return{'enabled':_0xa1c267['PXMAi'](process['env'][_0x45c884(0xcd)],_0x45c884(0xa0)),'brokers':(process['env'][_0x45c884(0xb0)]||'localhost:9092')['split'](','),'clientId':process['env'][_0x45c884(0x89)]||'restforge-'+(process['env'][_0x45c884(0xad)]||_0xa1c267['xvPus'])+_0x45c884(0xd2),'connectionTimeout':parseInt(process[_0x45c884(0xb2)][_0x45c884(0xab)]||_0x45c884(0x87)),'requestTimeout':_0xa1c267['fATvv'](parseInt,process[_0x45c884(0xb2)][_0x45c884(0xc5)]||_0x45c884(0x8f)),'topicPattern':process[_0x45c884(0xb2)][_0x45c884(0x99)]||_0x45c884(0x8b),'tenantId':process['env']['KAFKA_TENANT_ID']||_0x45c884(0xbd),'retryAttempts':_0xa1c267[_0x45c884(0xa2)](parseInt,process[_0x45c884(0xb2)][_0x45c884(0xa4)]||'3'),'retryDelay':parseInt(process[_0x45c884(0xb2)]['KAFKA_RETRY_DELAY']||_0xa1c267[_0x45c884(0xd4)]),'logLevel':process['env'][_0x45c884(0xc0)]||'warn'};}['getLogLevel'](_0x4a4733){const _0x1d0294=a0_0x127050,_0x5d5bde={'nothing':logLevel[_0x1d0294(0xb5)],'error':logLevel['ERROR'],'warn':logLevel[_0x1d0294(0xaf)],'info':logLevel[_0x1d0294(0xa7)],'debug':logLevel['DEBUG']};return _0x5d5bde[_0x4a4733[_0x1d0294(0xa3)]()]||logLevel['WARN'];}async[a0_0x127050(0xba)](){const _0x22582b=a0_0x127050,_0x486b2a={'dZkGf':'true','AdlAm':_0x22582b(0xb1)},_0x32e2be=this['getConfig']();if(!_0x32e2be['enabled'])return console['log'](_0x22582b(0xd1)),![];if(this['isConnected'])return!![];if(this[_0x22582b(0xaa)]&&this[_0x22582b(0xb4)])return this[_0x22582b(0xb4)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x4c4a79=>{const _0x2e941a=_0x22582b,_0xa73be0={'yIzFy':'[Kafka]\x20Producer\x20disconnected'};try{let _0x5d8f3e=undefined;process[_0x2e941a(0xb2)]['KAFKA_SSL']===_0x486b2a['dZkGf']&&(_0x5d8f3e=!![]);let _0x5bf6c1=undefined;process['env'][_0x2e941a(0x83)]&&(_0x5bf6c1={'mechanism':process[_0x2e941a(0xb2)][_0x2e941a(0x83)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x2e941a(0x9d)]||''}),this['kafka']=new Kafka({'clientId':_0x32e2be['clientId'],'brokers':_0x32e2be['brokers'],'connectionTimeout':_0x32e2be[_0x2e941a(0x82)],'requestTimeout':_0x32e2be['requestTimeout'],'logLevel':this['getLogLevel'](_0x32e2be['logLevel']),'ssl':_0x5d8f3e,'sasl':_0x5bf6c1,'retry':{'initialRetryTime':_0x32e2be[_0x2e941a(0x85)],'retries':_0x32e2be[_0x2e941a(0xbe)]}}),this[_0x2e941a(0xcc)]=this[_0x2e941a(0x8a)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x2e941a(0xc6)]}),await this[_0x2e941a(0xcc)]['connect'](),this['isConnected']=!![],console[_0x2e941a(0x8c)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x32e2be[_0x2e941a(0x80)]['join'](',\x20')),this[_0x2e941a(0xcc)]['on'](_0x486b2a['AdlAm'],()=>{const _0x11f460=_0x2e941a;console[_0x11f460(0x8c)](_0xa73be0[_0x11f460(0xd8)]),this['isConnected']=![];}),_0x4c4a79(!![]);}catch(_0x254d0c){console[_0x2e941a(0xbb)](_0x2e941a(0x9b)+_0x254d0c[_0x2e941a(0xd6)]),this['isConnected']=![],_0x4c4a79(![]);}finally{this['isInitializing']=![];}}),this[_0x22582b(0xb4)];}['formatDateTime'](_0x43cef6){const _0x503f9f=a0_0x127050,_0x2a1ada={'iIZjI':function(_0x291883,_0x3950cd){return _0x291883+_0x3950cd;},'WuPDz':function(_0x89bd75,_0xd38d22){return _0x89bd75(_0xd38d22);}},_0xae53aa=_0x43cef6||new Date(),_0xb7b536=_0xae53aa[_0x503f9f(0x98)](),_0x18bf01=String(_0x2a1ada['iIZjI'](_0xae53aa['getMonth'](),0x1))['padStart'](0x2,'0'),_0x186e74=_0x2a1ada['WuPDz'](String,_0xae53aa[_0x503f9f(0xa5)]())[_0x503f9f(0xd5)](0x2,'0'),_0x65e5c0=String(_0xae53aa['getHours']())['padStart'](0x2,'0'),_0x509d85=String(_0xae53aa[_0x503f9f(0xb7)]())['padStart'](0x2,'0'),_0x34d54f=String(_0xae53aa['getSeconds']())['padStart'](0x2,'0');return _0xb7b536+'-'+_0x18bf01+'-'+_0x186e74+'\x20'+_0x65e5c0+':'+_0x509d85+':'+_0x34d54f;}[a0_0x127050(0xc4)](_0x1fe4af,_0x4aac5f,_0x3bd146,_0x3876b7=null){const _0x22ad6c=a0_0x127050,_0x5b2497={'GpacL':'{endpoint}'};if(_0x3876b7)return _0x3876b7;const _0x38576f=this['getConfig']()['topicPattern'];return _0x38576f['replace'](_0x22ad6c(0xb3),_0x1fe4af)['replace'](_0x5b2497['GpacL'],_0x4aac5f)['replace'](_0x22ad6c(0xb9),_0x3bd146);}[a0_0x127050(0x9a)](_0x1f7c82,_0xa14804,_0x2bc3e7,_0x416b2b={}){const _0x347ced=a0_0x127050,_0xfa6f41={'BNOHF':function(_0x4f9fde){return _0x4f9fde();},'bhpgu':'unknown','Zwbpx':'SYSTEM'},_0x4fd721=new Date(),_0x1d9955=this['formatDateTime'](_0x4fd721),_0x4e8db1=_0x416b2b[_0x347ced(0x9e)]||_0x347ced(0x90)+_0xfa6f41[_0x347ced(0xc7)](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x1f7c82,'eventTime':_0x1d9955,'eventVersion':_0x347ced(0x9c),'source':_0x347ced(0xd9)+(_0x416b2b['module']||_0xfa6f41['bhpgu']),'correlationId':_0x4e8db1,'newData':_0x2bc3e7,'oldData':_0xa14804,'metadata':{'createdBy':_0x416b2b[_0x347ced(0xa1)]||_0xfa6f41['Zwbpx'],'createdAt':_0x1d9955,'systemId':_0x347ced(0x7f)+(_0x416b2b[_0x347ced(0xc1)]||_0x347ced(0xc2))[_0x347ced(0xae)](),'tenantId':this['getConfig']()[_0x347ced(0xbf)],'endpoint':_0x416b2b['endpoint']||null,'tableName':_0x416b2b['tableName']||null}};}async['publishEvent'](_0x43a834,_0x531390,_0x39a445,_0x19d5c5,_0x65d398={}){const _0x8a8f4d=a0_0x127050,_0x1376b9={'CqSMw':'Kafka\x20producer\x20is\x20disabled'},_0x332b5b=this['getConfig']();if(!_0x332b5b[_0x8a8f4d(0x9f)])return{'success':![],'reason':_0x1376b9['CqSMw'],'published':![]};if(!this[_0x8a8f4d(0xd7)]){const _0x5c569f=await this['initialize']();if(!_0x5c569f)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x4adf49=this[_0x8a8f4d(0x9a)](_0x531390,_0x39a445,_0x19d5c5,_0x65d398),_0x1f1887=_0x65d398[_0x8a8f4d(0xca)]||'id',_0x16e7f7=_0x19d5c5?.[_0x1f1887]||_0x39a445?.[_0x1f1887]||uuidv7(),_0x40b243=await this['producer'][_0x8a8f4d(0xa9)]({'topic':_0x43a834,'messages':[{'key':String(_0x16e7f7),'value':JSON['stringify'](_0x4adf49),'headers':{'event-type':_0x531390,'correlation-id':_0x4adf49[_0x8a8f4d(0x9e)],'source':_0x4adf49['source']}}]});return console['log'](_0x8a8f4d(0x8d)+_0x43a834+':\x20'+_0x531390+'\x20(key:\x20'+_0x16e7f7+')'),{'success':!![],'correlationId':_0x4adf49[_0x8a8f4d(0x9e)],'topic':_0x43a834,'partition':_0x40b243[0x0]?.['partition'],'offset':_0x40b243[0x0]?.[_0x8a8f4d(0xd0)],'published':!![]};}catch(_0x1dcd2c){return console[_0x8a8f4d(0xbb)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x43a834+':\x20'+_0x1dcd2c[_0x8a8f4d(0xd6)]),{'success':![],'error':_0x1dcd2c['message'],'published':![]};}}async['publishInsert'](_0x22ae29,_0x3dbc28,_0x51f6dd,_0x575454={}){const _0x5da4d4=a0_0x127050,_0x45f1d6={'HgmkZ':_0x5da4d4(0xcf)},_0x52c63f=this[_0x5da4d4(0xc4)](_0x22ae29,_0x3dbc28,_0x5da4d4(0x8e),_0x575454['topic']);return this['publishEvent'](_0x52c63f,_0x45f1d6['HgmkZ'],null,_0x51f6dd,{'module':_0x22ae29,'endpoint':_0x3dbc28,'keyField':_0x575454['keyField'],'tableName':_0x575454[_0x5da4d4(0x91)],'correlationId':_0x575454[_0x5da4d4(0x9e)]});}async[a0_0x127050(0x93)](_0x28a96e,_0xe2a130,_0xa51e1d,_0x195b71,_0x663aa4={}){const _0x3f5e46=a0_0x127050,_0x1d7e87=this[_0x3f5e46(0xc4)](_0x28a96e,_0xe2a130,_0x3f5e46(0xac),_0x663aa4['topic']);return this[_0x3f5e46(0xc8)](_0x1d7e87,_0x3f5e46(0xbc),_0xa51e1d,_0x195b71,{'module':_0x28a96e,'endpoint':_0xe2a130,'keyField':_0x663aa4['keyField'],'tableName':_0x663aa4['tableName'],'correlationId':_0x663aa4['correlationId']});}async['publishDelete'](_0x5bcb68,_0x157105,_0x1b394b,_0x528189={}){const _0x53186b=a0_0x127050,_0x3691c4=this[_0x53186b(0xc4)](_0x5bcb68,_0x157105,_0x53186b(0xd3),_0x528189['topic']);return this[_0x53186b(0xc8)](_0x3691c4,'ENTITY_DELETED',_0x1b394b,null,{'module':_0x5bcb68,'endpoint':_0x157105,'keyField':_0x528189['keyField'],'tableName':_0x528189['tableName'],'correlationId':_0x528189['correlationId']});}[a0_0x127050(0xa6)](){const _0x481a7b=a0_0x127050,_0x10e09c=this['getConfig']();return{'enabled':_0x10e09c[_0x481a7b(0x9f)],'connected':this['isConnected'],'brokers':_0x10e09c['brokers'],'clientId':_0x10e09c['clientId'],'topicPattern':_0x10e09c[_0x481a7b(0x81)]};}async[a0_0x127050(0x86)](){const _0x5001b2=a0_0x127050,_0x3f4e87={'tPtfO':_0x5001b2(0x96)};if(this['producer']&&this['isConnected'])try{await this['producer']['disconnect'](),this[_0x5001b2(0xd7)]=![],console[_0x5001b2(0x8c)](_0x3f4e87['tPtfO']);}catch(_0x1435e0){console['error'](_0x5001b2(0x97)+_0x1435e0[_0x5001b2(0xd6)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4ab26a=a0_0x127050;instance&&(instance[_0x4ab26a(0x86)](),instance=null);}module[a0_0x127050(0x94)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
function a0_0x5b78(_0x50db5d,_0x456038){_0x50db5d=_0x50db5d-0xec;const _0x380d88=a0_0x380d();let _0x5b7862=_0x380d88[_0x50db5d];if(a0_0x5b78['zxTrwc']===undefined){var _0x42dda9=function(_0x557e4d){const _0x7d9863='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17876e='',_0x9eb901='';for(let _0x4545d3=0x0,_0x528506,_0x3071bd,_0x4e29b9=0x0;_0x3071bd=_0x557e4d['charAt'](_0x4e29b9++);~_0x3071bd&&(_0x528506=_0x4545d3%0x4?_0x528506*0x40+_0x3071bd:_0x3071bd,_0x4545d3++%0x4)?_0x17876e+=String['fromCharCode'](0xff&_0x528506>>(-0x2*_0x4545d3&0x6)):0x0){_0x3071bd=_0x7d9863['indexOf'](_0x3071bd);}for(let _0x5f9c7=0x0,_0x58491a=_0x17876e['length'];_0x5f9c7<_0x58491a;_0x5f9c7++){_0x9eb901+='%'+('00'+_0x17876e['charCodeAt'](_0x5f9c7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9eb901);};a0_0x5b78['gtBAAf']=_0x42dda9,a0_0x5b78['FINeKP']={},a0_0x5b78['zxTrwc']=!![];}const _0x3ecf33=_0x380d88[0x0],_0xa9537=_0x50db5d+_0x3ecf33,_0x1a2898=a0_0x5b78['FINeKP'][_0xa9537];return!_0x1a2898?(_0x5b7862=a0_0x5b78['gtBAAf'](_0x5b7862),a0_0x5b78['FINeKP'][_0xa9537]=_0x5b7862):_0x5b7862=_0x1a2898,_0x5b7862;}const a0_0x656d20=a0_0x5b78;(function(_0x44c99e,_0x591084){const _0x4f96bb=a0_0x5b78,_0xf2b122=_0x44c99e();while(!![]){try{const _0x86f489=-parseInt(_0x4f96bb(0x141))/0x1+-parseInt(_0x4f96bb(0x11b))/0x2+parseInt(_0x4f96bb(0xf4))/0x3*(-parseInt(_0x4f96bb(0x102))/0x4)+parseInt(_0x4f96bb(0x10b))/0x5+-parseInt(_0x4f96bb(0xfa))/0x6*(parseInt(_0x4f96bb(0x10a))/0x7)+-parseInt(_0x4f96bb(0x128))/0x8*(parseInt(_0x4f96bb(0x101))/0x9)+parseInt(_0x4f96bb(0x11d))/0xa;if(_0x86f489===_0x591084)break;else _0xf2b122['push'](_0xf2b122['shift']());}catch(_0x1f377c){_0xf2b122['push'](_0xf2b122['shift']());}}}(a0_0x380d,0x7d9b9));const {Kafka,logLevel,Partitioners}=require(a0_0x656d20(0x134)),{v7:uuidv7}=require(a0_0x656d20(0x119));class KafkaService{constructor(){const _0x1a8728=a0_0x656d20,_0x2f6570={'axnsB':'4|0|3|2|1'},_0x3ba0d7=_0x2f6570['axnsB']['split']('|');let _0x3841dc=0x0;while(!![]){switch(_0x3ba0d7[_0x3841dc++]){case'0':this[_0x1a8728(0x13b)]=null;continue;case'1':this[_0x1a8728(0x14d)]=null;continue;case'2':this['isInitializing']=![];continue;case'3':this[_0x1a8728(0x108)]=![];continue;case'4':this[_0x1a8728(0xfe)]=null;continue;}break;}}['getConfig'](){const _0x565cad=a0_0x656d20,_0x3015b7={'jNCbZ':'localhost:9092','tRCDO':'default','pBdSw':_0x565cad(0x118),'CcNTM':function(_0x27d68c,_0x1065e2){return _0x27d68c(_0x1065e2);},'GmCug':'25000','YCNyx':'{module}.{endpoint}.events','wiyfs':function(_0x2f79e1,_0x4ccca3){return _0x2f79e1(_0x4ccca3);},'mgYBA':function(_0x7b796f,_0x15d0db){return _0x7b796f(_0x15d0db);},'rExQt':_0x565cad(0x138),'iIgOE':_0x565cad(0xf8)};return{'enabled':process[_0x565cad(0xef)]['KAFKA_ENABLED']==='true','brokers':(process['env']['KAFKA_BROKERS']||_0x3015b7[_0x565cad(0x107)])[_0x565cad(0x110)](','),'clientId':process['env'][_0x565cad(0x116)]||_0x565cad(0x132)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x3015b7[_0x565cad(0x109)])+'-producer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x3015b7['pBdSw']),'requestTimeout':_0x3015b7[_0x565cad(0xfb)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x3015b7[_0x565cad(0x147)]),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x3015b7[_0x565cad(0xff)],'tenantId':process['env'][_0x565cad(0x149)]||_0x3015b7['tRCDO'],'retryAttempts':_0x3015b7[_0x565cad(0x131)](parseInt,process['env'][_0x565cad(0x106)]||'3'),'retryDelay':_0x3015b7['mgYBA'](parseInt,process['env'][_0x565cad(0x125)]||_0x3015b7['rExQt']),'logLevel':process['env'][_0x565cad(0x117)]||_0x3015b7['iIgOE']};}['getLogLevel'](_0x6fdab4){const _0x517ed8=a0_0x656d20,_0x50538d={'nothing':logLevel['NOTHING'],'error':logLevel[_0x517ed8(0x133)],'warn':logLevel['WARN'],'info':logLevel[_0x517ed8(0x12f)],'debug':logLevel[_0x517ed8(0x11e)]};return _0x50538d[_0x6fdab4['toLowerCase']()]||logLevel['WARN'];}async[a0_0x656d20(0x124)](){const _0x5d85de=a0_0x656d20,_0x494f4e={'mSSYE':function(_0x176cf1,_0x4bd1d5){return _0x176cf1===_0x4bd1d5;},'fnpAI':_0x5d85de(0x10e),'smQbk':function(_0x2ec5e0,_0x4d81bf){return _0x2ec5e0(_0x4d81bf);},'fbFhf':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3b5d0c=this['getConfig']();if(!_0x3b5d0c['enabled'])return console[_0x5d85de(0x126)](_0x494f4e['fbFhf']),![];if(this[_0x5d85de(0x108)])return!![];if(this[_0x5d85de(0x11a)]&&this['connectionPromise'])return this[_0x5d85de(0x14d)];return this[_0x5d85de(0x11a)]=!![],this['connectionPromise']=new Promise(async _0x51b2b1=>{const _0x29e799=_0x5d85de;try{let _0x1d28a5=undefined;_0x494f4e['mSSYE'](process[_0x29e799(0xef)][_0x29e799(0x142)],'true')&&(_0x1d28a5=!![]);let _0x3f8809=undefined;process[_0x29e799(0xef)][_0x29e799(0x12b)]&&(_0x3f8809={'mechanism':process[_0x29e799(0xef)][_0x29e799(0x12b)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x29e799(0xfe)]=new Kafka({'clientId':_0x3b5d0c[_0x29e799(0xf7)],'brokers':_0x3b5d0c[_0x29e799(0x11c)],'connectionTimeout':_0x3b5d0c[_0x29e799(0x127)],'requestTimeout':_0x3b5d0c[_0x29e799(0x10c)],'logLevel':this['getLogLevel'](_0x3b5d0c[_0x29e799(0x120)]),'ssl':_0x1d28a5,'sasl':_0x3f8809,'retry':{'initialRetryTime':_0x3b5d0c['retryDelay'],'retries':_0x3b5d0c[_0x29e799(0x104)]}}),this[_0x29e799(0x13b)]=this['kafka'][_0x29e799(0x13b)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer']['connect'](),this['isConnected']=!![],console[_0x29e799(0x126)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x3b5d0c['brokers']['join'](',\x20')),this['producer']['on'](_0x494f4e[_0x29e799(0x143)],()=>{const _0x274aa9=_0x29e799;console[_0x274aa9(0x126)]('[Kafka]\x20Producer\x20disconnected'),this[_0x274aa9(0x108)]=![];}),_0x494f4e[_0x29e799(0x121)](_0x51b2b1,!![]);}catch(_0x4954f7){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x4954f7[_0x29e799(0x146)]),this['isConnected']=![],_0x51b2b1(![]);}finally{this[_0x29e799(0x11a)]=![];}}),this[_0x5d85de(0x14d)];}['formatDateTime'](_0x491c51){const _0x1edfdc=a0_0x656d20,_0x1a9605={'IcGTt':function(_0x1f5192,_0x3b5f03){return _0x1f5192(_0x3b5f03);},'rIFgN':function(_0x2e4124,_0x3377a7){return _0x2e4124(_0x3377a7);}},_0x148500=_0x491c51||new Date(),_0x109bb1=_0x148500[_0x1edfdc(0x140)](),_0x8010da=String(_0x148500[_0x1edfdc(0xf9)]()+0x1)[_0x1edfdc(0x12d)](0x2,'0'),_0x3896aa=_0x1a9605[_0x1edfdc(0x14a)](String,_0x148500['getDate']())[_0x1edfdc(0x12d)](0x2,'0'),_0x5dc607=String(_0x148500[_0x1edfdc(0x130)]())[_0x1edfdc(0x12d)](0x2,'0'),_0x28eb9d=_0x1a9605[_0x1edfdc(0xee)](String,_0x148500[_0x1edfdc(0x14b)]())['padStart'](0x2,'0'),_0x496605=String(_0x148500['getSeconds']())['padStart'](0x2,'0');return _0x109bb1+'-'+_0x8010da+'-'+_0x3896aa+'\x20'+_0x5dc607+':'+_0x28eb9d+':'+_0x496605;}[a0_0x656d20(0xfc)](_0x1327d1,_0x292b36,_0x5b928a,_0x4a5da7=null){const _0x2430f2=a0_0x656d20,_0x44fcb1={'sdFac':_0x2430f2(0x139),'QZgvY':'{endpoint}'};if(_0x4a5da7)return _0x4a5da7;const _0x4b5a15=this['getConfig']()['topicPattern'];return _0x4b5a15['replace'](_0x44fcb1['sdFac'],_0x1327d1)['replace'](_0x44fcb1['QZgvY'],_0x292b36)[_0x2430f2(0x148)]('{action}',_0x5b928a);}['buildEventMessage'](_0x359107,_0x3c1775,_0x79fb63,_0x5a8e2d={}){const _0x449a1=a0_0x656d20,_0x29a8a8={'ihQHd':'1.0','yMHqx':_0x449a1(0x11f),'tDxtk':'SYSTEM'},_0x28e091=new Date(),_0x826cce=this[_0x449a1(0xed)](_0x28e091),_0x2fd76c=_0x5a8e2d['correlationId']||'corr-'+uuidv7();return{'eventId':'evt-'+uuidv7(),'eventType':_0x359107,'eventTime':_0x826cce,'eventVersion':_0x29a8a8[_0x449a1(0x10f)],'source':'restforge-'+(_0x5a8e2d['module']||_0x29a8a8['yMHqx']),'correlationId':_0x2fd76c,'newData':_0x79fb63,'oldData':_0x3c1775,'metadata':{'createdBy':_0x5a8e2d[_0x449a1(0x12a)]||_0x29a8a8[_0x449a1(0xf6)],'createdAt':_0x826cce,'systemId':_0x449a1(0xfd)+(_0x5a8e2d['module']||_0x29a8a8[_0x449a1(0x10d)])['toUpperCase'](),'tenantId':this[_0x449a1(0xf5)]()[_0x449a1(0x12c)],'endpoint':_0x5a8e2d[_0x449a1(0x136)]||null,'tableName':_0x5a8e2d[_0x449a1(0xec)]||null}};}async[a0_0x656d20(0x12e)](_0x392fc3,_0x18b792,_0xa35a4,_0x474808,_0x3253d3={}){const _0x6a9abd=a0_0x656d20,_0x367f39={'WuAZc':_0x6a9abd(0x123),'YcdqW':function(_0x3032b5){return _0x3032b5();},'OXETJ':function(_0x49286b,_0x557eb8){return _0x49286b(_0x557eb8);}},_0x5f3cf8=this[_0x6a9abd(0xf5)]();if(!_0x5f3cf8['enabled'])return{'success':![],'reason':_0x367f39['WuAZc'],'published':![]};if(!this['isConnected']){const _0x454927=await this['initialize']();if(!_0x454927)return{'success':![],'reason':_0x6a9abd(0x14c),'published':![]};}try{const _0x2bc849=this['buildEventMessage'](_0x18b792,_0xa35a4,_0x474808,_0x3253d3),_0x262ba1=_0x3253d3['keyField']||'id',_0x5c301a=_0x474808?.[_0x262ba1]||_0xa35a4?.[_0x262ba1]||_0x367f39[_0x6a9abd(0x135)](uuidv7),_0x227ed5=await this['producer'][_0x6a9abd(0x145)]({'topic':_0x392fc3,'messages':[{'key':_0x367f39[_0x6a9abd(0x13a)](String,_0x5c301a),'value':JSON['stringify'](_0x2bc849),'headers':{'event-type':_0x18b792,'correlation-id':_0x2bc849[_0x6a9abd(0xf2)],'source':_0x2bc849[_0x6a9abd(0x13f)]}}]});return console['log'](_0x6a9abd(0x112)+_0x392fc3+':\x20'+_0x18b792+_0x6a9abd(0xf0)+_0x5c301a+')'),{'success':!![],'correlationId':_0x2bc849['correlationId'],'topic':_0x392fc3,'partition':_0x227ed5[0x0]?.[_0x6a9abd(0x137)],'offset':_0x227ed5[0x0]?.['baseOffset'],'published':!![]};}catch(_0x224a44){return console['error'](_0x6a9abd(0x144)+_0x392fc3+':\x20'+_0x224a44['message']),{'success':![],'error':_0x224a44['message'],'published':![]};}}async['publishInsert'](_0x239b25,_0x11f9be,_0x2b7d7a,_0xacc366={}){const _0xa5d26=a0_0x656d20,_0xd765a8={'FowuS':_0xa5d26(0x111)},_0x49c933=this['buildTopicName'](_0x239b25,_0x11f9be,_0xd765a8['FowuS'],_0xacc366['topic']);return this[_0xa5d26(0x12e)](_0x49c933,'ENTITY_CREATED',null,_0x2b7d7a,{'module':_0x239b25,'endpoint':_0x11f9be,'keyField':_0xacc366['keyField'],'tableName':_0xacc366['tableName'],'correlationId':_0xacc366['correlationId']});}async[a0_0x656d20(0x105)](_0x36e6be,_0x5b6139,_0xb594bb,_0x5b3030,_0x157cea={}){const _0x3fc919=a0_0x656d20,_0x3fcfc6={'tlXkM':_0x3fc919(0x100)},_0x42e1e0=this['buildTopicName'](_0x36e6be,_0x5b6139,_0x3fc919(0x129),_0x157cea['topic']);return this['publishEvent'](_0x42e1e0,_0x3fcfc6[_0x3fc919(0xf1)],_0xb594bb,_0x5b3030,{'module':_0x36e6be,'endpoint':_0x5b6139,'keyField':_0x157cea['keyField'],'tableName':_0x157cea[_0x3fc919(0xec)],'correlationId':_0x157cea['correlationId']});}async[a0_0x656d20(0x13e)](_0x38bccd,_0x4797d9,_0x9a470,_0x2ce415={}){const _0x7e4904=a0_0x656d20,_0x394686={'AVVwG':'deleted','wBwLa':_0x7e4904(0x113)},_0x3bb8c6=this['buildTopicName'](_0x38bccd,_0x4797d9,_0x394686['AVVwG'],_0x2ce415['topic']);return this['publishEvent'](_0x3bb8c6,_0x394686['wBwLa'],_0x9a470,null,{'module':_0x38bccd,'endpoint':_0x4797d9,'keyField':_0x2ce415['keyField'],'tableName':_0x2ce415[_0x7e4904(0xec)],'correlationId':_0x2ce415[_0x7e4904(0xf2)]});}[a0_0x656d20(0x122)](){const _0x147a27=a0_0x656d20,_0x50cbc4=this[_0x147a27(0xf5)]();return{'enabled':_0x50cbc4[_0x147a27(0x103)],'connected':this[_0x147a27(0x108)],'brokers':_0x50cbc4['brokers'],'clientId':_0x50cbc4['clientId'],'topicPattern':_0x50cbc4[_0x147a27(0x114)]};}async['close'](){const _0x5339e1=a0_0x656d20;if(this[_0x5339e1(0x13b)]&&this[_0x5339e1(0x108)])try{await this[_0x5339e1(0x13b)][_0x5339e1(0x115)](),this['isConnected']=![],console[_0x5339e1(0x126)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x19f92c){console[_0x5339e1(0x13c)](_0x5339e1(0xf3)+_0x19f92c[_0x5339e1(0x146)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4cf490=a0_0x656d20;instance&&(instance[_0x4cf490(0x13d)](),instance=null);}function a0_0x380d(){const _0x15c090=['ndG2nJaWBg5csgDy','CMvXDwvZDfrPBwvVDxq','Eu1iCxG','ChjVzhvJzxiUzgLZy29UBMvJDa','AwHrsgq','C3bSAxq','y3jLyxrLza','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','ru5usvrzx0rftevuruq','Dg9WAwnqyxr0zxjU','zgLZy29UBMvJDa','s0fgs0fFq0Xjru5ux0Le','s0fgs0fFte9hx0XfvKvm','mZaWma','DxvPza','AxnjBML0AwfSAxPPBMC','mJGYmta0wer4rLrb','yNjVA2vYCW','mJuYmJm2otbNrhDnELK','revcvuC','Dw5RBM93BG','Bg9Ntgv2zwW','C21ryMS','z2v0u3rHDhvZ','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','Aw5PDgLHBgL6zq','s0fgs0fFuKvuuLLFrevmqvK','Bg9N','y29UBMvJDgLVBLrPBwvVDxq','ntm2vMfPu0fz','DxbKyxrLza','y3jLyxrLzej5','s0fgs0fFu0fttf9nruniqu5ju00','DgvUyw50swq','CgfKu3rHCNq','ChvIBgLZAev2zw50','su5gtW','z2v0sg91CNm','D2L5zNm','CMvZDgzVCMDLlq','rvjst1i','A2fMA2fQCW','wwnKCvC','zw5KCg9PBNq','CgfYDgL0Aw9U','mtaWma','E21VzhvSzx0','t1HfveO','ChjVzhvJzxi','zxjYB3i','y2XVC2u','ChvIBgLZAerLBgv0zq','C291CMnL','z2v0rNvSBfLLyxi','mtmZmJi1tgnsvK1m','s0fgs0fFu1nm','zM5WquK','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','C2vUza','BwvZC2fNzq','r21dDwC','CMvWBgfJzq','s0fgs0fFvevoqu5ux0Le','swnhvhq','z2v0twLUDxrLCW','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','zM9YBwf0rgf0zvrPBwu','CKLgz04','zw52','icHRzxK6ia','DgXyA00','y29YCMvSyxrPB25jza','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','ntKXnJzvA0L4yue','z2v0q29UzMLN','Der4DgS','y2XPzw50swq','D2fYBG','z2v0tw9UDgG','ntu5mKD3sKnpAq','q2nove0','yNvPBgruB3bPy05HBwu','uKvtvezpuKDflq','A2fMA2e','wunoExG','ru5usvrzx1vqrefuruq','ntm1ntLiyKfUtKm','otjyqurUqwG','zw5HyMXLza','CMv0CNLbDhrLBxb0CW','ChvIBgLZAfvWzgf0zq','s0fgs0fFuKvuuLLFqvruru1qvfm','AK5dyLO','AxndB25Uzwn0zwq','Dfjdre8','nZm1menIENbcyG'];a0_0x380d=function(){return _0x15c090;};return a0_0x380d();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3e97b9=a0_0x4186;(function(_0x1faa38,_0xcc590d){const _0x19f2eb=a0_0x4186,_0x34cff9=_0x1faa38();while(!![]){try{const _0x519e65=parseInt(_0x19f2eb(0x9d))/0x1*(parseInt(_0x19f2eb(0xa4))/0x2)+-parseInt(_0x19f2eb(0xec))/0x3*(parseInt(_0x19f2eb(0xe5))/0x4)+parseInt(_0x19f2eb(0xe7))/0x5+parseInt(_0x19f2eb(0xd2))/0x6*(-parseInt(_0x19f2eb(0xc9))/0x7)+-parseInt(_0x19f2eb(0xa1))/0x8+-parseInt(_0x19f2eb(0xe9))/0x9+parseInt(_0x19f2eb(0xdc))/0xa;if(_0x519e65===_0xcc590d)break;else _0x34cff9['push'](_0x34cff9['shift']());}catch(_0x1073b4){_0x34cff9['push'](_0x34cff9['shift']());}}}(a0_0x21f9,0xc8964));const dotenv=require('dotenv'),path=require(a0_0x3e97b9(0xed)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3e97b9(0xb5));dotenv[a0_0x3e97b9(0xbe)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3e97b9(0xcf));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3e97b9(0xa0)](a0_0x3e97b9(0xa8)+messagehubPath);else throw new Error(a0_0x3e97b9(0xe0)+messagehubPath);}catch(a0_0x59f9af){console[a0_0x3e97b9(0xbc)](a0_0x3e97b9(0xe1)+a0_0x59f9af[a0_0x3e97b9(0xe2)]);throw a0_0x59f9af;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x4c08a4){const _0x37240e=a0_0x3e97b9,_0x466ff6=new Date()['toISOString']();console[_0x37240e(0xa0)]('['+_0x466ff6+']\x20'+_0x4c08a4);}async function initMessageHub(){const _0x43f1da=a0_0x3e97b9,_0x37aa88={'MUZVR':function(_0x414848,_0x53790a){return _0x414848&&_0x53790a;},'kEjpX':function(_0x3cb147,_0x35eac4){return _0x3cb147(_0x35eac4);},'cNhgC':_0x43f1da(0xc4),'ZNont':_0x43f1da(0xa9),'HeIVo':function(_0xa1102e,_0x1583d9){return _0xa1102e===_0x1583d9;},'eVefF':_0x43f1da(0x99),'KXgFC':'error','tUkDj':function(_0x2fc6f0,_0x366e27){return _0x2fc6f0(_0x366e27);},'GBQxJ':_0x43f1da(0xac),'YExqe':'Mode:\x20Koneksi\x20Nyata','hpelE':_0x43f1da(0xbb),'BqmDn':'true','kMEpD':function(_0x1cc4a0,_0x2413d6){return _0x1cc4a0(_0x2413d6);},'RglhN':function(_0x80bedf,_0x41bc28){return _0x80bedf(_0x41bc28);},'hGCuD':function(_0x583723,_0x33b822){return _0x583723(_0x33b822);},'xsjIb':_0x43f1da(0x9f),'HtSov':'Error\x20inisialisasi\x20MessageHub:','DHYix':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(messagehub&&isConnected)return log(_0x43f1da(0xef)),!![];if(connectionPromise)return log(_0x37aa88[_0x43f1da(0xae)]),connectionPromise;return connectionPromise=new Promise(async(_0x207fae,_0x34e684)=>{const _0x2a1747=_0x43f1da,_0x5593b4={'fkiQO':_0x37aa88[_0x2a1747(0x9e)],'ZsKWc':function(_0x3abfc2,_0x12d80c){return _0x3abfc2(_0x12d80c);},'SyaYz':function(_0x5e410d,_0xd59458){const _0x1cbab6=_0x2a1747;return _0x37aa88[_0x1cbab6(0x98)](_0x5e410d,_0xd59458);},'EpDZa':_0x37aa88['eVefF'],'HPoEL':function(_0x28db58,_0x10afd2){return _0x28db58(_0x10afd2);},'gxBGJ':_0x2a1747(0x9a),'VrRyC':function(_0x1f83a4,_0xc2cfc4){return _0x1f83a4===_0xc2cfc4;},'mPuMI':_0x37aa88['KXgFC'],'jdTUS':_0x2a1747(0x96),'yIIjf':function(_0x4bf4c7,_0x39cfab){const _0x14a655=_0x2a1747;return _0x37aa88[_0x14a655(0xbf)](_0x4bf4c7,_0x39cfab);}};try{log(_0x37aa88['GBQxJ']),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x2a1747(0xb3)]()),_0x37aa88['kEjpX'](log,_0x37aa88['YExqe']);const _0x1f58e9={'publishKey':process['env'][_0x2a1747(0xce)],'subscribeKey':process[_0x2a1747(0xb8)][_0x2a1747(0xb4)],'userId':process[_0x2a1747(0xb8)][_0x2a1747(0xd4)]||_0x2a1747(0x9b)+(process[_0x2a1747(0xb8)][_0x2a1747(0xd3)]||_0x37aa88[_0x2a1747(0xa7)])+'-'+process['pid'],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x2a1747(0xcc),'autoAcknowledge':_0x37aa88['HeIVo'](process['env']['MSHUB_AUTO_ACKNOWLEDGE'],_0x37aa88['BqmDn']),'acknowledgeMessages':_0x37aa88[_0x2a1747(0x98)](process['env'][_0x2a1747(0xe4)],_0x2a1747(0xd0)),'platform':{'type':process[_0x2a1747(0xb8)][_0x2a1747(0xe3)]||'websocket','host':process['env'][_0x2a1747(0xaa)]||'localhost','api_port':_0x37aa88['kMEpD'](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0x37aa88[_0x2a1747(0x97)](parseInt,process['env'][_0x2a1747(0xb6)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1f58e9),_0x37aa88['hGCuD'](log,_0x37aa88[_0x2a1747(0xf1)]),log(_0x2a1747(0xdf)+messagehub['userId']),log(_0x2a1747(0xab)+messagehub[_0x2a1747(0xa6)]),_0x37aa88['kEjpX'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0x2a1747(0xd7)+JSON[_0x2a1747(0xd8)](messagehub['platformConfig'])),_0x37aa88['tUkDj'](log,_0x2a1747(0xa2)),messagehub[_0x2a1747(0xa5)]({'status':function(_0x1a907a){const _0x2234ab=_0x2a1747;log(_0x2234ab(0xc5)+_0x1a907a['category']);if(_0x1a907a['category']===_0x5593b4['fkiQO'])log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x5593b4[_0x2234ab(0xd9)](_0x207fae,!![]);else{if(_0x5593b4[_0x2234ab(0xee)](_0x1a907a[_0x2234ab(0xc2)],_0x5593b4[_0x2234ab(0xc3)])){const _0x3bd94a=_0x1a907a[_0x2234ab(0xc8)]===!![];!_0x3bd94a&&(_0x5593b4['HPoEL'](log,_0x2234ab(0x94)+(_0x1a907a['reason']||_0x5593b4['gxBGJ'])),isConnected=![],connectionPromise&&(_0x5593b4[_0x2234ab(0xd9)](_0x34e684,new Error(_0x2234ab(0xdd)+(_0x1a907a['reason']||_0x2234ab(0x9a)))),connectionPromise=null));}else{if(_0x5593b4['VrRyC'](_0x1a907a['category'],_0x5593b4['mPuMI'])){let _0x55c1ae=_0x1a907a['errorDetail']||_0x1a907a[_0x2234ab(0xbc)]||'Unknown\x20error';log(_0x2234ab(0xe8)+_0x55c1ae),isConnected=![],connectionPromise&&(_0x5593b4[_0x2234ab(0xd9)](_0x34e684,new Error(_0x55c1ae)),connectionPromise=null);}else{if(_0x1a907a[_0x2234ab(0xc2)]===_0x5593b4[_0x2234ab(0x9c)])_0x5593b4['yIIjf'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x1a907a[_0x2234ab(0xbd)]);else{if(_0x1a907a['category']===_0x2234ab(0xea)){const _0x35ae2e=_0x1a907a['receiverInfo']?.[_0x2234ab(0xf2)]||'Unknown',_0x100fd9=_0x1a907a['receiverInfo']?.['id']||_0x1a907a['receiverId'],_0x31f270=new Date(_0x1a907a['receiverInfo']?.['receivedAt']||_0x1a907a['receivedAt']||new Date())['toLocaleTimeString']();log(_0x2234ab(0xf0)+_0x1a907a['requestId']+_0x2234ab(0xdb)+_0x35ae2e+'\x20('+_0x100fd9+_0x2234ab(0xb2)+_0x31f270+'.\x20Total\x20konfirmasi:\x20'+(_0x1a907a[_0x2234ab(0xb0)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x5474e0=_0x2a1747;_0x37aa88['MUZVR'](!isConnected,connectionPromise)&&(_0x37aa88[_0x5474e0(0xcd)](log,_0x37aa88[_0x5474e0(0xa3)]),_0x37aa88['kEjpX'](_0x34e684,new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x1e6f94){log(_0x2a1747(0xf3)+_0x1e6f94['message']),console['error'](_0x37aa88['HtSov'],_0x1e6f94),connectionPromise=null,_0x34e684(_0x1e6f94);}}),connectionPromise;}async function publishMessage(_0x4f8083,_0x361d66,_0x516764,_0x29b27a={}){const _0x2c2a29=a0_0x3e97b9,_0x297d17={'xxVlz':function(_0x33b569){return _0x33b569();},'RIEKx':function(_0x5c6776,_0xac8f86){return _0x5c6776(_0xac8f86);},'MeKTA':function(_0xbe153a,_0x3c2db4){return _0xbe153a!==_0x3c2db4;},'XyIHo':'Mengirim\x20pesan\x20ke\x20server...','MVZYP':_0x2c2a29(0xde),'MZjvE':_0x2c2a29(0xb1)};try{!isConnected&&await _0x297d17[_0x2c2a29(0xb9)](initMessageHub);const _0x133783=messagehub[_0x2c2a29(0xda)](_0x4f8083);_0x297d17[_0x2c2a29(0xc6)](log,_0x2c2a29(0xb7)),_0x297d17['RIEKx'](log,'Channel\x20Target:\x20'+_0x133783['topic']),log(_0x2c2a29(0x95)+_0x361d66),log(_0x2c2a29(0xc7));const _0x3b44f9={'requireAck':_0x297d17['MeKTA'](_0x29b27a[_0x2c2a29(0xeb)],undefined)?_0x29b27a['requireAck']:![],'clearCache':_0x29b27a[_0x2c2a29(0xd1)]!==undefined?_0x29b27a['clearCache']:!![],'senderId':messagehub[_0x2c2a29(0xe6)]?messagehub[_0x2c2a29(0xe6)]['id']:_0x2c2a29(0xad)};log(_0x297d17['XyIHo']);const _0x2f227e={'type':_0x361d66,'content':_0x516764},_0x366767=await _0x133783[_0x2c2a29(0xd6)](_0x2f227e,_0x3b44f9);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x4f8083),{'success':!![],'requestId':_0x366767[_0x2c2a29(0xbd)],'topic':_0x4f8083,'message':_0x297d17[_0x2c2a29(0xcb)]};}catch(_0x2f09ce){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x2f09ce['message']),{'success':![],'error':_0x2f09ce['message'],'topic':_0x4f8083,'message':_0x297d17[_0x2c2a29(0xf4)]};}}async function closeConnection(){const _0x35f4b2=a0_0x3e97b9,_0x4c0ef3={'xzlAK':function(_0x574200,_0x58bdac){return _0x574200(_0x58bdac);},'Xuhpx':'function','LMWal':function(_0x5dd370,_0x18893a){return _0x5dd370===_0x18893a;},'UmILL':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','fANta':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(_0x4c0ef3[_0x35f4b2(0xc1)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub['disconnect']===_0x4c0ef3['Xuhpx'])await messagehub[_0x35f4b2(0xca)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0x35f4b2(0xc0))await messagehub[_0x35f4b2(0xd5)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub['socket']&&_0x4c0ef3[_0x35f4b2(0xaf)](typeof messagehub['socket']['disconnect'],_0x35f4b2(0xc0))?(messagehub['socket'][_0x35f4b2(0xca)](),log(_0x4c0ef3[_0x35f4b2(0xba)])):log(_0x4c0ef3['fANta']);}isConnected=![],connectionPromise=null;}catch(_0x3c78c7){_0x4c0ef3[_0x35f4b2(0xc1)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x3c78c7['message']);}}function a0_0x4186(_0x244669,_0x35c941){_0x244669=_0x244669-0x94;const _0x21f942=a0_0x21f9();let _0x418616=_0x21f942[_0x244669];if(a0_0x4186['YVHWKC']===undefined){var _0x8fad02=function(_0x4969ae){const _0x484df9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3423d6='',_0x152bba='';for(let _0x2c441f=0x0,_0xee45b3,_0x5a2c74,_0xc06a64=0x0;_0x5a2c74=_0x4969ae['charAt'](_0xc06a64++);~_0x5a2c74&&(_0xee45b3=_0x2c441f%0x4?_0xee45b3*0x40+_0x5a2c74:_0x5a2c74,_0x2c441f++%0x4)?_0x3423d6+=String['fromCharCode'](0xff&_0xee45b3>>(-0x2*_0x2c441f&0x6)):0x0){_0x5a2c74=_0x484df9['indexOf'](_0x5a2c74);}for(let _0x538d12=0x0,_0x54cb48=_0x3423d6['length'];_0x538d12<_0x54cb48;_0x538d12++){_0x152bba+='%'+('00'+_0x3423d6['charCodeAt'](_0x538d12)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x152bba);};a0_0x4186['EZEZdi']=_0x8fad02,a0_0x4186['EkjxXf']={},a0_0x4186['YVHWKC']=!![];}const _0x1ca0b3=_0x21f942[0x0],_0x26ce07=_0x244669+_0x1ca0b3,_0x3eb848=a0_0x4186['EkjxXf'][_0x26ce07];return!_0x3eb848?(_0x418616=a0_0x4186['EZEZdi'](_0x418616),a0_0x4186['EkjxXf'][_0x26ce07]=_0x418616):_0x418616=_0x3eb848,_0x418616;}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x21f9(){const _0x3038aa=['tvnivujFse9tva','uhvIBgLZAcblzxK6ia','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CMvZDgzVCMDL','reHzAxG','te1xywW','y29UzMLYBwf0Aw9Uq291BNq','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','ksbWywrHia','Dg9mB2nHBgvtDhjPBMC','tvnivujFu1vcu0nssujfx0Tfwq','DxvPza','tvnivujFu0vsvKLdrv9qt1ju','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','zw52','EhHwBhO','vw1jteW','zgvMyxvSDa','zxjYB3i','CMvXDwvZDeLK','y29UzMLN','DfvRrgO','zNvUy3rPB24','EhPSquS','y2f0zwDVCNK','rxbewMe','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','u3rHDhvZieXPC3rLBMvYoIa','uKLfs3G','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','AxnfCNjVCLjLBgf0zwq','odG4nJq3owXts254uq','zgLZy29UBMvJDa','tvzAwva','yNjVywrJyxn0','A0vQCfG','tvnivujFufvcteLtsf9lrvK','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','Dhj1zq','y2XLyxjdywnOzq','nLzlugfVAq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tvnivujFvvnfuL9jra','y2XVC2u','ChvIBgLZAa','s29UzMLNDxjHC2KGugXHDgzVCM06ia','C3rYAw5NAwz5','wNnlv2m','y2HHBM5LBa','igrPDgvYAw1Hig9SzwGG','mZe4mJy3nZbVue5wAfq','s29UzwTZAsb0zxjWDxr1CZOG','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','q2XPzw50ieLel1vZzxjjrdOG','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','BwvZC2fNzq','tvnivujFq09ntvvosunbveLptL9uwvbf','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','mti3mJC2Burcuwn0','C29JA2v0','mJiZoteZmgHfsLLgqG','4PQG77IpievYCM9YoIa','mteXmZCZmJbsrwj2B1e','BwvZC2fNzs1YzwnLAxzLza','CMvXDwLYzufJAW','odfoy1zRtu8','Cgf0Aa','u3LHwxO','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','EhnQswi','BMfTzq','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','tvPQDKu','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','twvZC2fNzsbuExbLoIa','BwvZC2fNzs1Zzw50','uMDSAe4','sgvjvM8','zgLZy29UBMvJDgvK','vgLKywSGzgLRzxrHAhvP','CMvZDgzVCMDLlq','AMruvvm','nde5y0nirwvQ','wK5VBNq','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','Bg9N','nJe0odiWmhzPsLDYDW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','y05Oz0m','nJmYoe9rre5ozW','ywrKtgLZDgvUzxi','ChvIBgLZAeTLEq','AhbLBeu','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','y29UBMvJDgvK'];a0_0x21f9=function(){return _0x3038aa;};return a0_0x21f9();}
|
|
1
|
+
const a0_0x132c8b=a0_0x1f56;function a0_0x1f56(_0x5afdad,_0x422448){_0x5afdad=_0x5afdad-0x1ef;const _0x21321c=a0_0x2132();let _0x1f5695=_0x21321c[_0x5afdad];if(a0_0x1f56['ZTzUVs']===undefined){var _0x38a67c=function(_0x89306b){const _0x172321='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11e125='',_0x3c6a10='';for(let _0x5d93a3=0x0,_0x344295,_0x121181,_0x180691=0x0;_0x121181=_0x89306b['charAt'](_0x180691++);~_0x121181&&(_0x344295=_0x5d93a3%0x4?_0x344295*0x40+_0x121181:_0x121181,_0x5d93a3++%0x4)?_0x11e125+=String['fromCharCode'](0xff&_0x344295>>(-0x2*_0x5d93a3&0x6)):0x0){_0x121181=_0x172321['indexOf'](_0x121181);}for(let _0x394612=0x0,_0x54edf3=_0x11e125['length'];_0x394612<_0x54edf3;_0x394612++){_0x3c6a10+='%'+('00'+_0x11e125['charCodeAt'](_0x394612)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c6a10);};a0_0x1f56['GpfJZn']=_0x38a67c,a0_0x1f56['rrMMMa']={},a0_0x1f56['ZTzUVs']=!![];}const _0x413fa3=_0x21321c[0x0],_0x576046=_0x5afdad+_0x413fa3,_0x2520ea=a0_0x1f56['rrMMMa'][_0x576046];return!_0x2520ea?(_0x1f5695=a0_0x1f56['GpfJZn'](_0x1f5695),a0_0x1f56['rrMMMa'][_0x576046]=_0x1f5695):_0x1f5695=_0x2520ea,_0x1f5695;}(function(_0x2a01c9,_0x214de7){const _0x361738=a0_0x1f56,_0x1c6cc6=_0x2a01c9();while(!![]){try{const _0x13f8ed=-parseInt(_0x361738(0x224))/0x1+-parseInt(_0x361738(0x1fe))/0x2*(parseInt(_0x361738(0x20f))/0x3)+-parseInt(_0x361738(0x22c))/0x4+parseInt(_0x361738(0x21b))/0x5*(parseInt(_0x361738(0x1f7))/0x6)+-parseInt(_0x361738(0x20c))/0x7*(-parseInt(_0x361738(0x20e))/0x8)+-parseInt(_0x361738(0x245))/0x9+parseInt(_0x361738(0x208))/0xa*(parseInt(_0x361738(0x248))/0xb);if(_0x13f8ed===_0x214de7)break;else _0x1c6cc6['push'](_0x1c6cc6['shift']());}catch(_0x1d962e){_0x1c6cc6['push'](_0x1c6cc6['shift']());}}}(a0_0x2132,0x506fe));const dotenv=require(a0_0x132c8b(0x235)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x132c8b(0x241));dotenv[a0_0x132c8b(0x23b)]();let MessageHub;function a0_0x2132(){const _0x5e8c79=['Bg9N','BwvZC2fNzq','rNvPvwu','tvnivujFu0vsvKLdrv9qt1ju','zgvMyxvSDa','tvnivujFq09ntvvosunbveLptL9uwvbf','mtmXmJC4mhfYyvPvBq','vNLeEgu','Dg9mB2nHBgvtDhjPBMC','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','tvnivujFqvvut19bq0Tot1Dmrurhrq','CMvYtwK','y2XVC2u','zePWweW','CMvZDgzVCMDLlq','zg90zw52','lIbuB3rHBcbRB25MAxjTyxnPoIa','sfj4CgC','q1HwAuC','ChvIBgLZAa','Dg9mB2nHBgvuAw1Lu3rYAw5N','y29UzMLN','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','y2XLyxjdywnOzq','vhDdqvK','DxvPza','CgXHDgzVCM1dB25MAwC','CgLK','CMvJzwL2zxjjza','ntyZmde5m1bVuNvvra','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','C3vIC2nYAwjLs2v5','mtu4mteZmdfwD1DnDe4','y2HHBM5LBa','C29JA2v0','y29UzMLYBwf0Aw9Uq291BNq','A3j6vei','BeT6yue','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zNvUy3rPB24','s29UzMLNDxjHC2KGugXHDgzVCM06ia','ywrKtgLZDgvUzxi','y2f0zwDVCNK','AKXHCLO','tfniEhq','ksbWywrHia','CMvZDgzVCMDL','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','CMvXDwLYzufJAW','D2vIC29JA2v0','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','CMvXDwvZDeLK','BwvZC2fNzs1YzwnLAxzLza','nM1SCfj2vG','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','Dg9WAwm','zgLZy29UBMvJDa','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','yu5SBM4','ndq4vgfVuLfh','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','zMDvBwW','CMvHC29U','twvZC2fNzsbuExbLoIa','qxDYEMG','q2TZq2G','zxjYB3i','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','y29UBMvJDgvK','mtbur2DsDg4','BMfTzq','uwHgC3y','CMvJzwL2zwrbDa','mJi1mJzgv1vJAee','tvnivujFvvnfuL9jra','mtm4ngfsuLfgCa','ndyXngDHB3L4yW','CMvJzwL2zxjjBMzV','q29UBMvJDgLVBIb0Aw1LB3v0','tK1zsvi','vxjzrvq','rM1dEKW','uhvIBgLZAcblzxK6ia','qLvrDvC','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','EfrewLe','Dhj1zq','BKjNA1q','mtaWmJC1nuvorLfHBG','s29UzwTZAsb0zxjWDxr1CZOG','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','zw52','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','u01RzNK','yNjVywrJyxn0','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','nty2otaYv0HNCNLT','sM54q1O'];a0_0x2132=function(){return _0x5e8c79;};return a0_0x2132();}try{const messagehubPath=path['resolve'](__dirname,a0_0x132c8b(0x206));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x132c8b(0x1f1)+messagehubPath);else throw new Error(a0_0x132c8b(0x217)+messagehubPath);}catch(a0_0xaff1f2){console[a0_0x132c8b(0x205)](a0_0x132c8b(0x223)+a0_0xaff1f2[a0_0x132c8b(0x227)]);throw a0_0xaff1f2;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x838e04){const _0x221994=a0_0x132c8b,_0x5f5c13=new Date()['toISOString']();console[_0x221994(0x226)]('['+_0x5f5c13+']\x20'+_0x838e04);}async function initMessageHub(){const _0x47388b=a0_0x132c8b,_0x10bf27={'FmCzL':function(_0x517170,_0x5e9c81){return _0x517170(_0x5e9c81);},'SMkfy':function(_0xd6f8f0,_0x23fc37){return _0xd6f8f0===_0x23fc37;},'aNlnn':_0x47388b(0x207),'jLarZ':function(_0x4abdbb,_0x57509b){return _0x4abdbb(_0x57509b);},'rerMi':function(_0x47f734,_0x5a04b2){return _0x47f734(_0x5a04b2);},'TwCAY':function(_0x3feb00,_0x34c3bd){return _0x3feb00===_0x34c3bd;},'ZwHRE':'Tidak\x20diketahui','UrYET':function(_0x1080dd,_0x3bb774){return _0x1080dd(_0x3bb774);},'bFEVI':function(_0x52979a,_0x1952ea){return _0x52979a(_0x1952ea);},'krzTB':function(_0x2f0bf6,_0x16a65d){return _0x2f0bf6(_0x16a65d);},'QhFsv':'Unknown','azkkC':function(_0xeba452,_0x2c3dd6){return _0xeba452(_0x2c3dd6);},'NMYIR':'Mode:\x20Koneksi\x20Nyata','xTDZQ':_0x47388b(0x221),'Awrzh':function(_0x566de8,_0x2a77a4){return _0x566de8===_0x2a77a4;},'fgUml':'true','HRxpg':_0x47388b(0x1f3),'LhhSf':'localhost','CXViG':_0x47388b(0x21d),'CksCh':function(_0x17e8ba,_0x44449a){return _0x17e8ba(_0x44449a);},'iPlyY':function(_0x55e2dd,_0x498d15,_0x1c5e72){return _0x55e2dd(_0x498d15,_0x1c5e72);},'JgQTr':function(_0x15b1e8,_0x116950){return _0x15b1e8(_0x116950);},'BUQuW':function(_0x1bfd98,_0x28e02e){return _0x1bfd98&&_0x28e02e;}};if(_0x10bf27[_0x47388b(0x216)](messagehub,isConnected))return _0x10bf27[_0x47388b(0x214)](log,_0x47388b(0x22f)),!![];if(connectionPromise)return log(_0x47388b(0x246)),connectionPromise;return connectionPromise=new Promise(async(_0x3ef4f4,_0x5bfe2c)=>{const _0x2b5fec=_0x47388b;try{_0x10bf27[_0x2b5fec(0x253)](log,_0x2b5fec(0x23c)),_0x10bf27['azkkC'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x2b5fec(0x22e)]()),log(_0x10bf27[_0x2b5fec(0x212)]);const _0x2b4b1a={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x2b5fec(0x20d)]||_0x2b5fec(0x234)+(process[_0x2b5fec(0x21e)][_0x2b5fec(0x24e)]||_0x2b5fec(0x22a))+'-'+process[_0x2b5fec(0x243)],'communicationType':process['env'][_0x2b5fec(0x22b)]||_0x10bf27[_0x2b5fec(0x218)],'autoAcknowledge':_0x10bf27[_0x2b5fec(0x203)](process[_0x2b5fec(0x21e)][_0x2b5fec(0x230)],_0x2b5fec(0x219)),'acknowledgeMessages':process['env']['MSHUB_ACKNOWLEDGE_MESSAGES']===_0x10bf27[_0x2b5fec(0x200)],'platform':{'type':process['env'][_0x2b5fec(0x22b)]||_0x10bf27[_0x2b5fec(0x237)],'host':process[_0x2b5fec(0x21e)]['MSHUB_HOST']||_0x10bf27['LhhSf'],'api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0x10bf27[_0x2b5fec(0x213)](parseInt,process['env'][_0x2b5fec(0x229)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x2b4b1a),log(_0x10bf27[_0x2b5fec(0x238)]),log('Client\x20ID/UserID:\x20'+messagehub['userId']),_0x10bf27[_0x2b5fec(0x204)](log,_0x2b5fec(0x215)+messagehub['publishKey']),log('Subscribe\x20Key:\x20'+messagehub[_0x2b5fec(0x247)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0x2b5fec(0x250)+JSON['stringify'](messagehub[_0x2b5fec(0x242)])),log('========================================'),messagehub[_0x2b5fec(0x251)]({'status':function(_0x5bfe64){const _0x40c939=_0x2b5fec;_0x10bf27[_0x40c939(0x214)](log,'Status\x20Listener:\x20'+_0x5bfe64['category']);if(_0x10bf27[_0x40c939(0x220)](_0x5bfe64[_0x40c939(0x252)],_0x10bf27[_0x40c939(0x1fd)]))_0x10bf27['jLarZ'](log,_0x40c939(0x222)),isConnected=!![],timeoutHandler&&(_0x10bf27['rerMi'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x3ef4f4(!![]);else{if(_0x10bf27[_0x40c939(0x240)](_0x5bfe64['category'],'disconnected')){const _0x412952=_0x5bfe64['isErrorRelated']===!![];!_0x412952&&(_0x10bf27[_0x40c939(0x231)](log,_0x40c939(0x1fb)+(_0x5bfe64[_0x40c939(0x201)]||_0x10bf27['ZwHRE'])),isConnected=![],connectionPromise&&(_0x5bfe2c(new Error(_0x40c939(0x21c)+(_0x5bfe64[_0x40c939(0x201)]||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x5bfe64['category']===_0x40c939(0x205)){let _0x39ee6f=_0x5bfe64['errorDetail']||_0x5bfe64['error']||'Unknown\x20error';_0x10bf27[_0x40c939(0x213)](log,'⚠️\x20Error:\x20'+_0x39ee6f),isConnected=![],connectionPromise&&(_0x10bf27['bFEVI'](_0x5bfe2c,new Error(_0x39ee6f)),connectionPromise=null);}else{if(_0x5bfe64['category']==='message-sent')_0x10bf27[_0x40c939(0x24c)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5bfe64['requestId']);else{if(_0x10bf27['TwCAY'](_0x5bfe64['category'],_0x40c939(0x1f6))){const _0x161582=_0x5bfe64[_0x40c939(0x210)]?.[_0x40c939(0x209)]||_0x10bf27[_0x40c939(0x20a)],_0x114b57=_0x5bfe64[_0x40c939(0x210)]?.['id']||_0x5bfe64[_0x40c939(0x244)],_0xc64962=new Date(_0x5bfe64[_0x40c939(0x210)]?.[_0x40c939(0x20b)]||_0x5bfe64['receivedAt']||new Date())[_0x40c939(0x23a)]();_0x10bf27['jLarZ'](log,_0x40c939(0x21f)+_0x5bfe64[_0x40c939(0x1f5)]+'\x20diterima\x20oleh\x20'+_0x161582+'\x20('+_0x114b57+_0x40c939(0x1ef)+_0xc64962+_0x40c939(0x236)+(_0x5bfe64[_0x40c939(0x24b)]||0x1));}}}}}}}),timeoutHandler=_0x10bf27['iPlyY'](setTimeout,()=>{const _0x44cc9e=_0x2b5fec;!isConnected&&connectionPromise&&(log('⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x5bfe2c(new Error(_0x44cc9e(0x211))),connectionPromise=null);},0x2710);}catch(_0x1d0c2e){log(_0x2b5fec(0x1f4)+_0x1d0c2e[_0x2b5fec(0x227)]),console['error'](_0x2b5fec(0x1fc),_0x1d0c2e),connectionPromise=null,_0x10bf27['JgQTr'](_0x5bfe2c,_0x1d0c2e);}}),connectionPromise;}async function publishMessage(_0x4dca93,_0x122dd8,_0x535d9d,_0x54aaa5={}){const _0x3021b6=a0_0x132c8b,_0x33402a={'dJpXL':function(_0x2fa2f3,_0x3df54a){return _0x2fa2f3(_0x3df54a);},'FuiUe':function(_0x3ac765,_0x1459db){return _0x3ac765!==_0x1459db;},'ORpGm':'Message\x20sent\x20successfully','XIZll':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0xf82205=messagehub[_0x3021b6(0x249)](_0x4dca93);log('======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),_0x33402a[_0x3021b6(0x233)](log,'Channel\x20Target:\x20'+_0xf82205[_0x3021b6(0x1f9)]),log(_0x3021b6(0x202)+_0x122dd8),_0x33402a[_0x3021b6(0x233)](log,_0x3021b6(0x23e));const _0x247793={'requireAck':_0x33402a[_0x3021b6(0x228)](_0x54aaa5['requireAck'],undefined)?_0x54aaa5[_0x3021b6(0x1f2)]:![],'clearCache':_0x33402a['FuiUe'](_0x54aaa5[_0x3021b6(0x23f)],undefined)?_0x54aaa5[_0x3021b6(0x23f)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0x3021b6(0x1f0)};log('Mengirim\x20pesan\x20ke\x20server...');const _0x436f04={'type':_0x122dd8,'content':_0x535d9d},_0xd2c3b8=await _0xf82205[_0x3021b6(0x239)](_0x436f04,_0x247793);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x4dca93),{'success':!![],'requestId':_0xd2c3b8['requestId'],'topic':_0x4dca93,'message':_0x33402a['ORpGm']};}catch(_0x1b80b8){return log(_0x3021b6(0x1f8)+_0x1b80b8[_0x3021b6(0x227)]),{'success':![],'error':_0x1b80b8[_0x3021b6(0x227)],'topic':_0x4dca93,'message':_0x33402a['XIZll']};}}async function closeConnection(){const _0x56e30a=a0_0x132c8b,_0x67ccd0={'lKzaA':function(_0x51f153,_0x50528c){return _0x51f153(_0x50528c);},'LKSpa':function(_0x32ad8f,_0x4f132b){return _0x32ad8f===_0x4f132b;},'VyDxe':_0x56e30a(0x24f),'LSHxt':function(_0x24419e,_0x288014){return _0x24419e===_0x288014;},'nBgkT':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','tvcst':function(_0x57be6c,_0x195e8a){return _0x57be6c===_0x195e8a;},'JnxCZ':function(_0x11ee9f,_0x160490){return _0x11ee9f(_0x160490);},'PeTMZ':function(_0x61433,_0x405041){return _0x61433(_0x405041);}};timeoutHandler&&(_0x67ccd0[_0x56e30a(0x24d)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x67ccd0['LKSpa'](typeof messagehub[_0x56e30a(0x1fa)],_0x67ccd0[_0x56e30a(0x22d)]))await messagehub[_0x56e30a(0x1fa)](),log(_0x56e30a(0x1ff));else{if(_0x67ccd0[_0x56e30a(0x254)](typeof messagehub[_0x56e30a(0x232)],'function'))await messagehub['close'](),log(_0x67ccd0[_0x56e30a(0x21a)]);else messagehub['socket']&&_0x67ccd0['tvcst'](typeof messagehub['socket'][_0x56e30a(0x1fa)],_0x67ccd0[_0x56e30a(0x22d)])?(messagehub[_0x56e30a(0x24a)][_0x56e30a(0x1fa)](),log(_0x56e30a(0x23d))):_0x67ccd0[_0x56e30a(0x225)](log,'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub');}isConnected=![],connectionPromise=null;}catch(_0x1a5724){_0x67ccd0['PeTMZ'](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x1a5724['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|