@restforgejs/platform 5.3.7 → 5.3.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/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +193 -45
- package/generators/cli/init.js +37 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.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';function a0_0x4e09(_0x422423,_0x1e09cc){_0x422423=_0x422423-0x19f;const _0x20e424=a0_0x20e4();let _0x4e0937=_0x20e424[_0x422423];if(a0_0x4e09['RgzQEm']===undefined){var _0x4a7fc2=function(_0x23c408){const _0x484fef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x265e7e='',_0x5df00e='';for(let _0x46578d=0x0,_0x3ba13c,_0x4a4cdd,_0x4c5d0d=0x0;_0x4a4cdd=_0x23c408['charAt'](_0x4c5d0d++);~_0x4a4cdd&&(_0x3ba13c=_0x46578d%0x4?_0x3ba13c*0x40+_0x4a4cdd:_0x4a4cdd,_0x46578d++%0x4)?_0x265e7e+=String['fromCharCode'](0xff&_0x3ba13c>>(-0x2*_0x46578d&0x6)):0x0){_0x4a4cdd=_0x484fef['indexOf'](_0x4a4cdd);}for(let _0x329cdc=0x0,_0x450620=_0x265e7e['length'];_0x329cdc<_0x450620;_0x329cdc++){_0x5df00e+='%'+('00'+_0x265e7e['charCodeAt'](_0x329cdc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5df00e);};a0_0x4e09['mDBAKN']=_0x4a7fc2,a0_0x4e09['casEqW']={},a0_0x4e09['RgzQEm']=!![];}const _0x47bda8=_0x20e424[0x0],_0x2cbc2d=_0x422423+_0x47bda8,_0x1910b5=a0_0x4e09['casEqW'][_0x2cbc2d];return!_0x1910b5?(_0x4e0937=a0_0x4e09['mDBAKN'](_0x4e0937),a0_0x4e09['casEqW'][_0x2cbc2d]=_0x4e0937):_0x4e0937=_0x1910b5,_0x4e0937;}function a0_0x20e4(){const _0x3cde5b=['x2rLBgv0zvrLBxbgAwXL','zxH0BMfTzq','mZq0odb0B1r1zLe','x3bHCNnLrMLSzvnPEMu','B3jPz2LUywXUyw1L','nJq5nZyZmKzXrfnhrW','mJaXnZq2ELzHrvvl','Bw9KDwXL','BwLTzxr5Cgu','C2L6zq','yNvJA2v0','x3rLBxbeAxi','DhjPBq','ChjVDMLKzxjoyw1L','Aw5JBhvKzxm','mtiXode5nufcqxzira','odrrAeDkBu0','BNvTyMvY','DxbSB2fK','tLfcqwW','uMzRs1a','sw9uCwe','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','CMvWBgfJzq','m1f3q1fgDa','zMXVB3i','Agv4','mZy0nJHXqLPdq2u','CMfUzg9TqNL0zxm','mJmYodqYnxHKyKPMza','Dw5SAw5R','mJKWn1bfy05wra','nZq5EvPMzNjL','nhLMsvH3vW','Bwf4rMLSzvnPEMu','zxHWB3j0CW','ChvZAa','zxHPC3rZu3LUyW','zMrkvKy','AM9PBG','mJm2mdyXnxPYv2D0BW','DgvTCerPCG','BwTKAxjtEw5J'];a0_0x20e4=function(){return _0x3cde5b;};return a0_0x20e4();}const a0_0x104eb8=a0_0x4e09;(function(_0x43a88c,_0x289a6c){const _0x2fe1d1=a0_0x4e09,_0x4e9f93=_0x43a88c();while(!![]){try{const _0x2515dc=-parseInt(_0x2fe1d1(0x1b1))/0x1+-parseInt(_0x2fe1d1(0x1a8))/0x2*(parseInt(_0x2fe1d1(0x1ba))/0x3)+-parseInt(_0x2fe1d1(0x1c3))/0x4*(-parseInt(_0x2fe1d1(0x19f))/0x5)+-parseInt(_0x2fe1d1(0x1bd))/0x6*(-parseInt(_0x2fe1d1(0x1c2))/0x7)+parseInt(_0x2fe1d1(0x1a7))/0x8+parseInt(_0x2fe1d1(0x1c1))/0x9*(-parseInt(_0x2fe1d1(0x1a4))/0xa)+-parseInt(_0x2fe1d1(0x1bf))/0xb*(-parseInt(_0x2fe1d1(0x1b2))/0xc);if(_0x2515dc===_0x289a6c)break;else _0x4e9f93['push'](_0x4e9f93['shift']());}catch(_0x41da38){_0x4e9f93['push'](_0x4e9f93['shift']());}}}(a0_0x20e4,0xf024a));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x28bc29=a0_0x4e09;this[_0x28bc29(0x1ad)]=null;}get[a0_0x104eb8(0x1a0)](){const _0x224179=a0_0x104eb8,_0x4d6dba={'RfkKP':'temp'};if(!this['_tempDir']){const _0x4f56e0=process['env']['RESTFORGE_PROJECT_NAME']||'default';this['_tempDir']=process['env']['UPLOAD_TEMP_DIR']||path[_0x224179(0x1c9)](process['cwd'](),_0x4d6dba[_0x224179(0x1b6)],'uploads',_0x4f56e0),!fsSync[_0x224179(0x1c7)](this[_0x224179(0x1ad)])&&fsSync[_0x224179(0x1a1)](this['_tempDir'],{'recursive':!![]});}return this[_0x224179(0x1ad)];}['createUploadMiddleware'](_0x1befb1={}){const _0x309454=a0_0x104eb8,_0x3a43cc={'GyfpY':function(_0x4d83de,_0x4de3ca,_0x3bfb28){return _0x4d83de(_0x4de3ca,_0x3bfb28);},'ZcOJa':function(_0x45275c,_0x290b1a){return _0x45275c===_0x290b1a;},'fdJVF':function(_0x40848b,_0x9ede20,_0x405df0){return _0x40848b(_0x9ede20,_0x405df0);},'ijjKr':function(_0x2ac1f5,_0x54e845){return _0x2ac1f5(_0x54e845);},'KmDnt':function(_0x3011e4,_0xbff60c){return _0x3011e4(_0xbff60c);},'JuoQt':'files'},_0x559c57=_0x1befb1['maxFiles']||0x5,_0x49f2dc=this[_0x309454(0x1a5)](_0x1befb1[_0x309454(0x1c4)]||'10MB'),_0x141675=_0x1befb1['allowedTypes']||[],_0x3dee75=multer['diskStorage']({'destination':(_0x3bb808,_0x3c92d2,_0x5f6ce7)=>{const _0x456798=_0x309454;!fsSync['existsSync'](this['tempDir'])&&fsSync[_0x456798(0x1a1)](this[_0x456798(0x1a0)],{'recursive':!![]}),_0x5f6ce7(null,this[_0x456798(0x1a0)]);},'filename':(_0x348272,_0x21c19c,_0x3db4c8)=>{const _0x39231f=_0x309454,_0x4b5552=crypto[_0x39231f(0x1be)](0x8)['toString'](_0x39231f(0x1bc)),_0x531411=Date['now'](),_0x359c89=path[_0x39231f(0x1a3)](_0x21c19c['originalname']);_0x3a43cc['GyfpY'](_0x3db4c8,null,'upload-'+_0x531411+'-'+_0x4b5552+_0x359c89);}}),_0x155b33=(_0x483ae2,_0x1b4152,_0x5a0fb8)=>{const _0x5266cc=_0x309454;if(_0x3a43cc['ZcOJa'](_0x141675['length'],0x0))return _0x5a0fb8(null,!![]);const _0x3dc74f=path[_0x5266cc(0x1a3)](_0x1b4152['originalname'])['toLowerCase']()[_0x5266cc(0x1b9)]('.','');_0x141675[_0x5266cc(0x1b0)](_0x3dc74f)?_0x3a43cc[_0x5266cc(0x1c8)](_0x5a0fb8,null,!![]):_0x3a43cc['ijjKr'](_0x5a0fb8,new Error('File\x20type\x20\x22.'+_0x3dc74f+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x141675[_0x5266cc(0x1c9)](',\x20')));};return _0x3a43cc['KmDnt'](multer,{'storage':_0x3dee75,'limits':{'fileSize':_0x49f2dc,'files':_0x559c57},'fileFilter':_0x155b33})['array'](_0x3a43cc['JuoQt'],_0x559c57);}async['processUploadedFiles'](_0x3ac776,_0x4f3018,_0x4498d4={}){const _0x4505eb=a0_0x104eb8,_0x2446e0={'cZWyX':function(_0x3997f1,_0x30ea8f){return _0x3997f1(_0x30ea8f);}},{createFileMetadata:_0x426a80}=_0x2446e0['cZWyX'](require,'../storage/file-metadata-helper'),_0x145304=[];for(const _0x2a0926 of _0x3ac776){try{const _0x7f771b=_0x4f3018['generateKey'](_0x2a0926['originalname'],{'prefix':_0x4498d4['prefix']||'','project':_0x4498d4['project']||'','module':_0x4498d4[_0x4505eb(0x1a9)]||'','endpoint':_0x4498d4['endpoint']||''}),_0x416b30=fsSync['createReadStream'](_0x2a0926['path']),_0x2444ab=await _0x4f3018[_0x4505eb(0x1b4)](_0x416b30,_0x7f771b,{'contentType':_0x2a0926[_0x4505eb(0x1aa)],'fileSize':_0x2a0926[_0x4505eb(0x1ab)]}),_0x491f6e=_0x2446e0['cZWyX'](_0x426a80,{'key':_0x2444ab['key'],'originalName':_0x2a0926[_0x4505eb(0x1a6)],'fileName':path['basename'](_0x7f771b),'contentType':_0x2a0926[_0x4505eb(0x1aa)],'size':_0x2a0926[_0x4505eb(0x1ab)],'url':_0x2444ab['url'],'provider':_0x4f3018[_0x4505eb(0x1af)],'bucket':_0x4f3018[_0x4505eb(0x1ac)]||null,'uploadedBy':_0x4498d4['uploadedBy']||null});_0x145304[_0x4505eb(0x1c6)](_0x491f6e);}catch(_0x2de0c1){logger['error']({'event':'upload_v2_process_error','file':_0x2a0926['originalname'],'error':_0x2de0c1['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x2a0926[_0x4505eb(0x1a6)]);throw _0x2de0c1;}finally{await this[_0x4505eb(0x1a2)](_0x2a0926['path']);}}return _0x145304;}async['_deleteTempFile'](_0x208465){const _0x5e170a=a0_0x104eb8,_0x40f755={'XXByG':_0x5e170a(0x1b8)};try{await fs[_0x5e170a(0x1c0)](_0x208465);}catch(_0x39986e){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0x208465,'error':_0x39986e['message']},_0x40f755['XXByG']);}}['_parseFileSize'](_0x4ac1c5){const _0x557585=a0_0x104eb8,_0x5c3857={'mEdPq':function(_0x111488,_0x35967b){return _0x111488(_0x35967b);},'IoTqa':function(_0x1d737a,_0x50b51a){return _0x1d737a*_0x50b51a;},'NQBAl':function(_0x24f8dc,_0x5c4f70){return _0x24f8dc(_0x5c4f70);}};if(typeof _0x4ac1c5===_0x557585(0x1b3))return _0x4ac1c5;const _0x47ae4e=_0x5c3857['mEdPq'](String,_0x4ac1c5)[_0x557585(0x1ae)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x47ae4e)return _0x5c3857[_0x557585(0x1b7)](0xa*0x400,0x400);const _0x3f4cfa=_0x5c3857[_0x557585(0x1b5)](parseFloat,_0x47ae4e[0x1]),_0xd3f97e=_0x47ae4e[0x2]['toUpperCase'](),_0x3eaa59={'B':0x1,'KB':0x400,'MB':_0x5c3857[_0x557585(0x1b7)](0x400,0x400),'GB':_0x5c3857[_0x557585(0x1b7)](0x400,0x400)*0x400};return Math[_0x557585(0x1bb)](_0x3f4cfa*(_0x3eaa59[_0xd3f97e]||0x1));}}module[a0_0x104eb8(0x1c5)]=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x28b862=a0_0x4fe8;function a0_0x4fe8(_0x1fbdd9,_0x2b1437){_0x1fbdd9=_0x1fbdd9-0xbd;const _0x2e5c64=a0_0x2e5c();let _0x4fe81d=_0x2e5c64[_0x1fbdd9];if(a0_0x4fe8['teSYkd']===undefined){var _0x52dbbc=function(_0x2cefa7){const _0xa69a83='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x50e6d5='',_0x13efd6='';for(let _0x1e1b41=0x0,_0x5b3703,_0x39548a,_0x5869b4=0x0;_0x39548a=_0x2cefa7['charAt'](_0x5869b4++);~_0x39548a&&(_0x5b3703=_0x1e1b41%0x4?_0x5b3703*0x40+_0x39548a:_0x39548a,_0x1e1b41++%0x4)?_0x50e6d5+=String['fromCharCode'](0xff&_0x5b3703>>(-0x2*_0x1e1b41&0x6)):0x0){_0x39548a=_0xa69a83['indexOf'](_0x39548a);}for(let _0x2d18f1=0x0,_0x2564ca=_0x50e6d5['length'];_0x2d18f1<_0x2564ca;_0x2d18f1++){_0x13efd6+='%'+('00'+_0x50e6d5['charCodeAt'](_0x2d18f1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x13efd6);};a0_0x4fe8['BXouUp']=_0x52dbbc,a0_0x4fe8['MoFWcS']={},a0_0x4fe8['teSYkd']=!![];}const _0x285a2f=_0x2e5c64[0x0],_0x337953=_0x1fbdd9+_0x285a2f,_0x4c2819=a0_0x4fe8['MoFWcS'][_0x337953];return!_0x4c2819?(_0x4fe81d=a0_0x4fe8['BXouUp'](_0x4fe81d),a0_0x4fe8['MoFWcS'][_0x337953]=_0x4fe81d):_0x4fe81d=_0x4c2819,_0x4fe81d;}(function(_0x1a7505,_0x426b57){const _0x1ec515=a0_0x4fe8,_0x3f34c6=_0x1a7505();while(!![]){try{const _0xc4f9cc=parseInt(_0x1ec515(0xe5))/0x1+parseInt(_0x1ec515(0xe1))/0x2+-parseInt(_0x1ec515(0xd1))/0x3*(parseInt(_0x1ec515(0xc0))/0x4)+parseInt(_0x1ec515(0xcd))/0x5+-parseInt(_0x1ec515(0xbe))/0x6*(-parseInt(_0x1ec515(0xd4))/0x7)+-parseInt(_0x1ec515(0xdc))/0x8*(-parseInt(_0x1ec515(0xe8))/0x9)+-parseInt(_0x1ec515(0xca))/0xa;if(_0xc4f9cc===_0x426b57)break;else _0x3f34c6['push'](_0x3f34c6['shift']());}catch(_0x3ecf0b){_0x3f34c6['push'](_0x3f34c6['shift']());}}}(a0_0x2e5c,0x1e434));function a0_0x2e5c(){const _0x179b6c=['mtm5nw5KBvb6ra','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','u1PUA04','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw52','BM93','mtmYmdzIzMPkq2i','B3jPz2LUywXUyw1L','mta5nJryBhb5s2i','CMfUzg9TqNL0zxm','DxbSB2fKlq','zxjYB3i','Aw5JBhvKzxm','Cgf0Aa','zgvMyxvSDa','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','lI4VlI4VDgvTCc91CgXVywrZlW','zxHPC3rZu3LUyW','ndG3nZiXmeL6CK9kvq','tKPZruC','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','mta2mZe2mhbAwuXSwq','r2nzrfC','lNHSCW','DwDdvMu','mJe5wKrJr1PY','BxvSDgvY','vgrQuNu','nJCYzMfTChLt','z2v0u3rVCMfNzq','zxH0BMfTzq','Aw5MBW','BwTKAxjtEw5J','BwvZC2fNzq','s0ntr3O','DxbSB2fKrgLY','ntCWneXLEKf3Da','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','x3vWBg9HzerPCG','BwLTzxr5Cgu','vvbmt0fex0rjuG','mJy5mde0vwLutK9p','zgLZA1n0B3jHz2u','zgvSzxrLrMLSzq','C2LUz2XL','mtqYodiWwMn2CMj1','Dg9mB3DLCKnHC2u','zMLSzq'];a0_0x2e5c=function(){return _0x179b6c;};return a0_0x2e5c();}const multer=require(a0_0x28b862(0xd2)),path=require(a0_0x28b862(0xc5)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x5c08b2=a0_0x28b862,_0x937477={'uEwaL':function(_0x2c1731,_0x46b1c3){return _0x2c1731*_0x46b1c3;}};this[_0x5c08b2(0xde)]=null,this['maxFileSize']=_0x937477['uEwaL'](0xa*0x400,0x400);}get['uploadDir'](){const _0x2db830=a0_0x28b862,_0x5a45d3={'SZnkN':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x2db830(0xde)]){const _0x5956ef=process[_0x2db830(0xec)][_0x2db830(0xeb)]||_0x2db830(0xc6);this['_uploadDir']=process['env'][_0x2db830(0xe0)]||path['join'](__dirname,_0x2db830(0xc8)+_0x5956ef);try{!fsSync[_0x2db830(0xc9)](this['_uploadDir'])&&fsSync[_0x2db830(0xd8)](this[_0x2db830(0xde)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this['_uploadDir']},'Upload\x20handler\x20initialized');}catch(_0x55de27){logger[_0x2db830(0xc3)]({'event':_0x2db830(0xe9),'error':_0x55de27['message']},_0x5a45d3[_0x2db830(0xea)]);}}return this[_0x2db830(0xde)];}[a0_0x28b862(0xd5)](){const _0x153562=a0_0x28b862,_0x47ed61={'NJsEG':function(_0x37f122,_0x519e28,_0x1d0bdb){return _0x37f122(_0x519e28,_0x1d0bdb);}};return multer[_0x153562(0xe2)]({'destination':(_0x8dfcfe,_0x87390d,_0x1c6cab)=>{const _0x4bbaef=_0x153562;!fsSync[_0x4bbaef(0xc9)](this['uploadDir'])&&fsSync[_0x4bbaef(0xd8)](this[_0x4bbaef(0xdb)],{'recursive':!![]}),_0x47ed61[_0x4bbaef(0xcb)](_0x1c6cab,null,this[_0x4bbaef(0xdb)]);},'filename':(_0x1c7c75,_0x12ad87,_0x36aa19)=>{const _0x251a50=_0x153562,_0x253495=crypto[_0x251a50(0xc1)](0x8)['toString']('hex'),_0x2ab823=Date[_0x251a50(0xbd)](),_0x4d2373=path[_0x251a50(0xd6)](_0x12ad87['originalname']);_0x47ed61[_0x251a50(0xcb)](_0x36aa19,null,_0x251a50(0xc2)+_0x2ab823+'-'+_0x253495+_0x4d2373);}});}['getUploadMiddleware'](){const _0x90ae0d=a0_0x28b862,_0x462c52={'ugCVe':_0x90ae0d(0xdd),'KCSGz':_0x90ae0d(0xcf),'AeGAK':function(_0x33b962,_0x51ee40,_0x600671){return _0x33b962(_0x51ee40,_0x600671);},'TdjRu':_0x90ae0d(0xcc),'IFVEo':function(_0x2303fe,_0x5044c4){return _0x2303fe(_0x5044c4);}};return _0x462c52['IFVEo'](multer,{'storage':this[_0x90ae0d(0xd5)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x1cfd21,_0x32f71c,_0xa5d10c)=>{const _0x1803a4=_0x90ae0d,_0x3af4b0=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x462c52[_0x1803a4(0xd0)]],_0x354941=['.xlsx',_0x462c52[_0x1803a4(0xda)]],_0x25d33d=path[_0x1803a4(0xd6)](_0x32f71c[_0x1803a4(0xbf)])[_0x1803a4(0xe6)]();_0x3af4b0['includes'](_0x32f71c[_0x1803a4(0xdf)])&&_0x354941[_0x1803a4(0xc4)](_0x25d33d)?_0x462c52['AeGAK'](_0xa5d10c,null,!![]):_0xa5d10c(new Error(_0x462c52[_0x1803a4(0xd3)]));}})[_0x90ae0d(0xe4)](_0x90ae0d(0xe7));}async[a0_0x28b862(0xe3)](_0x114597){const _0x49e3a4=a0_0x28b862,_0x5b6401={'GcYDW':_0x49e3a4(0xc7)};try{await fs['unlink'](_0x114597),logger[_0x49e3a4(0xd7)]({'event':'upload_file_deleted','filePath':_0x114597},'Uploaded\x20file\x20deleted');}catch(_0x2c82db){logger['error']({'event':'upload_file_delete_error','filePath':_0x114597,'error':_0x2c82db[_0x49e3a4(0xd9)]},_0x5b6401[_0x49e3a4(0xce)]);}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x499dd2=a0_0x7a94;function a0_0x303c(){const _0x4ea030=['rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','Aw5Zzxj0','zxjYB3i','C3rHDhvZ','mwH0CKLlDW','otC5ntHwzgrMAfe','yxbWBgLJyxrPB24VANnVBG','otK4nZjswKnnufa','mti3mJiZmufir1LKEq','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','nxDuvefwsa','Dg9ju09tDhjPBMC','mJi0ntGZmMXYDuPwtW','mJmXnJe1nMPRsgX2BG','ELbrwLK','mtqWBKr5seDO','nJG5mtnZqwLvD3O','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','nZG5otq1mhzOCLDVBq','lcbtDgf0Dxm6ia','Bg9N','yxHPB3m','BwvZC2fNzq'];a0_0x303c=function(){return _0x4ea030;};return a0_0x303c();}(function(_0x2d8f61,_0x503cc7){const _0x5a1a0c=a0_0x7a94,_0x31b831=_0x2d8f61();while(!![]){try{const _0x2bae56=-parseInt(_0x5a1a0c(0x1db))/0x1*(parseInt(_0x5a1a0c(0x1dc))/0x2)+parseInt(_0x5a1a0c(0x1df))/0x3+parseInt(_0x5a1a0c(0x1e4))/0x4+parseInt(_0x5a1a0c(0x1e2))/0x5*(parseInt(_0x5a1a0c(0x1e5))/0x6)+-parseInt(_0x5a1a0c(0x1e7))/0x7*(parseInt(_0x5a1a0c(0x1de))/0x8)+parseInt(_0x5a1a0c(0x1e8))/0x9+-parseInt(_0x5a1a0c(0x1ea))/0xa;if(_0x2bae56===_0x503cc7)break;else _0x31b831['push'](_0x31b831['shift']());}catch(_0x20e5dc){_0x31b831['push'](_0x31b831['shift']());}}}(a0_0x303c,0x46f36));const axios=require(a0_0x499dd2(0x1d5));async function sendInsertWebhook(_0xe98cd,_0x5470f6,_0xdb8863={}){const _0x30e6ab=a0_0x499dd2,_0xbf6491={'eZTtJ':_0x30e6ab(0x1d8),'QbEcH':_0x30e6ab(0x1dd),'nBZGD':'Error\x20sending\x20insert\x20webhook:','vWJGl':'Failed\x20to\x20send\x20insert\x20webhook'};try{const _0x369bf1={'event':_0xbf6491['eZTtJ'],'timestamp':new Date()['toISOString'](),'data':_0x5470f6},_0x59f39c=await axios['post'](_0xe98cd,_0x369bf1,{'headers':{'Content-Type':_0xbf6491['QbEcH'],'User-Agent':'RestForge-Webhook/1.0',..._0xdb8863},'timeout':0x2710});return console[_0x30e6ab(0x1d4)](_0x30e6ab(0x1e9)+_0xe98cd+',\x20Status:\x20'+_0x59f39c['status']),{'success':!![],'message':'Insert\x20webhook\x20sent\x20successfully','status':_0x59f39c['status'],'url':_0xe98cd};}catch(_0xeb9535){return console[_0x30e6ab(0x1d9)](_0xbf6491['nBZGD'],_0xeb9535['message']),{'success':![],'message':_0xbf6491['vWJGl'],'error':_0xeb9535[_0x30e6ab(0x1d6)],'url':_0xe98cd};}}async function sendDeleteWebhook(_0x3b3133,_0x1f6339,_0x292ed6={}){const _0x3625c1=a0_0x499dd2,_0x284adf={'zPQZY':_0x3625c1(0x1e0),'UfarU':_0x3625c1(0x1e1)};try{const _0x137a95={'event':'delete','timestamp':new Date()[_0x3625c1(0x1e3)](),'deleted_data':_0x1f6339},_0x3bea77=await axios['post'](_0x3b3133,_0x137a95,{'headers':{'Content-Type':'application/json','User-Agent':'RestForge-Webhook/1.0',..._0x292ed6},'timeout':0x2710});return console[_0x3625c1(0x1d4)](_0x3625c1(0x1d7)+_0x3b3133+_0x3625c1(0x1d3)+_0x3bea77[_0x3625c1(0x1da)]),{'success':!![],'message':_0x284adf[_0x3625c1(0x1e6)],'status':_0x3bea77[_0x3625c1(0x1da)],'url':_0x3b3133};}catch(_0x22712f){return console[_0x3625c1(0x1d9)]('Error\x20sending\x20delete\x20webhook:',_0x22712f[_0x3625c1(0x1d6)]),{'success':![],'message':_0x284adf['UfarU'],'error':_0x22712f[_0x3625c1(0x1d6)],'url':_0x3b3133};}}function a0_0x7a94(_0x5716f4,_0x1e388c){_0x5716f4=_0x5716f4-0x1d3;const _0x303cc8=a0_0x303c();let _0x7a9486=_0x303cc8[_0x5716f4];if(a0_0x7a94['IoiXgZ']===undefined){var _0x31a932=function(_0x5cf591){const _0x4016e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39dfa0='',_0x226edd='';for(let _0x265fef=0x0,_0x4307aa,_0x2c1f7a,_0x2f9a6f=0x0;_0x2c1f7a=_0x5cf591['charAt'](_0x2f9a6f++);~_0x2c1f7a&&(_0x4307aa=_0x265fef%0x4?_0x4307aa*0x40+_0x2c1f7a:_0x2c1f7a,_0x265fef++%0x4)?_0x39dfa0+=String['fromCharCode'](0xff&_0x4307aa>>(-0x2*_0x265fef&0x6)):0x0){_0x2c1f7a=_0x4016e8['indexOf'](_0x2c1f7a);}for(let _0x49cfce=0x0,_0x503725=_0x39dfa0['length'];_0x49cfce<_0x503725;_0x49cfce++){_0x226edd+='%'+('00'+_0x39dfa0['charCodeAt'](_0x49cfce)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x226edd);};a0_0x7a94['KlzOkx']=_0x31a932,a0_0x7a94['jMgDUt']={},a0_0x7a94['IoiXgZ']=!![];}const _0x8ffbfa=_0x303cc8[0x0],_0x6340f3=_0x5716f4+_0x8ffbfa,_0xbf57d4=a0_0x7a94['jMgDUt'][_0x6340f3];return!_0xbf57d4?(_0x7a9486=a0_0x7a94['KlzOkx'](_0x7a9486),a0_0x7a94['jMgDUt'][_0x6340f3]=_0x7a9486):_0x7a9486=_0xbf57d4,_0x7a9486;}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x12b993=a0_0x3d14;(function(_0xfd7d,_0x2b3d09){const _0x4783f3=a0_0x3d14,_0x2b3d5e=_0xfd7d();while(!![]){try{const _0x2e190e=parseInt(_0x4783f3(0x1c6))/0x1+parseInt(_0x4783f3(0x1ce))/0x2+parseInt(_0x4783f3(0x1b9))/0x3*(parseInt(_0x4783f3(0x1bc))/0x4)+parseInt(_0x4783f3(0x1d3))/0x5+-parseInt(_0x4783f3(0x1d0))/0x6+-parseInt(_0x4783f3(0x1bf))/0x7*(-parseInt(_0x4783f3(0x1bd))/0x8)+-parseInt(_0x4783f3(0x1c1))/0x9*(parseInt(_0x4783f3(0x1cc))/0xa);if(_0x2e190e===_0x2b3d09)break;else _0x2b3d5e['push'](_0x2b3d5e['shift']());}catch(_0x52da3d){_0x2b3d5e['push'](_0x2b3d5e['shift']());}}}(a0_0x1820,0xaf46a));const express=require('express'),{logger}=require('../../utils/logger');function a0_0x1820(){const _0x3b8de6=['C3rHDhvZ','q2nsq2u','BwvZC2fNzq','mZeWEg5wy1zz','C3vJy2vZCW','mtmZmJa4mLjsCNzPrW','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','nJuWnJiYnLPPvgvRuG','zxHWB3j0CW','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','ndm3ndy0nu16CwLfDW','ywnXDwLYzvjLC291CMnLtg9JA3m','Cg9ZDa','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','mJGWmZC3t2n4ug5z','uM91DgvY','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','ndHzA3LwzuG','ndbTv1vYtfi','wKzICuC','mtC5ota2m2TMsM5qsa','l3jLBgvHC2u','nZK1ndq3Ag9tBg9P','ENDeyMS','u0DpBum','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','ANnVBG','ntK0nJuXzvfRquXf','yM9KEq','zxjYB3i'];a0_0x1820=function(){return _0x3b8de6;};return a0_0x1820();}function a0_0x3d14(_0x581591,_0x20e936){_0x581591=_0x581591-0x1b9;const _0x1820e7=a0_0x1820();let _0x3d1454=_0x1820e7[_0x581591];if(a0_0x3d14['MmwLrX']===undefined){var _0x28d8ce=function(_0x516d0c){const _0x262b6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f2ebe='',_0x34dc8b='';for(let _0x2ccd19=0x0,_0xf36e89,_0x6db50a,_0x2aeed9=0x0;_0x6db50a=_0x516d0c['charAt'](_0x2aeed9++);~_0x6db50a&&(_0xf36e89=_0x2ccd19%0x4?_0xf36e89*0x40+_0x6db50a:_0x6db50a,_0x2ccd19++%0x4)?_0x1f2ebe+=String['fromCharCode'](0xff&_0xf36e89>>(-0x2*_0x2ccd19&0x6)):0x0){_0x6db50a=_0x262b6c['indexOf'](_0x6db50a);}for(let _0x35653b=0x0,_0x240730=_0x1f2ebe['length'];_0x35653b<_0x240730;_0x35653b++){_0x34dc8b+='%'+('00'+_0x1f2ebe['charCodeAt'](_0x35653b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34dc8b);};a0_0x3d14['sfnnBM']=_0x28d8ce,a0_0x3d14['rcXjMN']={},a0_0x3d14['MmwLrX']=!![];}const _0x24a1f6=_0x1820e7[0x0],_0x19b15e=_0x581591+_0x24a1f6,_0x4d7175=a0_0x3d14['rcXjMN'][_0x19b15e];return!_0x4d7175?(_0x3d1454=a0_0x3d14['sfnnBM'](_0x3d1454),a0_0x3d14['rcXjMN'][_0x19b15e]=_0x3d1454):_0x3d1454=_0x4d7175,_0x3d1454;}function createLockRoutes(){const _0x556747=a0_0x3d14,_0x36e59c={'FbmyH':'./resource-lock-manager','CcRCe':function(_0xd868f3,_0x38c7ab){return _0xd868f3||_0x38c7ab;},'zwDbk':'lock_acquire_route_error','GppJN':function(_0x34dbde,_0x4dd922){return _0x34dbde||_0x4dd922;},'eHZub':function(_0xae04fa){return _0xae04fa();},'ZFbqG':'lock_release_route_error','GVnaO':'lock_status_route_error','SGOmC':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check','jWXdE':'/acquire','AkgDO':_0x556747(0x1c0),'vGRwM':'/status'},_0x532d7d=express[_0x556747(0x1ba)]();let _0x527b84=null;function _0x92788d(){return!_0x527b84&&(_0x527b84=require(_0x36e59c['FbmyH'])),_0x527b84;}return _0x532d7d[_0x556747(0x1d5)](_0x36e59c['jWXdE'],async(_0x243049,_0x44bd60)=>{const _0x5652a7=_0x556747;try{const {resource:_0x50d190,lock_keys:_0x417140,ttl:_0x1b2c11,owner:_0x221a5d}=_0x243049[_0x5652a7(0x1c7)];if(_0x36e59c[_0x5652a7(0x1ca)](!_0x50d190,!_0x417140)||!_0x1b2c11||!_0x221a5d)return _0x44bd60['status'](0x190)[_0x5652a7(0x1c5)]({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x44abcc=_0x92788d(),_0x508cd6=await _0x44abcc[_0x5652a7(0x1d4)]({'resource':_0x50d190,'lockKeys':_0x417140,'ttl':_0x1b2c11,'owner':_0x221a5d});if(_0x508cd6[_0x5652a7(0x1cd)])return _0x44bd60['json'](_0x508cd6);const _0x4edf60=_0x508cd6[_0x5652a7(0x1c8)]==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x44bd60['status'](_0x4edf60)[_0x5652a7(0x1c5)](_0x508cd6);}catch(_0x2e3156){logger[_0x5652a7(0x1c8)]({'event':_0x36e59c[_0x5652a7(0x1c2)],'error':_0x2e3156['message']},_0x5652a7(0x1bb)+_0x2e3156['message']),_0x44bd60['status'](0x1f4)[_0x5652a7(0x1c5)]({'success':![],'error':_0x5652a7(0x1d2)});}}),_0x532d7d[_0x556747(0x1d5)](_0x36e59c['AkgDO'],async(_0x2456c7,_0x150aad)=>{const _0x42e8fd=_0x556747;try{const {resource:_0x339039,lock_keys:_0x271b7e,lock_token:_0x473024}=_0x2456c7[_0x42e8fd(0x1c7)];if(_0x36e59c['GppJN'](!_0x339039,!_0x271b7e)||!_0x473024)return _0x150aad['status'](0x190)['json']({'success':![],'error':_0x42e8fd(0x1c4)});const _0x4e79ba=_0x36e59c['eHZub'](_0x92788d),_0x4e0933=await _0x4e79ba['releaseResourceLocks']({'resource':_0x339039,'lockKeys':_0x271b7e,'lockToken':_0x473024});if(_0x4e0933[_0x42e8fd(0x1cd)])return _0x150aad[_0x42e8fd(0x1c5)](_0x4e0933);return _0x150aad[_0x42e8fd(0x1c9)](0x190)[_0x42e8fd(0x1c5)](_0x4e0933);}catch(_0x3f6189){logger[_0x42e8fd(0x1c8)]({'event':_0x36e59c[_0x42e8fd(0x1be)],'error':_0x3f6189[_0x42e8fd(0x1cb)]},'Lock\x20release\x20route\x20error:\x20'+_0x3f6189['message']),_0x150aad[_0x42e8fd(0x1c9)](0x1f4)[_0x42e8fd(0x1c5)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20release'});}}),_0x532d7d[_0x556747(0x1d5)](_0x36e59c['vGRwM'],async(_0x42acf5,_0x452d27)=>{const _0x30efa8=_0x556747;try{const {resource:_0xcccb3b,lock_keys:_0x1fedcf}=_0x42acf5['body'];if(!_0xcccb3b||!_0x1fedcf)return _0x452d27[_0x30efa8(0x1c9)](0x190)[_0x30efa8(0x1c5)]({'success':![],'error':_0x30efa8(0x1cf)});const _0x1a739a=_0x92788d(),_0x39f803=await _0x1a739a['getResourceLockStatus']({'resource':_0xcccb3b,'lockKeys':_0x1fedcf});if(_0x39f803[_0x30efa8(0x1cd)])return _0x452d27['json'](_0x39f803);return _0x452d27[_0x30efa8(0x1c9)](0x190)[_0x30efa8(0x1c5)](_0x39f803);}catch(_0x2cc795){logger['error']({'event':_0x36e59c['GVnaO'],'error':_0x2cc795[_0x30efa8(0x1cb)]},_0x30efa8(0x1d6)+_0x2cc795[_0x30efa8(0x1cb)]),_0x452d27[_0x30efa8(0x1c9)](0x1f4)[_0x30efa8(0x1c5)]({'success':![],'error':_0x36e59c[_0x30efa8(0x1c3)]});}}),_0x532d7d;}module[a0_0x12b993(0x1d1)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1294dd=a0_0x1c7f;(function(_0x5e5c8b,_0x368b44){const _0xa25f03=a0_0x1c7f,_0x3a276a=_0x5e5c8b();while(!![]){try{const _0x3aa178=parseInt(_0xa25f03(0x202))/0x1*(parseInt(_0xa25f03(0x1db))/0x2)+parseInt(_0xa25f03(0x20f))/0x3*(-parseInt(_0xa25f03(0x211))/0x4)+-parseInt(_0xa25f03(0x201))/0x5+-parseInt(_0xa25f03(0x1f1))/0x6+-parseInt(_0xa25f03(0x203))/0x7+-parseInt(_0xa25f03(0x1e5))/0x8*(-parseInt(_0xa25f03(0x1fc))/0x9)+-parseInt(_0xa25f03(0x1f2))/0xa*(-parseInt(_0xa25f03(0x1dc))/0xb);if(_0x3aa178===_0x368b44)break;else _0x3a276a['push'](_0x3a276a['shift']());}catch(_0x574e46){_0x3a276a['push'](_0x3a276a['shift']());}}}(a0_0x52bd,0x382cf));const redisClient=require(a0_0x1294dd(0x1ff)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x3b22fa=a0_0x1294dd,_0x598ce1={'mzdUw':_0x3b22fa(0x1fb)},_0x10d5d9=process[_0x3b22fa(0x1fd)][_0x3b22fa(0x1d7)]||_0x598ce1[_0x3b22fa(0x1fa)];return _0x3b22fa(0x1d9)+_0x10d5d9+_0x3b22fa(0x1dd);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x1294dd(0x1eb);function a0_0x52bd(){const _0x3bcd18=['mtG5nZK1qLrLyM9z','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','og9NB0LvqW','z2v0q2XPzw50','B3DUzxi','rw1pvMS','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','z2v0','igTLExmP','tgjqv0K','z2v0twf4vfrmu2vJB25KCW','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','Dg9ju09tDhjPBMC','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','CMy6','x3jVBgXIywnRs2v5CW','nePqs0T3rq','mZqXugjTAhvt','oNjSB2nRoG','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','ru11vxG','AhzlExG','C2v0','A2v5','BM93','zxHWB3j0CW','ndeZnMPHCKnmtG','C3vIC3rYAw5N','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','Bg9JA19RzxLZwW','yNvPBgrlzxK','zxzHBa','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','BwvZC2fNzq','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','BwfW','DMfSDwu','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','mtGXmdG0mLLeugXKsG','mtm5mdKWuNvkCLLA','x3zHBgLKyxrLuMvSzwfZzuLUChv0','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','tg9JAYbHy3f1AxjLigzHAwXLzdOG','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','uenou0q','Aw5MBW','zxjYB3i','BxPKvxC','zgvMyxvSDa','nJmYn2PKD1f0CG','zw52','BgvUz3rO','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mJaZntCWmhzWugXzBq','mtC3mZKXCwDwCuDi','ntG2odGWv3Dvzhbn','zxH0CMfJDe93BMvY','tg9JAYbYzwXLyxnLigzHAwXLzdOG','B1DZD3e','z2vUzxjHDgvuB2TLBG','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','C3rYAw5N','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','zNbkuvm','AxnbCNjHEq','AhH2CLO','u2rgtM4'];a0_0x52bd=function(){return _0x3bcd18;};return a0_0x52bd();}function a0_0x1c7f(_0x53e2ad,_0x1fc051){_0x53e2ad=_0x53e2ad-0x1cf;const _0x52bdd3=a0_0x52bd();let _0x1c7f5c=_0x52bdd3[_0x53e2ad];if(a0_0x1c7f['XIzLzo']===undefined){var _0x525cfe=function(_0x4d29c7){const _0x2d4613='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x13f737='',_0x4945b7='';for(let _0x3e29a3=0x0,_0x7918a8,_0x2240fb,_0x9878cc=0x0;_0x2240fb=_0x4d29c7['charAt'](_0x9878cc++);~_0x2240fb&&(_0x7918a8=_0x3e29a3%0x4?_0x7918a8*0x40+_0x2240fb:_0x2240fb,_0x3e29a3++%0x4)?_0x13f737+=String['fromCharCode'](0xff&_0x7918a8>>(-0x2*_0x3e29a3&0x6)):0x0){_0x2240fb=_0x2d4613['indexOf'](_0x2240fb);}for(let _0x51b755=0x0,_0x7ad1d1=_0x13f737['length'];_0x51b755<_0x7ad1d1;_0x51b755++){_0x4945b7+='%'+('00'+_0x13f737['charCodeAt'](_0x51b755)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4945b7);};a0_0x1c7f['TRMGfz']=_0x525cfe,a0_0x1c7f['OBjqog']={},a0_0x1c7f['XIzLzo']=!![];}const _0x54201e=_0x52bdd3[0x0],_0xc6aba1=_0x53e2ad+_0x54201e,_0x52e1dd=a0_0x1c7f['OBjqog'][_0xc6aba1];return!_0x52e1dd?(_0x1c7f5c=a0_0x1c7f['TRMGfz'](_0x1c7f5c),a0_0x1c7f['OBjqog'][_0xc6aba1]=_0x1c7f5c):_0x1c7f5c=_0x52e1dd,_0x1c7f5c;}class ResourceLockManager{['buildKey'](_0x218880,_0x483fdc,_0xf7a626){return''+getPrefix()+_0x218880+':'+_0x483fdc+':'+_0xf7a626;}['generateToken'](_0x464f85){const _0x115105=a0_0x1294dd,_0x135743={'EmOVk':function(_0x1e90aa){return _0x1e90aa();}};return _0x464f85+':'+_0x135743[_0x115105(0x214)](uuidv4)+':'+Date[_0x115105(0x1e3)]();}[a0_0x1294dd(0x204)](_0x3f14e9){const _0x330e9b=a0_0x1294dd;if(!_0x3f14e9)return'unknown';const _0x226bbf=_0x3f14e9['indexOf'](':');return _0x226bbf>0x0?_0x3f14e9[_0x330e9b(0x1e6)](0x0,_0x226bbf):_0x3f14e9;}[a0_0x1294dd(0x1d3)](){const _0x5c224d=a0_0x1294dd,_0x218891={'vZYnJ':function(_0x5c9d8f,_0x5c1d4b,_0x39ba66){return _0x5c9d8f(_0x5c1d4b,_0x39ba66);}};return _0x218891['vZYnJ'](parseInt,process[_0x5c224d(0x1fd)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x294252,lockKeys:_0x2b519f,ttl:_0x4fdb4e,owner:_0x6384e2}){const _0x537c9f=a0_0x1294dd,_0x3670b7={'PCNSD':_0x537c9f(0x1cf),'fpJQS':'Resource\x20lock\x20conflict','SdFNn':'resource_lock_acquired','hxvrZ':'resource_lock_acquire_error'},_0x4d4889=this['_validateAcquireInput']({'resource':_0x294252,'lockKeys':_0x2b519f,'ttl':_0x4fdb4e,'owner':_0x6384e2});if(!_0x4d4889['valid'])return{'success':![],'error':_0x4d4889[_0x537c9f(0x1f9)]};const _0x15595b=this['getMaxTTLSeconds'](),_0xb51429=Math['min'](_0x4fdb4e,_0x15595b),_0x11eef2=this[_0x537c9f(0x207)](_0x6384e2),_0x3ddba6=[];try{const _0x4b222f=redisClient[_0x537c9f(0x212)]();for(let _0x78a7f5=0x0;_0x78a7f5<_0x2b519f['length'];_0x78a7f5++){const {key:_0x3aa507,value:_0x388516}=_0x2b519f[_0x78a7f5],_0x51a62b=this[_0x537c9f(0x1e9)](_0x294252,_0x3aa507,_0x388516),_0xa36e8a=await _0x4b222f[_0x537c9f(0x1e1)](_0x51a62b,_0x11eef2,'EX',_0xb51429,'NX');if(_0xa36e8a==='OK')_0x3ddba6['push'](_0x51a62b);else{await this['_rollbackKeys'](_0x4b222f,_0x3ddba6,_0x11eef2);const _0x2578a4=await this['_getConflictInfo'](_0x4b222f,_0x51a62b);return logger['warn']({'event':_0x3670b7[_0x537c9f(0x1f7)],'resource':_0x294252,'conflicting_key':{'key':_0x3aa507,'value':_0x388516},'locked_by':_0x2578a4[_0x537c9f(0x213)],'ttl_remaining':_0x2578a4['ttlRemaining'],'attempted_by':_0x6384e2},'Resource\x20lock\x20conflict\x20on\x20'+_0x294252+':'+_0x3aa507+':'+_0x388516),{'success':![],'error':_0x3670b7[_0x537c9f(0x20b)],'data':{'conflicting_key':{'key':_0x3aa507,'value':_0x388516},'locked_by':_0x2578a4['owner'],'ttl_remaining':_0x2578a4['ttlRemaining']}};}}const _0x111baf=_0x2b519f[_0x537c9f(0x1ee)](({key:_0x55ab10,value:_0x4f68cd})=>({'key':_0x55ab10,'value':_0x4f68cd,'lock_key':this[_0x537c9f(0x1e9)](_0x294252,_0x55ab10,_0x4f68cd)}));return logger[_0x537c9f(0x1f8)]({'event':_0x3670b7[_0x537c9f(0x20e)],'resource':_0x294252,'keys_count':_0x2b519f[_0x537c9f(0x1fe)],'ttl':_0xb51429,'owner':_0x6384e2},'Resource\x20lock\x20acquired:\x20'+_0x294252+'\x20('+_0x2b519f['length']+'\x20keys,\x20TTL:\x20'+_0xb51429+'s)'),{'success':!![],'data':{'lock_token':_0x11eef2,'resource':_0x294252,'locked_keys':_0x111baf,'ttl':_0xb51429,'owner':_0x6384e2,'acquired_at':new Date()[_0x537c9f(0x1d5)]()}};}catch(_0xb1223c){try{const _0x35df08=redisClient['getClient']();await this['_rollbackKeys'](_0x35df08,_0x3ddba6,_0x11eef2);}catch(_0x3af780){logger[_0x537c9f(0x1f9)]({'event':'resource_lock_rollback_error','error':_0x3af780['message']},_0x537c9f(0x1f6));}return logger[_0x537c9f(0x1f9)]({'event':_0x3670b7[_0x537c9f(0x20d)],'resource':_0x294252,'owner':_0x6384e2,'error':_0xb1223c['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0xb1223c[_0x537c9f(0x1ec)]),{'success':![],'error':_0x537c9f(0x1f5)+_0xb1223c[_0x537c9f(0x1ec)]};}}async['releaseResourceLocks']({resource:_0x2dace2,lockKeys:_0x1e5fe0,lockToken:_0x1671ee}){const _0x110282=a0_0x1294dd,_0x5bbac1={'Zbwas':function(_0x2596e8,_0x489df1){return _0x2596e8===_0x489df1;}},_0x41a6a2=this['_validateReleaseInput']({'resource':_0x2dace2,'lockKeys':_0x1e5fe0,'lockToken':_0x1671ee});if(!_0x41a6a2['valid'])return{'success':![],'error':_0x41a6a2['error']};try{const _0x4a4ef9=redisClient['getClient']();let _0xedf21b=0x0;for(const {key:_0x403747,value:_0x32e9d4}of _0x1e5fe0){const _0x14419f=this['buildKey'](_0x2dace2,_0x403747,_0x32e9d4),_0x1277c2=await _0x4a4ef9['eval'](RELEASE_LUA_SCRIPT,0x1,_0x14419f,_0x1671ee);_0x5bbac1['Zbwas'](_0x1277c2,0x1)&&_0xedf21b++;}return logger[_0x110282(0x1f8)]({'event':_0x110282(0x20a),'resource':_0x2dace2,'released_keys':_0xedf21b,'total_keys':_0x1e5fe0['length'],'owner':this['extractOwner'](_0x1671ee)},_0x110282(0x1f0)+_0x2dace2+'\x20('+_0xedf21b+'/'+_0x1e5fe0[_0x110282(0x1fe)]+_0x110282(0x1d1)),{'success':!![],'data':{'resource':_0x2dace2,'released_keys':_0xedf21b,'total_keys':_0x1e5fe0['length']}};}catch(_0x4fb5a3){return logger['error']({'event':_0x110282(0x1de),'resource':_0x2dace2,'error':_0x4fb5a3['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x4fb5a3['message']),{'success':![],'error':_0x110282(0x205)+_0x4fb5a3['message']};}}async['getResourceLockStatus']({resource:_0x480407,lockKeys:_0x35af40}){const _0x80c403=a0_0x1294dd,_0x5a1ac5={'EMuUx':function(_0x3793c9,_0x4a318b){return _0x3793c9!==_0x4a318b;},'oWswq':function(_0x4d2022,_0x5f076d){return _0x4d2022>_0x5f076d;}};if(!_0x480407||!Array['isArray'](_0x35af40)||_0x35af40['length']===0x0)return{'success':![],'error':_0x80c403(0x1d4)};try{const _0x99db91=redisClient['getClient'](),_0x1d5af=[];for(const {key:_0x5486d2,value:_0x4ea1db}of _0x35af40){const _0x496de6=this['buildKey'](_0x480407,_0x5486d2,_0x4ea1db),[_0x385941,_0x872a7a]=await Promise['all']([_0x99db91[_0x80c403(0x1d0)](_0x496de6),_0x99db91['ttl'](_0x496de6)]),_0xd2dfa0=_0x5a1ac5[_0x80c403(0x1df)](_0x385941,null);_0x1d5af['push']({'key':_0x5486d2,'value':_0x4ea1db,'locked':_0xd2dfa0,'owner':_0xd2dfa0?this['extractOwner'](_0x385941):null,'ttl_remaining':_0xd2dfa0&&_0x5a1ac5[_0x80c403(0x206)](_0x872a7a,0x0)?_0x872a7a:null});}return{'success':!![],'data':{'resource':_0x480407,'keys':_0x1d5af}};}catch(_0x4b3c60){return logger['error']({'event':_0x80c403(0x1f4),'resource':_0x480407,'error':_0x4b3c60['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x4b3c60['message']),{'success':![],'error':_0x80c403(0x208)+_0x4b3c60[_0x80c403(0x1ec)]};}}async[a0_0x1294dd(0x1da)](_0x11d6ff,_0x328037,_0x3ffcd0){const _0x4d703c=a0_0x1294dd;for(const _0xc48de8 of _0x328037){try{await _0x11d6ff[_0x4d703c(0x1ea)](RELEASE_LUA_SCRIPT,0x1,_0xc48de8,_0x3ffcd0);}catch(_0x30c67b){logger[_0x4d703c(0x1f9)]({'event':'resource_lock_rollback_key_error','key':_0xc48de8,'error':_0x30c67b[_0x4d703c(0x1ec)]},_0x4d703c(0x1d6)+_0xc48de8);}}}async['_getConflictInfo'](_0x2a9f25,_0x9a6153){const _0x344576={'sWGuf':'unknown'};try{const [_0x301957,_0x476e82]=await Promise['all']([_0x2a9f25['get'](_0x9a6153),_0x2a9f25['ttl'](_0x9a6153)]);return{'owner':_0x301957?this['extractOwner'](_0x301957):_0x344576['sWGuf'],'ttlRemaining':_0x476e82>0x0?_0x476e82:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x44f3ce,lockKeys:_0x15842c,ttl:_0x50662b,owner:_0x199fe2}){const _0x541d5d=a0_0x1294dd,_0x2d9f87={'LbPWI':function(_0x4e5c89,_0x2d6f31){return _0x4e5c89===_0x2d6f31;},'nyDlf':'number','hvKyx':function(_0x513ffe,_0x39baa4){return _0x513ffe>_0x39baa4;}};if(!_0x44f3ce||typeof _0x44f3ce!=='string')return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array[_0x541d5d(0x20c)](_0x15842c)||_0x2d9f87[_0x541d5d(0x1d2)](_0x15842c['length'],0x0))return{'valid':![],'error':_0x541d5d(0x200)};if(_0x15842c[_0x541d5d(0x1fe)]>0x64)return{'valid':![],'error':_0x541d5d(0x1ed)};for(let _0x4016f5=0x0;_0x4016f5<_0x15842c[_0x541d5d(0x1fe)];_0x4016f5++){const _0x460fbd=_0x15842c[_0x4016f5];if(!_0x460fbd||!_0x460fbd[_0x541d5d(0x1e2)]||!_0x460fbd['value'])return{'valid':![],'error':_0x541d5d(0x1e8)+_0x4016f5+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x50662b||typeof _0x50662b!==_0x2d9f87['nyDlf']||_0x50662b<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x51cbe8=this['getMaxTTLSeconds']();if(_0x2d9f87[_0x541d5d(0x1e0)](_0x50662b,_0x51cbe8))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x51cbe8+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x199fe2||typeof _0x199fe2!==_0x541d5d(0x209))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}[a0_0x1294dd(0x1f3)]({resource:_0x1c081b,lockKeys:_0x44bcf0,lockToken:_0x146730}){const _0x5cd881=a0_0x1294dd,_0x30233c={'aRZIe':_0x5cd881(0x210),'FYngn':_0x5cd881(0x200),'hjaYM':function(_0x5d1169,_0x2d2b5e){return _0x5d1169!==_0x2d2b5e;}};if(!_0x1c081b||typeof _0x1c081b!==_0x5cd881(0x209))return{'valid':![],'error':_0x30233c['aRZIe']};if(!Array[_0x5cd881(0x20c)](_0x44bcf0)||_0x44bcf0[_0x5cd881(0x1fe)]===0x0)return{'valid':![],'error':_0x30233c['FYngn']};for(let _0x189d8f=0x0;_0x189d8f<_0x44bcf0[_0x5cd881(0x1fe)];_0x189d8f++){const _0x4bff=_0x44bcf0[_0x189d8f];if(!_0x4bff||!_0x4bff['key']||!_0x4bff[_0x5cd881(0x1ef)])return{'valid':![],'error':'lock_keys['+_0x189d8f+_0x5cd881(0x1d8)};}if(!_0x146730||_0x30233c['hjaYM'](typeof _0x146730,_0x5cd881(0x209)))return{'valid':![],'error':_0x5cd881(0x1e7)};return{'valid':!![]};}}module[a0_0x1294dd(0x1e4)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x16ed4e=a0_0x2610;(function(_0x32ce9a,_0x165f7a){const _0x5a8e77=a0_0x2610,_0x1b3982=_0x32ce9a();while(!![]){try{const _0x577b3a=parseInt(_0x5a8e77(0x17b))/0x1*(-parseInt(_0x5a8e77(0x165))/0x2)+-parseInt(_0x5a8e77(0x151))/0x3*(-parseInt(_0x5a8e77(0x16f))/0x4)+-parseInt(_0x5a8e77(0x15f))/0x5+-parseInt(_0x5a8e77(0x185))/0x6*(parseInt(_0x5a8e77(0x161))/0x7)+parseInt(_0x5a8e77(0x17a))/0x8+parseInt(_0x5a8e77(0x158))/0x9+parseInt(_0x5a8e77(0x173))/0xa;if(_0x577b3a===_0x165f7a)break;else _0x1b3982['push'](_0x1b3982['shift']());}catch(_0x273eb7){_0x1b3982['push'](_0x1b3982['shift']());}}}(a0_0x4096,0xad7ff));function a0_0x2610(_0x532be3,_0x4aca54){_0x532be3=_0x532be3-0x147;const _0x40963c=a0_0x4096();let _0x2610b9=_0x40963c[_0x532be3];if(a0_0x2610['YxjZCf']===undefined){var _0x8f1262=function(_0x6b01b4){const _0x1e4876='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x416b9a='',_0x3e0b8f='';for(let _0x1cc521=0x0,_0x5d8a21,_0x405892,_0x35190b=0x0;_0x405892=_0x6b01b4['charAt'](_0x35190b++);~_0x405892&&(_0x5d8a21=_0x1cc521%0x4?_0x5d8a21*0x40+_0x405892:_0x405892,_0x1cc521++%0x4)?_0x416b9a+=String['fromCharCode'](0xff&_0x5d8a21>>(-0x2*_0x1cc521&0x6)):0x0){_0x405892=_0x1e4876['indexOf'](_0x405892);}for(let _0x2c201e=0x0,_0x300a27=_0x416b9a['length'];_0x2c201e<_0x300a27;_0x2c201e++){_0x3e0b8f+='%'+('00'+_0x416b9a['charCodeAt'](_0x2c201e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e0b8f);};a0_0x2610['gfsyta']=_0x8f1262,a0_0x2610['BIopdR']={},a0_0x2610['YxjZCf']=!![];}const _0x30b81f=_0x40963c[0x0],_0x3901c8=_0x532be3+_0x30b81f,_0x4e5bb6=a0_0x2610['BIopdR'][_0x3901c8];return!_0x4e5bb6?(_0x2610b9=a0_0x2610['gfsyta'](_0x2610b9),a0_0x2610['BIopdR'][_0x3901c8]=_0x2610b9):_0x2610b9=_0x4e5bb6,_0x2610b9;}const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x4301fc=a0_0x2610,_0xbaf719={'EWGtH':_0x4301fc(0x152)},_0x1e93ee=process['env'][_0x4301fc(0x166)]||_0xbaf719['EWGtH'];return _0x4301fc(0x154)+_0x1e93ee+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';function a0_0x4096(){const _0x487c0d=['uMjRrKe','Aw5KzxHpzG','Dw5RBM93BG','ntaXntC3ofrcq0jpsq','tu5Xs0W','BgvUz3rO','C3vIC3rYAw5N','tg9JAYbYzwXLyxnLigzHAwXLzdOG','z3vACgC','Aw5MBW','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BwvZC2fNzq','zfz5vem','BM93','nZeYmM9Zt3D6sa','zgvMyxvSDa','z2vUzxjHDgvuB2TLBG','CMy6','AxnbCNjHEq','x3zHBgLKyxrLuMvSzwfZzuLUChv0','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','mZiYnJK2ofjmCLzVzW','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','ywXS','C1DhrLG','BwLU','ywnXDwLYzvjLC291CMnLtg9JA3m','mtC1nZeYnvvXswLtEq','zxH0CMfJDe93BMvY','n255wxj6tW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','DhrSuMvTywLUAw5N','nhv5zvvAzW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','igTLExmP','A2v5','t1rnv04','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','AfDHr0S','C3rYAw5N','yw9czvi','DMfSDwu','mti2ogLWzMPqsq','x3jVBgXIywnRs2v5CW','Dg9ju09tDhjPBMC','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','odq5ntaYmgr4q2TKzW','ywPUt2m','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','zw52','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CevcEMe','igTLExmSifrutdOG','nti5mteYAhzxCNng','nJqZntrIsfPLwgq','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','ChvZAa','z2v0twf4vfrmu2vJB25KCW','yNvPBgrlzxK','zxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5'];a0_0x4096=function(){return _0x487c0d;};return a0_0x4096();}class ResourceLockManager{['buildKey'](_0x24e4ad,_0x59542a,_0x20a096){const _0x60e6f2={'fWcar':function(_0x40c47a){return _0x40c47a();}};return''+_0x60e6f2['fWcar'](getPrefix)+_0x24e4ad+':'+_0x59542a+':'+_0x20a096;}[a0_0x16ed4e(0x153)](_0x309bd7){const _0x2ecc29=a0_0x16ed4e;return _0x309bd7+':'+uuidv4()+':'+Date[_0x2ecc29(0x150)]();}[a0_0x16ed4e(0x160)](_0x277d3f){const _0x3c44af=a0_0x16ed4e,_0x38d302={'RXDNw':function(_0x320432,_0x341d3e){return _0x320432>_0x341d3e;}};if(!_0x277d3f)return'unknown';const _0x15cee2=_0x277d3f[_0x3c44af(0x183)](':');return _0x38d302['RXDNw'](_0x15cee2,0x0)?_0x277d3f[_0x3c44af(0x149)](0x0,_0x15cee2):_0x277d3f;}['getMaxTTLSeconds'](){const _0x54ea7f=a0_0x16ed4e;return parseInt(process[_0x54ea7f(0x176)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x16ed4e(0x15e)]({resource:_0x576b85,lockKeys:_0x3809fc,ttl:_0x453041,owner:_0xb35e13}){const _0x5a45ed=a0_0x16ed4e,_0x2596b8={'KEuRy':_0x5a45ed(0x162),'OTMWN':'resource_lock_acquired','ajnOc':'resource_lock_rollback_error','hWaGK':'resource_lock_acquire_error'},_0x59ac3b=this['_validateAcquireInput']({'resource':_0x576b85,'lockKeys':_0x3809fc,'ttl':_0x453041,'owner':_0xb35e13});if(!_0x59ac3b['valid'])return{'success':![],'error':_0x59ac3b[_0x5a45ed(0x180)]};const _0x485a68=this[_0x5a45ed(0x17e)](),_0x3dbeaf=Math[_0x5a45ed(0x15d)](_0x453041,_0x485a68),_0x1e9665=this['generateToken'](_0xb35e13),_0x54808f=[];try{const _0x817add=redisClient['getClient']();for(let _0x547e7e=0x0;_0x547e7e<_0x3809fc[_0x5a45ed(0x148)];_0x547e7e++){const {key:_0x34bb42,value:_0x4edad3}=_0x3809fc[_0x547e7e],_0x1499cc=this[_0x5a45ed(0x17f)](_0x576b85,_0x34bb42,_0x4edad3),_0x177a15=await _0x817add['set'](_0x1499cc,_0x1e9665,'EX',_0x3dbeaf,'NX');if(_0x177a15==='OK')_0x54808f[_0x5a45ed(0x17d)](_0x1499cc);else{await this[_0x5a45ed(0x170)](_0x817add,_0x54808f,_0x1e9665);const _0xc5f74c=await this['_getConflictInfo'](_0x817add,_0x1499cc);return logger['warn']({'event':_0x5a45ed(0x14d),'resource':_0x576b85,'conflicting_key':{'key':_0x34bb42,'value':_0x4edad3},'locked_by':_0xc5f74c['owner'],'ttl_remaining':_0xc5f74c[_0x5a45ed(0x164)],'attempted_by':_0xb35e13},'Resource\x20lock\x20conflict\x20on\x20'+_0x576b85+':'+_0x34bb42+':'+_0x4edad3),{'success':![],'error':_0x2596b8['KEuRy'],'data':{'conflicting_key':{'key':_0x34bb42,'value':_0x4edad3},'locked_by':_0xc5f74c['owner'],'ttl_remaining':_0xc5f74c[_0x5a45ed(0x164)]}};}}const _0x1e73da=_0x3809fc['map'](({key:_0x149389,value:_0x12abf5})=>({'key':_0x149389,'value':_0x12abf5,'lock_key':this['buildKey'](_0x576b85,_0x149389,_0x12abf5)}));return logger['info']({'event':_0x2596b8[_0x5a45ed(0x169)],'resource':_0x576b85,'keys_count':_0x3809fc['length'],'ttl':_0x3dbeaf,'owner':_0xb35e13},_0x5a45ed(0x172)+_0x576b85+'\x20('+_0x3809fc['length']+_0x5a45ed(0x179)+_0x3dbeaf+'s)'),{'success':!![],'data':{'lock_token':_0x1e9665,'resource':_0x576b85,'locked_keys':_0x1e73da,'ttl':_0x3dbeaf,'owner':_0xb35e13,'acquired_at':new Date()[_0x5a45ed(0x171)]()}};}catch(_0x3c307c){try{const _0x38cc44=redisClient['getClient']();await this[_0x5a45ed(0x170)](_0x38cc44,_0x54808f,_0x1e9665);}catch(_0x3b69ed){logger[_0x5a45ed(0x180)]({'event':_0x2596b8[_0x5a45ed(0x174)],'error':_0x3b69ed['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger['error']({'event':_0x2596b8[_0x5a45ed(0x16b)],'resource':_0x576b85,'owner':_0xb35e13,'error':_0x3c307c[_0x5a45ed(0x14e)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x3c307c['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3c307c[_0x5a45ed(0x14e)]};}}async['releaseResourceLocks']({resource:_0x3da530,lockKeys:_0x3ff66e,lockToken:_0x4f1f97}){const _0x291869=a0_0x16ed4e,_0x3428ef={'TDkII':_0x291869(0x159)},_0x316037=this[_0x291869(0x156)]({'resource':_0x3da530,'lockKeys':_0x3ff66e,'lockToken':_0x4f1f97});if(!_0x316037['valid'])return{'success':![],'error':_0x316037['error']};try{const _0x4d5c2f=redisClient['getClient']();let _0x1e67c9=0x0;for(const {key:_0x4bf7d1,value:_0x441307}of _0x3ff66e){const _0x2b8510=this[_0x291869(0x17f)](_0x3da530,_0x4bf7d1,_0x441307),_0x30c061=await _0x4d5c2f['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2b8510,_0x4f1f97);_0x30c061===0x1&&_0x1e67c9++;}return logger[_0x291869(0x14c)]({'event':_0x3428ef['TDkII'],'resource':_0x3da530,'released_keys':_0x1e67c9,'total_keys':_0x3ff66e[_0x291869(0x148)],'owner':this['extractOwner'](_0x4f1f97)},'Resource\x20lock\x20released:\x20'+_0x3da530+'\x20('+_0x1e67c9+'/'+_0x3ff66e['length']+_0x291869(0x167)),{'success':!![],'data':{'resource':_0x3da530,'released_keys':_0x1e67c9,'total_keys':_0x3ff66e['length']}};}catch(_0x3ccbfc){return logger[_0x291869(0x180)]({'event':_0x291869(0x163),'resource':_0x3da530,'error':_0x3ccbfc['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x3ccbfc['message']),{'success':![],'error':_0x291869(0x14a)+_0x3ccbfc[_0x291869(0x14e)]};}}async['getResourceLockStatus']({resource:_0x58a7d9,lockKeys:_0x108b7a}){const _0x1a7e46=a0_0x16ed4e,_0x238e82={'sWGFX':function(_0x24eece,_0x294484){return _0x24eece===_0x294484;},'hULJG':function(_0x41fbac,_0x4a2c11){return _0x41fbac!==_0x4a2c11;},'lTHpo':'resource_lock_status_error'};if(!_0x58a7d9||!Array['isArray'](_0x108b7a)||_0x238e82[_0x1a7e46(0x15c)](_0x108b7a['length'],0x0))return{'success':![],'error':_0x1a7e46(0x15a)};try{const _0x4cf5d9=redisClient['getClient'](),_0x53f952=[];for(const {key:_0x5b1d20,value:_0x10b28b}of _0x108b7a){const _0x141f92=this['buildKey'](_0x58a7d9,_0x5b1d20,_0x10b28b),[_0x4847c7,_0x1b1b19]=await Promise[_0x1a7e46(0x15b)]([_0x4cf5d9['get'](_0x141f92),_0x4cf5d9['ttl'](_0x141f92)]),_0x181296=_0x238e82['hULJG'](_0x4847c7,null);_0x53f952[_0x1a7e46(0x17d)]({'key':_0x5b1d20,'value':_0x10b28b,'locked':_0x181296,'owner':_0x181296?this['extractOwner'](_0x4847c7):null,'ttl_remaining':_0x181296&&_0x1b1b19>0x0?_0x1b1b19:null});}return{'success':!![],'data':{'resource':_0x58a7d9,'keys':_0x53f952}};}catch(_0x349b42){return logger['error']({'event':_0x238e82['lTHpo'],'resource':_0x58a7d9,'error':_0x349b42['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x349b42[_0x1a7e46(0x14e)]),{'success':![],'error':_0x1a7e46(0x17c)+_0x349b42['message']};}}async[a0_0x16ed4e(0x170)](_0x1432ca,_0x52fa05,_0xca0f2d){const _0x3ebc30=a0_0x16ed4e;for(const _0x40aaaf of _0x52fa05){try{await _0x1432ca['eval'](RELEASE_LUA_SCRIPT,0x1,_0x40aaaf,_0xca0f2d);}catch(_0xe8847d){logger[_0x3ebc30(0x180)]({'event':_0x3ebc30(0x175),'key':_0x40aaaf,'error':_0xe8847d['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x40aaaf);}}}async['_getConflictInfo'](_0x35353d,_0x2ba16b){const _0x76f7f6=a0_0x16ed4e,_0x73cf1e={'MNqKL':'unknown'};try{const [_0x33f6c1,_0x129896]=await Promise[_0x76f7f6(0x15b)]([_0x35353d['get'](_0x2ba16b),_0x35353d['ttl'](_0x2ba16b)]);return{'owner':_0x33f6c1?this['extractOwner'](_0x33f6c1):_0x76f7f6(0x184),'ttlRemaining':_0x129896>0x0?_0x129896:null};}catch{return{'owner':_0x73cf1e[_0x76f7f6(0x147)],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x178d4a,lockKeys:_0x275e9a,ttl:_0x89af0f,owner:_0x5c5d0f}){const _0x2f44bf=a0_0x16ed4e,_0x24642b={'DXjzV':function(_0x39b0d4,_0x6a9f7b){return _0x39b0d4!==_0x6a9f7b;},'dVyTC':'string','NtASb':function(_0x3b3e60,_0x1429c2){return _0x3b3e60===_0x1429c2;},'sTKzy':_0x2f44bf(0x181),'pEBza':function(_0x5d2e67,_0x5e3461){return _0x5d2e67>_0x5e3461;},'gOcho':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','guZpg':function(_0x18cf50,_0x3cebab){return _0x18cf50<_0x3cebab;},'RbkFA':_0x2f44bf(0x177)};if(!_0x178d4a||_0x24642b['DXjzV'](typeof _0x178d4a,_0x24642b[_0x2f44bf(0x14f)]))return{'valid':![],'error':_0x2f44bf(0x16a)};if(!Array[_0x2f44bf(0x155)](_0x275e9a)||_0x24642b['NtASb'](_0x275e9a[_0x2f44bf(0x148)],0x0))return{'valid':![],'error':_0x24642b['sTKzy']};if(_0x24642b[_0x2f44bf(0x178)](_0x275e9a['length'],0x64))return{'valid':![],'error':_0x24642b['gOcho']};for(let _0x4f9865=0x0;_0x24642b[_0x2f44bf(0x14b)](_0x4f9865,_0x275e9a[_0x2f44bf(0x148)]);_0x4f9865++){const _0xee2f80=_0x275e9a[_0x4f9865];if(!_0xee2f80||!_0xee2f80[_0x2f44bf(0x168)]||!_0xee2f80['value'])return{'valid':![],'error':'lock_keys['+_0x4f9865+_0x2f44bf(0x157)};}if(!_0x89af0f||typeof _0x89af0f!=='number'||_0x89af0f<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x59031c=this[_0x2f44bf(0x17e)]();if(_0x24642b['pEBza'](_0x89af0f,_0x59031c))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x59031c+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x5c5d0f||_0x24642b['DXjzV'](typeof _0x5c5d0f,_0x24642b['dVyTC']))return{'valid':![],'error':_0x24642b[_0x2f44bf(0x182)]};return{'valid':!![]};}[a0_0x16ed4e(0x156)]({resource:_0x33b8c1,lockKeys:_0x20bc19,lockToken:_0x2e5872}){const _0xc2261c=a0_0x16ed4e,_0x49f3f8={'gFiNv':function(_0x505546,_0x21b68f){return _0x505546!==_0x21b68f;},'aoBeR':_0xc2261c(0x16c),'osHZL':_0xc2261c(0x16a),'taOzx':function(_0x505de2,_0x255171){return _0x505de2===_0x255171;}};if(!_0x33b8c1||_0x49f3f8['gFiNv'](typeof _0x33b8c1,_0x49f3f8[_0xc2261c(0x16d)]))return{'valid':![],'error':_0x49f3f8['osHZL']};if(!Array['isArray'](_0x20bc19)||_0x49f3f8['taOzx'](_0x20bc19[_0xc2261c(0x148)],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x1a246a=0x0;_0x1a246a<_0x20bc19['length'];_0x1a246a++){const _0x1f0c8f=_0x20bc19[_0x1a246a];if(!_0x1f0c8f||!_0x1f0c8f['key']||!_0x1f0c8f[_0xc2261c(0x16e)])return{'valid':![],'error':'lock_keys['+_0x1a246a+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x2e5872||typeof _0x2e5872!==_0x49f3f8['aoBeR'])return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x555a4f=a0_0x595a;(function(_0x2aba85,_0xa9f7f5){const _0x74c7b=a0_0x595a,_0x4c289b=_0x2aba85();while(!![]){try{const _0x1111c1=parseInt(_0x74c7b(0x1d8))/0x1+parseInt(_0x74c7b(0x1bb))/0x2*(-parseInt(_0x74c7b(0x1d1))/0x3)+parseInt(_0x74c7b(0x1c4))/0x4*(parseInt(_0x74c7b(0x186))/0x5)+parseInt(_0x74c7b(0x191))/0x6+-parseInt(_0x74c7b(0x1c7))/0x7+-parseInt(_0x74c7b(0x1cd))/0x8+parseInt(_0x74c7b(0x1ca))/0x9;if(_0x1111c1===_0xa9f7f5)break;else _0x4c289b['push'](_0x4c289b['shift']());}catch(_0x51d848){_0x4c289b['push'](_0x4c289b['shift']());}}}(a0_0x1b23,0xe4f5e));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x555a4f(0x199));class KafkaConsumerService{constructor(){const _0x1bfe07=a0_0x555a4f;this[_0x1bfe07(0x177)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this[_0x1bfe07(0x198)]=![],this[_0x1bfe07(0x17c)]=![],this[_0x1bfe07(0x1e1)]=null,this['subscribedTopics']=[],this[_0x1bfe07(0x1a3)]=null,this[_0x1bfe07(0x19d)]=null,this[_0x1bfe07(0x1eb)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x555a4f(0x1de)](){const _0x43564d=a0_0x555a4f,_0x5e85c7={'EihUA':_0x43564d(0x1c9),'PCSSN':'default','IDPUV':function(_0x5ee916,_0x15902e){return _0x5ee916(_0x15902e);},'eIJKB':_0x43564d(0x190),'rYdeF':_0x43564d(0x187),'tcMjW':'5000','eKygd':_0x43564d(0x1cb),'oNQZD':'warn'};return{'enabled':process['env'][_0x43564d(0x1db)]===_0x5e85c7[_0x43564d(0x17b)],'brokers':(process[_0x43564d(0x188)][_0x43564d(0x1ef)]||_0x43564d(0x1e6))['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x43564d(0x1f0)+(process[_0x43564d(0x188)]['RESTFORGE_PROJECT_NAME']||_0x5e85c7[_0x43564d(0x1ec)])+'-consumer','connectionTimeout':_0x5e85c7['IDPUV'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x5e85c7[_0x43564d(0x192)]),'requestTimeout':_0x5e85c7[_0x43564d(0x1ce)](parseInt,process[_0x43564d(0x188)]['KAFKA_REQUEST_TIMEOUT']||_0x5e85c7[_0x43564d(0x180)]),'sessionTimeout':parseInt(process['env'][_0x43564d(0x1b9)]||'30000'),'heartbeatInterval':_0x5e85c7['IDPUV'](parseInt,process[_0x43564d(0x188)][_0x43564d(0x1ac)]||_0x43564d(0x190)),'maxBytesPerPartition':_0x5e85c7['IDPUV'](parseInt,process['env'][_0x43564d(0x195)]||'1048576'),'autoCommit':process[_0x43564d(0x188)]['KAFKA_AUTO_COMMIT']===_0x43564d(0x1c9),'autoCommitInterval':parseInt(process['env'][_0x43564d(0x1d9)]||_0x5e85c7[_0x43564d(0x19f)]),'retryAttempts':_0x5e85c7[_0x43564d(0x1ce)](parseInt,process[_0x43564d(0x188)][_0x43564d(0x182)]||'3'),'retryDelay':parseInt(process[_0x43564d(0x188)][_0x43564d(0x19c)]||_0x5e85c7['eKygd']),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process[_0x43564d(0x188)]['KAFKA_LOG_LEVEL']||_0x5e85c7['oNQZD']};}['getLogLevel'](_0x2e5490){const _0x50fb5c=a0_0x555a4f,_0x2aefc7={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x50fb5c(0x1cf)],'info':logLevel[_0x50fb5c(0x181)],'debug':logLevel['DEBUG']};return _0x2aefc7[_0x2e5490[_0x50fb5c(0x1d4)]()]||logLevel['WARN'];}async[a0_0x555a4f(0x1c5)](_0x15cc5c={}){const _0x1a4097=a0_0x555a4f,_0x52a783={'EjMwD':function(_0x59a891,_0x2754ba){return _0x59a891===_0x2754ba;},'khOWl':'true','WKnEg':_0x1a4097(0x1a5),'fJrLW':function(_0x2d252e,_0x5ab641){return _0x2d252e(_0x5ab641);},'jwIFh':_0x1a4097(0x1c1)},_0x9423b5=this[_0x1a4097(0x1de)]();if(!_0x9423b5['enabled'])return console[_0x1a4097(0x18a)](_0x52a783['jwIFh']),![];if(this[_0x1a4097(0x17f)])return!![];if(this[_0x1a4097(0x185)]&&this[_0x1a4097(0x1e1)])return this['connectionPromise'];return this[_0x1a4097(0x185)]=!![],this['connectionPromise']=new Promise(async _0x21a6a2=>{const _0x198606=_0x1a4097;try{let _0x4f3787=undefined;_0x52a783['EjMwD'](process['env']['KAFKA_SSL'],_0x52a783['khOWl'])&&(_0x4f3787=!![]);let _0x2cf7ef=undefined;process[_0x198606(0x188)]['KAFKA_SASL_MECHANISM']&&(_0x2cf7ef={'mechanism':process[_0x198606(0x188)][_0x198606(0x1ed)],'username':process['env'][_0x198606(0x1e7)]||'','password':process['env'][_0x198606(0x1d7)]||''}),this[_0x198606(0x177)]=new Kafka({'clientId':_0x15cc5c[_0x198606(0x18e)]||_0x9423b5[_0x198606(0x18e)],'brokers':_0x9423b5[_0x198606(0x1d0)],'connectionTimeout':_0x9423b5['connectionTimeout'],'requestTimeout':_0x9423b5[_0x198606(0x1a0)],'logLevel':this['getLogLevel'](_0x9423b5['logLevel']),'ssl':_0x4f3787,'sasl':_0x2cf7ef,'retry':{'initialRetryTime':_0x9423b5['retryDelay'],'retries':_0x9423b5['retryAttempts'],'maxRetryTime':_0x9423b5[_0x198606(0x1b1)]}}),this['groupId']=_0x15cc5c['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x52a783['WKnEg'])+_0x198606(0x196),this['consumer']=this[_0x198606(0x177)][_0x198606(0x1b6)]({'groupId':this['groupId'],'sessionTimeout':_0x9423b5[_0x198606(0x189)],'heartbeatInterval':_0x9423b5[_0x198606(0x1ee)],'maxBytesPerPartition':_0x9423b5['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x198606(0x17f)]=!![],console[_0x198606(0x18a)](_0x198606(0x1b4)+_0x9423b5[_0x198606(0x1d0)]['join'](',\x20')+'\x20(groupId:\x20'+this[_0x198606(0x1a3)]+')'),this['setupEventHandlers'](),_0x21a6a2(!![]);}catch(_0xe8e49e){console[_0x198606(0x194)](_0x198606(0x176)+_0xe8e49e[_0x198606(0x1ab)]),this[_0x198606(0x17f)]=![],_0x52a783['fJrLW'](_0x21a6a2,![]);}finally{this['isInitializing']=![];}}),this[_0x1a4097(0x1e1)];}[a0_0x555a4f(0x1b0)](){const _0x6303e=a0_0x555a4f,_0x1b7417={'RjuMQ':_0x6303e(0x197),'OOQqQ':_0x6303e(0x1df),'JHZVk':_0x6303e(0x17e),'ybKoK':_0x6303e(0x179),'OhLsn':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x4712e9=_0x6303e;console[_0x4712e9(0x18a)](_0x1b7417['RjuMQ']),this['isConnected']=![],this['isRunning']=![];}),this[_0x6303e(0x1b6)]['on'](_0x1b7417['ybKoK'],()=>{const _0x28f30c=_0x6303e;console[_0x28f30c(0x18a)](_0x1b7417[_0x28f30c(0x1b2)]),this[_0x28f30c(0x198)]=![];}),this[_0x6303e(0x1b6)]['on'](_0x1b7417['OhLsn'],_0xbb735c=>{const _0x152440=_0x6303e;console[_0x152440(0x194)](_0x152440(0x1bf)+_0xbb735c['payload'][_0x152440(0x194)][_0x152440(0x1ab)]),this[_0x152440(0x198)]=![];}),this['consumer']['on'](_0x6303e(0x1cc),()=>{const _0x48fbb5=_0x6303e;console['log'](_0x1b7417[_0x48fbb5(0x1d6)]);});}async['subscribe'](_0x499020,_0x28d0f1=![]){const _0x2b6815=a0_0x555a4f;if(!this['isConnected'])return console['error'](_0x2b6815(0x1d3)),![];try{const _0x321f52=Array[_0x2b6815(0x1be)](_0x499020)?_0x499020:[_0x499020];for(const _0x748768 of _0x321f52){await this['consumer']['subscribe']({'topic':_0x748768,'fromBeginning':_0x28d0f1}),console['log'](_0x2b6815(0x1e8)+_0x748768+'\x20(fromBeginning:\x20'+_0x28d0f1+')');}return this[_0x2b6815(0x1b8)]=[...new Set([...this['subscribedTopics'],..._0x321f52])],!![];}catch(_0x4017cd){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x4017cd[_0x2b6815(0x1ab)]),![];}}async['startConsuming'](_0x51c3d7,_0x537f42={}){const _0x4dd900=a0_0x555a4f,_0x57598b={'MAgfL':function(_0x4d1b92,_0x22180c){return _0x4d1b92(_0x22180c);},'beedC':function(_0x3af397,_0x9d88dc){return _0x3af397-_0x9d88dc;},'swfTn':function(_0x5a75d1){return _0x5a75d1();},'AQpRq':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','RPJnf':'[KafkaConsumer]\x20Consumer\x20already\x20running','jPESK':function(_0x4ed309,_0x3e299a){return _0x4ed309!==_0x3e299a;}};if(!this['isConnected'])return console['error'](_0x57598b['AQpRq']),![];if(this[_0x4dd900(0x198)])return console['log'](_0x57598b['RPJnf']),!![];const _0x1fe2c1=this[_0x4dd900(0x1de)]();this[_0x4dd900(0x19d)]=_0x51c3d7;try{return this[_0x4dd900(0x1eb)]['startTime']=new Date(),await this[_0x4dd900(0x1b6)][_0x4dd900(0x17d)]({'autoCommit':_0x57598b['jPESK'](_0x537f42['autoCommit'],undefined)?_0x537f42['autoCommit']:_0x1fe2c1['autoCommit'],'autoCommitInterval':_0x1fe2c1[_0x4dd900(0x18b)],'eachMessage':async({topic:_0x2c0b0c,partition:_0x2fb690,message:_0x30e6ed,heartbeat:_0x3a196e})=>{const _0x5245c0=_0x4dd900,_0x30222=Date['now']();this[_0x5245c0(0x1eb)]['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x48ab36=_0x30e6ed['value']?_0x30e6ed[_0x5245c0(0x1ea)][_0x5245c0(0x1a4)]():null;let _0x50d987=null;try{_0x50d987=_0x48ab36?JSON['parse'](_0x48ab36):null;}catch(_0x57c25f){_0x50d987=_0x48ab36;}const _0x5aa8f9={'topic':_0x2c0b0c,'partition':_0x2fb690,'offset':_0x30e6ed[_0x5245c0(0x193)],'key':_0x30e6ed[_0x5245c0(0x1e4)]?_0x30e6ed[_0x5245c0(0x1e4)]['toString']():null,'headers':this['parseHeaders'](_0x30e6ed[_0x5245c0(0x1b7)]),'timestamp':_0x30e6ed['timestamp'],'value':_0x50d987,'raw':_0x48ab36};this['messageHandler']&&await this[_0x5245c0(0x19d)](_0x5aa8f9);!_0x1fe2c1[_0x5245c0(0x1a8)]&&await this['consumer'][_0x5245c0(0x183)]([{'topic':_0x2c0b0c,'partition':_0x2fb690,'offset':(_0x57598b[_0x5245c0(0x1ae)](parseInt,_0x30e6ed[_0x5245c0(0x193)])+0x1)[_0x5245c0(0x1a4)]()}]);this['metrics']['messagesProcessed']++;const _0xc25067=_0x57598b[_0x5245c0(0x1e3)](Date['now'](),_0x30222);this['metrics'][_0x5245c0(0x178)][_0x5245c0(0x19e)](_0xc25067),this[_0x5245c0(0x1eb)]['processingTimes']['length']>0x64&&this[_0x5245c0(0x1eb)][_0x5245c0(0x178)]['shift'](),await _0x57598b[_0x5245c0(0x18f)](_0x3a196e);}catch(_0x1a98e6){this['metrics']['messagesFailed']++,console['error'](_0x5245c0(0x1ad)+_0x1a98e6['message']);throw _0x1a98e6;}}}),this['isRunning']=!![],console['log'](_0x4dd900(0x1bd)+this[_0x4dd900(0x1b8)]['join'](',\x20')),!![];}catch(_0x38e53b){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x38e53b['message']),![];}}['parseHeaders'](_0x1f8feb){const _0x1999eb=a0_0x555a4f;if(!_0x1f8feb)return{};const _0x51878b={};for(const [_0x810276,_0x50f623]of Object[_0x1999eb(0x19a)](_0x1f8feb)){_0x51878b[_0x810276]=_0x50f623?_0x50f623[_0x1999eb(0x1a4)]():null;}return _0x51878b;}async[a0_0x555a4f(0x1c0)](){const _0x37a742=a0_0x555a4f,_0x1ef254={'ajgJb':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','IERTx':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x37a742(0x18a)](_0x1ef254[_0x37a742(0x1c2)]),![];if(this[_0x37a742(0x17c)])return console['log'](_0x1ef254['IERTx']),!![];try{const _0x30c128=this[_0x37a742(0x1b8)][_0x37a742(0x18c)](_0x34c201=>({'topic':_0x34c201}));return this[_0x37a742(0x1b6)][_0x37a742(0x1c0)](_0x30c128),this[_0x37a742(0x17c)]=!![],console['log'](_0x37a742(0x1e9)),!![];}catch(_0x35ac4f){return console[_0x37a742(0x194)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x35ac4f['message']),![];}}async['resume'](){const _0x2da246=a0_0x555a4f,_0x4114fe={'tvBQk':_0x2da246(0x1da)};if(!this['isConnected']||!this[_0x2da246(0x198)])return console[_0x2da246(0x18a)]('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this['isPaused'])return console[_0x2da246(0x18a)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x59cc9a=this[_0x2da246(0x1b8)][_0x2da246(0x18c)](_0x6908fa=>({'topic':_0x6908fa}));return this[_0x2da246(0x1b6)][_0x2da246(0x1dc)](_0x59cc9a),this[_0x2da246(0x17c)]=![],console[_0x2da246(0x18a)](_0x4114fe['tvBQk']),!![];}catch(_0x413558){return console[_0x2da246(0x194)](_0x2da246(0x1af)+_0x413558[_0x2da246(0x1ab)]),![];}}async[a0_0x555a4f(0x19b)](){const _0x1f906e=a0_0x555a4f,_0x11674c={'JTotY':'0|2|3|5|4|1'};if(!this[_0x1f906e(0x17f)])return console[_0x1f906e(0x18a)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x5b3da6=_0x11674c['JTotY']['split']('|');let _0x19bad3=0x0;while(!![]){switch(_0x5b3da6[_0x19bad3++]){case'0':this['consumer']&&(await this['consumer'][_0x1f906e(0x19b)](),await this[_0x1f906e(0x1b6)]['disconnect']());continue;case'1':return!![];case'2':this['isConnected']=![];continue;case'3':this[_0x1f906e(0x198)]=![];continue;case'4':console[_0x1f906e(0x18a)](_0x1f906e(0x1aa));continue;case'5':this[_0x1f906e(0x17c)]=![];continue;}break;}}catch(_0x119240){return console['error'](_0x1f906e(0x175)+_0x119240[_0x1f906e(0x1ab)]),![];}}async['seekToOffset'](_0x3ab68d,_0x20f685,_0x1fc4cc){const _0x447d4b=a0_0x555a4f,_0x236dc7={'bNUFw':_0x447d4b(0x1a2)};if(!this[_0x447d4b(0x17f)])return console[_0x447d4b(0x194)](_0x236dc7[_0x447d4b(0x1c3)]),![];try{return this['consumer']['seek']({'topic':_0x3ab68d,'partition':_0x20f685,'offset':_0x1fc4cc['toString']()}),console[_0x447d4b(0x18a)](_0x447d4b(0x1a6)+_0x1fc4cc+'\x20on\x20'+_0x3ab68d+':'+_0x20f685),!![];}catch(_0x593e15){return console[_0x447d4b(0x194)](_0x447d4b(0x1f1)+_0x593e15['message']),![];}}['getStatus'](){const _0x4d9482=a0_0x555a4f,_0x3c78f=this[_0x4d9482(0x1de)]();return{'enabled':_0x3c78f[_0x4d9482(0x17a)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0x4d9482(0x17c)],'brokers':_0x3c78f['brokers'],'clientId':_0x3c78f[_0x4d9482(0x18e)],'groupId':this[_0x4d9482(0x1a3)],'subscribedTopics':this[_0x4d9482(0x1b8)]};}['getMetrics'](){const _0x3c4a69=a0_0x555a4f,_0xdcd201={'hiQlO':function(_0x1f3a07,_0x5f4de9){return _0x1f3a07>_0x5f4de9;},'jAbQs':function(_0x1e789c,_0xcd288b){return _0x1e789c>_0xcd288b;},'NVgBK':function(_0x462163,_0x48b5ad){return _0x462163+_0x48b5ad;},'gCzpT':function(_0xa0fd69,_0x193cae){return _0xa0fd69+_0x193cae;},'dMNQW':function(_0x6f020f,_0x1442b7){return _0x6f020f/_0x1442b7;},'EagmE':function(_0x209ee5,_0x1ebc37){return _0x209ee5-_0x1ebc37;}},_0x5607f4=this['metrics'][_0x3c4a69(0x178)][_0x3c4a69(0x184)]>0x0?this['metrics']['processingTimes']['reduce']((_0x198be1,_0x2c4269)=>_0x198be1+_0x2c4269,0x0)/this[_0x3c4a69(0x1eb)][_0x3c4a69(0x178)][_0x3c4a69(0x184)]:0x0,_0xe7ad38=_0xdcd201[_0x3c4a69(0x1d5)](this['metrics'][_0x3c4a69(0x178)]['length'],0x0)?Math[_0x3c4a69(0x1a7)](...this['metrics'][_0x3c4a69(0x178)]):0x0,_0x4435b1=this[_0x3c4a69(0x1eb)]['processingTimes']['length']>0x0?Math['max'](...this[_0x3c4a69(0x1eb)][_0x3c4a69(0x178)]):0x0;return{'messagesReceived':this[_0x3c4a69(0x1eb)][_0x3c4a69(0x1ba)],'messagesProcessed':this['metrics'][_0x3c4a69(0x1c8)],'messagesFailed':this['metrics'][_0x3c4a69(0x1c6)],'successRate':_0xdcd201[_0x3c4a69(0x1b3)](this[_0x3c4a69(0x1eb)]['messagesReceived'],0x0)?_0xdcd201[_0x3c4a69(0x1d2)]((this[_0x3c4a69(0x1eb)]['messagesProcessed']/this[_0x3c4a69(0x1eb)][_0x3c4a69(0x1ba)]*0x64)[_0x3c4a69(0x1e2)](0x2),'%'):'0%','lastMessageTime':this[_0x3c4a69(0x1eb)]['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0xdcd201['gCzpT'](Math[_0x3c4a69(0x1dd)](_0xdcd201[_0x3c4a69(0x1a9)](_0xdcd201['EagmE'](Date[_0x3c4a69(0x1e0)](),this[_0x3c4a69(0x1eb)][_0x3c4a69(0x1e5)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0xdcd201['NVgBK'](Math[_0x3c4a69(0x1b5)](_0x5607f4),'ms'),'min':_0xdcd201['NVgBK'](_0xe7ad38,'ms'),'max':_0xdcd201[_0x3c4a69(0x1d2)](_0x4435b1,'ms')}};}['resetMetrics'](){const _0x53c431=a0_0x555a4f;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x53c431(0x1bc));}async[a0_0x555a4f(0x1a1)](){const _0x337e1b=a0_0x555a4f;await this[_0x337e1b(0x19b)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x49dc77=a0_0x555a4f;instance&&(instance[_0x49dc77(0x1a1)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x1b23(){const _0x2faf2e=['DxvPza','zw50CMLLCW','C3rVCa','s0fgs0fFuKvuuLLFrevmqvK','BwvZC2fNzuHHBMrSzxi','ChvZAa','DgnnALC','CMvXDwvZDfrPBwvVDxq','y2XVC2u','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','z3jVDxbjza','Dg9tDhjPBMC','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwLU','yxv0B0nVBw1PDa','ze1ouvC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','BwvZC2fNzq','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','tufNzKW','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','C2v0DxbfDMvUDeHHBMrSzxjZ','CMv0CNLnyxHezwXHEq','t09rCve','AKfIuxm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','CM91BMq','y29UC3vTzxi','AgvHzgvYCW','C3vIC2nYAwjLzfrVCgLJCW','s0fgs0fFu0vtu0LptL9usu1ft1vu','BwvZC2fNzxnszwnLAxzLza','mtmWEKHlrxrm','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','AxnbCNjHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','Cgf1C2u','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','ywPNsMi','yK5vrNC','ndu2qwnWAer6','Aw5PDgLHBgL6zq','BwvZC2fNzxngywLSzwq','nJCWnJKXmgjZsM1xrq','BwvZC2fNzxnqCM9JzxnZzwq','Dhj1zq','mty1oduYmeLfqwHOqW','mtaWma','y29UC3vTzxiUCMvIywXHBMnPBMC','mtm0mde1nJHYD1nWqLe','surqvvy','v0fstG','yNjVA2vYCW','nZu4nZLSEhP6tKO','tLzNqKS','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','Dg9mB3DLCKnHC2u','AgLrBe8','sKHAvMS','s0fgs0fFu0fttf9qqvntv09sra','mtC0nZC0nhrAEgvJsG','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','s0fgs0fFru5bqKXfra','CMvZDw1L','zMXVB3i','z2v0q29UzMLN','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','BM93','y29UBMvJDgLVBLbYB21PC2u','Dg9gAxHLza','yMvLzem','A2v5','C3rHCNruAw1L','Bg9JywXOB3n0oJKWoti','s0fgs0fFu0fttf9vu0vstKfnrq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','DMfSDwu','Bwv0CMLJCW','uentu04','s0fgs0fFu0fttf9nruniqu5ju00','AgvHCNrIzwf0sw50zxj2ywW','s0fgs0fFqLjps0vsuW','CMvZDgzVCMDLlq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','A2fMA2e','ChjVy2vZC2LUz1rPBwvZ','y29UC3vTzxiUC3rVCa','zw5HyMXLza','rwLOvue','AxnqyxvZzwq','CNvU','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','AxndB25Uzwn0zwq','CLLKzuy','su5gtW','s0fgs0fFuKvuuLLFqvruru1qvfm','y29TBwL0t2zMC2v0CW','BgvUz3rO','AxnjBML0AwfSAxPPBMC','nZi1nJvyAvPMB1y','mJuWmda','zw52','C2vZC2LVBLrPBwvVDxq','Bg9N','yxv0B0nVBw1PDeLUDgvYDMfS','BwfW','zxHWB3j0CW','y2XPzw50swq','C3DMvg4','mZaWma','otC3mJeYmLbdAuzMBW','zuLks0i','B2zMC2v0','zxjYB3i','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','lwnVBNn1BwvYlwDYB3vW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','AxnsDw5UAw5N'];a0_0x1b23=function(){return _0x2faf2e;};return a0_0x1b23();}function a0_0x595a(_0x47399f,_0x506ae7){_0x47399f=_0x47399f-0x175;const _0x1b23df=a0_0x1b23();let _0x595a45=_0x1b23df[_0x47399f];if(a0_0x595a['IzMTFI']===undefined){var _0x2f80c0=function(_0x5b32b1){const _0xb147c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37ead3='',_0x1ad897='';for(let _0x55ebcb=0x0,_0x3d71cb,_0x2e393a,_0x294605=0x0;_0x2e393a=_0x5b32b1['charAt'](_0x294605++);~_0x2e393a&&(_0x3d71cb=_0x55ebcb%0x4?_0x3d71cb*0x40+_0x2e393a:_0x2e393a,_0x55ebcb++%0x4)?_0x37ead3+=String['fromCharCode'](0xff&_0x3d71cb>>(-0x2*_0x55ebcb&0x6)):0x0){_0x2e393a=_0xb147c9['indexOf'](_0x2e393a);}for(let _0x2b11cb=0x0,_0x254e34=_0x37ead3['length'];_0x2b11cb<_0x254e34;_0x2b11cb++){_0x1ad897+='%'+('00'+_0x37ead3['charCodeAt'](_0x2b11cb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ad897);};a0_0x595a['gVwzDx']=_0x2f80c0,a0_0x595a['tjzXjG']={},a0_0x595a['IzMTFI']=!![];}const _0x11c29f=_0x1b23df[0x0],_0x4fd2fc=_0x47399f+_0x11c29f,_0x2816aa=a0_0x595a['tjzXjG'][_0x4fd2fc];return!_0x2816aa?(_0x595a45=a0_0x595a['gVwzDx'](_0x595a45),a0_0x595a['tjzXjG'][_0x4fd2fc]=_0x595a45):_0x595a45=_0x2816aa,_0x595a45;}module[a0_0x555a4f(0x18d)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
function a0_0x537a(_0x55cade,_0x3107df){_0x55cade=_0x55cade-0x13b;const _0x2d517d=a0_0x2d51();let _0x537a86=_0x2d517d[_0x55cade];if(a0_0x537a['MoAzTg']===undefined){var _0x4b0574=function(_0x31d8c3){const _0x5875c8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x463d16='',_0x12a7da='';for(let _0x56c684=0x0,_0x19aa4d,_0x4c5a4c,_0x227a87=0x0;_0x4c5a4c=_0x31d8c3['charAt'](_0x227a87++);~_0x4c5a4c&&(_0x19aa4d=_0x56c684%0x4?_0x19aa4d*0x40+_0x4c5a4c:_0x4c5a4c,_0x56c684++%0x4)?_0x463d16+=String['fromCharCode'](0xff&_0x19aa4d>>(-0x2*_0x56c684&0x6)):0x0){_0x4c5a4c=_0x5875c8['indexOf'](_0x4c5a4c);}for(let _0x2f8d82=0x0,_0x3aef22=_0x463d16['length'];_0x2f8d82<_0x3aef22;_0x2f8d82++){_0x12a7da+='%'+('00'+_0x463d16['charCodeAt'](_0x2f8d82)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12a7da);};a0_0x537a['PFEAhq']=_0x4b0574,a0_0x537a['QyOCKD']={},a0_0x537a['MoAzTg']=!![];}const _0x3dfe62=_0x2d517d[0x0],_0x3bc3b4=_0x55cade+_0x3dfe62,_0x3162f4=a0_0x537a['QyOCKD'][_0x3bc3b4];return!_0x3162f4?(_0x537a86=a0_0x537a['PFEAhq'](_0x537a86),a0_0x537a['QyOCKD'][_0x3bc3b4]=_0x537a86):_0x537a86=_0x3162f4,_0x537a86;}const a0_0x4b0507=a0_0x537a;(function(_0x3eca08,_0x97116a){const _0x40720f=a0_0x537a,_0x4b94f9=_0x3eca08();while(!![]){try{const _0x234728=parseInt(_0x40720f(0x1ae))/0x1*(parseInt(_0x40720f(0x156))/0x2)+parseInt(_0x40720f(0x19c))/0x3*(parseInt(_0x40720f(0x17b))/0x4)+-parseInt(_0x40720f(0x161))/0x5*(parseInt(_0x40720f(0x150))/0x6)+-parseInt(_0x40720f(0x1a5))/0x7*(-parseInt(_0x40720f(0x162))/0x8)+parseInt(_0x40720f(0x15c))/0x9*(-parseInt(_0x40720f(0x1a3))/0xa)+-parseInt(_0x40720f(0x174))/0xb+-parseInt(_0x40720f(0x18b))/0xc*(parseInt(_0x40720f(0x1a8))/0xd);if(_0x234728===_0x97116a)break;else _0x4b94f9['push'](_0x4b94f9['shift']());}catch(_0x5ae8c4){_0x4b94f9['push'](_0x4b94f9['shift']());}}}(a0_0x2d51,0x7179c));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x2d51(){const _0x59eca1=['mZaWmda','AxnqyxvZzwq','y29UC3vTzxi','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFu0fttf9qqvntv09sra','z2v0q29UzMLN','yxv0B0nVBw1PDa','C3rHCNruAw1L','BwvZC2fNzq','z2v0tg9Ntgv2zwW','y2XPzw50swq','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','ndaZmNznvLLmwG','Bg9JywXOB3n0oJKWoti','su5gtW','AM9PBG','CMvKDwnL','BgvUz3rO','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','BwvZC2fNzxngywLSzwq','AxndB25Uzwn0zwq','DMfSDwu','thzJuxG','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','s0fgs0fFqvvut19dt01nsvq','zw52','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','ntDVBwXLBhy','v0fstG','C3rVCa','zw50CMLLCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','BM93','yNjVA2vYCW','odmZnZbkyNzuvgq','tK9useLorW','odGXm0Lfv2P0tq','C3rHCNrdB25ZDw1PBMC','z3LNzMS','otGXnw9XDejyzW','BwfW','Cgf5Bg9Hza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','C3vIC2nYAwjLzfrVCgLJCW','AgvHCNrIzwf0sw50zxj2ywW','nhnPze1VAG','zxjYB3i','lwnVBNn1BwvYlwDYB3vW','ChjVy2vZC2LUz1rPBwvZ','C3vIC2nYAwjL','icHMCM9TqMvNAw5UAw5NoIa','s0fgs0fFu0fttf9vu0vstKfnrq','A2fMA2e','y2rfwLO','y2XVC2u','BK52thm','CMvZDgzVCMDLlq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','AxnsDw5UAw5N','AvPHA3u','s0fgs0fFru5bqKXfra','s0fgs0fFuKvuuLLFrevmqvK','z2v0vgLTzq','Dg9tDhjPBMC','CMvZzxrnzxrYAwnZ','rvjst1i','y29UC3vTzxiUCMvIywXHBMnPBMC','y1nSveC','DM1VB1u','D2fYBG','Bwf4qNL0zxnqzxjqyxj0AxrPB24','Dg9mB3DLCKnHC2u','CMv0CNLbDhrLBxb0CW','C3bSAxq','DgLTzxn0yw1W','mJuWmda','t05AAhi','ChvZAa','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','uhfgqLq','nLDirvHvwq','swTdy3K','s0fgs0fFq0Xjru5ux0Le','y29TBwL0t2zMC2v0CW','EMLkA2C','rhbZELq','ndm3ndK0z21xv3jj','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','B2zMC2v0','zgvMyxvSDa','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Ew5fz3u','nJnswuDQrxm','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','revcvuC','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','mJG4mtq1meLfwvrZqG','mZe2oeDkB0vbDa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','mZaWma','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','y29UC3vTzxiUy3jHC2G','BwvZC2fNzxnqCM9JzxnZzwq','AxnjBML0AwfSAxPPBMC','s0fgs0fFu1nm','Dhj1zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFuKvuuLLFtufyx0rftefz','z2v0u3rHDhvZ','mta0odu3nG','z3jVDxbjza','CgfYC2u','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','CMvZDw1L','y29UBMvJDgLVBLbYB21PC2u','mJiWntGWogPYDMfdyW','DLrSrNe','zMXVB3i','BwvZC2fNzxnszwnLAxzLza','C2vLA1rVt2zMC2v0','Cgf1C2u','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','mZC5mtz1EurQq1K','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','BwvZC2fNzuHHBMrSzxi'];a0_0x2d51=function(){return _0x59eca1;};return a0_0x2d51();}class KafkaConsumerService{constructor(){const _0x40c3a4=a0_0x537a;this['kafka']=null,this[_0x40c3a4(0x181)]=null,this[_0x40c3a4(0x194)]=![],this[_0x40c3a4(0x168)]=![],this['isRunning']=![],this['isPaused']=![],this[_0x40c3a4(0x173)]=null,this[_0x40c3a4(0x1ac)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x36f52c=a0_0x537a,_0x1dde0c={'ONZhr':function(_0x2d361a,_0x3b3cc3){return _0x2d361a===_0x3b3cc3;},'LvcQx':_0x36f52c(0x164),'vmooU':function(_0x3cfc40,_0x46a01a){return _0x3cfc40(_0x46a01a);},'meHME':_0x36f52c(0x14a),'VJBgz':function(_0xefe347,_0x3565b8){return _0xefe347(_0x3565b8);},'HGfgf':'true','ziJkg':'5000','vTlFq':_0x36f52c(0x17f)};return{'enabled':_0x1dde0c[_0x36f52c(0x14b)](process[_0x36f52c(0x19a)][_0x36f52c(0x13b)],_0x36f52c(0x16a)),'brokers':(process['env']['KAFKA_BROKERS']||_0x36f52c(0x18c))['split'](','),'clientId':process['env'][_0x36f52c(0x152)]||'restforge-'+(process[_0x36f52c(0x19a)]['RESTFORGE_PROJECT_NAME']||_0x36f52c(0x159))+'-consumer','connectionTimeout':parseInt(process['env'][_0x36f52c(0x15a)]||_0x1dde0c[_0x36f52c(0x196)]),'requestTimeout':_0x1dde0c[_0x36f52c(0x143)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x1dde0c['meHME']),'sessionTimeout':_0x1dde0c['vmooU'](parseInt,process[_0x36f52c(0x19a)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0x1dde0c['VJBgz'](parseInt,process[_0x36f52c(0x19a)]['KAFKA_HEARTBEAT_INTERVAL']||_0x1dde0c['LvcQx']),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x36f52c(0x16e)),'autoCommit':process[_0x36f52c(0x19a)][_0x36f52c(0x199)]===_0x1dde0c['HGfgf'],'autoCommitInterval':parseInt(process[_0x36f52c(0x19a)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x1dde0c[_0x36f52c(0x154)]),'retryAttempts':parseInt(process[_0x36f52c(0x19a)][_0x36f52c(0x182)]||'3'),'retryDelay':parseInt(process['env'][_0x36f52c(0x13c)]||'1000'),'retryMaxDelay':parseInt(process[_0x36f52c(0x19a)][_0x36f52c(0x16c)]||_0x1dde0c[_0x36f52c(0x175)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x36f52c(0x144)};}[a0_0x4b0507(0x188)](_0x3fa51d){const _0xfcdd29=a0_0x4b0507,_0x2abe98={'nothing':logLevel[_0xfcdd29(0x1a4)],'error':logLevel[_0xfcdd29(0x140)],'warn':logLevel[_0xfcdd29(0x19d)],'info':logLevel[_0xfcdd29(0x18d)],'debug':logLevel[_0xfcdd29(0x15f)]};return _0x2abe98[_0x3fa51d[_0xfcdd29(0x146)]()]||logLevel[_0xfcdd29(0x19d)];}async['initialize'](_0x29562d={}){const _0x587fa6=a0_0x4b0507,_0x361d12={'DpszT':function(_0x6c34d6,_0x2d27e6){return _0x6c34d6===_0x2d27e6;},'ohcXZ':_0x587fa6(0x16a),'cSlTG':_0x587fa6(0x17a)},_0x2b88ea=this['getConfig']();if(!_0x2b88ea['enabled'])return console['log'](_0x361d12[_0x587fa6(0x142)]),![];if(this['isConnected'])return!![];if(this[_0x587fa6(0x168)]&&this['connectionPromise'])return this['connectionPromise'];return this[_0x587fa6(0x168)]=!![],this[_0x587fa6(0x173)]=new Promise(async _0x2d8caf=>{const _0x33cf81=_0x587fa6;try{let _0x5a7bbe=undefined;_0x361d12[_0x33cf81(0x155)](process[_0x33cf81(0x19a)][_0x33cf81(0x169)],_0x361d12['ohcXZ'])&&(_0x5a7bbe=!![]);let _0x24e4ca=undefined;process[_0x33cf81(0x19a)]['KAFKA_SASL_MECHANISM']&&(_0x24e4ca={'mechanism':process[_0x33cf81(0x19a)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x33cf81(0x1b4)]||'','password':process[_0x33cf81(0x19a)][_0x33cf81(0x183)]||''}),this[_0x33cf81(0x1b5)]=new Kafka({'clientId':_0x29562d[_0x33cf81(0x189)]||_0x2b88ea[_0x33cf81(0x189)],'brokers':_0x2b88ea['brokers'],'connectionTimeout':_0x2b88ea[_0x33cf81(0x197)],'requestTimeout':_0x2b88ea['requestTimeout'],'logLevel':this['getLogLevel'](_0x2b88ea['logLevel']),'ssl':_0x5a7bbe,'sasl':_0x24e4ca,'retry':{'initialRetryTime':_0x2b88ea['retryDelay'],'retries':_0x2b88ea[_0x33cf81(0x147)],'maxRetryTime':_0x2b88ea['retryMaxDelay']}}),this[_0x33cf81(0x16f)]=_0x29562d['groupId']||_0x33cf81(0x1b9)+(process[_0x33cf81(0x19a)]['RESTFORGE_PROJECT_NAME']||'default')+_0x33cf81(0x1b0),this[_0x33cf81(0x181)]=this['kafka'][_0x33cf81(0x181)]({'groupId':this[_0x33cf81(0x16f)],'sessionTimeout':_0x2b88ea['sessionTimeout'],'heartbeatInterval':_0x2b88ea[_0x33cf81(0x1ad)],'maxBytesPerPartition':_0x2b88ea[_0x33cf81(0x145)],'allowAutoTopicCreation':![]}),await this[_0x33cf81(0x181)]['connect'](),this['isConnected']=!![],console[_0x33cf81(0x14d)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2b88ea[_0x33cf81(0x1a2)]['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x2d8caf(!![]);}catch(_0x4e938f){console['error'](_0x33cf81(0x171)+_0x4e938f['message']),this['isConnected']=![],_0x2d8caf(![]);}finally{this['isInitializing']=![];}}),this[_0x587fa6(0x173)];}[a0_0x4b0507(0x191)](){const _0x138df4=a0_0x4b0507,_0x4c8d26={'pJsth':'consumer.disconnect','PjcsO':'consumer.stop','MvPZa':_0x138df4(0x166)};if(!this['consumer'])return;this['consumer']['on'](_0x4c8d26['pJsth'],()=>{const _0xc5d29b=_0x138df4;console[_0xc5d29b(0x14d)](_0xc5d29b(0x15e)),this['isConnected']=![],this[_0xc5d29b(0x1bb)]=![];}),this[_0x138df4(0x181)]['on'](_0x4c8d26['PjcsO'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this['consumer']['on'](_0x4c8d26['MvPZa'],_0x51081b=>{const _0x2a55f4=_0x138df4;console[_0x2a55f4(0x1af)](_0x2a55f4(0x165)+_0x51081b[_0x2a55f4(0x1aa)][_0x2a55f4(0x1af)][_0x2a55f4(0x187)]),this[_0x2a55f4(0x1bb)]=![];}),this['consumer']['on'](_0x138df4(0x141),()=>{const _0x30a068=_0x138df4;console[_0x30a068(0x14d)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4b0507(0x1b2)](_0x36dea6,_0x57337a=![]){const _0x12f3a2=a0_0x4b0507;if(!this['isConnected'])return console[_0x12f3a2(0x1af)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x137dca=Array['isArray'](_0x36dea6)?_0x36dea6:[_0x36dea6];for(const _0x125131 of _0x137dca){await this['consumer']['subscribe']({'topic':_0x125131,'fromBeginning':_0x57337a}),console[_0x12f3a2(0x14d)](_0x12f3a2(0x1ab)+_0x125131+_0x12f3a2(0x1b3)+_0x57337a+')');}return this[_0x12f3a2(0x1ac)]=[...new Set([...this[_0x12f3a2(0x1ac)],..._0x137dca])],!![];}catch(_0x4465a6){return console[_0x12f3a2(0x1af)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x4465a6['message']),![];}}async[a0_0x4b0507(0x1a6)](_0x183f6b,_0x4e953d={}){const _0x3594c0=a0_0x4b0507,_0x27eb70={'ycIGy':function(_0x574a1d,_0x11647d){return _0x574a1d+_0x11647d;},'PMCFP':function(_0x25638a,_0x420d18){return _0x25638a(_0x420d18);},'CRDty':function(_0x3f2838,_0x299e09){return _0x3f2838>_0x299e09;},'HsdrA':function(_0xe3ba38){return _0xe3ba38();},'GrXQM':_0x3594c0(0x17d),'NsXxh':_0x3594c0(0x1ba)};if(!this[_0x3594c0(0x194)])return console['error'](_0x27eb70['GrXQM']),![];if(this['isRunning'])return console['log'](_0x27eb70['NsXxh']),!![];const _0x3eeee4=this[_0x3594c0(0x184)]();this[_0x3594c0(0x17e)]=_0x183f6b;try{return this[_0x3594c0(0x17c)]['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x4e953d[_0x3594c0(0x185)]!==undefined?_0x4e953d['autoCommit']:_0x3eeee4[_0x3594c0(0x185)],'autoCommitInterval':_0x3eeee4['autoCommitInterval'],'eachMessage':async({topic:_0x4e0562,partition:_0x4a2eb8,message:_0x2fb03e,heartbeat:_0x48ad9f})=>{const _0x10b0b5=_0x3594c0,_0xe2e5e6=Date[_0x10b0b5(0x1a1)]();this['metrics'][_0x10b0b5(0x177)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x241bcd=_0x2fb03e[_0x10b0b5(0x195)]?_0x2fb03e['value']['toString']():null;let _0x20184=null;try{_0x20184=_0x241bcd?JSON[_0x10b0b5(0x170)](_0x241bcd):null;}catch(_0x1b4d17){_0x20184=_0x241bcd;}const _0x4c6975={'topic':_0x4e0562,'partition':_0x4a2eb8,'offset':_0x2fb03e[_0x10b0b5(0x158)],'key':_0x2fb03e['key']?_0x2fb03e['key'][_0x10b0b5(0x13e)]():null,'headers':this[_0x10b0b5(0x15d)](_0x2fb03e['headers']),'timestamp':_0x2fb03e[_0x10b0b5(0x149)],'value':_0x20184,'raw':_0x241bcd};this['messageHandler']&&await this[_0x10b0b5(0x17e)](_0x4c6975);!_0x3eeee4[_0x10b0b5(0x185)]&&await this[_0x10b0b5(0x181)][_0x10b0b5(0x153)]([{'topic':_0x4e0562,'partition':_0x4a2eb8,'offset':_0x27eb70['ycIGy'](_0x27eb70['PMCFP'](parseInt,_0x2fb03e[_0x10b0b5(0x158)]),0x1)['toString']()}]);this['metrics'][_0x10b0b5(0x167)]++;const _0x395d40=Date['now']()-_0xe2e5e6;this[_0x10b0b5(0x17c)]['processingTimes'][_0x10b0b5(0x14c)](_0x395d40),_0x27eb70['CRDty'](this['metrics'][_0x10b0b5(0x1b1)]['length'],0x64)&&this[_0x10b0b5(0x17c)][_0x10b0b5(0x1b1)]['shift'](),await _0x27eb70['HsdrA'](_0x48ad9f);}catch(_0x46a211){this[_0x10b0b5(0x17c)][_0x10b0b5(0x193)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x46a211[_0x10b0b5(0x187)]);throw _0x46a211;}}}),this['isRunning']=!![],console['log'](_0x3594c0(0x18a)+this[_0x3594c0(0x1ac)][_0x3594c0(0x18e)](',\x20')),!![];}catch(_0x582b1d){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x582b1d[_0x3594c0(0x187)]),![];}}[a0_0x4b0507(0x15d)](_0x6cbb16){const _0x1bb267=a0_0x4b0507;if(!_0x6cbb16)return{};const _0x59ee9e={};for(const [_0x38c624,_0x3edd1f]of Object[_0x1bb267(0x19f)](_0x6cbb16)){_0x59ee9e[_0x38c624]=_0x3edd1f?_0x3edd1f[_0x1bb267(0x13e)]():null;}return _0x59ee9e;}async[a0_0x4b0507(0x179)](){const _0x28a1b5=a0_0x4b0507,_0x307e45={'IkCcy':_0x28a1b5(0x1a0),'cdEZZ':_0x28a1b5(0x14e)};if(!this[_0x28a1b5(0x194)]||!this[_0x28a1b5(0x1bb)])return console['log'](_0x307e45[_0x28a1b5(0x151)]),![];if(this['isPaused'])return console['log'](_0x307e45[_0x28a1b5(0x1b6)]),!![];try{const _0x4c75ec=this['subscribedTopics'][_0x28a1b5(0x1a9)](_0x33090a=>({'topic':_0x33090a}));return this['consumer'][_0x28a1b5(0x179)](_0x4c75ec),this[_0x28a1b5(0x180)]=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x4ddf21){return console[_0x28a1b5(0x1af)](_0x28a1b5(0x157)+_0x4ddf21['message']),![];}}async[a0_0x4b0507(0x172)](){const _0x4dacc4=a0_0x4b0507,_0x224d6a={'nNvLs':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','pFhaX':'[KafkaConsumer]\x20Consumer\x20not\x20paused','seroX':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x4dacc4(0x14d)](_0x224d6a[_0x4dacc4(0x1b8)]),![];if(!this[_0x4dacc4(0x180)])return console['log'](_0x224d6a['pFhaX']),!![];try{const _0x22019e=this[_0x4dacc4(0x1ac)]['map'](_0x28aafa=>({'topic':_0x28aafa}));return this[_0x4dacc4(0x181)][_0x4dacc4(0x172)](_0x22019e),this['isPaused']=![],console[_0x4dacc4(0x14d)](_0x224d6a['seroX']),!![];}catch(_0x2821c5){return console[_0x4dacc4(0x1af)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2821c5[_0x4dacc4(0x187)]),![];}}async['stop'](){const _0x2badfa=a0_0x4b0507,_0x5c2591={'iZaku':_0x2badfa(0x16b),'Cmmck':'2|4|5|1|0|3'};if(!this[_0x2badfa(0x194)])return console[_0x2badfa(0x14d)](_0x5c2591[_0x2badfa(0x1bc)]),!![];try{const _0x1dd39b=_0x5c2591['Cmmck'][_0x2badfa(0x148)]('|');let _0x537b0a=0x0;while(!![]){switch(_0x1dd39b[_0x537b0a++]){case'0':console[_0x2badfa(0x14d)](_0x2badfa(0x163));continue;case'1':this[_0x2badfa(0x180)]=![];continue;case'2':this[_0x2badfa(0x181)]&&(await this[_0x2badfa(0x181)]['stop'](),await this[_0x2badfa(0x181)]['disconnect']());continue;case'3':return!![];case'4':this[_0x2badfa(0x194)]=![];continue;case'5':this[_0x2badfa(0x1bb)]=![];continue;}break;}}catch(_0x437bff){return console[_0x2badfa(0x1af)](_0x2badfa(0x192)+_0x437bff['message']),![];}}async[a0_0x4b0507(0x178)](_0x12bcad,_0x34820a,_0x57a87b){const _0x2eefbb=a0_0x4b0507,_0x56c676={'GoHpO':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x2eefbb(0x194)])return console[_0x2eefbb(0x1af)](_0x56c676['GoHpO']),![];try{return this[_0x2eefbb(0x181)]['seek']({'topic':_0x12bcad,'partition':_0x34820a,'offset':_0x57a87b[_0x2eefbb(0x13e)]()}),console['log'](_0x2eefbb(0x19b)+_0x57a87b+'\x20on\x20'+_0x12bcad+':'+_0x34820a),!![];}catch(_0x2a9de3){return console[_0x2eefbb(0x1af)](_0x2eefbb(0x198)+_0x2a9de3['message']),![];}}[a0_0x4b0507(0x16d)](){const _0x3f1301=a0_0x4b0507,_0x5b40d7=this[_0x3f1301(0x184)]();return{'enabled':_0x5b40d7['enabled'],'connected':this['isConnected'],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x5b40d7['brokers'],'clientId':_0x5b40d7[_0x3f1301(0x189)],'groupId':this['groupId'],'subscribedTopics':this[_0x3f1301(0x1ac)]};}['getMetrics'](){const _0x49cdf4=a0_0x4b0507,_0x993424={'ynEgu':function(_0x345df0,_0x4ef700){return _0x345df0>_0x4ef700;},'tPrta':function(_0x12f931,_0x259737){return _0x12f931>_0x259737;},'HfeXK':function(_0x5907cd,_0x1143cb){return _0x5907cd+_0x1143cb;},'PqFBT':function(_0x36a07a,_0x586508){return _0x36a07a/_0x586508;},'gygfk':function(_0x432206,_0x13fcbb){return _0x432206-_0x13fcbb;}},_0x42a19c=_0x993424[_0x49cdf4(0x15b)](this['metrics']['processingTimes']['length'],0x0)?this[_0x49cdf4(0x17c)]['processingTimes'][_0x49cdf4(0x18f)]((_0x969439,_0x685ded)=>_0x969439+_0x685ded,0x0)/this['metrics'][_0x49cdf4(0x1b1)][_0x49cdf4(0x190)]:0x0,_0x3a17ce=_0x993424['tPrta'](this['metrics'][_0x49cdf4(0x1b1)][_0x49cdf4(0x190)],0x0)?Math['min'](...this['metrics'][_0x49cdf4(0x1b1)]):0x0,_0x433050=this['metrics']['processingTimes']['length']>0x0?Math['max'](...this['metrics'][_0x49cdf4(0x1b1)]):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x49cdf4(0x17c)]['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x49cdf4(0x17c)][_0x49cdf4(0x177)]>0x0?_0x993424['HfeXK']((this['metrics'][_0x49cdf4(0x167)]/this[_0x49cdf4(0x17c)]['messagesReceived']*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x49cdf4(0x17c)]['lastMessageTime'],'startTime':this[_0x49cdf4(0x17c)][_0x49cdf4(0x186)],'uptime':this[_0x49cdf4(0x17c)][_0x49cdf4(0x186)]?_0x993424['HfeXK'](Math[_0x49cdf4(0x176)](_0x993424[_0x49cdf4(0x14f)](_0x993424[_0x49cdf4(0x1a7)](Date[_0x49cdf4(0x1a1)](),this['metrics'][_0x49cdf4(0x186)][_0x49cdf4(0x13d)]()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x993424['HfeXK'](Math['round'](_0x42a19c),'ms'),'min':_0x3a17ce+'ms','max':_0x433050+'ms'}};}[a0_0x4b0507(0x13f)](){const _0x2222c8=a0_0x4b0507;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x2222c8(0x160));}async[a0_0x4b0507(0x1b7)](){const _0x1e06d1=a0_0x4b0507;await this[_0x1e06d1(0x19e)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x48f60f=a0_0x3b90;(function(_0x2f3aa4,_0x456bc){const _0x4aba90=a0_0x3b90,_0x1c9a2d=_0x2f3aa4();while(!![]){try{const _0x301909=-parseInt(_0x4aba90(0x1a6))/0x1*(-parseInt(_0x4aba90(0x1a7))/0x2)+parseInt(_0x4aba90(0x1ba))/0x3+-parseInt(_0x4aba90(0x1bd))/0x4+parseInt(_0x4aba90(0x1cb))/0x5+parseInt(_0x4aba90(0x19b))/0x6+parseInt(_0x4aba90(0x1b3))/0x7+-parseInt(_0x4aba90(0x19a))/0x8;if(_0x301909===_0x456bc)break;else _0x1c9a2d['push'](_0x1c9a2d['shift']());}catch(_0x4e7958){_0x1c9a2d['push'](_0x1c9a2d['shift']());}}}(a0_0x448a,0xbde1c));function a0_0x448a(){const _0x5c992d=['BM9vEgS','AxnjBML0AwfSAxPPBMC','yNjVA2vYCW','z2v0rNvSBfLLyxi','nJe4otm0meHkEMvpwG','zM9YBwf0rgf0zvrPBwu','zxz0lq','shvpAhq','z2v0tg9Ntgv2zwW','s0fgs0fFu0fttf9vu0vstKfnrq','y2XVC2u','z2v0q29UzMLN','DgfIBgvoyw1L','C2vUza','su5gtW','zgLZy29UBMvJDa','v0j5rxO','y29UBMvJDgLVBLbYB21PC2u','mJuWmda','yMfZzu9MzNnLDa','vMnQrKm','ChvIBgLZAerLBgv0zq','z2v0u2vJB25KCW','D0P0wei','zw5HyMXLza','uMfIBfG','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','y2XPzw50swq','AxndB25Uzwn0zwq','BwvZC2fNzq','v0fstG','A2fMA2e','yNvPBgrfDMvUDe1LC3nHz2u','tgvNywn5ugfYDgL0Aw9Uzxi','ChjVzhvJzxi','Bw9KDwXL','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','s0fgs0fFu0fttf9nruniqu5ju00','y29UBMvJDa','ChvIBgLZAev2zw50','z2v0twLUDxrLCW','CMvZDgzVCMDLlq','ChvIBgLZAeLUC2vYDa','ChvIBgLZAfvWzgf0zq','BvfqDgC','s0fgs0fFru5bqKXfra','ru5usvrzx1vqrefuruq','rvjst1i','s0fgs0fFu1nm','zgDQzMG','Aw5PDgLHBgL6zq','mtCXnduWmZjeBwnoBhe','mta4odC0ofjxwfnSAa','CMvWBgfJzq','AejLD3i','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','D2fYBG','zgvSzxrLza','s0fgs0fFve9qsunFuefuvevstG','zw5KCg9PBNq','vfDoywu','Dw5RBM93BG','CMv0CNLbDhrLBxb0CW','mtfIyK95veS','mJeZodG0swn4z2He','icHRzxK6ia','zxjYB3i','zwv4Efi','CLfouM4','y29UBMvJDgLVBLrPBwvVDxq','zw52','DgvUyw50swq','CgfKu3rHCNq','y29YCMvSyxrPB25jza','s0fgs0fFq0Xjru5ux0Le','DxbKyxrLza','mJq2odq0nuLTzhbrEa','z2v0sg91CNm','yNvPBgruB3bPy05HBwu','A2v5rMLLBgq','Bg9N','C291CMnL','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','mtiXnZa2ne9mwvH0qW','Bg9JywXOB3n0oJKWoti','Dg9WAwm','mtCZmJuWngr6AxjHvq','A2fMA2fQCW','CgfYDgL0Aw9U','s0fgs0fFte9hx0XfvKvm','z2v0rgf0zq','mZaWma','s0fgs0fFu0fttf9qqvntv09sra','CereswG','z2v0u3rHDhvZ','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG'];a0_0x448a=function(){return _0x5c992d;};return a0_0x448a();}const {Kafka,logLevel,Partitioners}=require(a0_0x48f60f(0x1be)),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x961391=a0_0x48f60f;this[_0x961391(0x1e6)]=null,this['producer']=null,this[_0x961391(0x1e3)]=![],this[_0x961391(0x1c8)]=![],this['connectionPromise']=null;}[a0_0x48f60f(0x1d2)](){const _0x5a9473=a0_0x48f60f,_0xb51fb={'pDDIh':function(_0xb3c840,_0x451b5b){return _0xb3c840===_0x451b5b;},'zjNbl':'true','hjqeH':'default','eexxR':function(_0x4c32c8,_0x92478d){return _0x4c32c8(_0x92478d);},'hBewr':function(_0x4bf042,_0x41ae75){return _0x4bf042(_0x41ae75);},'npgMf':function(_0x4e7e85,_0x37758e){return _0x4e7e85(_0x37758e);},'rQNRn':_0x5a9473(0x19f)};return{'enabled':_0xb51fb[_0x5a9473(0x1c4)](process[_0x5a9473(0x1ad)][_0x5a9473(0x1f4)],_0xb51fb['zjNbl']),'brokers':(process['env']['KAFKA_BROKERS']||_0x5a9473(0x1bb))['split'](','),'clientId':process[_0x5a9473(0x1ad)][_0x5a9473(0x1b1)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0xb51fb['hjqeH'])+'-producer','connectionTimeout':_0xb51fb[_0x5a9473(0x1aa)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x5a9473(0x1c2)),'requestTimeout':_0xb51fb[_0x5a9473(0x19d)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x5a9473(0x1d9)),'topicPattern':process['env'][_0x5a9473(0x1a1)]||_0x5a9473(0x1eb),'tenantId':process[_0x5a9473(0x1ad)]['KAFKA_TENANT_ID']||'default','retryAttempts':_0xb51fb['npgMf'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process['env'][_0x5a9473(0x1c0)]||_0xb51fb[_0x5a9473(0x1ab)]};}['getLogLevel'](_0x361352){const _0x2183cf=a0_0x48f60f,_0x4acf84={'nothing':logLevel['NOTHING'],'error':logLevel[_0x2183cf(0x1f6)],'warn':logLevel['WARN'],'info':logLevel[_0x2183cf(0x1d5)],'debug':logLevel['DEBUG']};return _0x4acf84[_0x361352['toLowerCase']()]||logLevel[_0x2183cf(0x1e5)];}async[a0_0x48f60f(0x199)](){const _0x5e1f3d=a0_0x48f60f,_0x55d1c8={'dgjfh':'producer.disconnect','mQPtg':function(_0x3d4b7e,_0x45e349){return _0x3d4b7e(_0x45e349);},'nxgzL':function(_0x28dfe6,_0x2ab714){return _0x28dfe6(_0x2ab714);},'OQpLj':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x5f0050=this[_0x5e1f3d(0x1d2)]();if(!_0x5f0050[_0x5e1f3d(0x1df)])return console['log'](_0x55d1c8['OQpLj']),![];if(this[_0x5e1f3d(0x1e3)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x5e1f3d(0x1d8)];return this[_0x5e1f3d(0x1c8)]=!![],this[_0x5e1f3d(0x1d8)]=new Promise(async _0x1a48e0=>{const _0x596c9e=_0x5e1f3d;try{let _0x1a57a6=undefined;process[_0x596c9e(0x1ad)][_0x596c9e(0x197)]==='true'&&(_0x1a57a6=!![]);let _0x13b57e=undefined;process['env'][_0x596c9e(0x1ec)]&&(_0x13b57e={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x596c9e(0x1ad)][_0x596c9e(0x1d0)]||'','password':process['env'][_0x596c9e(0x1c3)]||''}),this[_0x596c9e(0x1e6)]=new Kafka({'clientId':_0x5f0050['clientId'],'brokers':_0x5f0050['brokers'],'connectionTimeout':_0x5f0050[_0x596c9e(0x1ac)],'requestTimeout':_0x5f0050['requestTimeout'],'logLevel':this[_0x596c9e(0x1cf)](_0x5f0050['logLevel']),'ssl':_0x1a57a6,'sasl':_0x13b57e,'retry':{'initialRetryTime':_0x5f0050['retryDelay'],'retries':_0x5f0050[_0x596c9e(0x1a5)]}}),this['producer']=this[_0x596c9e(0x1e6)][_0x596c9e(0x1e9)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x596c9e(0x1e8)]}),await this['producer'][_0x596c9e(0x1ed)](),this['isConnected']=!![],console['log'](_0x596c9e(0x1c6)+_0x5f0050[_0x596c9e(0x1c9)]['join'](',\x20')),this[_0x596c9e(0x1e9)]['on'](_0x55d1c8[_0x596c9e(0x198)],()=>{const _0x2410a0=_0x596c9e;console[_0x2410a0(0x1b7)]('[Kafka]\x20Producer\x20disconnected'),this[_0x2410a0(0x1e3)]=![];}),_0x55d1c8[_0x596c9e(0x1f3)](_0x1a48e0,!![]);}catch(_0x239a00){console['error'](_0x596c9e(0x1e1)+_0x239a00['message']),this[_0x596c9e(0x1e3)]=![],_0x55d1c8['nxgzL'](_0x1a48e0,![]);}finally{this[_0x596c9e(0x1c8)]=![];}}),this['connectionPromise'];}['formatDateTime'](_0x5d0886){const _0x30292e=a0_0x48f60f,_0x45b737={'wJtXB':function(_0x3a2905,_0x44f5d5){return _0x3a2905+_0x44f5d5;},'noUxk':function(_0x2ea45a,_0x4704f1){return _0x2ea45a(_0x4704f1);}},_0x4dc83b=_0x5d0886||new Date(),_0x219d48=_0x4dc83b[_0x30292e(0x1ca)](),_0x2c23e8=String(_0x45b737[_0x30292e(0x1de)](_0x4dc83b['getMonth'](),0x1))[_0x30292e(0x1af)](0x2,'0'),_0x288323=_0x45b737[_0x30292e(0x1c7)](String,_0x4dc83b[_0x30292e(0x1c1)]())[_0x30292e(0x1af)](0x2,'0'),_0x531723=String(_0x4dc83b[_0x30292e(0x1b4)]())['padStart'](0x2,'0'),_0x220bd9=_0x45b737['noUxk'](String,_0x4dc83b[_0x30292e(0x1ef)]())['padStart'](0x2,'0'),_0x13e049=String(_0x4dc83b[_0x30292e(0x1dd)]())['padStart'](0x2,'0');return _0x219d48+'-'+_0x2c23e8+'-'+_0x288323+'\x20'+_0x531723+':'+_0x220bd9+':'+_0x13e049;}['buildTopicName'](_0x1d5649,_0x5b7097,_0x58597c,_0x559ea3=null){const _0x4be5a4=a0_0x48f60f,_0x531d12={'VcjFC':'{module}','twSGg':'{endpoint}'};if(_0x559ea3)return _0x559ea3;const _0x2433b0=this['getConfig']()['topicPattern'];return _0x2433b0[_0x4be5a4(0x19c)](_0x531d12[_0x4be5a4(0x1db)],_0x1d5649)[_0x4be5a4(0x19c)](_0x531d12['twSGg'],_0x5b7097)['replace']('{action}',_0x58597c);}[a0_0x48f60f(0x1e7)](_0x43e447,_0x5dbd2d,_0x14f35a,_0x34b0fa={}){const _0x5dcc2d=a0_0x48f60f,_0x24c36b={'WByEz':function(_0x2618ac){return _0x2618ac();},'RablX':'SYSTEM'},_0x41b5d7=new Date(),_0x407a60=this[_0x5dcc2d(0x1cc)](_0x41b5d7),_0x56b6c1=_0x34b0fa[_0x5dcc2d(0x1b0)]||'corr-'+_0x24c36b[_0x5dcc2d(0x1d7)](uuidv7);return{'eventId':_0x5dcc2d(0x1cd)+_0x24c36b[_0x5dcc2d(0x1d7)](uuidv7),'eventType':_0x43e447,'eventTime':_0x407a60,'eventVersion':'1.0','source':_0x5dcc2d(0x1f0)+(_0x34b0fa[_0x5dcc2d(0x1ea)]||_0x5dcc2d(0x1a4)),'correlationId':_0x56b6c1,'newData':_0x14f35a,'oldData':_0x5dbd2d,'metadata':{'createdBy':_0x34b0fa['createdBy']||_0x24c36b[_0x5dcc2d(0x1e0)],'createdAt':_0x407a60,'systemId':'RESTFORGE-'+(_0x34b0fa[_0x5dcc2d(0x1ea)]||_0x5dcc2d(0x1a4))['toUpperCase'](),'tenantId':this['getConfig']()[_0x5dcc2d(0x1ae)],'endpoint':_0x34b0fa[_0x5dcc2d(0x1a2)]||null,'tableName':_0x34b0fa['tableName']||null}};}async[a0_0x48f60f(0x1ee)](_0x5c3898,_0x1d8e33,_0x429e1a,_0x2ee234,_0x17df6d={}){const _0x487534=a0_0x48f60f,_0x2f9ce7={'dbOQx':function(_0x516afb,_0x469c9f){return _0x516afb(_0x469c9f);}},_0x12f503=this[_0x487534(0x1d2)]();if(!_0x12f503[_0x487534(0x1df)])return{'success':![],'reason':_0x487534(0x1b9),'published':![]};if(!this[_0x487534(0x1e3)]){const _0x4c957b=await this['initialize']();if(!_0x4c957b)return{'success':![],'reason':_0x487534(0x19e),'published':![]};}try{const _0x53b538=this[_0x487534(0x1e7)](_0x1d8e33,_0x429e1a,_0x2ee234,_0x17df6d),_0x5730ac=_0x17df6d['keyField']||'id',_0x327177=_0x2ee234?.[_0x5730ac]||_0x429e1a?.[_0x5730ac]||uuidv7(),_0x5a36a7=await this[_0x487534(0x1e9)][_0x487534(0x1d4)]({'topic':_0x5c3898,'messages':[{'key':_0x2f9ce7['dbOQx'](String,_0x327177),'value':JSON['stringify'](_0x53b538),'headers':{'event-type':_0x1d8e33,'correlation-id':_0x53b538[_0x487534(0x1b0)],'source':_0x53b538[_0x487534(0x1b8)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x5c3898+':\x20'+_0x1d8e33+_0x487534(0x1a8)+_0x327177+')'),{'success':!![],'correlationId':_0x53b538['correlationId'],'topic':_0x5c3898,'partition':_0x5a36a7[0x0]?.[_0x487534(0x1bf)],'offset':_0x5a36a7[0x0]?.[_0x487534(0x1da)],'published':!![]};}catch(_0x55a20e){return console[_0x487534(0x1a9)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x5c3898+':\x20'+_0x55a20e[_0x487534(0x1e4)]),{'success':![],'error':_0x55a20e[_0x487534(0x1e4)],'published':![]};}}async[a0_0x48f60f(0x1f1)](_0xca9c8f,_0x462dab,_0x5b6587,_0x36c596={}){const _0x31eb90=a0_0x48f60f,_0x18302b={'TWNae':'ENTITY_CREATED'},_0x343263=this[_0x31eb90(0x1b5)](_0xca9c8f,_0x462dab,'created',_0x36c596[_0x31eb90(0x1bc)]);return this['publishEvent'](_0x343263,_0x18302b[_0x31eb90(0x1a3)],null,_0x5b6587,{'module':_0xca9c8f,'endpoint':_0x462dab,'keyField':_0x36c596[_0x31eb90(0x1b6)],'tableName':_0x36c596[_0x31eb90(0x1d3)],'correlationId':_0x36c596[_0x31eb90(0x1b0)]});}async[a0_0x48f60f(0x1f2)](_0x47e327,_0x3a0b10,_0xb59c19,_0x23402a,_0x59e801={}){const _0xfde8a6=a0_0x48f60f,_0x1643ec={'wHhiH':_0xfde8a6(0x1b2),'HuOht':_0xfde8a6(0x1f5)},_0x3de9b7=this['buildTopicName'](_0x47e327,_0x3a0b10,_0x1643ec['wHhiH'],_0x59e801[_0xfde8a6(0x1bc)]);return this[_0xfde8a6(0x1ee)](_0x3de9b7,_0x1643ec[_0xfde8a6(0x1ce)],_0xb59c19,_0x23402a,{'module':_0x47e327,'endpoint':_0x3a0b10,'keyField':_0x59e801[_0xfde8a6(0x1b6)],'tableName':_0x59e801[_0xfde8a6(0x1d3)],'correlationId':_0x59e801['correlationId']});}async[a0_0x48f60f(0x1dc)](_0x15d7f,_0x24da44,_0x4078a9,_0x3c673e={}){const _0x110470=a0_0x48f60f,_0x18a180={'RXnVz':'ENTITY_DELETED'},_0x2cf9e2=this['buildTopicName'](_0x15d7f,_0x24da44,_0x110470(0x1a0),_0x3c673e['topic']);return this['publishEvent'](_0x2cf9e2,_0x18a180['RXnVz'],_0x4078a9,null,{'module':_0x15d7f,'endpoint':_0x24da44,'keyField':_0x3c673e[_0x110470(0x1b6)],'tableName':_0x3c673e[_0x110470(0x1d3)],'correlationId':_0x3c673e[_0x110470(0x1b0)]});}[a0_0x48f60f(0x1c5)](){const _0x5b032b=a0_0x48f60f,_0x4ea787=this[_0x5b032b(0x1d2)]();return{'enabled':_0x4ea787['enabled'],'connected':this['isConnected'],'brokers':_0x4ea787['brokers'],'clientId':_0x4ea787[_0x5b032b(0x1e2)],'topicPattern':_0x4ea787['topicPattern']};}async[a0_0x48f60f(0x1d1)](){const _0x3a7eda=a0_0x48f60f;if(this['producer']&&this[_0x3a7eda(0x1e3)])try{await this[_0x3a7eda(0x1e9)][_0x3a7eda(0x1d6)](),this[_0x3a7eda(0x1e3)]=![],console[_0x3a7eda(0x1b7)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x53153e){console[_0x3a7eda(0x1a9)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x53153e[_0x3a7eda(0x1e4)]);}}}function a0_0x3b90(_0x58f369,_0x570ea1){_0x58f369=_0x58f369-0x197;const _0x448a59=a0_0x448a();let _0x3b90b6=_0x448a59[_0x58f369];if(a0_0x3b90['fqGdCv']===undefined){var _0x4dddb6=function(_0x165352){const _0x230565='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x456121='',_0x51d4da='';for(let _0x5ede32=0x0,_0x59da00,_0x58b9ed,_0x4ae548=0x0;_0x58b9ed=_0x165352['charAt'](_0x4ae548++);~_0x58b9ed&&(_0x59da00=_0x5ede32%0x4?_0x59da00*0x40+_0x58b9ed:_0x58b9ed,_0x5ede32++%0x4)?_0x456121+=String['fromCharCode'](0xff&_0x59da00>>(-0x2*_0x5ede32&0x6)):0x0){_0x58b9ed=_0x230565['indexOf'](_0x58b9ed);}for(let _0x166765=0x0,_0x2bf8be=_0x456121['length'];_0x166765<_0x2bf8be;_0x166765++){_0x51d4da+='%'+('00'+_0x456121['charCodeAt'](_0x166765)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51d4da);};a0_0x3b90['bxMtvv']=_0x4dddb6,a0_0x3b90['NHwvqb']={},a0_0x3b90['fqGdCv']=!![];}const _0x54bc8b=_0x448a59[0x0],_0xfb3e33=_0x58f369+_0x54bc8b,_0x597ff7=a0_0x3b90['NHwvqb'][_0xfb3e33];return!_0x597ff7?(_0x3b90b6=a0_0x3b90['bxMtvv'](_0x3b90b6),a0_0x3b90['NHwvqb'][_0xfb3e33]=_0x3b90b6):_0x3b90b6=_0x597ff7,_0x3b90b6;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x2764d0=a0_0x48f60f;instance&&(instance[_0x2764d0(0x1d1)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x80b73b=a0_0x186f;(function(_0x1d53f9,_0x562c50){const _0x3f70da=a0_0x186f,_0x49a6e8=_0x1d53f9();while(!![]){try{const _0x570126=parseInt(_0x3f70da(0x1d6))/0x1+parseInt(_0x3f70da(0x200))/0x2*(parseInt(_0x3f70da(0x1c5))/0x3)+-parseInt(_0x3f70da(0x205))/0x4*(-parseInt(_0x3f70da(0x1cf))/0x5)+-parseInt(_0x3f70da(0x20a))/0x6+parseInt(_0x3f70da(0x209))/0x7+parseInt(_0x3f70da(0x1b9))/0x8*(parseInt(_0x3f70da(0x1a7))/0x9)+-parseInt(_0x3f70da(0x1e0))/0xa*(parseInt(_0x3f70da(0x1b4))/0xb);if(_0x570126===_0x562c50)break;else _0x49a6e8['push'](_0x49a6e8['shift']());}catch(_0x17aaa5){_0x49a6e8['push'](_0x49a6e8['shift']());}}}(a0_0x297a,0x2c034));const {Kafka,logLevel,Partitioners}=require(a0_0x80b73b(0x1d1)),{v7:uuidv7}=require(a0_0x80b73b(0x1b2));class KafkaService{constructor(){const _0x177b2c=a0_0x80b73b;this['kafka']=null,this['producer']=null,this['isConnected']=![],this[_0x177b2c(0x1f2)]=![],this['connectionPromise']=null;}[a0_0x80b73b(0x1ad)](){const _0xeb627e=a0_0x80b73b,_0x4b4d6={'iUMfb':function(_0x1921dd,_0x518c26){return _0x1921dd===_0x518c26;},'YCANo':function(_0x1b80f6,_0xb39f3b){return _0x1b80f6(_0xb39f3b);},'oWeDv':'3000','GCKdx':'25000','PYyNl':_0xeb627e(0x1d9),'aCjtx':function(_0x4cb489,_0x351c0a){return _0x4cb489(_0x351c0a);},'bkgNc':_0xeb627e(0x1fb),'LhKPi':_0xeb627e(0x1c4)};return{'enabled':_0x4b4d6['iUMfb'](process[_0xeb627e(0x1fc)][_0xeb627e(0x1bc)],_0xeb627e(0x1bb)),'brokers':(process[_0xeb627e(0x1fc)]['KAFKA_BROKERS']||'localhost:9092')[_0xeb627e(0x1e2)](','),'clientId':process[_0xeb627e(0x1fc)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0xeb627e(0x1fc)]['RESTFORGE_PROJECT_NAME']||'default')+'-producer','connectionTimeout':_0x4b4d6[_0xeb627e(0x1a5)](parseInt,process['env'][_0xeb627e(0x1a4)]||_0x4b4d6[_0xeb627e(0x1ee)]),'requestTimeout':parseInt(process[_0xeb627e(0x1fc)][_0xeb627e(0x1bf)]||_0x4b4d6['GCKdx']),'topicPattern':process['env'][_0xeb627e(0x1c9)]||'{module}.{endpoint}.events','tenantId':process['env'][_0xeb627e(0x1aa)]||_0x4b4d6[_0xeb627e(0x1ba)],'retryAttempts':_0x4b4d6['YCANo'](parseInt,process[_0xeb627e(0x1fc)][_0xeb627e(0x1be)]||'3'),'retryDelay':_0x4b4d6[_0xeb627e(0x1ea)](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x4b4d6['bkgNc']),'logLevel':process['env'][_0xeb627e(0x1fe)]||_0x4b4d6['LhKPi']};}['getLogLevel'](_0x91dc3b){const _0x3879a1=a0_0x80b73b,_0x2faeb1={'nothing':logLevel[_0x3879a1(0x1e8)],'error':logLevel[_0x3879a1(0x1e3)],'warn':logLevel[_0x3879a1(0x1b0)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x2faeb1[_0x91dc3b['toLowerCase']()]||logLevel[_0x3879a1(0x1b0)];}async[a0_0x80b73b(0x1bd)](){const _0x1f2220=a0_0x80b73b,_0xec7960={'KzfPT':_0x1f2220(0x1c6),'HKQma':function(_0x16dc13,_0xe4d8b){return _0x16dc13===_0xe4d8b;},'KVpiQ':_0x1f2220(0x1bb),'jJWBf':function(_0x35c57b,_0x2cbf90){return _0x35c57b(_0x2cbf90);},'DfpnG':function(_0x1e37c,_0x34b4d9){return _0x1e37c(_0x34b4d9);},'PTWSF':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x19c31e=this['getConfig']();if(!_0x19c31e['enabled'])return console['log'](_0xec7960[_0x1f2220(0x1ef)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x1f2220(0x1c8)])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x1f2220(0x1c8)]=new Promise(async _0x4c3a3c=>{const _0x4c1210=_0x1f2220;try{let _0x36c05a=undefined;_0xec7960[_0x4c1210(0x1f5)](process[_0x4c1210(0x1fc)]['KAFKA_SSL'],_0xec7960['KVpiQ'])&&(_0x36c05a=!![]);let _0x4c051e=undefined;process[_0x4c1210(0x1fc)][_0x4c1210(0x1a8)]&&(_0x4c051e={'mechanism':process['env'][_0x4c1210(0x1a8)],'username':process[_0x4c1210(0x1fc)][_0x4c1210(0x202)]||'','password':process[_0x4c1210(0x1fc)][_0x4c1210(0x1cd)]||''}),this[_0x4c1210(0x1c0)]=new Kafka({'clientId':_0x19c31e['clientId'],'brokers':_0x19c31e['brokers'],'connectionTimeout':_0x19c31e['connectionTimeout'],'requestTimeout':_0x19c31e[_0x4c1210(0x1c2)],'logLevel':this['getLogLevel'](_0x19c31e['logLevel']),'ssl':_0x36c05a,'sasl':_0x4c051e,'retry':{'initialRetryTime':_0x19c31e['retryDelay'],'retries':_0x19c31e['retryAttempts']}}),this['producer']=this['kafka'][_0x4c1210(0x1d8)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x4c1210(0x1f0)]}),await this[_0x4c1210(0x1d8)]['connect'](),this['isConnected']=!![],console['log']('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x19c31e['brokers'][_0x4c1210(0x1af)](',\x20')),this['producer']['on'](_0x4c1210(0x1e7),()=>{const _0x52f6d0=_0x4c1210;console['log'](_0xec7960[_0x52f6d0(0x1cc)]),this[_0x52f6d0(0x1ec)]=![];}),_0xec7960[_0x4c1210(0x1f8)](_0x4c3a3c,!![]);}catch(_0x234277){console[_0x4c1210(0x1f6)](_0x4c1210(0x1ff)+_0x234277['message']),this['isConnected']=![],_0xec7960[_0x4c1210(0x1da)](_0x4c3a3c,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['formatDateTime'](_0x3913d9){const _0x3cb5ca=a0_0x80b73b,_0x367736={'URKwv':function(_0x163d1a,_0x2833dd){return _0x163d1a(_0x2833dd);},'xJvcb':function(_0x57cae4,_0x4b7f42){return _0x57cae4+_0x4b7f42;}},_0x120801=_0x3913d9||new Date(),_0x4ea404=_0x120801[_0x3cb5ca(0x1b5)](),_0x300d9a=_0x367736[_0x3cb5ca(0x1b6)](String,_0x367736[_0x3cb5ca(0x1d2)](_0x120801[_0x3cb5ca(0x1f4)](),0x1))['padStart'](0x2,'0'),_0x416e20=String(_0x120801['getDate']())[_0x3cb5ca(0x1c1)](0x2,'0'),_0x1fc34b=_0x367736['URKwv'](String,_0x120801[_0x3cb5ca(0x1ac)]())[_0x3cb5ca(0x1c1)](0x2,'0'),_0x2ac12a=String(_0x120801[_0x3cb5ca(0x1d7)]())[_0x3cb5ca(0x1c1)](0x2,'0'),_0x5ddea9=String(_0x120801[_0x3cb5ca(0x207)]())['padStart'](0x2,'0');return _0x4ea404+'-'+_0x300d9a+'-'+_0x416e20+'\x20'+_0x1fc34b+':'+_0x2ac12a+':'+_0x5ddea9;}['buildTopicName'](_0x1d6a96,_0x4f719c,_0xdae22f,_0x584dcb=null){const _0x34419f=a0_0x80b73b,_0x393202={'FaHzn':'{module}','dZNHD':'{endpoint}','srfTJ':_0x34419f(0x1ca)};if(_0x584dcb)return _0x584dcb;const _0x104262=this[_0x34419f(0x1ad)]()['topicPattern'];return _0x104262[_0x34419f(0x1dc)](_0x393202[_0x34419f(0x1ce)],_0x1d6a96)['replace'](_0x393202[_0x34419f(0x1ed)],_0x4f719c)[_0x34419f(0x1dc)](_0x393202['srfTJ'],_0xdae22f);}['buildEventMessage'](_0x410cf9,_0x46e05d,_0x52b788,_0x487b98={}){const _0xee30f2=a0_0x80b73b,_0x527849={'ghSQD':function(_0x4d2d01){return _0x4d2d01();},'GrBNx':_0xee30f2(0x201),'cihIX':_0xee30f2(0x1e5),'aLBGs':_0xee30f2(0x1a3)},_0x4ae480=new Date(),_0x278316=this[_0xee30f2(0x1e1)](_0x4ae480),_0x14b33a=_0x487b98[_0xee30f2(0x1b7)]||'corr-'+_0x527849[_0xee30f2(0x206)](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x410cf9,'eventTime':_0x278316,'eventVersion':_0x527849['GrBNx'],'source':_0xee30f2(0x1b3)+(_0x487b98['module']||_0x527849[_0xee30f2(0x1b1)]),'correlationId':_0x14b33a,'newData':_0x52b788,'oldData':_0x46e05d,'metadata':{'createdBy':_0x487b98[_0xee30f2(0x1c7)]||_0x527849['aLBGs'],'createdAt':_0x278316,'systemId':'RESTFORGE-'+(_0x487b98['module']||_0xee30f2(0x1e5))['toUpperCase'](),'tenantId':this['getConfig']()[_0xee30f2(0x208)],'endpoint':_0x487b98['endpoint']||null,'tableName':_0x487b98[_0xee30f2(0x1a9)]||null}};}async[a0_0x80b73b(0x1df)](_0x42db72,_0xca49b0,_0x4d18ec,_0x579d67,_0x3d14e3={}){const _0x53d152=a0_0x80b73b,_0x141949={'pbHds':function(_0x360eda){return _0x360eda();}},_0x314054=this[_0x53d152(0x1ad)]();if(!_0x314054['enabled'])return{'success':![],'reason':_0x53d152(0x1f7),'published':![]};if(!this['isConnected']){const _0x16d735=await this['initialize']();if(!_0x16d735)return{'success':![],'reason':_0x53d152(0x1d0),'published':![]};}try{const _0x4eda82=this[_0x53d152(0x1dd)](_0xca49b0,_0x4d18ec,_0x579d67,_0x3d14e3),_0x2135a7=_0x3d14e3[_0x53d152(0x1e6)]||'id',_0x154c90=_0x579d67?.[_0x2135a7]||_0x4d18ec?.[_0x2135a7]||_0x141949[_0x53d152(0x1d5)](uuidv7),_0x3a8af6=await this[_0x53d152(0x1d8)][_0x53d152(0x1cb)]({'topic':_0x42db72,'messages':[{'key':String(_0x154c90),'value':JSON[_0x53d152(0x1db)](_0x4eda82),'headers':{'event-type':_0xca49b0,'correlation-id':_0x4eda82['correlationId'],'source':_0x4eda82['source']}}]});return console[_0x53d152(0x1fd)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x42db72+':\x20'+_0xca49b0+'\x20(key:\x20'+_0x154c90+')'),{'success':!![],'correlationId':_0x4eda82['correlationId'],'topic':_0x42db72,'partition':_0x3a8af6[0x0]?.[_0x53d152(0x1f3)],'offset':_0x3a8af6[0x0]?.[_0x53d152(0x203)],'published':!![]};}catch(_0x21c692){return console[_0x53d152(0x1f6)](_0x53d152(0x1f9)+_0x42db72+':\x20'+_0x21c692[_0x53d152(0x1ae)]),{'success':![],'error':_0x21c692[_0x53d152(0x1ae)],'published':![]};}}async[a0_0x80b73b(0x1d4)](_0x51432b,_0x13916a,_0x421463,_0x28c8d5={}){const _0x1efbfe=a0_0x80b73b,_0x22da3f={'PmxqN':'created'},_0x450ff7=this[_0x1efbfe(0x1b8)](_0x51432b,_0x13916a,_0x22da3f[_0x1efbfe(0x1fa)],_0x28c8d5[_0x1efbfe(0x1e4)]);return this[_0x1efbfe(0x1df)](_0x450ff7,_0x1efbfe(0x1e9),null,_0x421463,{'module':_0x51432b,'endpoint':_0x13916a,'keyField':_0x28c8d5[_0x1efbfe(0x1e6)],'tableName':_0x28c8d5['tableName'],'correlationId':_0x28c8d5[_0x1efbfe(0x1b7)]});}async['publishUpdate'](_0x3d1c69,_0x2113d8,_0x32f30f,_0x35d879,_0x50f91f={}){const _0x321260=a0_0x80b73b,_0x468a7f=this['buildTopicName'](_0x3d1c69,_0x2113d8,'updated',_0x50f91f[_0x321260(0x1e4)]);return this[_0x321260(0x1df)](_0x468a7f,'ENTITY_UPDATED',_0x32f30f,_0x35d879,{'module':_0x3d1c69,'endpoint':_0x2113d8,'keyField':_0x50f91f['keyField'],'tableName':_0x50f91f[_0x321260(0x1a9)],'correlationId':_0x50f91f['correlationId']});}async[a0_0x80b73b(0x204)](_0x4a7fe0,_0x3eea62,_0x545e73,_0x8c7add={}){const _0x23145a=a0_0x80b73b,_0xc8f311=this[_0x23145a(0x1b8)](_0x4a7fe0,_0x3eea62,'deleted',_0x8c7add['topic']);return this['publishEvent'](_0xc8f311,_0x23145a(0x1c3),_0x545e73,null,{'module':_0x4a7fe0,'endpoint':_0x3eea62,'keyField':_0x8c7add[_0x23145a(0x1e6)],'tableName':_0x8c7add['tableName'],'correlationId':_0x8c7add[_0x23145a(0x1b7)]});}['getStatus'](){const _0x295c6e=a0_0x80b73b,_0x4cdb31=this[_0x295c6e(0x1ad)]();return{'enabled':_0x4cdb31[_0x295c6e(0x1ab)],'connected':this['isConnected'],'brokers':_0x4cdb31[_0x295c6e(0x1f1)],'clientId':_0x4cdb31[_0x295c6e(0x1a6)],'topicPattern':_0x4cdb31['topicPattern']};}async[a0_0x80b73b(0x1d3)](){const _0x256da4=a0_0x80b73b,_0x477607={'SkHUQ':_0x256da4(0x1eb)};if(this[_0x256da4(0x1d8)]&&this['isConnected'])try{await this[_0x256da4(0x1d8)][_0x256da4(0x1de)](),this['isConnected']=![],console['log'](_0x477607['SkHUQ']);}catch(_0x312ee7){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x312ee7[_0x256da4(0x1ae)]);}}}function a0_0x186f(_0x4725c0,_0x54fb2d){_0x4725c0=_0x4725c0-0x1a3;const _0x297a3b=a0_0x297a();let _0x186fe9=_0x297a3b[_0x4725c0];if(a0_0x186f['SZxPOw']===undefined){var _0x640e88=function(_0x33ccee){const _0x11d035='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d7653='',_0x84d0f9='';for(let _0xa5bd16=0x0,_0x5ba553,_0xf8ca51,_0x55b17d=0x0;_0xf8ca51=_0x33ccee['charAt'](_0x55b17d++);~_0xf8ca51&&(_0x5ba553=_0xa5bd16%0x4?_0x5ba553*0x40+_0xf8ca51:_0xf8ca51,_0xa5bd16++%0x4)?_0x3d7653+=String['fromCharCode'](0xff&_0x5ba553>>(-0x2*_0xa5bd16&0x6)):0x0){_0xf8ca51=_0x11d035['indexOf'](_0xf8ca51);}for(let _0x5f34ff=0x0,_0x24ab9e=_0x3d7653['length'];_0x5f34ff<_0x24ab9e;_0x5f34ff++){_0x84d0f9+='%'+('00'+_0x3d7653['charCodeAt'](_0x5f34ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x84d0f9);};a0_0x186f['ymRmdX']=_0x640e88,a0_0x186f['LQDnKL']={},a0_0x186f['SZxPOw']=!![];}const _0x3acee0=_0x297a3b[0x0],_0x492875=_0x4725c0+_0x3acee0,_0x5f458f=a0_0x186f['LQDnKL'][_0x492875];return!_0x5f458f?(_0x186fe9=a0_0x186f['ymRmdX'](_0x186fe9),a0_0x186f['LQDnKL'][_0x492875]=_0x186fe9):_0x186fe9=_0x5f458f,_0x186fe9;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x297a(){const _0x46c82=['z2v0q29UzMLN','BwvZC2fNzq','AM9PBG','v0fstG','y2LOsvG','DxvPza','CMvZDgzVCMDLlq','ntvWAefPrvm','z2v0rNvSBfLLyxi','vvjlD3y','y29YCMvSyxrPB25jza','yNvPBgruB3bPy05HBwu','ndC3nLzgvMnsDq','ufL5tMW','Dhj1zq','s0fgs0fFru5bqKXfra','Aw5PDgLHBgL6zq','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFuKvrvuvtvf9usu1ft1vu','A2fMA2e','CgfKu3rHCNq','CMvXDwvZDfrPBwvVDxq','ru5usvrzx0rftevuruq','D2fYBG','mtK1EMDMy3rX','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','y3jLyxrLzej5','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFve9qsunFuefuvevstG','E2fJDgLVBN0','C2vUza','s3PMufq','s0fgs0fFu0fttf9qqvntv09sra','rMfiEM4','mZbqqvH1Dxu','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','A2fMA2fQCW','EeP2y2i','y2XVC2u','ChvIBgLZAeLUC2vYDa','Cgjizhm','mJG1mZbJzevVqMy','z2v0twLUDxrLCW','ChjVzhvJzxi','zgvMyxvSDa','rgzWBKC','C3rYAw5NAwz5','CMvWBgfJzq','yNvPBgrfDMvUDe1LC3nHz2u','zgLZy29UBMvJDa','ChvIBgLZAev2zw50','nJm3otuWvxzXsMvQ','zM9YBwf0rgf0zvrPBwu','C3bSAxq','rvjst1i','Dg9WAwm','Dw5RBM93BG','A2v5rMLLBgq','ChjVzhvJzxiUzgLZy29UBMvJDa','tK9useLorW','ru5usvrzx0nsrufuruq','yunQDhG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','AxndB25Uzwn0zwq','zfPoseq','B1DLrhy','ufrxu0y','tgvNywn5ugfYDgL0Aw9Uzxi','yNjVA2vYCW','AxnjBML0AwfSAxPPBMC','CgfYDgL0Aw9U','z2v0tw9UDgG','seTrBwe','zxjYB3i','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','AKPxqMy','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','ug14Cu4','mtaWma','zw52','Bg9N','s0fgs0fFte9hx0XfvKvm','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','nJi3nefQsxHIEq','ms4W','s0fgs0fFu0fttf9vu0vstKfnrq','yMfZzu9MzNnLDa','ChvIBgLZAerLBgv0zq','mtqXmdeYyxrMB0PJ','z2Htuuq','z2v0u2vJB25KCW','DgvUyw50swq','mty1odyXnvnfCePkua','mta5nZa0nLv3reXMvW','u1Ltvevn','s0fgs0fFq09otKvdveLptL9usu1ft1vu','wunbtM8','y2XPzw50swq','mtHjtKz1uMq','s0fgs0fFu0fttf9nruniqu5ju00','DgfIBgvoyw1L','s0fgs0fFvevoqu5ux0Le','zw5HyMXLza','z2v0sg91CNm'];a0_0x297a=function(){return _0x46c82;};return a0_0x297a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x515c14=a0_0x16cd;(function(_0x4677ec,_0x4170da){const _0x528e5f=a0_0x16cd,_0x18956f=_0x4677ec();while(!![]){try{const _0x3e7ee7=parseInt(_0x528e5f(0x8b))/0x1*(-parseInt(_0x528e5f(0xb6))/0x2)+-parseInt(_0x528e5f(0xc8))/0x3*(-parseInt(_0x528e5f(0x97))/0x4)+-parseInt(_0x528e5f(0x88))/0x5*(parseInt(_0x528e5f(0x76))/0x6)+-parseInt(_0x528e5f(0x73))/0x7*(-parseInt(_0x528e5f(0xcf))/0x8)+parseInt(_0x528e5f(0xa8))/0x9+parseInt(_0x528e5f(0x71))/0xa*(parseInt(_0x528e5f(0x91))/0xb)+parseInt(_0x528e5f(0xe0))/0xc*(-parseInt(_0x528e5f(0xd3))/0xd);if(_0x3e7ee7===_0x4170da)break;else _0x18956f['push'](_0x18956f['shift']());}catch(_0x11f926){_0x18956f['push'](_0x18956f['shift']());}}}(a0_0xa727,0x83004));const dotenv=require(a0_0x515c14(0x98)),path=require(a0_0x515c14(0x70)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x515c14(0x7d)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x515c14(0xb1));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x515c14(0x8a)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0x515c14(0x90)+messagehubPath);}catch(a0_0x2783c7){console[a0_0x515c14(0xd2)](a0_0x515c14(0xde)+a0_0x2783c7[a0_0x515c14(0x82)]);throw a0_0x2783c7;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x16cd(_0x4a34d3,_0x323399){_0x4a34d3=_0x4a34d3-0x70;const _0xa7270b=a0_0xa727();let _0x16cd32=_0xa7270b[_0x4a34d3];if(a0_0x16cd['iZcNLj']===undefined){var _0x3945c9=function(_0x370ab2){const _0x1d8ebf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46f6d3='',_0x2b44de='';for(let _0x50970d=0x0,_0x1e0ba8,_0x197067,_0xecf3f0=0x0;_0x197067=_0x370ab2['charAt'](_0xecf3f0++);~_0x197067&&(_0x1e0ba8=_0x50970d%0x4?_0x1e0ba8*0x40+_0x197067:_0x197067,_0x50970d++%0x4)?_0x46f6d3+=String['fromCharCode'](0xff&_0x1e0ba8>>(-0x2*_0x50970d&0x6)):0x0){_0x197067=_0x1d8ebf['indexOf'](_0x197067);}for(let _0x4b9f6c=0x0,_0x42a15c=_0x46f6d3['length'];_0x4b9f6c<_0x42a15c;_0x4b9f6c++){_0x2b44de+='%'+('00'+_0x46f6d3['charCodeAt'](_0x4b9f6c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b44de);};a0_0x16cd['kmmzYL']=_0x3945c9,a0_0x16cd['ZXeDpC']={},a0_0x16cd['iZcNLj']=!![];}const _0x55292e=_0xa7270b[0x0],_0x557c07=_0x4a34d3+_0x55292e,_0x26b4ce=a0_0x16cd['ZXeDpC'][_0x557c07];return!_0x26b4ce?(_0x16cd32=a0_0x16cd['kmmzYL'](_0x16cd32),a0_0x16cd['ZXeDpC'][_0x557c07]=_0x16cd32):_0x16cd32=_0x26b4ce,_0x16cd32;}function a0_0xa727(){const _0x5e869b=['ELPRr2K','y29UzMLYBwf0Aw9Uq291BNq','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','s29UzwTZAsb0zxjWDxr1CZOG','yKvQqM0','Dg9mB2nHBgvtDhjPBMC','zMXTyuy','nde1mtq2y01kv2jO','AxnfCNjVCLjLBgf0zwq','EeHuCNi','rurkDgm','tvnivujFvvnfuL9jra','CMvXDwvZDeLK','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','4PQG77IpievYCM9YoIa','C2nYzfu','twvZC2fNzsbuExbLoIa','rwTus3m','t1PTvMu','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','CMvJzwL2zxjjBMzV','CMvJzwL2zwrbDa','D2vIC29JA2v0','zKjZvhC','ywrKtgLZDgvUzxi','m0fZuvvhrq','s29UzMLNDxjHC2KGugXHDgzVCM06ia','C29JA2v0','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','Dg9ju09tDhjPBMC','tgHlz2e','mJyWnJa4tfL5CgLp','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','tvnivujFq09ntvvosunbveLptL9uwvbf','zxjYB3i','mteXote3qw95rxrY','v1vLDw0','rMHUBMq','tvnivujFu0vsvKLdrv9qt1ju','tw9KztOGs29UzwTZAsboEwf0yq','zgLZy29UBMvJDa','DfP6tMK','ugHMB3u','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','ksbWywrHia','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','y2XVC2u','mJryrMPxruy','igrPDgvYAw1Hig9SzwGG','DxnLCKLK','zKHnue4','Cgf0Aa','mJi0otm3mejirLD4yW','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','mJfrBgrOtwy','EfbPvg4','y2HHBM5LBa','nKLwwwjmAW','yNjVywrJyxn0','rMzXqvG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','AgnTwMy','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','y29UzMLN','lIbuB3rHBcbRB25MAxjTyxnPoIa','Cg9zzgK','DerSvvO','v0jdy0S','BwvZC2fNzq','Ae5cr2G','q29UBMvJDgLVBIb0Aw1LB3v0','zKTezeW','EgXWtu0','vNjLC2y','mJq5mZiZmg9izNPACq','vgLKywSGzgLRzxrHAhvP','Bg9N','mvPXEMvQCq','BwvZC2fNzs1YzwnLAxzLza','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','zNvUy3rPB24','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','mZnmzfj0ALi','r2TiD28','tu1pAfu','BMfTzq','BfrOt2u','t0H3D2O','mta5ntuXnKjzugfRwa','zg90zw52','tMfysey','Dhj1zq','u3rHDhvZieXPC3rLBMvYoIa','u3vIC2nYAwjLieTLEtOG','tvnivujFqvvut19bq0Tot1Dmrurhrq','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','z0vnweS','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','EMvLuLm','CgLK','BfrvCg8','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','wundA2S','zxHWB3j0CW','yNnquhy','mtKYmJm5mvvKsKLTtq','ChvIBgLZAa','y2HzEMK','ChvIBgLZAeTLEq','zw52','CgXHDgzVCM1dB25MAwC','z0nLBuC'];a0_0xa727=function(){return _0x5e869b;};return a0_0xa727();}function log(_0x34474c){const _0x4845d2=a0_0x515c14,_0x4c312f=new Date()[_0x4845d2(0xcd)]();console['log']('['+_0x4c312f+']\x20'+_0x34474c);}async function initMessageHub(){const _0x4a84ac=a0_0x515c14,_0x3ce822={'EDJtc':function(_0x5272ba,_0x3edada){return _0x5272ba(_0x3edada);},'lThOe':_0x4a84ac(0x89),'tTaJs':function(_0x21e6dd,_0x351c15){return _0x21e6dd===_0x351c15;},'hNBGh':'error','YCCkk':function(_0x34a0a6,_0xec414a){return _0x34a0a6===_0xec414a;},'zZkGi':function(_0x13a5b4,_0x2d7817){return _0x13a5b4(_0x2d7817);},'scrdU':function(_0x46ebb8,_0x437eae){return _0x46ebb8(_0x437eae);},'bsPPv':function(_0x91cbe9,_0x186a20){return _0x91cbe9(_0x186a20);},'fKDdL':_0x4a84ac(0xd7),'EMDeQ':_0x4a84ac(0x77),'gEMXK':_0x4a84ac(0x9a),'VtsXm':function(_0x37ca88,_0x5147b4){return _0x37ca88===_0x5147b4;},'xHTrr':'localhost','dgTgA':function(_0x492a76,_0xf0a2bd){return _0x492a76(_0xf0a2bd);},'AcmJG':function(_0x48d126,_0x4f385f){return _0x48d126(_0x4f385f);},'hcmZf':_0x4a84ac(0xcb),'MMOhU':function(_0x179818,_0x553d63){return _0x179818(_0x553d63);},'lTUpo':function(_0x2198bc,_0x59ec23,_0x5bb1ff){return _0x2198bc(_0x59ec23,_0x5bb1ff);},'GkHwo':function(_0x2c8975,_0x4a71a5){return _0x2c8975(_0x4a71a5);},'oyfor':_0x4a84ac(0xcc),'OHwwj':function(_0x2f6145,_0x248d50){return _0x2f6145(_0x248d50);},'bEjBm':function(_0x320c8e,_0x5de7b4){return _0x320c8e&&_0x5de7b4;},'Fhnnd':function(_0x5b2454,_0x56893b){return _0x5b2454(_0x56893b);},'CViUH':_0x4a84ac(0x8f),'aPgqn':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(_0x3ce822[_0x4a84ac(0xb3)](messagehub,isConnected))return _0x3ce822[_0x4a84ac(0xd5)](log,_0x3ce822['CViUH']),!![];if(connectionPromise)return _0x3ce822[_0x4a84ac(0x96)](log,_0x3ce822['aPgqn']),connectionPromise;return connectionPromise=new Promise(async(_0x1e5cf8,_0xda5d6a)=>{const _0x54a7bb=_0x4a84ac,_0xa1fb1={'poYdi':function(_0x1d9e3a,_0x4a2fee){const _0x17769e=a0_0x16cd;return _0x3ce822[_0x17769e(0xb9)](_0x1d9e3a,_0x4a2fee);},'SOelC':function(_0x221787,_0x371900){return _0x221787===_0x371900;},'Phfou':'disconnected','EkTKs':_0x3ce822[_0x54a7bb(0x95)],'tDlUZ':function(_0x2b79de,_0x3cacd9){return _0x3ce822['EDJtc'](_0x2b79de,_0x3cacd9);},'fHMPN':function(_0x265b96,_0xe4ef71){return _0x3ce822['tTaJs'](_0x265b96,_0xe4ef71);},'xlpMM':_0x3ce822[_0x54a7bb(0x83)],'chYzi':function(_0x3d8597,_0x4fbc43){return _0x3d8597(_0x4fbc43);},'Vresf':function(_0x45a81b,_0x5b5cca){const _0xe0e197=_0x54a7bb;return _0x3ce822[_0xe0e197(0xa5)](_0x45a81b,_0x5b5cca);},'tZzNi':function(_0x3ce085,_0x156777){const _0x3f99bb=_0x54a7bb;return _0x3ce822[_0x3f99bb(0xaf)](_0x3ce085,_0x156777);},'fBsTw':_0x54a7bb(0x8c),'gCemG':function(_0x449af8,_0x2fc097){return _0x449af8(_0x2fc097);},'NaXHF':function(_0x5a01cb,_0x1b756e){return _0x5a01cb&&_0x1b756e;},'xPiTn':function(_0x273e43,_0x5bdd7b){return _0x273e43(_0x5bdd7b);},'flmaF':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'};try{_0x3ce822[_0x54a7bb(0xbe)](log,_0x54a7bb(0x8d)),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x54a7bb(0xb4)]()),_0x3ce822[_0x54a7bb(0xa7)](log,_0x3ce822[_0x54a7bb(0x85)]);const _0x183949={'publishKey':process[_0x54a7bb(0xac)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x54a7bb(0xac)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x54a7bb(0xac)][_0x54a7bb(0xba)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+'-'+process[_0x54a7bb(0xa2)],'communicationType':process[_0x54a7bb(0xac)]['MSHUB_COMMUNICATION_TYPE']||_0x3ce822['EMDeQ'],'autoAcknowledge':process['env'][_0x54a7bb(0x9d)]===_0x3ce822[_0x54a7bb(0x9f)],'acknowledgeMessages':_0x3ce822['VtsXm'](process['env'][_0x54a7bb(0xdd)],_0x3ce822['gEMXK']),'platform':{'type':process['env'][_0x54a7bb(0xd1)]||_0x54a7bb(0xc5),'host':process['env']['MSHUB_HOST']||_0x3ce822[_0x54a7bb(0xb8)],'api_port':_0x3ce822['dgTgA'](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process['env'][_0x54a7bb(0xd6)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x183949),_0x3ce822['AcmJG'](log,_0x3ce822[_0x54a7bb(0x7a)]),log('Client\x20ID/UserID:\x20'+messagehub[_0x54a7bb(0xe2)]),log('Publish\x20Key:\x20'+messagehub[_0x54a7bb(0xab)]),_0x3ce822['MMOhU'](log,_0x54a7bb(0x9c)+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x3ce822[_0x54a7bb(0x93)](log,_0x54a7bb(0xc9)+JSON['stringify'](messagehub[_0x54a7bb(0xad)])),_0x3ce822[_0x54a7bb(0xaf)](log,_0x54a7bb(0x79)),messagehub[_0x54a7bb(0xc7)]({'status':function(_0x3b0d22){const _0x361a28=_0x54a7bb;_0xa1fb1['poYdi'](log,_0x361a28(0x9b)+_0x3b0d22['category']);if(_0x3b0d22['category']==='connected')log(_0x361a28(0x9e)),isConnected=!![],timeoutHandler&&(_0xa1fb1[_0x361a28(0x7f)](clearTimeout,timeoutHandler),timeoutHandler=null),_0xa1fb1['poYdi'](_0x1e5cf8,!![]);else{if(_0xa1fb1['SOelC'](_0x3b0d22['category'],_0xa1fb1[_0x361a28(0xda)])){const _0x228307=_0x3b0d22[_0x361a28(0xb7)]===!![];!_0x228307&&(_0xa1fb1['poYdi'](log,_0x361a28(0xc2)+(_0x3b0d22['reason']||_0xa1fb1[_0x361a28(0xc0)])),isConnected=![],connectionPromise&&(_0xa1fb1[_0x361a28(0x80)](_0xda5d6a,new Error(_0x361a28(0xb2)+(_0x3b0d22['reason']||_0xa1fb1[_0x361a28(0xc0)]))),connectionPromise=null));}else{if(_0xa1fb1[_0x361a28(0xe3)](_0x3b0d22['category'],_0xa1fb1[_0x361a28(0x86)])){let _0x38ab4b=_0x3b0d22['errorDetail']||_0x3b0d22['error']||'Unknown\x20error';log(_0x361a28(0xbd)+_0x38ab4b),isConnected=![],connectionPromise&&(_0xa1fb1[_0x361a28(0xaa)](_0xda5d6a,new Error(_0x38ab4b)),connectionPromise=null);}else{if(_0xa1fb1[_0x361a28(0x87)](_0x3b0d22['category'],'message-sent'))_0xa1fb1[_0x361a28(0xd9)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x3b0d22[_0x361a28(0xbb)]);else{if(_0x3b0d22['category']===_0xa1fb1[_0x361a28(0xc6)]){const _0x20f706=_0x3b0d22[_0x361a28(0xc3)]?.[_0x361a28(0x94)]||'Unknown',_0x4eaede=_0x3b0d22['receiverInfo']?.['id']||_0x3b0d22['receiverId'],_0x1a2759=new Date(_0x3b0d22['receiverInfo']?.[_0x361a28(0xc4)]||_0x3b0d22[_0x361a28(0xc4)]||new Date())['toLocaleTimeString']();_0xa1fb1['gCemG'](log,_0x361a28(0x7b)+_0x3b0d22['requestId']+_0x361a28(0xe1)+_0x20f706+'\x20('+_0x4eaede+_0x361a28(0xdc)+_0x1a2759+_0x361a28(0x7e)+(_0x3b0d22[_0x361a28(0xb0)]||0x1));}}}}}}}),timeoutHandler=_0x3ce822[_0x54a7bb(0xa3)](setTimeout,()=>{const _0x1562df=_0x54a7bb;_0xa1fb1[_0x1562df(0x99)](!isConnected,connectionPromise)&&(_0xa1fb1[_0x1562df(0x74)](log,_0xa1fb1[_0x1562df(0xb5)]),_0xa1fb1[_0x1562df(0xae)](_0xda5d6a,new Error(_0x1562df(0x84))),connectionPromise=null);},0x2710);}catch(_0x3c474c){_0x3ce822[_0x54a7bb(0x92)](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x3c474c[_0x54a7bb(0x82)]),console['error'](_0x3ce822['oyfor'],_0x3c474c),connectionPromise=null,_0x3ce822[_0x54a7bb(0x96)](_0xda5d6a,_0x3c474c);}}),connectionPromise;}async function publishMessage(_0x187dec,_0x300ec0,_0x5e591a,_0x27edc3={}){const _0x3ebb8b=a0_0x515c14,_0x463e8e={'jDuQb':function(_0x13535f){return _0x13535f();},'VgyZv':function(_0x1d742d,_0x464757){return _0x1d742d(_0x464757);},'FfqAX':_0x3ebb8b(0x7c),'WUeum':function(_0x57f98b,_0x4c9ca9){return _0x57f98b!==_0x4c9ca9;},'lSJnX':'restforge','OZmVe':function(_0xfb7f99,_0x468742){return _0xfb7f99(_0x468742);},'ZFbhr':'Message\x20sent\x20successfully'};try{!isConnected&&await _0x463e8e['jDuQb'](initMessageHub);const _0xf573b3=messagehub[_0x3ebb8b(0x75)](_0x187dec);log(_0x3ebb8b(0xdb)),_0x463e8e['VgyZv'](log,'Channel\x20Target:\x20'+_0xf573b3['topic']),log(_0x3ebb8b(0xbf)+_0x300ec0),log(_0x463e8e[_0x3ebb8b(0x78)]);const _0x122914={'requireAck':_0x463e8e[_0x3ebb8b(0xd4)](_0x27edc3['requireAck'],undefined)?_0x27edc3['requireAck']:![],'clearCache':_0x27edc3['clearCache']!==undefined?_0x27edc3['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x3ebb8b(0xca)]['id']:_0x463e8e['lSJnX']};_0x463e8e['VgyZv'](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x132df9={'type':_0x300ec0,'content':_0x5e591a},_0x13657b=await _0xf573b3[_0x3ebb8b(0xa9)](_0x132df9,_0x122914);return _0x463e8e[_0x3ebb8b(0xc1)](log,_0x3ebb8b(0xa4)+_0x187dec),{'success':!![],'requestId':_0x13657b['requestId'],'topic':_0x187dec,'message':_0x463e8e['ZFbhr']};}catch(_0x3a05fe){return log(_0x3ebb8b(0x72)+_0x3a05fe['message']),{'success':![],'error':_0x3a05fe['message'],'topic':_0x187dec,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x554e02=a0_0x515c14,_0x1936d9={'Vomqr':function(_0x572dbd,_0x3d5732){return _0x572dbd&&_0x3d5732;},'zeeRS':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','LhKga':_0x554e02(0x8e),'WBCcK':function(_0x641413,_0x4d1b0d){return _0x641413(_0x4d1b0d);},'PEJMk':function(_0x2ea77c,_0x54d271){return _0x2ea77c(_0x54d271);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x1936d9['Vomqr'](isConnected,messagehub))try{if(typeof messagehub[_0x554e02(0xd8)]===_0x554e02(0x8e))await messagehub[_0x554e02(0xd8)](),log(_0x1936d9[_0x554e02(0xa1)]);else{if(typeof messagehub['close']===_0x1936d9[_0x554e02(0xce)])await messagehub[_0x554e02(0xdf)](),_0x1936d9[_0x554e02(0x81)](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x554e02(0xca)]&&typeof messagehub[_0x554e02(0xca)]['disconnect']===_0x1936d9['LhKga']?(messagehub[_0x554e02(0xca)]['disconnect'](),_0x1936d9[_0x554e02(0x81)](log,_0x554e02(0xa0))):_0x1936d9['PEJMk'](log,_0x554e02(0xbc));}isConnected=![],connectionPromise=null;}catch(_0x52f99a){log(_0x554e02(0xd0)+_0x52f99a[_0x554e02(0x82)]);}}module[a0_0x515c14(0xa6)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
function a0_0x4112(_0x418c1b,_0x1e8de8){_0x418c1b=_0x418c1b-0xd9;const _0x2c585e=a0_0x2c58();let _0x411289=_0x2c585e[_0x418c1b];if(a0_0x4112['dYGxUu']===undefined){var _0x5e880b=function(_0x2d0792){const _0x48959e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe09941='',_0x3cec0f='';for(let _0x4c32da=0x0,_0x1c3b6c,_0x4ca2e7,_0x1563ae=0x0;_0x4ca2e7=_0x2d0792['charAt'](_0x1563ae++);~_0x4ca2e7&&(_0x1c3b6c=_0x4c32da%0x4?_0x1c3b6c*0x40+_0x4ca2e7:_0x4ca2e7,_0x4c32da++%0x4)?_0xe09941+=String['fromCharCode'](0xff&_0x1c3b6c>>(-0x2*_0x4c32da&0x6)):0x0){_0x4ca2e7=_0x48959e['indexOf'](_0x4ca2e7);}for(let _0x40b720=0x0,_0x186f37=_0xe09941['length'];_0x40b720<_0x186f37;_0x40b720++){_0x3cec0f+='%'+('00'+_0xe09941['charCodeAt'](_0x40b720)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3cec0f);};a0_0x4112['HQKFuF']=_0x5e880b,a0_0x4112['EZvkCX']={},a0_0x4112['dYGxUu']=!![];}const _0x5c7403=_0x2c585e[0x0],_0x1081d5=_0x418c1b+_0x5c7403,_0x51e4cb=a0_0x4112['EZvkCX'][_0x1081d5];return!_0x51e4cb?(_0x411289=a0_0x4112['HQKFuF'](_0x411289),a0_0x4112['EZvkCX'][_0x1081d5]=_0x411289):_0x411289=_0x51e4cb,_0x411289;}const a0_0x19877d=a0_0x4112;(function(_0x35305e,_0x5b71a5){const _0x579f53=a0_0x4112,_0x574269=_0x35305e();while(!![]){try{const _0xecd7fa=parseInt(_0x579f53(0x104))/0x1*(parseInt(_0x579f53(0x120))/0x2)+-parseInt(_0x579f53(0xdc))/0x3*(-parseInt(_0x579f53(0x10f))/0x4)+parseInt(_0x579f53(0x138))/0x5+parseInt(_0x579f53(0x102))/0x6*(-parseInt(_0x579f53(0xda))/0x7)+parseInt(_0x579f53(0x12b))/0x8*(-parseInt(_0x579f53(0x114))/0x9)+-parseInt(_0x579f53(0xf8))/0xa*(-parseInt(_0x579f53(0x119))/0xb)+-parseInt(_0x579f53(0x116))/0xc;if(_0xecd7fa===_0x5b71a5)break;else _0x574269['push'](_0x574269['shift']());}catch(_0x47759a){_0x574269['push'](_0x574269['shift']());}}}(a0_0x2c58,0xd3543));const dotenv=require(a0_0x19877d(0xeb)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x19877d(0x12f));dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x19877d(0xfc)](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x19877d(0x10b)](a0_0x19877d(0x12a)+messagehubPath);else throw new Error(a0_0x19877d(0x105)+messagehubPath);}catch(a0_0x480f92){console[a0_0x19877d(0xe7)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x480f92['message']);throw a0_0x480f92;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x3a4310){const _0x54c415=new Date()['toISOString']();console['log']('['+_0x54c415+']\x20'+_0x3a4310);}async function initMessageHub(){const _0x37f99=a0_0x19877d,_0x5cc3a2={'CwfsC':function(_0x442838,_0x565194){return _0x442838(_0x565194);},'SvaZz':function(_0x8bc566,_0x3f58f7){return _0x8bc566(_0x3f58f7);},'lWryC':'Tidak\x20diketahui','gOZHb':function(_0x144d8d,_0x9bcada){return _0x144d8d===_0x9bcada;},'OGraY':_0x37f99(0xe7),'IOrno':_0x37f99(0xfe),'qjsMW':'message-received','Oervn':function(_0x571f26,_0x1ba402){return _0x571f26(_0x1ba402);},'jorWU':function(_0x400658,_0x48e4bd){return _0x400658(_0x48e4bd);},'lVXcJ':_0x37f99(0xe6),'mILlJ':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','CRrnI':function(_0x23bb51,_0x1474f5){return _0x23bb51(_0x1474f5);},'FUsUH':function(_0x53f062,_0x37aa4a){return _0x53f062(_0x37aa4a);},'tnGIR':'Mode:\x20Koneksi\x20Nyata','OXZVF':'default','aItYQ':'broadcast','ZcIXN':_0x37f99(0x111),'guVPl':function(_0x11e1e4,_0xfc6fed){return _0x11e1e4(_0xfc6fed);},'genKb':function(_0xb8f654,_0x399112){return _0xb8f654(_0x399112);},'EQqUP':function(_0x57c562,_0x25f40d){return _0x57c562(_0x25f40d);},'qruXc':_0x37f99(0x133)};if(messagehub&&isConnected)return _0x5cc3a2['EQqUP'](log,_0x5cc3a2[_0x37f99(0x121)]),!![];if(connectionPromise)return _0x5cc3a2['Oervn'](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x264779,_0x3c09c1)=>{const _0x76369=_0x37f99,_0x2af1fb={'XkxLK':function(_0x50fce8,_0x1a1c34){return _0x50fce8&&_0x1a1c34;},'wNsdQ':function(_0x9ee350,_0x26696c){return _0x5cc3a2['jorWU'](_0x9ee350,_0x26696c);},'WzFgU':_0x5cc3a2['lVXcJ'],'sJlkj':_0x76369(0x10d)};try{log(_0x5cc3a2[_0x76369(0x135)]),_0x5cc3a2[_0x76369(0xe4)](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x76369(0xed)]()),_0x5cc3a2['FUsUH'](log,_0x5cc3a2['tnGIR']);const _0x5ac50e={'publishKey':process[_0x76369(0x10c)][_0x76369(0x112)],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x76369(0x10c)]['MSHUB_USER_ID']||_0x76369(0xef)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x5cc3a2[_0x76369(0x130)])+'-'+process['pid'],'communicationType':process[_0x76369(0x10c)]['MSHUB_COMMUNICATION_TYPE']||_0x5cc3a2['aItYQ'],'autoAcknowledge':process['env']['MSHUB_AUTO_ACKNOWLEDGE']===_0x5cc3a2[_0x76369(0x103)],'acknowledgeMessages':process[_0x76369(0x10c)]['MSHUB_ACKNOWLEDGE_MESSAGES']==='true','platform':{'type':process[_0x76369(0x10c)][_0x76369(0xe2)]||_0x76369(0x131),'host':process['env'][_0x76369(0x11d)]||_0x76369(0x12c),'api_port':parseInt(process[_0x76369(0x10c)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x5cc3a2[_0x76369(0x11e)](parseInt,process[_0x76369(0x10c)][_0x76369(0x124)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x5ac50e),_0x5cc3a2['guVPl'](log,_0x76369(0x122)),log('Client\x20ID/UserID:\x20'+messagehub[_0x76369(0x113)]),log('Publish\x20Key:\x20'+messagehub['publishKey']),_0x5cc3a2[_0x76369(0x12d)](log,_0x76369(0xf2)+messagehub['subscribeKey']),log(_0x76369(0x118)+messagehub['communicationType']),log(_0x76369(0xe9)+JSON['stringify'](messagehub[_0x76369(0x132)])),_0x5cc3a2['genKb'](log,_0x76369(0x128)),messagehub[_0x76369(0xe3)]({'status':function(_0x3e0470){const _0x3c43b3=_0x76369;_0x5cc3a2['CwfsC'](log,_0x3c43b3(0x137)+_0x3e0470[_0x3c43b3(0x136)]);if(_0x3e0470[_0x3c43b3(0x136)]===_0x3c43b3(0xe1))log(_0x3c43b3(0x11f)),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x5cc3a2[_0x3c43b3(0x11b)](_0x264779,!![]);else{if(_0x3e0470[_0x3c43b3(0x136)]==='disconnected'){const _0xa80064=_0x3e0470[_0x3c43b3(0x10e)]===!![];!_0xa80064&&(log(_0x3c43b3(0x126)+(_0x3e0470[_0x3c43b3(0x117)]||_0x3c43b3(0xf5))),isConnected=![],connectionPromise&&(_0x3c09c1(new Error(_0x3c43b3(0xdd)+(_0x3e0470[_0x3c43b3(0x117)]||_0x5cc3a2[_0x3c43b3(0xfa)]))),connectionPromise=null));}else{if(_0x5cc3a2[_0x3c43b3(0xf1)](_0x3e0470[_0x3c43b3(0x136)],_0x5cc3a2['OGraY'])){let _0x4139a8=_0x3e0470[_0x3c43b3(0xf4)]||_0x3e0470[_0x3c43b3(0xe7)]||_0x5cc3a2['IOrno'];_0x5cc3a2[_0x3c43b3(0x11b)](log,_0x3c43b3(0xdf)+_0x4139a8),isConnected=![],connectionPromise&&(_0x3c09c1(new Error(_0x4139a8)),connectionPromise=null);}else{if(_0x3e0470[_0x3c43b3(0x136)]==='message-sent')_0x5cc3a2[_0x3c43b3(0xfb)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x3e0470['requestId']);else{if(_0x5cc3a2[_0x3c43b3(0xf1)](_0x3e0470[_0x3c43b3(0x136)],_0x5cc3a2[_0x3c43b3(0xfd)])){const _0x1cff0c=_0x3e0470[_0x3c43b3(0xff)]?.['name']||_0x3c43b3(0x134),_0x3d36fa=_0x3e0470['receiverInfo']?.['id']||_0x3e0470[_0x3c43b3(0x107)],_0x26df91=new Date(_0x3e0470['receiverInfo']?.['receivedAt']||_0x3e0470['receivedAt']||new Date())['toLocaleTimeString']();_0x5cc3a2['Oervn'](log,_0x3c43b3(0xf7)+_0x3e0470[_0x3c43b3(0x139)]+_0x3c43b3(0xf3)+_0x1cff0c+'\x20('+_0x3d36fa+_0x3c43b3(0xe8)+_0x26df91+_0x3c43b3(0xd9)+(_0x3e0470[_0x3c43b3(0xe5)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x2dae09=_0x76369;_0x2af1fb['XkxLK'](!isConnected,connectionPromise)&&(_0x2af1fb[_0x2dae09(0x123)](log,_0x2af1fb['WzFgU']),_0x3c09c1(new Error(_0x2af1fb[_0x2dae09(0x12e)])),connectionPromise=null);},0x2710);}catch(_0x4d1e1c){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x4d1e1c[_0x76369(0xf9)]),console[_0x76369(0xe7)]('Error\x20inisialisasi\x20MessageHub:',_0x4d1e1c),connectionPromise=null,_0x3c09c1(_0x4d1e1c);}}),connectionPromise;}async function publishMessage(_0x167ed1,_0x198325,_0x565dc1,_0x467e00={}){const _0x298d41=a0_0x19877d,_0x40d691={'IhXFw':function(_0x1b1d7a,_0x276c5c){return _0x1b1d7a(_0x276c5c);},'frczw':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','KvKUt':function(_0x13c5ac,_0x3c8d38){return _0x13c5ac!==_0x3c8d38;},'EEyOl':_0x298d41(0x101),'RfTFu':_0x298d41(0x106),'bdyQW':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x2afcff=messagehub['channel'](_0x167ed1);_0x40d691['IhXFw'](log,_0x40d691['frczw']),log('Channel\x20Target:\x20'+_0x2afcff['topic']),log('Message\x20Type:\x20'+_0x198325),log(_0x298d41(0x11a));const _0x314c8a={'requireAck':_0x40d691['KvKUt'](_0x467e00['requireAck'],undefined)?_0x467e00[_0x298d41(0xdb)]:![],'clearCache':_0x467e00[_0x298d41(0x108)]!==undefined?_0x467e00[_0x298d41(0x108)]:!![],'senderId':messagehub[_0x298d41(0xf6)]?messagehub['socket']['id']:'restforge'};_0x40d691['IhXFw'](log,_0x40d691[_0x298d41(0x127)]);const _0x58defd={'type':_0x198325,'content':_0x565dc1},_0x16dc40=await _0x2afcff[_0x298d41(0x100)](_0x58defd,_0x314c8a);return _0x40d691[_0x298d41(0x129)](log,_0x298d41(0xf0)+_0x167ed1),{'success':!![],'requestId':_0x16dc40['requestId'],'topic':_0x167ed1,'message':_0x40d691['RfTFu']};}catch(_0x485ce4){return _0x40d691['IhXFw'](log,_0x298d41(0x10a)+_0x485ce4[_0x298d41(0xf9)]),{'success':![],'error':_0x485ce4[_0x298d41(0xf9)],'topic':_0x167ed1,'message':_0x40d691['bdyQW']};}}async function closeConnection(){const _0x1b6c92=a0_0x19877d,_0x381eaf={'GChsO':_0x1b6c92(0x115),'SSBTm':_0x1b6c92(0x109),'WZYYC':function(_0x5638b7,_0x407350){return _0x5638b7(_0x407350);},'ZfoOU':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','tvDNE':function(_0x43cdc5,_0x2c1ac0){return _0x43cdc5===_0x2c1ac0;}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x1b6c92(0xea)]===_0x1b6c92(0x109))await messagehub[_0x1b6c92(0xea)](),log(_0x381eaf['GChsO']);else{if(typeof messagehub['close']===_0x381eaf['SSBTm'])await messagehub[_0x1b6c92(0xee)](),_0x381eaf[_0x1b6c92(0x110)](log,_0x381eaf[_0x1b6c92(0x125)]);else messagehub['socket']&&_0x381eaf[_0x1b6c92(0xec)](typeof messagehub[_0x1b6c92(0xf6)][_0x1b6c92(0xea)],'function')?(messagehub[_0x1b6c92(0xf6)]['disconnect'](),log(_0x1b6c92(0xe0))):_0x381eaf[_0x1b6c92(0x110)](log,_0x1b6c92(0x11c));}isConnected=![],connectionPromise=null;}catch(_0x20034d){_0x381eaf['WZYYC'](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x20034d['message']);}}module[a0_0x19877d(0xde)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x2c58(){const _0x4b227c=['ywrKtgLZDgvUzxi','q1jYBKK','y29UzMLYBwf0Aw9Uq291BNq','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','zxjYB3i','ksbWywrHia','s29UzMLNDxjHC2KGugXHDgzVCM06ia','zgLZy29UBMvJDa','zg90zw52','DhzetKu','Dg9mB2nHBgvtDhjPBMC','y2XVC2u','CMvZDgzVCMDLlq','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','z09Asgi','u3vIC2nYAwjLieTLEtOG','igrPDgvYAw1Hig9SzwGG','zxjYB3jezxrHAwW','vgLKywSGzgLRzxrHAhvP','C29JA2v0','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','mtbQuu1AChe','BwvZC2fNzq','BfDYEum','q3DMC0m','CMvZB2X2zq','CwPZtvC','vw5RBM93BIbLCNjVCG','CMvJzwL2zxjjBMzV','ChvIBgLZAa','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','nMDNvLLnDW','wMnjwe4','mtvUAMTeBxa','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','CMvJzwL2zxjjza','y2XLyxjdywnOzq','zNvUy3rPB24','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','Bg9N','zw52','q29UBMvJDgLVBIb0Aw1LB3v0','AxnfCNjVCLjLBgf0zwq','nZi2mJu2u1PcrMLf','v1Pzwum','Dhj1zq','tvnivujFufvcteLtsf9lrvK','DxnLCKLK','mJKWmtC4Efn1wKvX','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','otmWoda3nMrMwvHmDG','CMvHC29U','vgLWzsblB211BMLRyxnPoIa','odaYnZK4n0frCwjnvW','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','u3zHwNO','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','tvnivujFse9tva','AM9Yv1u','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','ote2nJznrvvYv2K','Cxj1wgm','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','D05Zzfe','tvnivujFu0vsvKLdrv9qt1ju','wMzVt1u','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','ruv5t2W','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','swHyrNC','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','nJrmzuTjwvK','Bg9JywXOB3n0','t2vYDM4','C0PSA2O','DxvPza','t1HAvKy','D2vIC29JA2v0','CgXHDgzVCM1dB25MAwC','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','vw5RBM93BG','BuLmBeO','y2f0zwDVCNK','u3rHDhvZieXPC3rLBMvYoIa','ody4nZmWqxDMu0XZ','CMvXDwvZDeLK','lIbuB3rHBcbRB25MAxjTyxnPoIa','odaXmduWnLLgq2HksW','CMvXDwLYzufJAW','mJrmyxfKrgG','s29UzwTZAsb0zxjWDxr1CZOG','zxHWB3j0CW','4PQG77IpievYCM9YoIa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','y29UBMvJDgvK','tvnivujFq09ntvvosunbveLptL9uwvbf'];a0_0x2c58=function(){return _0x4b227c;};return a0_0x2c58();}
|