@restforgejs/platform 5.2.12 → 5.2.16
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/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +8 -9
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/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';const
|
|
1
|
+
'use strict';const a0_0x1f5958=a0_0x27a9;function a0_0x27a9(_0x4c390d,_0x4556fc){_0x4c390d=_0x4c390d-0x169;const _0x170643=a0_0x1706();let _0x27a918=_0x170643[_0x4c390d];if(a0_0x27a9['nWYGhn']===undefined){var _0x588ecf=function(_0x5d70f8){const _0x404c9b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x57583a='',_0x31817a='';for(let _0x535da4=0x0,_0x20a3e8,_0x1d2c37,_0x23d8dd=0x0;_0x1d2c37=_0x5d70f8['charAt'](_0x23d8dd++);~_0x1d2c37&&(_0x20a3e8=_0x535da4%0x4?_0x20a3e8*0x40+_0x1d2c37:_0x1d2c37,_0x535da4++%0x4)?_0x57583a+=String['fromCharCode'](0xff&_0x20a3e8>>(-0x2*_0x535da4&0x6)):0x0){_0x1d2c37=_0x404c9b['indexOf'](_0x1d2c37);}for(let _0x51b8c2=0x0,_0x1e481a=_0x57583a['length'];_0x51b8c2<_0x1e481a;_0x51b8c2++){_0x31817a+='%'+('00'+_0x57583a['charCodeAt'](_0x51b8c2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31817a);};a0_0x27a9['qIbATD']=_0x588ecf,a0_0x27a9['jizpzp']={},a0_0x27a9['nWYGhn']=!![];}const _0x37bed4=_0x170643[0x0],_0x37df0c=_0x4c390d+_0x37bed4,_0x55fcd8=a0_0x27a9['jizpzp'][_0x37df0c];return!_0x55fcd8?(_0x27a918=a0_0x27a9['qIbATD'](_0x27a918),a0_0x27a9['jizpzp'][_0x37df0c]=_0x27a918):_0x27a918=_0x55fcd8,_0x27a918;}(function(_0x22fc43,_0xd8a9cc){const _0x336ee3=a0_0x27a9,_0x3c2eab=_0x22fc43();while(!![]){try{const _0x22870b=-parseInt(_0x336ee3(0x17d))/0x1+parseInt(_0x336ee3(0x178))/0x2+parseInt(_0x336ee3(0x192))/0x3+-parseInt(_0x336ee3(0x181))/0x4+-parseInt(_0x336ee3(0x179))/0x5*(-parseInt(_0x336ee3(0x196))/0x6)+parseInt(_0x336ee3(0x184))/0x7*(parseInt(_0x336ee3(0x17a))/0x8)+parseInt(_0x336ee3(0x182))/0x9;if(_0x22870b===_0xd8a9cc)break;else _0x3c2eab['push'](_0x3c2eab['shift']());}catch(_0x124053){_0x3c2eab['push'](_0x3c2eab['shift']());}}}(a0_0x1706,0x429f4));function a0_0x1706(){const _0x3ed2d4=['BM93','mtu2qKXqy2vX','yNvJA2v0','y3DK','DgvTCa','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','yMfZzw5HBwu','yKzZBeG','ChjVBwLZzxm','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','x3bHCNnLrMLSzvnPEMu','Cgf0Aa','uwnhuMy','DgvTCerPCG','x3rLBxbeAxi','rMLSzsb0ExbLiciU','mtbnqG','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','mtK3oty2tuDbtLLm','mZC3nZvIyxrSBfu','mtC1mdq0ofHSzeX1qW','ywXSB3DLzfr5CgvZ','Dw5SAw5R','mJq4mtKWy1LNsKL2','zxjYB3i','D2fYBG','zxH0BMfTzq','mtCWoduXmLrhD2HJrW','mZu2mdiYmffXu0rcqq','B3jPz2LUywXUyw1L','n09uDwPkBq','Bwf4rMLSzxm','ChvZAa','ChjVy2vZC1vWBg9HzgvKrMLSzxm','BwvZC2fNzq','Bwf0y2G','C2L6zq','Agv4','DxjS','zgvMyxvSDa','BgvUz3rO','BwLTzxr5Cgu','zw5KCg9PBNq','BwTKAxjtEw5J','mte1mJa5rhnRy1bn','x2rLBgv0zvrLBxbgAwXL','y3j5ChrV'];a0_0x1706=function(){return _0x3ed2d4;};return a0_0x1706();}const multer=require('multer'),path=require('path'),crypto=require(a0_0x1f5958(0x194)),fs=require('fs')[a0_0x1f5958(0x16e)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x11ad9a=a0_0x1f5958;this[_0x11ad9a(0x174)]=null;}get['tempDir'](){const _0x590c20=a0_0x1f5958;if(!this[_0x590c20(0x174)]){const _0x3181e2=process['env']['RESTFORGE_PROJECT_NAME']||_0x590c20(0x18d);this['_tempDir']=process['env']['UPLOAD_TEMP_DIR']||path['join'](process[_0x590c20(0x169)](),_0x590c20(0x16a),'uploads',_0x3181e2),!fsSync['existsSync'](this[_0x590c20(0x174)])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x49c119={}){const _0x34e4ec=a0_0x1f5958,_0x1f71e9={'ftpKr':function(_0x129e95,_0x2fe923,_0x8a2db2){return _0x129e95(_0x2fe923,_0x8a2db2);},'wwwpH':_0x34e4ec(0x176),'bFslH':function(_0x163de1,_0x12ac8d){return _0x163de1(_0x12ac8d);}},_0x432ccf=_0x49c119[_0x34e4ec(0x185)]||0x5,_0x30a374=this[_0x34e4ec(0x170)](_0x49c119['maxFileSize']||_0x1f71e9['wwwpH']),_0x2e93ad=_0x49c119[_0x34e4ec(0x17b)]||[],_0x2ba623=multer['diskStorage']({'destination':(_0x4e39ef,_0x2d6260,_0x412c8a)=>{const _0x1790bf=_0x34e4ec;!fsSync['existsSync'](this[_0x1790bf(0x173)])&&fsSync[_0x1790bf(0x191)](this[_0x1790bf(0x173)],{'recursive':!![]}),_0x412c8a(null,this['tempDir']);},'filename':(_0x84df6f,_0x30f196,_0x32b752)=>{const _0x3d2620=_0x34e4ec,_0x2f40b7=crypto['randomBytes'](0x8)['toString'](_0x3d2620(0x18b)),_0x4926b1=Date[_0x3d2620(0x195)](),_0x28dab1=path['extname'](_0x30f196[_0x3d2620(0x183)]);_0x32b752(null,'upload-'+_0x4926b1+'-'+_0x2f40b7+_0x28dab1);}}),_0x15e178=(_0x5d7aea,_0x2651ca,_0x351361)=>{const _0x46bb6d=_0x34e4ec;if(_0x2e93ad[_0x46bb6d(0x18e)]===0x0)return _0x351361(null,!![]);const _0x26e601=path[_0x46bb6d(0x180)](_0x2651ca['originalname'])['toLowerCase']()['replace']('.','');_0x2e93ad['includes'](_0x26e601)?_0x1f71e9['ftpKr'](_0x351361,null,!![]):_0x351361(new Error(_0x46bb6d(0x175)+_0x26e601+_0x46bb6d(0x16f)+_0x2e93ad['join'](',\x20')));};return _0x1f71e9[_0x34e4ec(0x16d)](multer,{'storage':_0x2ba623,'limits':{'fileSize':_0x30a374,'files':_0x432ccf},'fileFilter':_0x15e178})['array']('files',_0x432ccf);}async[a0_0x1f5958(0x187)](_0x379d60,_0x2db047,_0x452da7={}){const _0x4bad2b=a0_0x1f5958,{createFileMetadata:_0x2b2375}=require(_0x4bad2b(0x177)),_0x5471a9=[];for(const _0x30cf5a of _0x379d60){try{const _0x57ac96=_0x2db047['generateKey'](_0x30cf5a['originalname'],{'prefix':_0x452da7['prefix']||'','project':_0x452da7['project']||'','module':_0x452da7['module']||'','endpoint':_0x452da7[_0x4bad2b(0x190)]||''}),_0x5bcff2=fsSync['createReadStream'](_0x30cf5a[_0x4bad2b(0x171)]),_0x3f6581=await _0x2db047['upload'](_0x5bcff2,_0x57ac96,{'contentType':_0x30cf5a['mimetype'],'fileSize':_0x30cf5a['size']}),_0x1eee2b=_0x2b2375({'key':_0x3f6581['key'],'originalName':_0x30cf5a['originalname'],'fileName':path[_0x4bad2b(0x16c)](_0x57ac96),'contentType':_0x30cf5a[_0x4bad2b(0x18f)],'size':_0x30cf5a[_0x4bad2b(0x18a)],'url':_0x3f6581[_0x4bad2b(0x18c)],'provider':_0x2db047['providerName'],'bucket':_0x2db047[_0x4bad2b(0x197)]||null,'uploadedBy':_0x452da7['uploadedBy']||null});_0x5471a9[_0x4bad2b(0x186)](_0x1eee2b);}catch(_0x2fc56a){logger[_0x4bad2b(0x17e)]({'event':'upload_v2_process_error','file':_0x30cf5a[_0x4bad2b(0x183)],'error':_0x2fc56a['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x30cf5a['originalname']);throw _0x2fc56a;}finally{await this['_deleteTempFile'](_0x30cf5a[_0x4bad2b(0x171)]);}}return _0x5471a9;}async[a0_0x1f5958(0x193)](_0x217f5f){const _0x49f2b8=a0_0x1f5958;try{await fs[_0x49f2b8(0x17c)](_0x217f5f);}catch(_0x203049){logger[_0x49f2b8(0x17f)]({'event':_0x49f2b8(0x16b),'filePath':_0x217f5f,'error':_0x203049[_0x49f2b8(0x188)]},'Failed\x20to\x20delete\x20temp\x20file');}}['_parseFileSize'](_0x4f27bd){const _0x4b8fee=a0_0x1f5958,_0x106a2b={'rLric':function(_0xcf024c,_0x5a31f1){return _0xcf024c===_0x5a31f1;},'QcGRf':'number','ZuUUo':function(_0x716dc1,_0x4b1bf5){return _0x716dc1*_0x4b1bf5;},'ccasj':function(_0x554b7d,_0x581f9c){return _0x554b7d*_0x581f9c;},'YHevN':function(_0x1d7d76,_0x563059){return _0x1d7d76*_0x563059;}};if(_0x106a2b['rLric'](typeof _0x4f27bd,_0x106a2b[_0x4b8fee(0x172)]))return _0x4f27bd;const _0x26b6ab=String(_0x4f27bd)['trim']()[_0x4b8fee(0x189)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x26b6ab)return _0x106a2b['ZuUUo'](_0x106a2b['ccasj'](0xa,0x400),0x400);const _0x4fb0e0=parseFloat(_0x26b6ab[0x1]),_0x5e9f04=_0x26b6ab[0x2]['toUpperCase'](),_0x4c940c={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x106a2b['YHevN'](0x400,0x400)*0x400};return Math['floor'](_0x4fb0e0*(_0x4c940c[_0x5e9f04]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4313a6=a0_0x210b;(function(_0x450ce6,_0x293354){const _0x599b24=a0_0x210b,_0x535770=_0x450ce6();while(!![]){try{const _0x44cdd0=parseInt(_0x599b24(0xcf))/0x1+-parseInt(_0x599b24(0xad))/0x2*(-parseInt(_0x599b24(0xc7))/0x3)+-parseInt(_0x599b24(0xb9))/0x4*(parseInt(_0x599b24(0xc4))/0x5)+parseInt(_0x599b24(0xa7))/0x6*(-parseInt(_0x599b24(0xc1))/0x7)+parseInt(_0x599b24(0xcb))/0x8*(-parseInt(_0x599b24(0xd2))/0x9)+parseInt(_0x599b24(0xd1))/0xa+parseInt(_0x599b24(0xb4))/0xb;if(_0x44cdd0===_0x293354)break;else _0x535770['push'](_0x535770['shift']());}catch(_0x2d872a){_0x535770['push'](_0x535770['shift']());}}}(a0_0x2daf,0xe235f));const multer=require(a0_0x4313a6(0xc0)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x4313a6(0xca));class UploadHandler{constructor(){const _0x483ec9=a0_0x4313a6,_0x2ba272={'YjDxF':function(_0x5db5bf,_0x3180e6){return _0x5db5bf*_0x3180e6;}};this[_0x483ec9(0xa5)]=null,this['maxFileSize']=_0x2ba272['YjDxF'](0xa,0x400)*0x400;}get[a0_0x4313a6(0xc9)](){const _0x5ea7a2=a0_0x4313a6,_0x5aebc7={'SZjil':'default','mfyEP':_0x5ea7a2(0xba),'UHfcg':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x5ea7a2(0xa5)]){const _0x4da756=process['env'][_0x5ea7a2(0xc8)]||_0x5aebc7[_0x5ea7a2(0xc5)];this[_0x5ea7a2(0xa5)]=process[_0x5ea7a2(0xb5)]['UPLOAD_DIR']||path[_0x5ea7a2(0xac)](__dirname,'../../temp/uploads/'+_0x4da756);try{!fsSync[_0x5ea7a2(0xb6)](this[_0x5ea7a2(0xa5)])&&fsSync[_0x5ea7a2(0xcc)](this[_0x5ea7a2(0xa5)],{'recursive':!![]}),logger[_0x5ea7a2(0xd5)]({'event':_0x5ea7a2(0xd0),'dir':this[_0x5ea7a2(0xa5)]},_0x5aebc7['mfyEP']);}catch(_0x27809d){logger['error']({'event':_0x5ea7a2(0xbc),'error':_0x27809d['message']},_0x5aebc7[_0x5ea7a2(0xbe)]);}}return this[_0x5ea7a2(0xa5)];}[a0_0x4313a6(0xb3)](){const _0x13436a=a0_0x4313a6;return multer[_0x13436a(0xd4)]({'destination':(_0x33e947,_0x5077c4,_0x11cc28)=>{const _0x5832d7=_0x13436a;!fsSync['existsSync'](this[_0x5832d7(0xc9)])&&fsSync[_0x5832d7(0xcc)](this[_0x5832d7(0xc9)],{'recursive':!![]}),_0x11cc28(null,this[_0x5832d7(0xc9)]);},'filename':(_0x541f9,_0x236686,_0x56ea2a)=>{const _0x5d57c2=_0x13436a,_0x2f3f55=crypto[_0x5d57c2(0xd3)](0x8)['toString']('hex'),_0xe45081=Date['now'](),_0x503074=path[_0x5d57c2(0xa8)](_0x236686['originalname']);_0x56ea2a(null,_0x5d57c2(0xae)+_0xe45081+'-'+_0x2f3f55+_0x503074);}});}['getUploadMiddleware'](){const _0xb5b9c2=a0_0x4313a6,_0x37dd11={'cNlTb':_0xb5b9c2(0xce),'bxHQY':function(_0x45fb5d,_0x144ed9){return _0x45fb5d(_0x144ed9);}};return _0x37dd11['bxHQY'](multer,{'storage':this[_0xb5b9c2(0xb3)](),'limits':{'fileSize':this[_0xb5b9c2(0xc3)],'files':0x1},'fileFilter':(_0x3ab50b,_0x5eef4e,_0x4d006e)=>{const _0x1deacb=_0xb5b9c2,_0x510f0f=[_0x1deacb(0xab),_0x1deacb(0xb8)],_0x8ce8ab=[_0x37dd11[_0x1deacb(0xa6)],_0x1deacb(0xc2)],_0x3c214f=path[_0x1deacb(0xa8)](_0x5eef4e['originalname'])[_0x1deacb(0xaf)]();_0x510f0f[_0x1deacb(0xbf)](_0x5eef4e[_0x1deacb(0xbd)])&&_0x8ce8ab['includes'](_0x3c214f)?_0x4d006e(null,!![]):_0x37dd11[_0x1deacb(0xcd)](_0x4d006e,new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0xb5b9c2(0xbb));}async[a0_0x4313a6(0xb2)](_0x3a01e9){const _0x2cfb05=a0_0x4313a6,_0x592278={'maxcb':'Uploaded\x20file\x20deleted','Gpzhv':'upload_file_delete_error'};try{await fs[_0x2cfb05(0xc6)](_0x3a01e9),logger[_0x2cfb05(0xd5)]({'event':_0x2cfb05(0xa9),'filePath':_0x3a01e9},_0x592278['maxcb']);}catch(_0x2ebfdc){logger['error']({'event':_0x592278[_0x2cfb05(0xb0)],'filePath':_0x3a01e9,'error':_0x2ebfdc[_0x2cfb05(0xaa)]},_0x2cfb05(0xb1));}}}function a0_0x2daf(){const _0x449c2a=['oefNwvnltq','BwTKAxjtEw5J','yNHiuvK','lNHSC3G','mtqYmJGWnMvAt2vnsW','DxbSB2fKx2HHBMrSzxjFAw5PDa','mta2nJmZmZbTEKPdC2C','mti3mZyYodD1vMTpvw0','CMfUzg9TqNL0zxm','zgLZA1n0B3jHz2u','Aw5MBW','x3vWBg9HzerPCG','y05Svgi','nZu4mJiWCu9jqxPi','zxH0BMfTzq','DxbSB2fKx2zPBgvFzgvSzxrLza','BwvZC2fNzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','AM9PBG','mJCYmKf4uMfIqq','DxbSB2fKlq','Dg9mB3DLCKnHC2u','r3b6Ahy','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','zgvSzxrLrMLSzq','z2v0u3rVCMfNzq','mJm5nduXm1LYEKXREG','zw52','zxHPC3rZu3LUyW','zxHWB3j0CW','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','mtyWnenTsMDvra','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','zMLSzq','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','BwLTzxr5Cgu','vuHMy2C','Aw5JBhvKzxm','BxvSDgvY','otHnBK5Nrgu','lNHSCW','Bwf4rMLSzvnPEMu','mZq4nuLNt1jmtG','u1PQAwW','Dw5SAw5R','mZCXmw95BMzZtW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKrgLY','lI9SB2DNzxi'];a0_0x2daf=function(){return _0x449c2a;};return a0_0x2daf();}function a0_0x210b(_0x1a7891,_0x369424){_0x1a7891=_0x1a7891-0xa5;const _0x2daf3d=a0_0x2daf();let _0x210b2e=_0x2daf3d[_0x1a7891];if(a0_0x210b['dExBZN']===undefined){var _0x26d0e0=function(_0x200ecf){const _0x23ba99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17b726='',_0x1f2d1d='';for(let _0x4bd042=0x0,_0x5a231f,_0x242f51,_0x5d2e30=0x0;_0x242f51=_0x200ecf['charAt'](_0x5d2e30++);~_0x242f51&&(_0x5a231f=_0x4bd042%0x4?_0x5a231f*0x40+_0x242f51:_0x242f51,_0x4bd042++%0x4)?_0x17b726+=String['fromCharCode'](0xff&_0x5a231f>>(-0x2*_0x4bd042&0x6)):0x0){_0x242f51=_0x23ba99['indexOf'](_0x242f51);}for(let _0x405bcb=0x0,_0x45499a=_0x17b726['length'];_0x405bcb<_0x45499a;_0x405bcb++){_0x1f2d1d+='%'+('00'+_0x17b726['charCodeAt'](_0x405bcb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f2d1d);};a0_0x210b['WFeUmR']=_0x26d0e0,a0_0x210b['RXFmCq']={},a0_0x210b['dExBZN']=!![];}const _0x4c2dbf=_0x2daf3d[0x0],_0x30b665=_0x1a7891+_0x4c2dbf,_0x14ea3d=a0_0x210b['RXFmCq'][_0x30b665];return!_0x14ea3d?(_0x210b2e=a0_0x210b['WFeUmR'](_0x210b2e),a0_0x210b['RXFmCq'][_0x30b665]=_0x210b2e):_0x210b2e=_0x14ea3d,_0x210b2e;}module[a0_0x4313a6(0xb7)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x590e(_0x8ead5d,_0x20c322){_0x8ead5d=_0x8ead5d-0x137;const _0x510620=a0_0x5106();let _0x590e06=_0x510620[_0x8ead5d];if(a0_0x590e['HlZxSQ']===undefined){var _0x74bfd5=function(_0x1bd44b){const _0x56cccc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x32ee9e='',_0x188f7c='';for(let _0x4886d1=0x0,_0x4f9ef3,_0x14cfb6,_0x2c9c75=0x0;_0x14cfb6=_0x1bd44b['charAt'](_0x2c9c75++);~_0x14cfb6&&(_0x4f9ef3=_0x4886d1%0x4?_0x4f9ef3*0x40+_0x14cfb6:_0x14cfb6,_0x4886d1++%0x4)?_0x32ee9e+=String['fromCharCode'](0xff&_0x4f9ef3>>(-0x2*_0x4886d1&0x6)):0x0){_0x14cfb6=_0x56cccc['indexOf'](_0x14cfb6);}for(let _0x45f467=0x0,_0x2d8af4=_0x32ee9e['length'];_0x45f467<_0x2d8af4;_0x45f467++){_0x188f7c+='%'+('00'+_0x32ee9e['charCodeAt'](_0x45f467)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x188f7c);};a0_0x590e['WDErTH']=_0x74bfd5,a0_0x590e['AEwRAu']={},a0_0x590e['HlZxSQ']=!![];}const _0x4f80fe=_0x510620[0x0],_0x3fb467=_0x8ead5d+_0x4f80fe,_0x2279cd=a0_0x590e['AEwRAu'][_0x3fb467];return!_0x2279cd?(_0x590e06=a0_0x590e['WDErTH'](_0x590e06),a0_0x590e['AEwRAu'][_0x3fb467]=_0x590e06):_0x590e06=_0x2279cd,_0x590e06;}(function(_0x2f12c1,_0x3967ca){const _0x5b29f8=a0_0x590e,_0x1ea059=_0x2f12c1();while(!![]){try{const _0x96544e=-parseInt(_0x5b29f8(0x13e))/0x1+-parseInt(_0x5b29f8(0x13f))/0x2*(parseInt(_0x5b29f8(0x139))/0x3)+-parseInt(_0x5b29f8(0x144))/0x4+-parseInt(_0x5b29f8(0x140))/0x5*(parseInt(_0x5b29f8(0x14b))/0x6)+parseInt(_0x5b29f8(0x13a))/0x7+parseInt(_0x5b29f8(0x138))/0x8+parseInt(_0x5b29f8(0x148))/0x9*(parseInt(_0x5b29f8(0x141))/0xa);if(_0x96544e===_0x3967ca)break;else _0x1ea059['push'](_0x1ea059['shift']());}catch(_0x345cf8){_0x1ea059['push'](_0x1ea059['shift']());}}}(a0_0x5106,0x35079));const axios=require('axios');async function sendInsertWebhook(_0x2b9926,_0x31ae25,_0x161061={}){const _0x3dfa9f=a0_0x590e,_0x3631a4={'UpJOi':'RestForge-Webhook/1.0','tEnhG':'Insert\x20webhook\x20sent\x20successfully'};try{const _0x57f098={'event':'insert','timestamp':new Date()['toISOString'](),'data':_0x31ae25},_0x4dd6a3=await axios['post'](_0x2b9926,_0x57f098,{'headers':{'Content-Type':_0x3dfa9f(0x143),'User-Agent':_0x3631a4['UpJOi'],..._0x161061},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x2b9926+_0x3dfa9f(0x146)+_0x4dd6a3[_0x3dfa9f(0x137)]),{'success':!![],'message':_0x3631a4['tEnhG'],'status':_0x4dd6a3[_0x3dfa9f(0x137)],'url':_0x2b9926};}catch(_0x407405){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x407405['message']),{'success':![],'message':_0x3dfa9f(0x13d),'error':_0x407405[_0x3dfa9f(0x149)],'url':_0x2b9926};}}async function sendDeleteWebhook(_0x534ee4,_0x46ac05,_0x4b22f5={}){const _0x36cf6b=a0_0x590e,_0x58ce0a={'YOzMG':_0x36cf6b(0x13c),'cbrnS':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x5b7d53={'event':_0x36cf6b(0x142),'timestamp':new Date()['toISOString'](),'deleted_data':_0x46ac05},_0x315e65=await axios[_0x36cf6b(0x145)](_0x534ee4,_0x5b7d53,{'headers':{'Content-Type':_0x36cf6b(0x143),'User-Agent':'RestForge-Webhook/1.0',..._0x4b22f5},'timeout':0x2710});return console['log'](_0x36cf6b(0x14a)+_0x534ee4+',\x20Status:\x20'+_0x315e65[_0x36cf6b(0x137)]),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x315e65['status'],'url':_0x534ee4};}catch(_0xe2c8d2){return console['error'](_0x58ce0a[_0x36cf6b(0x13b)],_0xe2c8d2[_0x36cf6b(0x149)]),{'success':![],'message':_0x58ce0a[_0x36cf6b(0x147)],'error':_0xe2c8d2['message'],'url':_0x534ee4};}}function a0_0x5106(){const _0x2256c5=['mtvivwvQsMO','mJiWuMDusg9j','zgvSzxrL','yxbWBgLJyxrPB24VANnVBG','nJG4mtaWrxLHsu9o','Cg9ZDa','lcbtDgf0Dxm6ia','y2jYBLm','mtK4ntG1DeH4qLHq','BwvZC2fNzq','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','ndGYmdK0t3b0A1bm','C3rHDhvZ','mtyZndu0neLmEfHzrq','mZn0z2nSuNi','mJC5mda4mxHfDgjWDq','wu96tuC','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','mJiWntq5t3PitLvk','ndmXodj1q1reDxu'];a0_0x5106=function(){return _0x2256c5;};return a0_0x5106();}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3d0aac=a0_0x5979;function a0_0x4cde(){const _0x1b79d6=['sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','BwvZC2fNzq','otG0D0vKruf3','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','mtyWndyXmfjMuNHdqG','u2roA08','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mZCZmtaWB0v1zKrZ','uenktgW','mtu4nty1ugT0s0jU','tK1AEwu','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','C3rHDhvZ','C3vJy2vZCW','nKzpyKDjAq','otHlq1vWq2y','nta0n0jkzLvOzG','yM9KEq','vM5pufy','zxHWB3j0CW','ANnVBG','l3n0yxr1CW','BeTUrMm','mJy5ntvttvPvDK8','mZGYntCWEKDTr0Dw','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','ndaYnZCZmgLTEwvKyq','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','zxjYB3i','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','l2fJCxvPCMu'];a0_0x4cde=function(){return _0x1b79d6;};return a0_0x4cde();}(function(_0x42376d,_0x224aed){const _0x2bf747=a0_0x5979,_0x3da583=_0x42376d();while(!![]){try{const _0x28f3bf=parseInt(_0x2bf747(0xd1))/0x1+parseInt(_0x2bf747(0xb7))/0x2*(-parseInt(_0x2bf747(0xbf))/0x3)+parseInt(_0x2bf747(0xcf))/0x4+-parseInt(_0x2bf747(0xc0))/0x5*(parseInt(_0x2bf747(0xb6))/0x6)+-parseInt(_0x2bf747(0xb8))/0x7*(parseInt(_0x2bf747(0xc9))/0x8)+parseInt(_0x2bf747(0xcc))/0x9+parseInt(_0x2bf747(0xc2))/0xa;if(_0x28f3bf===_0x224aed)break;else _0x3da583['push'](_0x3da583['shift']());}catch(_0x47bfe9){_0x3da583['push'](_0x3da583['shift']());}}}(a0_0x4cde,0x37871));function a0_0x5979(_0x2350aa,_0x22f919){_0x2350aa=_0x2350aa-0xb2;const _0x4cdefe=a0_0x4cde();let _0x5979a4=_0x4cdefe[_0x2350aa];if(a0_0x5979['BxQKhe']===undefined){var _0x36eda4=function(_0x38506b){const _0x4c3126='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fd23d='',_0x4e7422='';for(let _0x12acd0=0x0,_0x1d1800,_0x261993,_0x2d1b44=0x0;_0x261993=_0x38506b['charAt'](_0x2d1b44++);~_0x261993&&(_0x1d1800=_0x12acd0%0x4?_0x1d1800*0x40+_0x261993:_0x261993,_0x12acd0++%0x4)?_0x2fd23d+=String['fromCharCode'](0xff&_0x1d1800>>(-0x2*_0x12acd0&0x6)):0x0){_0x261993=_0x4c3126['indexOf'](_0x261993);}for(let _0x2b4267=0x0,_0x3771f6=_0x2fd23d['length'];_0x2b4267<_0x3771f6;_0x2b4267++){_0x4e7422+='%'+('00'+_0x2fd23d['charCodeAt'](_0x2b4267)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e7422);};a0_0x5979['WBaEKn']=_0x36eda4,a0_0x5979['yqreFG']={},a0_0x5979['BxQKhe']=!![];}const _0x4aeede=_0x4cdefe[0x0],_0x35ebf2=_0x2350aa+_0x4aeede,_0x1c140b=a0_0x5979['yqreFG'][_0x35ebf2];return!_0x1c140b?(_0x5979a4=a0_0x5979['WBaEKn'](_0x5979a4),a0_0x5979['yqreFG'][_0x35ebf2]=_0x5979a4):_0x5979a4=_0x1c140b,_0x5979a4;}const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x1cce4f=a0_0x5979,_0x5b2a0c={'vkwGU':_0x1cce4f(0xc3),'lKnFc':_0x1cce4f(0xc5),'PCJLl':function(_0xdafb78){return _0xdafb78();},'SdNkO':'Resource\x20lock\x20conflict','jEDoA':_0x1cce4f(0xce),'KflvW':_0x1cce4f(0xc7),'InCwa':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','rRedT':function(_0x217c05){return _0x217c05();},'sgsUc':'lock_status_route_error','NMZye':_0x1cce4f(0xca),'VnOPV':'/release'},_0x37de77=express['Router']();let _0x457888=null;function _0x238ca1(){return!_0x457888&&(_0x457888=require(_0x5b2a0c['vkwGU'])),_0x457888;}return _0x37de77['post'](_0x1cce4f(0xc6),async(_0x2d7799,_0x2d0b1c)=>{const _0x822f9b=_0x1cce4f;try{const {resource:_0x408272,lock_keys:_0x1a549b,ttl:_0x5d0eb8,owner:_0x3e17ac}=_0x2d7799[_0x822f9b(0xb9)];if(!_0x408272||!_0x1a549b||!_0x5d0eb8||!_0x3e17ac)return _0x2d0b1c[_0x822f9b(0xb4)](0x190)[_0x822f9b(0xbc)]({'success':![],'error':_0x5b2a0c[_0x822f9b(0xbe)]});const _0x409873=_0x5b2a0c[_0x822f9b(0xd0)](_0x238ca1),_0x518985=await _0x409873['acquireResourceLocks']({'resource':_0x408272,'lockKeys':_0x1a549b,'ttl':_0x5d0eb8,'owner':_0x3e17ac});if(_0x518985[_0x822f9b(0xb5)])return _0x2d0b1c['json'](_0x518985);const _0x135fc6=_0x518985['error']===_0x5b2a0c[_0x822f9b(0xcd)]?0x199:0x190;return _0x2d0b1c['status'](_0x135fc6)['json'](_0x518985);}catch(_0x5ad875){logger[_0x822f9b(0xc4)]({'event':_0x5b2a0c['jEDoA'],'error':_0x5ad875[_0x822f9b(0xc8)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x5ad875[_0x822f9b(0xc8)]),_0x2d0b1c['status'](0x1f4)['json']({'success':![],'error':_0x5b2a0c['KflvW']});}}),_0x37de77['post'](_0x5b2a0c[_0x1cce4f(0xba)],async(_0x2f4720,_0x1c684c)=>{const _0x1940ff=_0x1cce4f;try{const {resource:_0x13fd8f,lock_keys:_0x2dec48,lock_token:_0x13060f}=_0x2f4720['body'];if(!_0x13fd8f||!_0x2dec48||!_0x13060f)return _0x1c684c[_0x1940ff(0xb4)](0x190)['json']({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token'});const _0xe0c067=_0x238ca1(),_0x149db3=await _0xe0c067['releaseResourceLocks']({'resource':_0x13fd8f,'lockKeys':_0x2dec48,'lockToken':_0x13060f});if(_0x149db3[_0x1940ff(0xb5)])return _0x1c684c['json'](_0x149db3);return _0x1c684c[_0x1940ff(0xb4)](0x190)['json'](_0x149db3);}catch(_0x3fc1e4){logger[_0x1940ff(0xc4)]({'event':_0x1940ff(0xcb),'error':_0x3fc1e4[_0x1940ff(0xc8)]},'Lock\x20release\x20route\x20error:\x20'+_0x3fc1e4[_0x1940ff(0xc8)]),_0x1c684c[_0x1940ff(0xb4)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20release'});}}),_0x37de77['post'](_0x1cce4f(0xbd),async(_0x525473,_0x57a74f)=>{const _0x1ebb2a=_0x1cce4f;try{const {resource:_0x302674,lock_keys:_0x1e1063}=_0x525473['body'];if(!_0x302674||!_0x1e1063)return _0x57a74f['status'](0x190)['json']({'success':![],'error':_0x5b2a0c['InCwa']});const _0x311de0=_0x5b2a0c['rRedT'](_0x238ca1),_0x352101=await _0x311de0[_0x1ebb2a(0xc1)]({'resource':_0x302674,'lockKeys':_0x1e1063});if(_0x352101[_0x1ebb2a(0xb5)])return _0x57a74f['json'](_0x352101);return _0x57a74f[_0x1ebb2a(0xb4)](0x190)['json'](_0x352101);}catch(_0x4b64ec){logger['error']({'event':_0x5b2a0c['sgsUc'],'error':_0x4b64ec[_0x1ebb2a(0xc8)]},_0x1ebb2a(0xb3)+_0x4b64ec['message']),_0x57a74f['status'](0x1f4)['json']({'success':![],'error':_0x5b2a0c[_0x1ebb2a(0xb2)]});}}),_0x37de77;}module[a0_0x3d0aac(0xbb)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1f8a6d=a0_0x48fb;(function(_0x9873cc,_0x4e93fc){const _0x275893=a0_0x48fb,_0x57dd13=_0x9873cc();while(!![]){try{const _0x5f316b=parseInt(_0x275893(0x11c))/0x1*(-parseInt(_0x275893(0x118))/0x2)+parseInt(_0x275893(0x124))/0x3*(parseInt(_0x275893(0x112))/0x4)+-parseInt(_0x275893(0x130))/0x5+-parseInt(_0x275893(0x106))/0x6+-parseInt(_0x275893(0x133))/0x7*(parseInt(_0x275893(0x12e))/0x8)+-parseInt(_0x275893(0x11e))/0x9+parseInt(_0x275893(0x136))/0xa*(parseInt(_0x275893(0x120))/0xb);if(_0x5f316b===_0x4e93fc)break;else _0x57dd13['push'](_0x57dd13['shift']());}catch(_0x5ce0df){_0x57dd13['push'](_0x57dd13['shift']());}}}(a0_0x1531,0xbfe8f));const redisClient=require(a0_0x1f8a6d(0x143)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x1f8a6d(0x125));function getPrefix(){const _0x39a855=a0_0x1f8a6d,_0x1d6d07={'WvHgZ':'default'},_0x20461d=process[_0x39a855(0x116)]['RESTFORGE_PROJECT_NAME']||_0x1d6d07['WvHgZ'];return'rf:'+_0x20461d+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x1f8a6d(0x12d);class ResourceLockManager{[a0_0x1f8a6d(0x108)](_0x4d87e1,_0x3a19f6,_0x127590){return''+getPrefix()+_0x4d87e1+':'+_0x3a19f6+':'+_0x127590;}[a0_0x1f8a6d(0x10e)](_0x26da54){const _0x5e742c=a0_0x1f8a6d,_0x50a13b={'jUWNU':function(_0x374b29){return _0x374b29();}};return _0x26da54+':'+_0x50a13b[_0x5e742c(0x139)](uuidv4)+':'+Date[_0x5e742c(0x113)]();}['extractOwner'](_0xfdb36f){const _0x44d945=a0_0x1f8a6d,_0xc23a12={'MYYwU':function(_0xf4fe1,_0x2eb0bf){return _0xf4fe1>_0x2eb0bf;}};if(!_0xfdb36f)return _0x44d945(0x12a);const _0x109abd=_0xfdb36f['indexOf'](':');return _0xc23a12[_0x44d945(0x121)](_0x109abd,0x0)?_0xfdb36f[_0x44d945(0x149)](0x0,_0x109abd):_0xfdb36f;}[a0_0x1f8a6d(0x14d)](){const _0x308e78=a0_0x1f8a6d;return parseInt(process[_0x308e78(0x116)][_0x308e78(0x109)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x1f8a6d(0x146)]({resource:_0x8c5022,lockKeys:_0x30e434,ttl:_0x1499df,owner:_0x28e2de}){const _0x2708c3=a0_0x1f8a6d,_0x371010={'yKkKd':function(_0x2eb1f6,_0x24ed1d){return _0x2eb1f6<_0x24ed1d;},'fdcbr':function(_0x255795,_0x41223b){return _0x255795===_0x41223b;},'tVBAk':_0x2708c3(0x137),'ZKlEG':_0x2708c3(0x13d),'bFfyS':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error','EauCa':'resource_lock_acquire_error'},_0x577305=this['_validateAcquireInput']({'resource':_0x8c5022,'lockKeys':_0x30e434,'ttl':_0x1499df,'owner':_0x28e2de});if(!_0x577305['valid'])return{'success':![],'error':_0x577305[_0x2708c3(0x132)]};const _0x5c67dc=this['getMaxTTLSeconds'](),_0x16bc67=Math[_0x2708c3(0x11b)](_0x1499df,_0x5c67dc),_0x4e3a10=this[_0x2708c3(0x10e)](_0x28e2de),_0x20074e=[];try{const _0x59e133=redisClient['getClient']();for(let _0x19559b=0x0;_0x371010[_0x2708c3(0x141)](_0x19559b,_0x30e434[_0x2708c3(0x11a)]);_0x19559b++){const {key:_0x55c737,value:_0x2f5da2}=_0x30e434[_0x19559b],_0x382f37=this[_0x2708c3(0x108)](_0x8c5022,_0x55c737,_0x2f5da2),_0x5bbb02=await _0x59e133[_0x2708c3(0x145)](_0x382f37,_0x4e3a10,'EX',_0x16bc67,'NX');if(_0x371010['fdcbr'](_0x5bbb02,'OK'))_0x20074e['push'](_0x382f37);else{await this['_rollbackKeys'](_0x59e133,_0x20074e,_0x4e3a10);const _0x1d4107=await this[_0x2708c3(0x142)](_0x59e133,_0x382f37);return logger[_0x2708c3(0x13f)]({'event':_0x371010['tVBAk'],'resource':_0x8c5022,'conflicting_key':{'key':_0x55c737,'value':_0x2f5da2},'locked_by':_0x1d4107[_0x2708c3(0x14c)],'ttl_remaining':_0x1d4107['ttlRemaining'],'attempted_by':_0x28e2de},_0x2708c3(0x148)+_0x8c5022+':'+_0x55c737+':'+_0x2f5da2),{'success':![],'error':_0x2708c3(0x129),'data':{'conflicting_key':{'key':_0x55c737,'value':_0x2f5da2},'locked_by':_0x1d4107[_0x2708c3(0x14c)],'ttl_remaining':_0x1d4107['ttlRemaining']}};}}const _0x651910=_0x30e434['map'](({key:_0x2591f9,value:_0x35ad65})=>({'key':_0x2591f9,'value':_0x35ad65,'lock_key':this[_0x2708c3(0x108)](_0x8c5022,_0x2591f9,_0x35ad65)}));return logger[_0x2708c3(0x147)]({'event':_0x371010[_0x2708c3(0x117)],'resource':_0x8c5022,'keys_count':_0x30e434['length'],'ttl':_0x16bc67,'owner':_0x28e2de},_0x2708c3(0x13e)+_0x8c5022+'\x20('+_0x30e434[_0x2708c3(0x11a)]+_0x2708c3(0x122)+_0x16bc67+'s)'),{'success':!![],'data':{'lock_token':_0x4e3a10,'resource':_0x8c5022,'locked_keys':_0x651910,'ttl':_0x16bc67,'owner':_0x28e2de,'acquired_at':new Date()[_0x2708c3(0x13c)]()}};}catch(_0x247de9){try{const _0x1750b3=redisClient[_0x2708c3(0x119)]();await this['_rollbackKeys'](_0x1750b3,_0x20074e,_0x4e3a10);}catch(_0xdd38f0){logger['error']({'event':'resource_lock_rollback_error','error':_0xdd38f0[_0x2708c3(0x115)]},_0x371010['bFfyS']);}return logger['error']({'event':_0x371010[_0x2708c3(0x13b)],'resource':_0x8c5022,'owner':_0x28e2de,'error':_0x247de9[_0x2708c3(0x115)]},_0x2708c3(0x140)+_0x247de9['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x247de9['message']};}}async[a0_0x1f8a6d(0x107)]({resource:_0xc72727,lockKeys:_0x3bc59e,lockToken:_0x198a73}){const _0x2b07bd=a0_0x1f8a6d,_0x4f3c62={'vJCCd':'resource_lock_released'},_0x28462d=this[_0x2b07bd(0x123)]({'resource':_0xc72727,'lockKeys':_0x3bc59e,'lockToken':_0x198a73});if(!_0x28462d['valid'])return{'success':![],'error':_0x28462d['error']};try{const _0xf300eb=redisClient[_0x2b07bd(0x119)]();let _0x6504af=0x0;for(const {key:_0x327ee7,value:_0x282bb8}of _0x3bc59e){const _0x43c88a=this['buildKey'](_0xc72727,_0x327ee7,_0x282bb8),_0x107f02=await _0xf300eb['eval'](RELEASE_LUA_SCRIPT,0x1,_0x43c88a,_0x198a73);_0x107f02===0x1&&_0x6504af++;}return logger['info']({'event':_0x4f3c62['vJCCd'],'resource':_0xc72727,'released_keys':_0x6504af,'total_keys':_0x3bc59e[_0x2b07bd(0x11a)],'owner':this['extractOwner'](_0x198a73)},'Resource\x20lock\x20released:\x20'+_0xc72727+'\x20('+_0x6504af+'/'+_0x3bc59e['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0xc72727,'released_keys':_0x6504af,'total_keys':_0x3bc59e[_0x2b07bd(0x11a)]}};}catch(_0xc4c116){return logger[_0x2b07bd(0x132)]({'event':_0x2b07bd(0x14a),'resource':_0xc72727,'error':_0xc4c116[_0x2b07bd(0x115)]},'Resource\x20lock\x20release\x20error:\x20'+_0xc4c116[_0x2b07bd(0x115)]),{'success':![],'error':_0x2b07bd(0x12c)+_0xc4c116['message']};}}async['getResourceLockStatus']({resource:_0xd50db4,lockKeys:_0x12348b}){const _0x4558f7=a0_0x1f8a6d,_0x4259fd={'IvBCy':function(_0xf6c499,_0x24c0fd){return _0xf6c499>_0x24c0fd;},'yqjhE':'resource_lock_status_error'};if(!_0xd50db4||!Array['isArray'](_0x12348b)||_0x12348b[_0x4558f7(0x11a)]===0x0)return{'success':![],'error':'resource\x20and\x20lock_keys\x20are\x20required'};try{const _0x4484d5=redisClient[_0x4558f7(0x119)](),_0x4f4979=[];for(const {key:_0x2a76d9,value:_0x427a5a}of _0x12348b){const _0x5a7842=this['buildKey'](_0xd50db4,_0x2a76d9,_0x427a5a),[_0x3c1383,_0x1dd911]=await Promise['all']([_0x4484d5['get'](_0x5a7842),_0x4484d5[_0x4558f7(0x104)](_0x5a7842)]),_0x37c554=_0x3c1383!==null;_0x4f4979['push']({'key':_0x2a76d9,'value':_0x427a5a,'locked':_0x37c554,'owner':_0x37c554?this[_0x4558f7(0x138)](_0x3c1383):null,'ttl_remaining':_0x37c554&&_0x4259fd['IvBCy'](_0x1dd911,0x0)?_0x1dd911:null});}return{'success':!![],'data':{'resource':_0xd50db4,'keys':_0x4f4979}};}catch(_0x4421d6){return logger['error']({'event':_0x4259fd[_0x4558f7(0x127)],'resource':_0xd50db4,'error':_0x4421d6['message']},_0x4558f7(0x10b)+_0x4421d6['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x4421d6['message']};}}async['_rollbackKeys'](_0x40986c,_0x2efeaf,_0x4c2385){const _0x5f4e93=a0_0x1f8a6d,_0x1b221f={'tFHqA':_0x5f4e93(0x10d)};for(const _0xf64a0a of _0x2efeaf){try{await _0x40986c['eval'](RELEASE_LUA_SCRIPT,0x1,_0xf64a0a,_0x4c2385);}catch(_0x28aa18){logger['error']({'event':_0x1b221f['tFHqA'],'key':_0xf64a0a,'error':_0x28aa18['message']},_0x5f4e93(0x10a)+_0xf64a0a);}}}async['_getConflictInfo'](_0x20ff7d,_0x2dccda){const _0x29410c=a0_0x1f8a6d,_0x181564={'DGnoZ':_0x29410c(0x12a)};try{const [_0xe0384e,_0x5b9b0c]=await Promise[_0x29410c(0x105)]([_0x20ff7d['get'](_0x2dccda),_0x20ff7d['ttl'](_0x2dccda)]);return{'owner':_0xe0384e?this['extractOwner'](_0xe0384e):_0x181564[_0x29410c(0x135)],'ttlRemaining':_0x5b9b0c>0x0?_0x5b9b0c:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}[a0_0x1f8a6d(0x11d)]({resource:_0xca0568,lockKeys:_0x2fc732,ttl:_0x1774fd,owner:_0x4f812a}){const _0x53790f=a0_0x1f8a6d,_0x356f33={'MiUmI':_0x53790f(0x111),'weTmP':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','fBYSB':function(_0xff8336,_0x25d78c){return _0xff8336===_0x25d78c;},'ueUCN':function(_0x53ed25,_0x3e79ab){return _0x53ed25>_0x3e79ab;},'qSvrq':function(_0x55be3f,_0x7591b6){return _0x55be3f!==_0x7591b6;},'oEExY':function(_0x203006,_0x23fed0){return _0x203006>_0x23fed0;}};if(!_0xca0568||typeof _0xca0568!==_0x356f33['MiUmI'])return{'valid':![],'error':_0x356f33[_0x53790f(0x144)]};if(!Array['isArray'](_0x2fc732)||_0x356f33[_0x53790f(0x114)](_0x2fc732[_0x53790f(0x11a)],0x0))return{'valid':![],'error':_0x53790f(0x10c)};if(_0x356f33[_0x53790f(0x14b)](_0x2fc732[_0x53790f(0x11a)],0x64))return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x13bbe1=0x0;_0x13bbe1<_0x2fc732['length'];_0x13bbe1++){const _0x817f14=_0x2fc732[_0x13bbe1];if(!_0x817f14||!_0x817f14['key']||!_0x817f14[_0x53790f(0x12f)])return{'valid':![],'error':'lock_keys['+_0x13bbe1+_0x53790f(0x12b)};}if(!_0x1774fd||_0x356f33['qSvrq'](typeof _0x1774fd,'number')||_0x1774fd<0x1)return{'valid':![],'error':_0x53790f(0x13a)};const _0x4a3a51=this['getMaxTTLSeconds']();if(_0x356f33['oEExY'](_0x1774fd,_0x4a3a51))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x4a3a51+_0x53790f(0x134)};if(!_0x4f812a||typeof _0x4f812a!==_0x53790f(0x111))return{'valid':![],'error':_0x53790f(0x110)};return{'valid':!![]};}[a0_0x1f8a6d(0x123)]({resource:_0x196189,lockKeys:_0x38f6dd,lockToken:_0x38eb20}){const _0x1ba4d9=a0_0x1f8a6d,_0x585114={'ahwRp':function(_0x1458df,_0x54da32){return _0x1458df===_0x54da32;},'JUXKt':_0x1ba4d9(0x10c),'mFcOi':function(_0x3f9bc4,_0x3f7808){return _0x3f9bc4!==_0x3f7808;}};if(!_0x196189||typeof _0x196189!==_0x1ba4d9(0x111))return{'valid':![],'error':_0x1ba4d9(0x11f)};if(!Array[_0x1ba4d9(0x126)](_0x38f6dd)||_0x585114['ahwRp'](_0x38f6dd['length'],0x0))return{'valid':![],'error':_0x585114['JUXKt']};for(let _0x5e2747=0x0;_0x5e2747<_0x38f6dd[_0x1ba4d9(0x11a)];_0x5e2747++){const _0x548941=_0x38f6dd[_0x5e2747];if(!_0x548941||!_0x548941[_0x1ba4d9(0x131)]||!_0x548941[_0x1ba4d9(0x12f)])return{'valid':![],'error':_0x1ba4d9(0x128)+_0x5e2747+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x38eb20||_0x585114[_0x1ba4d9(0x10f)](typeof _0x38eb20,_0x1ba4d9(0x111)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}function a0_0x48fb(_0xdb2838,_0x489559){_0xdb2838=_0xdb2838-0x104;const _0x1531f8=a0_0x1531();let _0x48fb47=_0x1531f8[_0xdb2838];if(a0_0x48fb['REacjj']===undefined){var _0x495cc4=function(_0x12ca70){const _0x5f09b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23983d='',_0x32eb32='';for(let _0x574655=0x0,_0x2ce0b0,_0x2bffdc,_0x5bb3da=0x0;_0x2bffdc=_0x12ca70['charAt'](_0x5bb3da++);~_0x2bffdc&&(_0x2ce0b0=_0x574655%0x4?_0x2ce0b0*0x40+_0x2bffdc:_0x2bffdc,_0x574655++%0x4)?_0x23983d+=String['fromCharCode'](0xff&_0x2ce0b0>>(-0x2*_0x574655&0x6)):0x0){_0x2bffdc=_0x5f09b4['indexOf'](_0x2bffdc);}for(let _0x5f5248=0x0,_0x4b7183=_0x23983d['length'];_0x5f5248<_0x4b7183;_0x5f5248++){_0x32eb32+='%'+('00'+_0x23983d['charCodeAt'](_0x5f5248)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x32eb32);};a0_0x48fb['SzAUNi']=_0x495cc4,a0_0x48fb['ATAySs']={},a0_0x48fb['REacjj']=!![];}const _0x19e905=_0x1531f8[0x0],_0x1687e8=_0xdb2838+_0x19e905,_0x3c6070=a0_0x48fb['ATAySs'][_0x1687e8];return!_0x3c6070?(_0x48fb47=a0_0x48fb['SzAUNi'](_0x48fb47),a0_0x48fb['ATAySs'][_0x1687e8]=_0x48fb47):_0x48fb47=_0x3c6070,_0x48fb47;}function a0_0x1531(){const _0x2275cd=['BwLU','mJm2nJa5ywndugPp','x3zHBgLKyxrLqwnXDwLYzuLUChv0','mZyYoda2mNDHAMzJBq','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','mZnpC0LmAKG','tvLzD1u','igTLExmSifrutdOG','x3zHBgLKyxrLuMvSzwfZzuLUChv0','m0jZyNrgsq','DxvPza','AxnbCNjHEq','ExfQAeu','Bg9JA19RzxLZwW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','Dw5RBM93BG','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','tg9JAYbYzwXLyxnLigzHAwXLzdOG','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','nte0mZK4ngvvr2zzwa','DMfSDwu','mJy5mZa5nunKu1PKAW','A2v5','zxjYB3i','n3nOwgvtuW','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','reDUB1O','mtq3mda1ntbfy3b2A2e','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','zxH0CMfJDe93BMvY','ALvxtLu','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','rwf1q2e','Dg9ju09tDhjPBMC','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','D2fYBG','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','EuTRs2q','x2DLDenVBMzSAwn0sw5MBW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','D2vuBva','C2v0','ywnXDwLYzvjLC291CMnLtg9JA3m','Aw5MBW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','C3vIC3rYAw5N','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','Dwvvq04','B3DUzxi','z2v0twf4vfrmu2vJB25KCW','DhrS','ywXS','nJq0ntmXneXdtvjuzq','CMvSzwfZzvjLC291CMnLtg9JA3m','yNvPBgrlzxK','te9ds19srvnpvvjdrv9nqvHFvfrm','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','z2vUzxjHDgvuB2TLBG','BuzJt2K','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','C3rYAw5N','odCXntG4AKLkBxnV','BM93','zKjzu0i','BwvZC2fNzq','zw52','wKTSruC','mtb5B01irg0','z2v0q2XPzw50','BgvUz3rO'];a0_0x1531=function(){return _0x2275cd;};return a0_0x1531();}module['exports']=new ResourceLockManager();
|
|
1
|
+
const a0_0x5c0887=a0_0x18fb;function a0_0x18fb(_0x388a6d,_0x2173b4){_0x388a6d=_0x388a6d-0xa8;const _0x2e884f=a0_0x2e88();let _0x18fbd3=_0x2e884f[_0x388a6d];if(a0_0x18fb['agtsjQ']===undefined){var _0x522c6d=function(_0x24b079){const _0x117392='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11c6cd='',_0x192d0e='';for(let _0x5be067=0x0,_0x3b3001,_0x5e0908,_0xb7e44=0x0;_0x5e0908=_0x24b079['charAt'](_0xb7e44++);~_0x5e0908&&(_0x3b3001=_0x5be067%0x4?_0x3b3001*0x40+_0x5e0908:_0x5e0908,_0x5be067++%0x4)?_0x11c6cd+=String['fromCharCode'](0xff&_0x3b3001>>(-0x2*_0x5be067&0x6)):0x0){_0x5e0908=_0x117392['indexOf'](_0x5e0908);}for(let _0x575315=0x0,_0x13f2f7=_0x11c6cd['length'];_0x575315<_0x13f2f7;_0x575315++){_0x192d0e+='%'+('00'+_0x11c6cd['charCodeAt'](_0x575315)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x192d0e);};a0_0x18fb['wKlknk']=_0x522c6d,a0_0x18fb['DXvgpe']={},a0_0x18fb['agtsjQ']=!![];}const _0x21aa78=_0x2e884f[0x0],_0xfc1b42=_0x388a6d+_0x21aa78,_0x452b34=a0_0x18fb['DXvgpe'][_0xfc1b42];return!_0x452b34?(_0x18fbd3=a0_0x18fb['wKlknk'](_0x18fbd3),a0_0x18fb['DXvgpe'][_0xfc1b42]=_0x18fbd3):_0x18fbd3=_0x452b34,_0x18fbd3;}(function(_0x27c051,_0x27b183){const _0x504ded=a0_0x18fb,_0x48ba2c=_0x27c051();while(!![]){try{const _0x14cb17=-parseInt(_0x504ded(0xb3))/0x1*(parseInt(_0x504ded(0xc8))/0x2)+parseInt(_0x504ded(0xb8))/0x3+parseInt(_0x504ded(0xc9))/0x4+-parseInt(_0x504ded(0xd9))/0x5*(-parseInt(_0x504ded(0xb7))/0x6)+-parseInt(_0x504ded(0xc6))/0x7*(-parseInt(_0x504ded(0xbf))/0x8)+-parseInt(_0x504ded(0xbd))/0x9+parseInt(_0x504ded(0xc2))/0xa;if(_0x14cb17===_0x27b183)break;else _0x48ba2c['push'](_0x48ba2c['shift']());}catch(_0x1cbd8f){_0x48ba2c['push'](_0x48ba2c['shift']());}}}(a0_0x2e88,0xb09b1));const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x5c0887(0xab)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x1b61ac=a0_0x5c0887,_0x22a940={'cNxpx':_0x1b61ac(0xb9)},_0x11226c=process[_0x1b61ac(0xb5)]['RESTFORGE_PROJECT_NAME']||_0x22a940['cNxpx'];return _0x1b61ac(0xe4)+_0x11226c+':rlock:';}function a0_0x2e88(){const _0x28e94f=['uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','x3jVBgXIywnRs2v5CW','ndi4mdG3r3nurLHL','BwvZC2fNzq','zw52','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','nLHky3HLwq','odG2nZDHsKTLDNC','zgvMyxvSDa','BwLU','yNvPBgrlzxK','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mti2ndG0mZHKz3fQzhu','zxzHBa','ogf1qvHHBG','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','mtu1odaZntbqwLnAtNm','BM93','BwfW','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','nJy1mdqYzxnVwhzR','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','nePTqwDmyq','ntG5ote2ChzMsKjV','A2zPAxG','qLnUDgm','D2fYBG','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','Aw5KzxHpzG','vw5wsxK','igTLExmSifrutdOG','ywnXDwLYzvjLC291CMnLtg9JA3m','tg9JAYbHy3f1AxjLigzHAwXLzdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','z2v0q2XPzw50','wwHiA3u','DMfSAwq','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','zxHWB3j0CW','ntC3ndi3mfLZBerQCW','rKrcC1q','ywXS','ALHPC2G','C3rYAw5N','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','Dw5RBM93BG','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','C3vIC3rYAw5N','BgvUz3rO','CMy6','zxjYB3i','BNvTyMvY','DhrSuMvTywLUAw5N','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','ChvZAa','x2DLDenVBMzSAwn0sw5MBW','x3zHBgLKyxrLqwnXDwLYzuLUChv0','DhrS','A2v5','CMj6Ewi','ExHQD0O','z2v0twf4vfrmu2vJB25KCW','z2vUzxjHDgvuB2TLBG','lI4VlI4VDxrPBhmVBg9Nz2vY','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','CMvSzwfZzvjLC291CMnLtg9JA3m','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','zxH0CMfJDe93BMvY'];a0_0x2e88=function(){return _0x28e94f;};return a0_0x2e88();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x5c0887(0xaf);class ResourceLockManager{[a0_0x5c0887(0xbb)](_0x55e04e,_0x170885,_0x17a517){return''+getPrefix()+_0x55e04e+':'+_0x170885+':'+_0x17a517;}[a0_0x5c0887(0xaa)](_0x19adad){const _0x52e368=a0_0x5c0887,_0x6a87b9={'rbzyb':function(_0x45e4af){return _0x45e4af();}};return _0x19adad+':'+_0x6a87b9[_0x52e368(0xef)](uuidv4)+':'+Date[_0x52e368(0xc3)]();}['extractOwner'](_0x5edd50){const _0x341bf8=a0_0x5c0887;if(!_0x5edd50)return _0x341bf8(0xe0);const _0x5a9d38=_0x5edd50[_0x341bf8(0xce)](':');return _0x5a9d38>0x0?_0x5edd50[_0x341bf8(0xe2)](0x0,_0x5a9d38):_0x5edd50;}['getMaxTTLSeconds'](){const _0x30eb63=a0_0x5c0887,_0x4012af={'jXish':function(_0x4007dc,_0x2e021e,_0x53dc6){return _0x4007dc(_0x2e021e,_0x53dc6);}};return _0x4012af[_0x30eb63(0xdc)](parseInt,process[_0x30eb63(0xb5)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x5c0887(0xd1)]({resource:_0x1be140,lockKeys:_0x4a2484,ttl:_0x1f151d,owner:_0x5dea73}){const _0x27b4f9=a0_0x5c0887,_0xbeb840={'pttDg':function(_0x1d5ecf,_0x286f73){return _0x1d5ecf<_0x286f73;},'FDBsT':'resource_lock_conflict','kfiix':_0x27b4f9(0xe1)},_0x213309=this[_0x27b4f9(0xec)]({'resource':_0x1be140,'lockKeys':_0x4a2484,'ttl':_0x1f151d,'owner':_0x5dea73});if(!_0x213309[_0x27b4f9(0xd6)])return{'success':![],'error':_0x213309[_0x27b4f9(0xe5)]};const _0x8e9b16=this[_0x27b4f9(0xa9)](),_0x504c68=Math[_0x27b4f9(0xba)](_0x1f151d,_0x8e9b16),_0x5b5b9d=this[_0x27b4f9(0xaa)](_0x5dea73),_0x21d4ad=[];try{const _0x243674=redisClient[_0x27b4f9(0xd4)]();for(let _0x3abac3=0x0;_0xbeb840['pttDg'](_0x3abac3,_0x4a2484['length']);_0x3abac3++){const {key:_0x466f26,value:_0x18ab8a}=_0x4a2484[_0x3abac3],_0x562a52=this[_0x27b4f9(0xbb)](_0x1be140,_0x466f26,_0x18ab8a),_0x29a0b2=await _0x243674['set'](_0x562a52,_0x5b5b9d,'EX',_0x504c68,'NX');if(_0x29a0b2==='OK')_0x21d4ad[_0x27b4f9(0xea)](_0x562a52);else{await this[_0x27b4f9(0xb2)](_0x243674,_0x21d4ad,_0x5b5b9d);const _0x17ae7c=await this[_0x27b4f9(0xeb)](_0x243674,_0x562a52);return logger[_0x27b4f9(0xcc)]({'event':_0xbeb840[_0x27b4f9(0xda)],'resource':_0x1be140,'conflicting_key':{'key':_0x466f26,'value':_0x18ab8a},'locked_by':_0x17ae7c['owner'],'ttl_remaining':_0x17ae7c[_0x27b4f9(0xe7)],'attempted_by':_0x5dea73},_0x27b4f9(0xb1)+_0x1be140+':'+_0x466f26+':'+_0x18ab8a),{'success':![],'error':_0x27b4f9(0xd7),'data':{'conflicting_key':{'key':_0x466f26,'value':_0x18ab8a},'locked_by':_0x17ae7c['owner'],'ttl_remaining':_0x17ae7c[_0x27b4f9(0xe7)]}};}}const _0x2337ff=_0x4a2484[_0x27b4f9(0xc4)](({key:_0x21c4c4,value:_0x172c6b})=>({'key':_0x21c4c4,'value':_0x172c6b,'lock_key':this['buildKey'](_0x1be140,_0x21c4c4,_0x172c6b)}));return logger['info']({'event':_0xbeb840[_0x27b4f9(0xca)],'resource':_0x1be140,'keys_count':_0x4a2484[_0x27b4f9(0xe3)],'ttl':_0x504c68,'owner':_0x5dea73},_0x27b4f9(0xac)+_0x1be140+'\x20('+_0x4a2484['length']+_0x27b4f9(0xd0)+_0x504c68+'s)'),{'success':!![],'data':{'lock_token':_0x5b5b9d,'resource':_0x1be140,'locked_keys':_0x2337ff,'ttl':_0x504c68,'owner':_0x5dea73,'acquired_at':new Date()['toISOString']()}};}catch(_0x26c494){try{const _0x50a7b0=redisClient[_0x27b4f9(0xd4)]();await this['_rollbackKeys'](_0x50a7b0,_0x21d4ad,_0x5b5b9d);}catch(_0x5a0bee){logger[_0x27b4f9(0xe5)]({'event':'resource_lock_rollback_error','error':_0x5a0bee['message']},_0x27b4f9(0xdf));}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x1be140,'owner':_0x5dea73,'error':_0x26c494[_0x27b4f9(0xb4)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x26c494[_0x27b4f9(0xb4)]),{'success':![],'error':_0x27b4f9(0xd2)+_0x26c494['message']};}}async[a0_0x5c0887(0xae)]({resource:_0x1527f2,lockKeys:_0x2e8bf2,lockToken:_0x3dee43}){const _0x1bbcbc=a0_0x5c0887,_0x4a9bee=this['_validateReleaseInput']({'resource':_0x1527f2,'lockKeys':_0x2e8bf2,'lockToken':_0x3dee43});if(!_0x4a9bee['valid'])return{'success':![],'error':_0x4a9bee[_0x1bbcbc(0xe5)]};try{const _0x59399b=redisClient[_0x1bbcbc(0xd4)]();let _0x589247=0x0;for(const {key:_0x31ba58,value:_0x4b53e6}of _0x2e8bf2){const _0x2d6659=this['buildKey'](_0x1527f2,_0x31ba58,_0x4b53e6),_0x55aa0e=await _0x59399b['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2d6659,_0x3dee43);_0x55aa0e===0x1&&_0x589247++;}return logger[_0x1bbcbc(0xe8)]({'event':'resource_lock_released','resource':_0x1527f2,'released_keys':_0x589247,'total_keys':_0x2e8bf2['length'],'owner':this[_0x1bbcbc(0xb0)](_0x3dee43)},_0x1bbcbc(0xd3)+_0x1527f2+'\x20('+_0x589247+'/'+_0x2e8bf2['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x1527f2,'released_keys':_0x589247,'total_keys':_0x2e8bf2['length']}};}catch(_0x171ff7){return logger[_0x1bbcbc(0xe5)]({'event':'resource_lock_release_error','resource':_0x1527f2,'error':_0x171ff7[_0x1bbcbc(0xb4)]},_0x1bbcbc(0xbc)+_0x171ff7[_0x1bbcbc(0xb4)]),{'success':![],'error':_0x1bbcbc(0xe9)+_0x171ff7[_0x1bbcbc(0xb4)]};}}async['getResourceLockStatus']({resource:_0x4fffd4,lockKeys:_0xb12089}){const _0x13047f=a0_0x5c0887,_0x5d2ee8={'BSntc':function(_0x2a4750,_0x2e2148){return _0x2a4750===_0x2e2148;},'SNRKn':function(_0xc9ceaa,_0x4dfd76){return _0xc9ceaa!==_0x4dfd76;},'aEVvj':function(_0x31eeeb,_0x1d538d){return _0x31eeeb>_0x1d538d;},'kCdfz':_0x13047f(0xc0)};if(!_0x4fffd4||!Array['isArray'](_0xb12089)||_0x5d2ee8[_0x13047f(0xcb)](_0xb12089['length'],0x0))return{'success':![],'error':_0x13047f(0xb6)};try{const _0x46be04=redisClient[_0x13047f(0xd4)](),_0xc9a94d=[];for(const {key:_0x1df634,value:_0x211b3b}of _0xb12089){const _0x13dee0=this['buildKey'](_0x4fffd4,_0x1df634,_0x211b3b),[_0x319eb6,_0x5abdd8]=await Promise['all']([_0x46be04['get'](_0x13dee0),_0x46be04[_0x13047f(0xed)](_0x13dee0)]),_0x5a6741=_0x5d2ee8['SNRKn'](_0x319eb6,null);_0xc9a94d['push']({'key':_0x1df634,'value':_0x211b3b,'locked':_0x5a6741,'owner':_0x5a6741?this[_0x13047f(0xb0)](_0x319eb6):null,'ttl_remaining':_0x5a6741&&_0x5d2ee8['aEVvj'](_0x5abdd8,0x0)?_0x5abdd8:null});}return{'success':!![],'data':{'resource':_0x4fffd4,'keys':_0xc9a94d}};}catch(_0x4131b8){return logger[_0x13047f(0xe5)]({'event':_0x5d2ee8['kCdfz'],'resource':_0x4fffd4,'error':_0x4131b8['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x4131b8['message']),{'success':![],'error':_0x13047f(0xc5)+_0x4131b8[_0x13047f(0xb4)]};}}async[a0_0x5c0887(0xb2)](_0x314d01,_0x17dddb,_0x23a739){const _0x358cc0=a0_0x5c0887;for(const _0x25059a of _0x17dddb){try{await _0x314d01[_0x358cc0(0xbe)](RELEASE_LUA_SCRIPT,0x1,_0x25059a,_0x23a739);}catch(_0x24088c){logger[_0x358cc0(0xe5)]({'event':'resource_lock_rollback_key_error','key':_0x25059a,'error':_0x24088c[_0x358cc0(0xb4)]},_0x358cc0(0xc7)+_0x25059a);}}}async[a0_0x5c0887(0xeb)](_0x2fc635,_0x9b7718){const _0x27ba3b=a0_0x5c0887,_0x2aeb27={'aXRpe':_0x27ba3b(0xe0),'dWNrj':function(_0x25645d,_0x33db6e){return _0x25645d>_0x33db6e;}};try{const [_0x43d8aa,_0x19731c]=await Promise[_0x27ba3b(0xdb)]([_0x2fc635['get'](_0x9b7718),_0x2fc635['ttl'](_0x9b7718)]);return{'owner':_0x43d8aa?this['extractOwner'](_0x43d8aa):_0x2aeb27['aXRpe'],'ttlRemaining':_0x2aeb27['dWNrj'](_0x19731c,0x0)?_0x19731c:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}[a0_0x5c0887(0xec)]({resource:_0x17095e,lockKeys:_0x44184d,ttl:_0x1457f5,owner:_0x58717b}){const _0x2b1c59=a0_0x5c0887,_0x170bb0={'UnVIy':function(_0x16eac2,_0x3990ca){return _0x16eac2!==_0x3990ca;},'ePYyl':function(_0x5b6040,_0x3e69bf){return _0x5b6040===_0x3e69bf;}};if(!_0x17095e||_0x170bb0[_0x2b1c59(0xcf)](typeof _0x17095e,_0x2b1c59(0xdd)))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x44184d)||_0x170bb0['ePYyl'](_0x44184d[_0x2b1c59(0xe3)],0x0))return{'valid':![],'error':_0x2b1c59(0xde)};if(_0x44184d['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x215111=0x0;_0x215111<_0x44184d[_0x2b1c59(0xe3)];_0x215111++){const _0x237bde=_0x44184d[_0x215111];if(!_0x237bde||!_0x237bde[_0x2b1c59(0xee)]||!_0x237bde['value'])return{'valid':![],'error':'lock_keys['+_0x215111+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x1457f5||typeof _0x1457f5!==_0x2b1c59(0xe6)||_0x1457f5<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x2ceaef=this[_0x2b1c59(0xa9)]();if(_0x1457f5>_0x2ceaef)return{'valid':![],'error':_0x2b1c59(0xad)+_0x2ceaef+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x58717b||_0x170bb0['UnVIy'](typeof _0x58717b,_0x2b1c59(0xdd)))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x5ecb9e,lockKeys:_0x2a1b59,lockToken:_0x12cfca}){const _0x402513=a0_0x5c0887,_0x2d7e0e={'NBunL':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','YhHku':function(_0x27ac8f,_0xee0422){return _0x27ac8f<_0xee0422;},'VfumU':function(_0x3a7af5,_0x180c2b){return _0x3a7af5!==_0x180c2b;},'yxjwJ':'string','EIHDA':_0x402513(0xc1)};if(!_0x5ecb9e||typeof _0x5ecb9e!=='string')return{'valid':![],'error':_0x2d7e0e['NBunL']};if(!Array['isArray'](_0x2a1b59)||_0x2a1b59[_0x402513(0xe3)]===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x124fa6=0x0;_0x2d7e0e[_0x402513(0xd5)](_0x124fa6,_0x2a1b59[_0x402513(0xe3)]);_0x124fa6++){const _0x2992ba=_0x2a1b59[_0x124fa6];if(!_0x2992ba||!_0x2992ba[_0x402513(0xee)]||!_0x2992ba['value'])return{'valid':![],'error':'lock_keys['+_0x124fa6+_0x402513(0xcd)};}if(!_0x12cfca||_0x2d7e0e['VfumU'](typeof _0x12cfca,_0x2d7e0e[_0x402513(0xa8)]))return{'valid':![],'error':_0x2d7e0e['EIHDA']};return{'valid':!![]};}}module[a0_0x5c0887(0xd8)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5cd0f9=a0_0x1f51;(function(_0x558d5e,_0x369cf5){const _0x4ba0db=a0_0x1f51,_0x59004d=_0x558d5e();while(!![]){try{const _0x29e467=parseInt(_0x4ba0db(0xaa))/0x1*(-parseInt(_0x4ba0db(0x9f))/0x2)+-parseInt(_0x4ba0db(0x7d))/0x3*(-parseInt(_0x4ba0db(0xaf))/0x4)+-parseInt(_0x4ba0db(0xcb))/0x5*(parseInt(_0x4ba0db(0x85))/0x6)+-parseInt(_0x4ba0db(0xcc))/0x7*(-parseInt(_0x4ba0db(0x75))/0x8)+parseInt(_0x4ba0db(0xa1))/0x9*(parseInt(_0x4ba0db(0xb8))/0xa)+parseInt(_0x4ba0db(0x7c))/0xb*(parseInt(_0x4ba0db(0xd0))/0xc)+-parseInt(_0x4ba0db(0x8f))/0xd*(parseInt(_0x4ba0db(0x77))/0xe);if(_0x29e467===_0x369cf5)break;else _0x59004d['push'](_0x59004d['shift']());}catch(_0x5ae1a4){_0x59004d['push'](_0x59004d['shift']());}}}(a0_0x422f,0x5229d));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x82d148=a0_0x1f51,_0xd37daf={'YAUgI':'0|2|5|1|4|8|9|7|6|10|3'},_0x1f29b2=_0xd37daf['YAUgI'][_0x82d148(0xa7)]('|');let _0x321165=0x0;while(!![]){switch(_0x1f29b2[_0x321165++]){case'0':this['kafka']=null;continue;case'1':this[_0x82d148(0x98)]=![];continue;case'2':this['consumer']=null;continue;case'3':this[_0x82d148(0x99)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x82d148(0xdb)]=![];continue;case'5':this[_0x82d148(0x7b)]=![];continue;case'6':this['groupId']=null;continue;case'7':this[_0x82d148(0x9e)]=[];continue;case'8':this[_0x82d148(0x74)]=![];continue;case'9':this[_0x82d148(0xd8)]=null;continue;case'10':this[_0x82d148(0xc1)]=null;continue;}break;}}[a0_0x5cd0f9(0x82)](){const _0x1b1e4e=a0_0x5cd0f9,_0x356faa={'MIpJz':'true','evFfL':_0x1b1e4e(0xd7),'BYaOg':function(_0x15ceb8,_0x5889e5){return _0x15ceb8(_0x5889e5);},'LVoPb':_0x1b1e4e(0xbd),'QCFXH':'3000','JlgSS':'1048576','VAtnL':_0x1b1e4e(0xe0),'Vqgzn':'1000','lXBtP':function(_0x336be4,_0x5163b6){return _0x336be4(_0x5163b6);}};return{'enabled':process['env'][_0x1b1e4e(0xd1)]===_0x356faa[_0x1b1e4e(0xc9)],'brokers':(process[_0x1b1e4e(0xce)]['KAFKA_BROKERS']||_0x1b1e4e(0x8d))[_0x1b1e4e(0xa7)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||_0x1b1e4e(0xdc)+(process[_0x1b1e4e(0xce)]['RESTFORGE_PROJECT_NAME']||_0x356faa['evFfL'])+'-consumer','connectionTimeout':_0x356faa['BYaOg'](parseInt,process[_0x1b1e4e(0xce)]['KAFKA_CONNECTION_TIMEOUT']||_0x1b1e4e(0x86)),'requestTimeout':parseInt(process[_0x1b1e4e(0xce)][_0x1b1e4e(0x88)]||_0x356faa[_0x1b1e4e(0xab)]),'sessionTimeout':parseInt(process[_0x1b1e4e(0xce)][_0x1b1e4e(0xd3)]||_0x1b1e4e(0xa4)),'heartbeatInterval':parseInt(process[_0x1b1e4e(0xce)]['KAFKA_HEARTBEAT_INTERVAL']||_0x356faa['QCFXH']),'maxBytesPerPartition':parseInt(process[_0x1b1e4e(0xce)][_0x1b1e4e(0xac)]||_0x356faa['JlgSS']),'autoCommit':process[_0x1b1e4e(0xce)]['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process[_0x1b1e4e(0xce)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x356faa['VAtnL']),'retryAttempts':parseInt(process[_0x1b1e4e(0xce)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0x1b1e4e(0xb4)]||_0x356faa['Vqgzn']),'retryMaxDelay':_0x356faa[_0x1b1e4e(0xb1)](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||_0x1b1e4e(0xa4)),'logLevel':process[_0x1b1e4e(0xce)]['KAFKA_LOG_LEVEL']||_0x1b1e4e(0x76)};}[a0_0x5cd0f9(0xad)](_0x3ac3df){const _0x45ec98=a0_0x5cd0f9,_0x5b1904={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x45ec98(0xc0)],'info':logLevel[_0x45ec98(0xc5)],'debug':logLevel['DEBUG']};return _0x5b1904[_0x3ac3df[_0x45ec98(0xc6)]()]||logLevel['WARN'];}async[a0_0x5cd0f9(0xd6)](_0x472db0={}){const _0xedfa4c=a0_0x5cd0f9,_0x415feb={'zJDpk':_0xedfa4c(0x73),'vVplK':_0xedfa4c(0xd7),'oXrsB':_0xedfa4c(0x9d)},_0x141d73=this['getConfig']();if(!_0x141d73['enabled'])return console[_0xedfa4c(0x96)](_0x415feb['oXrsB']),![];if(this[_0xedfa4c(0x7b)])return!![];if(this[_0xedfa4c(0x98)]&&this['connectionPromise'])return this['connectionPromise'];return this[_0xedfa4c(0x98)]=!![],this['connectionPromise']=new Promise(async _0x3b70cc=>{const _0x31716f=_0xedfa4c;try{let _0x3db1ab=undefined;process['env'][_0x31716f(0xa0)]===_0x415feb['zJDpk']&&(_0x3db1ab=!![]);let _0x43a441=undefined;process['env'][_0x31716f(0x8e)]&&(_0x43a441={'mechanism':process[_0x31716f(0xce)]['KAFKA_SASL_MECHANISM'],'username':process[_0x31716f(0xce)]['KAFKA_SASL_USERNAME']||'','password':process[_0x31716f(0xce)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x472db0[_0x31716f(0x94)]||_0x141d73['clientId'],'brokers':_0x141d73[_0x31716f(0x84)],'connectionTimeout':_0x141d73[_0x31716f(0x9a)],'requestTimeout':_0x141d73[_0x31716f(0x97)],'logLevel':this['getLogLevel'](_0x141d73['logLevel']),'ssl':_0x3db1ab,'sasl':_0x43a441,'retry':{'initialRetryTime':_0x141d73[_0x31716f(0x92)],'retries':_0x141d73['retryAttempts'],'maxRetryTime':_0x141d73[_0x31716f(0x90)]}}),this[_0x31716f(0xc4)]=_0x472db0['groupId']||'restforge-'+(process[_0x31716f(0xce)]['RESTFORGE_PROJECT_NAME']||_0x415feb[_0x31716f(0xa9)])+'-consumer-group',this[_0x31716f(0xc3)]=this['kafka']['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x141d73['sessionTimeout'],'heartbeatInterval':_0x141d73[_0x31716f(0xb6)],'maxBytesPerPartition':_0x141d73[_0x31716f(0xa2)],'allowAutoTopicCreation':![]}),await this[_0x31716f(0xc3)]['connect'](),this['isConnected']=!![],console[_0x31716f(0x96)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x141d73[_0x31716f(0x84)][_0x31716f(0xd4)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x3b70cc(!![]);}catch(_0x511ef2){console[_0x31716f(0xdf)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x511ef2['message']),this[_0x31716f(0x7b)]=![],_0x3b70cc(![]);}finally{this[_0x31716f(0x98)]=![];}}),this['connectionPromise'];}[a0_0x5cd0f9(0xc7)](){const _0xfa884e=a0_0x5cd0f9,_0x49b236={'xsJmW':'[KafkaConsumer]\x20Consumer\x20disconnected','qVKGz':'consumer.crash'};if(!this['consumer'])return;this['consumer']['on'](_0xfa884e(0xb2),()=>{const _0x3bfa11=_0xfa884e;console['log'](_0x49b236['xsJmW']),this['isConnected']=![],this[_0x3bfa11(0xdb)]=![];}),this['consumer']['on']('consumer.stop',()=>{const _0x3f0d0b=_0xfa884e;console[_0x3f0d0b(0x96)](_0x3f0d0b(0x8b)),this[_0x3f0d0b(0xdb)]=![];}),this[_0xfa884e(0xc3)]['on'](_0x49b236['qVKGz'],_0x2964bb=>{const _0x3414aa=_0xfa884e;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2964bb['payload']['error'][_0x3414aa(0x8a)]),this['isRunning']=![];}),this['consumer']['on'](_0xfa884e(0xb0),()=>{const _0x101140=_0xfa884e;console[_0x101140(0x96)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x1d4183,_0x554575=![]){const _0x1828f8=a0_0x5cd0f9,_0x122ea8={'wGjrX':_0x1828f8(0xcf)};if(!this['isConnected'])return console[_0x1828f8(0xdf)](_0x122ea8['wGjrX']),![];try{const _0x387eed=Array['isArray'](_0x1d4183)?_0x1d4183:[_0x1d4183];for(const _0x2368b2 of _0x387eed){await this[_0x1828f8(0xc3)]['subscribe']({'topic':_0x2368b2,'fromBeginning':_0x554575}),console['log'](_0x1828f8(0xe1)+_0x2368b2+'\x20(fromBeginning:\x20'+_0x554575+')');}return this[_0x1828f8(0x9e)]=[...new Set([...this['subscribedTopics'],..._0x387eed])],!![];}catch(_0x20fd3a){return console[_0x1828f8(0xdf)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x20fd3a[_0x1828f8(0x8a)]),![];}}async['startConsuming'](_0xb31ca3,_0x360806={}){const _0x17e511=a0_0x5cd0f9,_0x63c826={'IAPjW':function(_0x2ec051,_0x23fdc1){return _0x2ec051+_0x23fdc1;},'apwbg':function(_0x278f9e,_0x3c8609){return _0x278f9e(_0x3c8609);},'BpSuk':function(_0x58963c,_0x26fb33){return _0x58963c-_0x26fb33;},'zMBAq':function(_0x4af395,_0x5b0ab1){return _0x4af395>_0x5b0ab1;},'keVxB':function(_0x4758f0){return _0x4758f0();},'Gtchr':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','CVVUl':_0x17e511(0x9b),'fjVvt':function(_0x42b370,_0x5e458c){return _0x42b370!==_0x5e458c;}};if(!this['isConnected'])return console['error'](_0x63c826[_0x17e511(0x8c)]),![];if(this['isRunning'])return console['log'](_0x63c826['CVVUl']),!![];const _0x4b13fc=this[_0x17e511(0x82)]();this['messageHandler']=_0xb31ca3;try{return this[_0x17e511(0x99)][_0x17e511(0xcd)]=new Date(),await this[_0x17e511(0xc3)][_0x17e511(0x95)]({'autoCommit':_0x63c826[_0x17e511(0xb9)](_0x360806[_0x17e511(0xd9)],undefined)?_0x360806['autoCommit']:_0x4b13fc[_0x17e511(0xd9)],'autoCommitInterval':_0x4b13fc['autoCommitInterval'],'eachMessage':async({topic:_0x5bdf0e,partition:_0x15c0e9,message:_0x1d7e0e,heartbeat:_0x26476e})=>{const _0x58ef7a=_0x17e511,_0x142ed9=Date[_0x58ef7a(0xa3)]();this['metrics']['messagesReceived']++,this[_0x58ef7a(0x99)][_0x58ef7a(0xae)]=new Date();try{const _0x3a0f13=_0x1d7e0e['value']?_0x1d7e0e['value']['toString']():null;let _0x49963d=null;try{_0x49963d=_0x3a0f13?JSON['parse'](_0x3a0f13):null;}catch(_0x2b9962){_0x49963d=_0x3a0f13;}const _0x1d4e1b={'topic':_0x5bdf0e,'partition':_0x15c0e9,'offset':_0x1d7e0e['offset'],'key':_0x1d7e0e[_0x58ef7a(0x93)]?_0x1d7e0e[_0x58ef7a(0x93)][_0x58ef7a(0x81)]():null,'headers':this[_0x58ef7a(0xbe)](_0x1d7e0e[_0x58ef7a(0xe2)]),'timestamp':_0x1d7e0e['timestamp'],'value':_0x49963d,'raw':_0x3a0f13};this['messageHandler']&&await this['messageHandler'](_0x1d4e1b);!_0x4b13fc['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x5bdf0e,'partition':_0x15c0e9,'offset':_0x63c826[_0x58ef7a(0xdd)](_0x63c826['apwbg'](parseInt,_0x1d7e0e['offset']),0x1)[_0x58ef7a(0x81)]()}]);this[_0x58ef7a(0x99)]['messagesProcessed']++;const _0x155dab=_0x63c826[_0x58ef7a(0xc2)](Date[_0x58ef7a(0xa3)](),_0x142ed9);this['metrics']['processingTimes'][_0x58ef7a(0xd5)](_0x155dab),_0x63c826['zMBAq'](this[_0x58ef7a(0x99)]['processingTimes'][_0x58ef7a(0x87)],0x64)&&this[_0x58ef7a(0x99)][_0x58ef7a(0xa6)][_0x58ef7a(0x7e)](),await _0x63c826['keVxB'](_0x26476e);}catch(_0x48fece){this[_0x58ef7a(0x99)]['messagesFailed']++,console['error'](_0x58ef7a(0xa5)+_0x48fece[_0x58ef7a(0x8a)]);throw _0x48fece;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x17e511(0x9e)]['join'](',\x20')),!![];}catch(_0x3489fb){return console[_0x17e511(0xdf)](_0x17e511(0x9c)+_0x3489fb[_0x17e511(0x8a)]),![];}}[a0_0x5cd0f9(0xbe)](_0x53610a){const _0x194e5a=a0_0x5cd0f9;if(!_0x53610a)return{};const _0x3cb890={};for(const [_0x5643e3,_0x24a496]of Object['entries'](_0x53610a)){_0x3cb890[_0x5643e3]=_0x24a496?_0x24a496[_0x194e5a(0x81)]():null;}return _0x3cb890;}async[a0_0x5cd0f9(0xb7)](){const _0xb1a490=a0_0x5cd0f9,_0x55cdc1={'BMpzk':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','XSZuJ':_0xb1a490(0xc8)};if(!this['isConnected']||!this[_0xb1a490(0xdb)])return console[_0xb1a490(0x96)](_0x55cdc1[_0xb1a490(0x89)]),![];if(this['isPaused'])return console[_0xb1a490(0x96)](_0xb1a490(0xca)),!![];try{const _0x224835=this[_0xb1a490(0x9e)]['map'](_0x5e4384=>({'topic':_0x5e4384}));return this[_0xb1a490(0xc3)][_0xb1a490(0xb7)](_0x224835),this['isPaused']=!![],console[_0xb1a490(0x96)](_0x55cdc1['XSZuJ']),!![];}catch(_0x2969f0){return console[_0xb1a490(0xdf)](_0xb1a490(0xd2)+_0x2969f0[_0xb1a490(0x8a)]),![];}}async['resume'](){const _0x31f746=a0_0x5cd0f9,_0x4e0e71={'RZnuw':_0x31f746(0xbf)};if(!this['isConnected']||!this[_0x31f746(0xdb)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x31f746(0x74)])return console[_0x31f746(0x96)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x13c0dc=this['subscribedTopics'][_0x31f746(0xbc)](_0x887d03=>({'topic':_0x887d03}));return this['consumer']['resume'](_0x13c0dc),this[_0x31f746(0x74)]=![],console['log'](_0x4e0e71['RZnuw']),!![];}catch(_0x32bdd9){return console[_0x31f746(0xdf)](_0x31f746(0xb5)+_0x32bdd9[_0x31f746(0x8a)]),![];}}async[a0_0x5cd0f9(0xde)](){const _0x5c366c=a0_0x5cd0f9;if(!this['isConnected'])return console[_0x5c366c(0x96)]('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x3a1808='5|4|1|0|3|2'[_0x5c366c(0xa7)]('|');let _0x561f7b=0x0;while(!![]){switch(_0x3a1808[_0x561f7b++]){case'0':this[_0x5c366c(0x74)]=![];continue;case'1':this[_0x5c366c(0xdb)]=![];continue;case'2':return!![];case'3':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'4':this[_0x5c366c(0x7b)]=![];continue;case'5':this['consumer']&&(await this['consumer']['stop'](),await this[_0x5c366c(0xc3)]['disconnect']());continue;}break;}}catch(_0x1742df){return console[_0x5c366c(0xdf)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x1742df[_0x5c366c(0x8a)]),![];}}async['seekToOffset'](_0x4747be,_0x25f8b1,_0x54a8ca){const _0x178eb6=a0_0x5cd0f9;if(!this[_0x178eb6(0x7b)])return console['error'](_0x178eb6(0xa8)),![];try{return this['consumer']['seek']({'topic':_0x4747be,'partition':_0x25f8b1,'offset':_0x54a8ca['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x54a8ca+'\x20on\x20'+_0x4747be+':'+_0x25f8b1),!![];}catch(_0xd64cf3){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xd64cf3[_0x178eb6(0x8a)]),![];}}[a0_0x5cd0f9(0xb3)](){const _0xdce56b=a0_0x5cd0f9,_0x44908a=this[_0xdce56b(0x82)]();return{'enabled':_0x44908a['enabled'],'connected':this['isConnected'],'running':this['isRunning'],'paused':this[_0xdce56b(0x74)],'brokers':_0x44908a[_0xdce56b(0x84)],'clientId':_0x44908a['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x5cd0f9(0x7f)](){const _0x51a606=a0_0x5cd0f9,_0x987545={'cgRPY':function(_0x39d54f,_0x4bb96b){return _0x39d54f/_0x4bb96b;},'qPvgj':function(_0x5b90e6,_0x14b474){return _0x5b90e6>_0x14b474;},'VunzE':function(_0x5b6661,_0x4c9517){return _0x5b6661+_0x4c9517;},'YvwQM':function(_0x4586cd,_0x90609c){return _0x4586cd/_0x90609c;}},_0x492190=this[_0x51a606(0x99)]['processingTimes'][_0x51a606(0x87)]>0x0?_0x987545['cgRPY'](this['metrics']['processingTimes'][_0x51a606(0xba)]((_0x128352,_0x14f5ad)=>_0x128352+_0x14f5ad,0x0),this['metrics'][_0x51a606(0xa6)]['length']):0x0,_0x854eaa=_0x987545['qPvgj'](this['metrics']['processingTimes'][_0x51a606(0x87)],0x0)?Math[_0x51a606(0x91)](...this['metrics']['processingTimes']):0x0,_0x2efd33=_0x987545['qPvgj'](this['metrics'][_0x51a606(0xa6)]['length'],0x0)?Math['max'](...this['metrics'][_0x51a606(0xa6)]):0x0;return{'messagesReceived':this[_0x51a606(0x99)]['messagesReceived'],'messagesProcessed':this['metrics'][_0x51a606(0x78)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this['metrics'][_0x51a606(0x79)]>0x0?(this[_0x51a606(0x99)]['messagesProcessed']/this['metrics'][_0x51a606(0x79)]*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this[_0x51a606(0x99)][_0x51a606(0xae)],'startTime':this[_0x51a606(0x99)][_0x51a606(0xcd)],'uptime':this[_0x51a606(0x99)][_0x51a606(0xcd)]?_0x987545[_0x51a606(0x83)](Math['floor'](_0x987545[_0x51a606(0xda)](Date[_0x51a606(0xa3)]()-this[_0x51a606(0x99)]['startTime'][_0x51a606(0xbb)](),0x3e8)),'s'):'0s','processingTime':{'avg':_0x987545['VunzE'](Math['round'](_0x492190),'ms'),'min':_0x854eaa+'ms','max':_0x987545['VunzE'](_0x2efd33,'ms')}};}[a0_0x5cd0f9(0x80)](){const _0x1604f3=a0_0x5cd0f9;this[_0x1604f3(0x99)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x1f51(_0xc084f0,_0x5d6e12){_0xc084f0=_0xc084f0-0x73;const _0x422ffb=a0_0x422f();let _0x1f51d4=_0x422ffb[_0xc084f0];if(a0_0x1f51['XBrSYs']===undefined){var _0x41e0bb=function(_0xe7da39){const _0x3c3b44='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x10424f='',_0x50ccf2='';for(let _0x3f7232=0x0,_0x3e9268,_0x55997a,_0x4aad20=0x0;_0x55997a=_0xe7da39['charAt'](_0x4aad20++);~_0x55997a&&(_0x3e9268=_0x3f7232%0x4?_0x3e9268*0x40+_0x55997a:_0x55997a,_0x3f7232++%0x4)?_0x10424f+=String['fromCharCode'](0xff&_0x3e9268>>(-0x2*_0x3f7232&0x6)):0x0){_0x55997a=_0x3c3b44['indexOf'](_0x55997a);}for(let _0x205d0a=0x0,_0x5a07e0=_0x10424f['length'];_0x205d0a<_0x5a07e0;_0x205d0a++){_0x50ccf2+='%'+('00'+_0x10424f['charCodeAt'](_0x205d0a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50ccf2);};a0_0x1f51['rALwCo']=_0x41e0bb,a0_0x1f51['ZguSBz']={},a0_0x1f51['XBrSYs']=!![];}const _0x16b866=_0x422ffb[0x0],_0x162720=_0xc084f0+_0x16b866,_0x187191=a0_0x1f51['ZguSBz'][_0x162720];return!_0x187191?(_0x1f51d4=a0_0x1f51['rALwCo'](_0x1f51d4),a0_0x1f51['ZguSBz'][_0x162720]=_0x1f51d4):_0x1f51d4=_0x187191,_0x1f51d4;}function a0_0x422f(){const _0x1c0eaf=['nti4mdGZDhLVsvz1','tfzVugi','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','z2v0tg9Ntgv2zwW','BgfZDe1LC3nHz2vuAw1L','ndG4uvjis3jK','y29UC3vTzxiUCMvIywXHBMnPBMC','BfHcDfa','y29UC3vTzxiUzgLZy29UBMvJDa','z2v0u3rHDhvZ','s0fgs0fFuKvuuLLFrevmqvK','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','AgvHCNrIzwf0sw50zxj2ywW','Cgf1C2u','oda3mhL1C256wG','zMPwDNq','CMvKDwnL','z2v0vgLTzq','BwfW','mJuWmda','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','v0fstG','BwvZC2fNzuHHBMrSzxi','qNbtDwS','y29UC3vTzxi','z3jVDxbjza','su5gtW','Dg9mB3DLCKnHC2u','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','tuLWsNO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','nJa4mJeWvuvZwvrK','mtmYmZDnsM1Ay2K','C3rHCNruAw1L','zw52','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','nteYmJq2ngPiBfPKEa','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','s0fgs0fFu0vtu0LptL9usu1ft1vu','AM9PBG','ChvZAa','Aw5PDgLHBgL6zq','zgvMyxvSDa','y29UBMvJDgLVBLbYB21PC2u','yxv0B0nVBw1PDa','wxz3uu0','AxnsDw5UAw5N','CMvZDgzVCMDLlq','sufqALC','C3rVCa','zxjYB3i','ntaWma','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','AgvHzgvYCW','Dhj1zq','AxnqyxvZzwq','og5zDMfUDG','D2fYBG','ndjpz3flqxO','BwvZC2fNzxnqCM9JzxnZzwq','BwvZC2fNzxnszwnLAxzLza','zxHWB3j0CW','AxndB25Uzwn0zwq','mtfSr3rgyxC','mZy0mND0Egj6tq','C2HPzNq','z2v0twv0CMLJCW','CMvZzxrnzxrYAwnZ','Dg9tDhjPBMC','z2v0q29UzMLN','vNvUEKu','yNjVA2vYCW','nKTQqNLVrq','mZaWma','BgvUz3rO','s0fgs0fFuKvrvuvtvf9usu1ft1vu','qK1WEMS','BwvZC2fNzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','r3rJAhi','Bg9JywXOB3n0oJKWoti','s0fgs0fFu0fttf9nruniqu5ju00','mJC4nJK0BfD6ufPJ','CMv0CNLnyxHezwXHEq','BwLU','CMv0CNLezwXHEq','A2v5','y2XPzw50swq','CNvU','Bg9N','CMvXDwvZDfrPBwvVDxq','AxnjBML0AwfSAxPPBMC','Bwv0CMLJCW','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','C3vIC2nYAwjLzfrVCgLJCW','mNjorezsrG','s0fgs0fFu1nm','nti4m3Hcs1nfvW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','BM93','mZaWmda','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ChjVy2vZC2LUz1rPBwvZ','C3bSAxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','DLzWBeS'];a0_0x422f=function(){return _0x1c0eaf;};return a0_0x422f();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x5cd0f9(0x7a)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0xd59b98=a0_0x5d44;(function(_0x4044b3,_0x311f62){const _0x4b9e2c=a0_0x5d44,_0x1327ec=_0x4044b3();while(!![]){try{const _0x146ce0=parseInt(_0x4b9e2c(0x15b))/0x1*(parseInt(_0x4b9e2c(0x152))/0x2)+-parseInt(_0x4b9e2c(0x194))/0x3+-parseInt(_0x4b9e2c(0x184))/0x4*(parseInt(_0x4b9e2c(0x165))/0x5)+-parseInt(_0x4b9e2c(0x174))/0x6+parseInt(_0x4b9e2c(0x136))/0x7*(-parseInt(_0x4b9e2c(0x167))/0x8)+-parseInt(_0x4b9e2c(0x132))/0x9*(parseInt(_0x4b9e2c(0x160))/0xa)+-parseInt(_0x4b9e2c(0x17b))/0xb*(-parseInt(_0x4b9e2c(0x190))/0xc);if(_0x146ce0===_0x311f62)break;else _0x1327ec['push'](_0x1327ec['shift']());}catch(_0x598172){_0x1327ec['push'](_0x1327ec['shift']());}}}(a0_0x39d6,0x8a894));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0xd59b98(0x14b));class KafkaConsumerService{constructor(){const _0x57f764=a0_0xd59b98,_0x230543={'UYanI':'5|7|10|9|4|1|3|6|8|0|2'},_0x244583=_0x230543[_0x57f764(0x199)]['split']('|');let _0x5bc912=0x0;while(!![]){switch(_0x244583[_0x5bc912++]){case'0':this[_0x57f764(0x19b)]=null;continue;case'1':this['isPaused']=![];continue;case'2':this[_0x57f764(0x15f)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'3':this['connectionPromise']=null;continue;case'4':this[_0x57f764(0x13c)]=![];continue;case'5':this[_0x57f764(0x137)]=null;continue;case'6':this[_0x57f764(0x16d)]=[];continue;case'7':this['consumer']=null;continue;case'8':this['groupId']=null;continue;case'9':this['isInitializing']=![];continue;case'10':this['isConnected']=![];continue;}break;}}[a0_0xd59b98(0x145)](){const _0x1c11f2=a0_0xd59b98,_0x3e1c34={'msIne':function(_0x17a87a,_0x21c9ca){return _0x17a87a===_0x21c9ca;},'eegMk':'true','LHcOP':function(_0x1d40e1,_0x4c13d1){return _0x1d40e1(_0x4c13d1);},'KydjY':'30000','PXUmE':function(_0x398519,_0x323f72){return _0x398519(_0x323f72);},'NQGDn':_0x1c11f2(0x13d),'OYbzH':function(_0x4c6014,_0xafc51b){return _0x4c6014(_0xafc51b);},'XPCnu':function(_0x441680,_0x56d96f){return _0x441680(_0x56d96f);},'jEHQc':'warn'};return{'enabled':_0x3e1c34['msIne'](process[_0x1c11f2(0x16e)]['KAFKA_ENABLED'],_0x3e1c34['eegMk']),'brokers':(process['env'][_0x1c11f2(0x197)]||_0x1c11f2(0x13e))['split'](','),'clientId':process[_0x1c11f2(0x16e)]['KAFKA_CLIENT_ID']||_0x1c11f2(0x14a)+(process[_0x1c11f2(0x16e)]['RESTFORGE_PROJECT_NAME']||'default')+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x1c11f2(0x134)),'requestTimeout':parseInt(process[_0x1c11f2(0x16e)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x3e1c34['LHcOP'](parseInt,process['env'][_0x1c11f2(0x163)]||_0x3e1c34[_0x1c11f2(0x1a4)]),'heartbeatInterval':parseInt(process[_0x1c11f2(0x16e)]['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x3e1c34[_0x1c11f2(0x198)](parseInt,process[_0x1c11f2(0x16e)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3e1c34[_0x1c11f2(0x19d)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x1c11f2(0x131),'autoCommitInterval':parseInt(process['env'][_0x1c11f2(0x178)]||'5000'),'retryAttempts':_0x3e1c34['OYbzH'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x3e1c34['XPCnu'](parseInt,process['env'][_0x1c11f2(0x189)]||'1000'),'retryMaxDelay':_0x3e1c34[_0x1c11f2(0x171)](parseInt,process['env'][_0x1c11f2(0x148)]||_0x3e1c34['KydjY']),'logLevel':process[_0x1c11f2(0x16e)][_0x1c11f2(0x175)]||_0x3e1c34['jEHQc']};}[a0_0xd59b98(0x17e)](_0x1529af){const _0x56550c=a0_0xd59b98,_0x364f80={'nothing':logLevel['NOTHING'],'error':logLevel[_0x56550c(0x183)],'warn':logLevel[_0x56550c(0x18d)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x364f80[_0x1529af['toLowerCase']()]||logLevel['WARN'];}async[a0_0xd59b98(0x16b)](_0x9c13f7={}){const _0xadd3f7=a0_0xd59b98,_0x174fc7={'TScoM':function(_0x4cc4ce,_0x2db959){return _0x4cc4ce===_0x2db959;},'GGtjo':'true','QGuBx':'default','BVLLd':function(_0x1a81a8,_0x103f13){return _0x1a81a8(_0x103f13);}},_0x3b9165=this[_0xadd3f7(0x145)]();if(!_0x3b9165[_0xadd3f7(0x162)])return console[_0xadd3f7(0x143)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xadd3f7(0x15a)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this[_0xadd3f7(0x14f)]=!![],this[_0xadd3f7(0x154)]=new Promise(async _0xb57f52=>{const _0x5b04e0=_0xadd3f7;try{let _0x2c2105=undefined;_0x174fc7['TScoM'](process[_0x5b04e0(0x16e)][_0x5b04e0(0x153)],_0x174fc7['GGtjo'])&&(_0x2c2105=!![]);let _0x3f6192=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x3f6192={'mechanism':process['env'][_0x5b04e0(0x16f)],'username':process[_0x5b04e0(0x16e)][_0x5b04e0(0x14c)]||'','password':process[_0x5b04e0(0x16e)]['KAFKA_SASL_PASSWORD']||''}),this[_0x5b04e0(0x137)]=new Kafka({'clientId':_0x9c13f7['clientId']||_0x3b9165['clientId'],'brokers':_0x3b9165['brokers'],'connectionTimeout':_0x3b9165[_0x5b04e0(0x16c)],'requestTimeout':_0x3b9165[_0x5b04e0(0x177)],'logLevel':this['getLogLevel'](_0x3b9165[_0x5b04e0(0x14d)]),'ssl':_0x2c2105,'sasl':_0x3f6192,'retry':{'initialRetryTime':_0x3b9165[_0x5b04e0(0x19f)],'retries':_0x3b9165['retryAttempts'],'maxRetryTime':_0x3b9165['retryMaxDelay']}}),this[_0x5b04e0(0x149)]=_0x9c13f7[_0x5b04e0(0x149)]||_0x5b04e0(0x14a)+(process[_0x5b04e0(0x16e)][_0x5b04e0(0x142)]||_0x174fc7[_0x5b04e0(0x195)])+'-consumer-group',this['consumer']=this[_0x5b04e0(0x137)][_0x5b04e0(0x159)]({'groupId':this[_0x5b04e0(0x149)],'sessionTimeout':_0x3b9165[_0x5b04e0(0x15d)],'heartbeatInterval':_0x3b9165[_0x5b04e0(0x188)],'maxBytesPerPartition':_0x3b9165[_0x5b04e0(0x192)],'allowAutoTopicCreation':![]}),await this[_0x5b04e0(0x159)][_0x5b04e0(0x17d)](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3b9165[_0x5b04e0(0x130)][_0x5b04e0(0x17f)](',\x20')+_0x5b04e0(0x18e)+this['groupId']+')'),this[_0x5b04e0(0x169)](),_0xb57f52(!![]);}catch(_0x28df90){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x28df90[_0x5b04e0(0x18c)]),this[_0x5b04e0(0x15a)]=![],_0x174fc7[_0x5b04e0(0x16a)](_0xb57f52,![]);}finally{this[_0x5b04e0(0x14f)]=![];}}),this[_0xadd3f7(0x154)];}[a0_0xd59b98(0x169)](){const _0x40414e=a0_0xd59b98,_0xab81f6={'cUIBa':_0x40414e(0x170),'BRXgJ':_0x40414e(0x161),'dCrVo':_0x40414e(0x166),'MmAyc':'consumer.crash','uWvZd':'consumer.rebalancing'};if(!this[_0x40414e(0x159)])return;this[_0x40414e(0x159)]['on'](_0xab81f6['dCrVo'],()=>{const _0x1c98f4=_0x40414e;console[_0x1c98f4(0x143)](_0xab81f6[_0x1c98f4(0x180)]),this[_0x1c98f4(0x15a)]=![],this[_0x1c98f4(0x13c)]=![];}),this[_0x40414e(0x159)]['on']('consumer.stop',()=>{const _0x5cf312=_0x40414e;console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x5cf312(0x13c)]=![];}),this['consumer']['on'](_0xab81f6[_0x40414e(0x18a)],_0xa7a948=>{const _0x30a077=_0x40414e;console[_0x30a077(0x17a)](_0x30a077(0x17c)+_0xa7a948['payload']['error']['message']),this[_0x30a077(0x13c)]=![];}),this['consumer']['on'](_0xab81f6['uWvZd'],()=>{console['log'](_0xab81f6['BRXgJ']);});}async['subscribe'](_0x7f8f42,_0x1f4970=![]){const _0x26a087=a0_0xd59b98;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x5e13ef=Array['isArray'](_0x7f8f42)?_0x7f8f42:[_0x7f8f42];for(const _0x5cb915 of _0x5e13ef){await this[_0x26a087(0x159)][_0x26a087(0x13b)]({'topic':_0x5cb915,'fromBeginning':_0x1f4970}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x5cb915+'\x20(fromBeginning:\x20'+_0x1f4970+')');}return this['subscribedTopics']=[...new Set([...this[_0x26a087(0x16d)],..._0x5e13ef])],!![];}catch(_0x5edbba){return console['error'](_0x26a087(0x19c)+_0x5edbba[_0x26a087(0x18c)]),![];}}async['startConsuming'](_0x23ffbe,_0x4e7957={}){const _0x2424e7=a0_0xd59b98,_0x1da665={'RIQLK':function(_0x2e57f2,_0x164c6e){return _0x2e57f2(_0x164c6e);},'zZcEW':_0x2424e7(0x185),'hLLeu':'[KafkaConsumer]\x20Consumer\x20already\x20running'};if(!this[_0x2424e7(0x15a)])return console[_0x2424e7(0x17a)](_0x1da665['zZcEW']),![];if(this[_0x2424e7(0x13c)])return console[_0x2424e7(0x143)](_0x1da665['hLLeu']),!![];const _0x297a51=this['getConfig']();this[_0x2424e7(0x19b)]=_0x23ffbe;try{return this[_0x2424e7(0x15f)][_0x2424e7(0x140)]=new Date(),await this[_0x2424e7(0x159)][_0x2424e7(0x168)]({'autoCommit':_0x4e7957[_0x2424e7(0x146)]!==undefined?_0x4e7957['autoCommit']:_0x297a51[_0x2424e7(0x146)],'autoCommitInterval':_0x297a51['autoCommitInterval'],'eachMessage':async({topic:_0x48618e,partition:_0x581344,message:_0x5f18b1,heartbeat:_0x12a1a0})=>{const _0x2bbac9=_0x2424e7,_0x13e393=Date['now']();this['metrics'][_0x2bbac9(0x1a9)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x516c54=_0x5f18b1['value']?_0x5f18b1[_0x2bbac9(0x156)][_0x2bbac9(0x15e)]():null;let _0xa0e6a=null;try{_0xa0e6a=_0x516c54?JSON[_0x2bbac9(0x151)](_0x516c54):null;}catch(_0xc7a148){_0xa0e6a=_0x516c54;}const _0x14a243={'topic':_0x48618e,'partition':_0x581344,'offset':_0x5f18b1[_0x2bbac9(0x150)],'key':_0x5f18b1[_0x2bbac9(0x1aa)]?_0x5f18b1[_0x2bbac9(0x1aa)]['toString']():null,'headers':this['parseHeaders'](_0x5f18b1[_0x2bbac9(0x172)]),'timestamp':_0x5f18b1[_0x2bbac9(0x15c)],'value':_0xa0e6a,'raw':_0x516c54};this[_0x2bbac9(0x19b)]&&await this[_0x2bbac9(0x19b)](_0x14a243);!_0x297a51['autoCommit']&&await this[_0x2bbac9(0x159)]['commitOffsets']([{'topic':_0x48618e,'partition':_0x581344,'offset':(_0x1da665[_0x2bbac9(0x173)](parseInt,_0x5f18b1['offset'])+0x1)[_0x2bbac9(0x15e)]()}]);this['metrics'][_0x2bbac9(0x133)]++;const _0x42ad42=Date[_0x2bbac9(0x182)]()-_0x13e393;this['metrics'][_0x2bbac9(0x1a8)][_0x2bbac9(0x179)](_0x42ad42),this[_0x2bbac9(0x15f)][_0x2bbac9(0x1a8)][_0x2bbac9(0x18b)]>0x64&&this[_0x2bbac9(0x15f)]['processingTimes'][_0x2bbac9(0x13a)](),await _0x12a1a0();}catch(_0x4d95ff){this[_0x2bbac9(0x15f)][_0x2bbac9(0x191)]++,console['error'](_0x2bbac9(0x141)+_0x4d95ff['message']);throw _0x4d95ff;}}}),this[_0x2424e7(0x13c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x2424e7(0x16d)][_0x2424e7(0x17f)](',\x20')),!![];}catch(_0x1d567a){return console['error'](_0x2424e7(0x1a0)+_0x1d567a['message']),![];}}[a0_0xd59b98(0x164)](_0x5a68f7){const _0xb26885=a0_0xd59b98;if(!_0x5a68f7)return{};const _0x15c9be={};for(const [_0x26b4ec,_0x2a7a30]of Object[_0xb26885(0x14e)](_0x5a68f7)){_0x15c9be[_0x26b4ec]=_0x2a7a30?_0x2a7a30['toString']():null;}return _0x15c9be;}async['pause'](){const _0x1c04b3=a0_0xd59b98,_0x36528c={'mtJdQ':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x1c04b3(0x143)](_0x1c04b3(0x1a7)),![];if(this['isPaused'])return console['log'](_0x36528c['mtJdQ']),!![];try{const _0x588bf1=this[_0x1c04b3(0x16d)]['map'](_0xc28afb=>({'topic':_0xc28afb}));return this['consumer'][_0x1c04b3(0x19a)](_0x588bf1),this['isPaused']=!![],console[_0x1c04b3(0x143)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x75253c){return console[_0x1c04b3(0x17a)](_0x1c04b3(0x193)+_0x75253c['message']),![];}}async['resume'](){const _0x32a037=a0_0xd59b98,_0x50283a={'DJNsA':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','XjoXr':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x32a037(0x143)](_0x50283a['DJNsA']),![];if(!this[_0x32a037(0x19e)])return console[_0x32a037(0x143)](_0x50283a['XjoXr']),!![];try{const _0xa06fc2=this[_0x32a037(0x16d)]['map'](_0x5aa21f=>({'topic':_0x5aa21f}));return this['consumer']['resume'](_0xa06fc2),this[_0x32a037(0x19e)]=![],console[_0x32a037(0x143)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x444637){return console[_0x32a037(0x17a)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x444637['message']),![];}}async[a0_0xd59b98(0x176)](){const _0x6ce9c1=a0_0xd59b98;if(!this['isConnected'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x3a583d=_0x6ce9c1(0x186)[_0x6ce9c1(0x147)]('|');let _0x38867d=0x0;while(!![]){switch(_0x3a583d[_0x38867d++]){case'0':this['isPaused']=![];continue;case'1':this['isConnected']=![];continue;case'2':return!![];case'3':this[_0x6ce9c1(0x13c)]=![];continue;case'4':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'5':this[_0x6ce9c1(0x159)]&&(await this[_0x6ce9c1(0x159)]['stop'](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x483b5c){return console[_0x6ce9c1(0x17a)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x483b5c[_0x6ce9c1(0x18c)]),![];}}async['seekToOffset'](_0x4b2ada,_0x5ca055,_0x892eb5){const _0x29a938=a0_0xd59b98;if(!this['isConnected'])return console['error'](_0x29a938(0x158)),![];try{return this['consumer']['seek']({'topic':_0x4b2ada,'partition':_0x5ca055,'offset':_0x892eb5['toString']()}),console[_0x29a938(0x143)](_0x29a938(0x181)+_0x892eb5+_0x29a938(0x135)+_0x4b2ada+':'+_0x5ca055),!![];}catch(_0x27770c){return console[_0x29a938(0x17a)](_0x29a938(0x1a1)+_0x27770c['message']),![];}}['getStatus'](){const _0x4ae0a4=a0_0xd59b98,_0x267398=this[_0x4ae0a4(0x145)]();return{'enabled':_0x267398['enabled'],'connected':this['isConnected'],'running':this[_0x4ae0a4(0x13c)],'paused':this[_0x4ae0a4(0x19e)],'brokers':_0x267398['brokers'],'clientId':_0x267398['clientId'],'groupId':this[_0x4ae0a4(0x149)],'subscribedTopics':this['subscribedTopics']};}[a0_0xd59b98(0x18f)](){const _0x521a39=a0_0xd59b98,_0x3d4e29={'qKajN':function(_0x3c4aaf,_0x59ac42){return _0x3c4aaf>_0x59ac42;},'Gysdf':function(_0x2ec747,_0x4a98eb){return _0x2ec747/_0x4a98eb;},'WUCiu':function(_0x542363,_0xf35c3e){return _0x542363+_0xf35c3e;},'lWhZI':function(_0x2e9c26,_0x2fa341){return _0x2e9c26/_0x2fa341;},'zlowK':function(_0x359d43,_0x3c4f4b){return _0x359d43+_0x3c4f4b;}},_0x1e9d50=_0x3d4e29['qKajN'](this['metrics'][_0x521a39(0x1a8)][_0x521a39(0x18b)],0x0)?_0x3d4e29[_0x521a39(0x144)](this[_0x521a39(0x15f)]['processingTimes'][_0x521a39(0x196)]((_0x1fb70a,_0x1a6750)=>_0x1fb70a+_0x1a6750,0x0),this['metrics']['processingTimes'][_0x521a39(0x18b)]):0x0,_0x55b329=this[_0x521a39(0x15f)]['processingTimes']['length']>0x0?Math[_0x521a39(0x138)](...this[_0x521a39(0x15f)][_0x521a39(0x1a8)]):0x0,_0x4ad014=this['metrics'][_0x521a39(0x1a8)]['length']>0x0?Math[_0x521a39(0x13f)](...this[_0x521a39(0x15f)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x521a39(0x1a9)],'messagesProcessed':this[_0x521a39(0x15f)][_0x521a39(0x133)],'messagesFailed':this[_0x521a39(0x15f)]['messagesFailed'],'successRate':this[_0x521a39(0x15f)]['messagesReceived']>0x0?_0x3d4e29[_0x521a39(0x139)]((_0x3d4e29[_0x521a39(0x1a2)](this[_0x521a39(0x15f)][_0x521a39(0x133)],this['metrics'][_0x521a39(0x1a9)])*0x64)[_0x521a39(0x157)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x521a39(0x1a3)],'startTime':this['metrics']['startTime'],'uptime':this['metrics'][_0x521a39(0x140)]?_0x3d4e29[_0x521a39(0x139)](Math['floor']((Date['now']()-this['metrics']['startTime'][_0x521a39(0x155)]())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x1e9d50)+'ms','min':_0x3d4e29['zlowK'](_0x55b329,'ms'),'max':_0x4ad014+'ms'}};}['resetMetrics'](){const _0x508840=a0_0xd59b98,_0x3ec3f5={'BAljM':_0x508840(0x187)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x508840(0x13c)]?new Date():null,'processingTimes':[]},console[_0x508840(0x143)](_0x3ec3f5['BAljM']);}async[a0_0xd59b98(0x1a6)](){await this['stop']();}}function a0_0x39d6(){const _0x5c3be0=['rvjst1i','mJHrshrVs0W','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','nxWXFdn8mhW0Fdi','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','AgvHCNrIzwf0sw50zxj2ywW','s0fgs0fFuKvuuLLFrevmqvK','tw1bEwm','BgvUz3rO','BwvZC2fNzq','v0fstG','icHNCM91CeLKoIa','z2v0twv0CMLJCW','ndqXntqWodrAAxPywvG','BwvZC2fNzxngywLSzwq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mta5mdKXn2HJA0nkuW','uuD1qNG','CMvKDwnL','s0fgs0fFqLjps0vsuW','ufHvBuu','vvLHBKK','Cgf1C2u','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','tLfhrg4','AxnqyxvZzwq','CMv0CNLezwXHEq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','BfDOwKK','BgfZDe1LC3nHz2vuAw1L','s3LKALK','zxHWB3j0CW','y2XVC2u','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzxnszwnLAxzLza','A2v5','yNjVA2vYCW','Dhj1zq','nZC4mdmWmK55uun1wa','BwvZC2fNzxnqCM9JzxnZzwq','mZaWma','ig9Uia','mZG5mdC0Aw1oB0n1','A2fMA2e','BwLU','v1vdAxu','C2HPzNq','C3vIC2nYAwjL','AxnsDw5UAw5N','mta0odu3nG','Bg9JywXOB3n0oJKWoti','Bwf4','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9N','r3LZzgy','z2v0q29UzMLN','yxv0B0nVBw1PDa','C3bSAxq','s0fgs0fFuKvuuLLFtufyx0rftefz','z3jVDxbjza','CMvZDgzVCMDLlq','DxvPza','s0fgs0fFu0fttf9vu0vstKfnrq','Bg9Ntgv2zwW','zw50CMLLCW','AxnjBML0AwfSAxPPBMC','B2zMC2v0','CgfYC2u','mZuYotzqvwvhrLC','s0fgs0fFu1nm','y29UBMvJDgLVBLbYB21PC2u','z2v0vgLTzq','DMfSDwu','Dg9gAxHLza','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','y29UC3vTzxi','AxndB25Uzwn0zwq','mtHfqM9nDKu','DgLTzxn0yw1W','C2vZC2LVBLrPBwvVDxq','Dg9tDhjPBMC','Bwv0CMLJCW','mtbUqvDsBNe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','zw5HyMXLza','s0fgs0fFu0vtu0LptL9usu1ft1vu','CgfYC2vizwfKzxjZ','oda3odK1yxvxA3jv','y29UC3vTzxiUzgLZy29UBMvJDa','mteYs1r4EfrR','CNvU','C2v0DxbfDMvUDeHHBMrSzxjZ','qLzmtgq','Aw5PDgLHBgL6zq','y29UBMvJDgLVBLrPBwvVDxq','C3vIC2nYAwjLzfrVCgLJCW','zw52','s0fgs0fFu0fttf9nruniqu5ju00','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','t1LIEKG','AgvHzgvYCW','uKLrteS','mtC1ndq1ngnIBxv0Aq','s0fgs0fFte9hx0XfvKvm','C3rVCa','CMvXDwvZDfrPBwvVDxq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','ChvZAa','zxjYB3i','mtfMz2rzDwS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','y29UBMvJDa','z2v0tg9Ntgv2zwW','AM9PBG','y1vjqMe','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BM93'];a0_0x39d6=function(){return _0x5c3be0;};return a0_0x39d6();}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x5d44(_0x53c1dd,_0x17c30e){_0x53c1dd=_0x53c1dd-0x130;const _0x39d60c=a0_0x39d6();let _0x5d4448=_0x39d60c[_0x53c1dd];if(a0_0x5d44['aVKelO']===undefined){var _0x187823=function(_0x199d7c){const _0x4b1d9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23aeaf='',_0x16650c='';for(let _0x256d47=0x0,_0x5ee3bf,_0xfe572d,_0x130ca2=0x0;_0xfe572d=_0x199d7c['charAt'](_0x130ca2++);~_0xfe572d&&(_0x5ee3bf=_0x256d47%0x4?_0x5ee3bf*0x40+_0xfe572d:_0xfe572d,_0x256d47++%0x4)?_0x23aeaf+=String['fromCharCode'](0xff&_0x5ee3bf>>(-0x2*_0x256d47&0x6)):0x0){_0xfe572d=_0x4b1d9f['indexOf'](_0xfe572d);}for(let _0x50c2f2=0x0,_0x5c5e25=_0x23aeaf['length'];_0x50c2f2<_0x5c5e25;_0x50c2f2++){_0x16650c+='%'+('00'+_0x23aeaf['charCodeAt'](_0x50c2f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16650c);};a0_0x5d44['cOtmNG']=_0x187823,a0_0x5d44['WPNckR']={},a0_0x5d44['aVKelO']=!![];}const _0x4c837c=_0x39d60c[0x0],_0x202b1f=_0x53c1dd+_0x4c837c,_0x237ea6=a0_0x5d44['WPNckR'][_0x202b1f];return!_0x237ea6?(_0x5d4448=a0_0x5d44['cOtmNG'](_0x5d4448),a0_0x5d44['WPNckR'][_0x202b1f]=_0x5d4448):_0x5d4448=_0x237ea6,_0x5d4448;}module[a0_0xd59b98(0x1a5)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x32d0cf=a0_0x4173;(function(_0x307ec9,_0x1e3c5f){const _0x1f0e05=a0_0x4173,_0x151775=_0x307ec9();while(!![]){try{const _0x325fdf=-parseInt(_0x1f0e05(0x17d))/0x1*(parseInt(_0x1f0e05(0x193))/0x2)+-parseInt(_0x1f0e05(0x196))/0x3*(parseInt(_0x1f0e05(0x183))/0x4)+parseInt(_0x1f0e05(0x173))/0x5+-parseInt(_0x1f0e05(0x165))/0x6*(parseInt(_0x1f0e05(0x156))/0x7)+-parseInt(_0x1f0e05(0x154))/0x8+-parseInt(_0x1f0e05(0x160))/0x9+parseInt(_0x1f0e05(0x17f))/0xa;if(_0x325fdf===_0x1e3c5f)break;else _0x151775['push'](_0x151775['shift']());}catch(_0x2f03ad){_0x151775['push'](_0x151775['shift']());}}}(a0_0x3281,0x93792));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x32d0cf(0x197));class KafkaService{constructor(){const _0x5edfb4=a0_0x32d0cf,_0x4317ea={'fWdrk':_0x5edfb4(0x16c)},_0x139193=_0x4317ea['fWdrk']['split']('|');let _0x353166=0x0;while(!![]){switch(_0x139193[_0x353166++]){case'0':this['kafka']=null;continue;case'1':this[_0x5edfb4(0x152)]=null;continue;case'2':this[_0x5edfb4(0x14a)]=![];continue;case'3':this[_0x5edfb4(0x16f)]=![];continue;case'4':this[_0x5edfb4(0x171)]=null;continue;}break;}}['getConfig'](){const _0x58e9f0=a0_0x32d0cf,_0x12a381={'Zlmeu':'true','BugAG':'localhost:9092','iYIPd':'3000','wAyEk':'default'};return{'enabled':process['env'][_0x58e9f0(0x184)]===_0x12a381['Zlmeu'],'brokers':(process['env']['KAFKA_BROKERS']||_0x12a381[_0x58e9f0(0x1a1)])[_0x58e9f0(0x176)](','),'clientId':process[_0x58e9f0(0x175)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x58e9f0(0x175)]['RESTFORGE_PROJECT_NAME']||_0x58e9f0(0x157))+_0x58e9f0(0x172),'connectionTimeout':parseInt(process['env'][_0x58e9f0(0x198)]||_0x12a381['iYIPd']),'requestTimeout':parseInt(process[_0x58e9f0(0x175)][_0x58e9f0(0x1aa)]||_0x58e9f0(0x153)),'topicPattern':process[_0x58e9f0(0x175)]['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process[_0x58e9f0(0x175)]['KAFKA_TENANT_ID']||_0x12a381[_0x58e9f0(0x185)],'retryAttempts':parseInt(process[_0x58e9f0(0x175)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x58e9f0(0x175)][_0x58e9f0(0x15a)]||'1000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x58e9f0(0x192)};}[a0_0x32d0cf(0x16d)](_0x15624d){const _0x42ba4d=a0_0x32d0cf,_0x37258f={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x42ba4d(0x180)],'debug':logLevel[_0x42ba4d(0x182)]};return _0x37258f[_0x15624d[_0x42ba4d(0x16b)]()]||logLevel[_0x42ba4d(0x194)];}async['initialize'](){const _0x11745b=a0_0x32d0cf,_0x85ac88={'DUlqp':_0x11745b(0x190),'kHoGR':_0x11745b(0x18d),'NjdKy':function(_0xcaa34e,_0x56efb2){return _0xcaa34e(_0x56efb2);},'oiksM':_0x11745b(0x19c)},_0x178ac3=this[_0x11745b(0x15d)]();if(!_0x178ac3[_0x11745b(0x19d)])return console['log'](_0x85ac88[_0x11745b(0x161)]),![];if(this['isConnected'])return!![];if(this[_0x11745b(0x16f)]&&this[_0x11745b(0x152)])return this['connectionPromise'];return this[_0x11745b(0x16f)]=!![],this['connectionPromise']=new Promise(async _0x458323=>{const _0x48377d=_0x11745b;try{let _0x3f476e=undefined;process[_0x48377d(0x175)][_0x48377d(0x164)]===_0x85ac88[_0x48377d(0x188)]&&(_0x3f476e=!![]);let _0x564b7e=undefined;process['env'][_0x48377d(0x16a)]&&(_0x564b7e={'mechanism':process[_0x48377d(0x175)]['KAFKA_SASL_MECHANISM'],'username':process[_0x48377d(0x175)][_0x48377d(0x18e)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x48377d(0x17a)]=new Kafka({'clientId':_0x178ac3[_0x48377d(0x178)],'brokers':_0x178ac3[_0x48377d(0x1a9)],'connectionTimeout':_0x178ac3['connectionTimeout'],'requestTimeout':_0x178ac3['requestTimeout'],'logLevel':this[_0x48377d(0x16d)](_0x178ac3[_0x48377d(0x17c)]),'ssl':_0x3f476e,'sasl':_0x564b7e,'retry':{'initialRetryTime':_0x178ac3['retryDelay'],'retries':_0x178ac3[_0x48377d(0x17b)]}}),this['producer']=this[_0x48377d(0x17a)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x48377d(0x150)]}),await this['producer'][_0x48377d(0x1a8)](),this[_0x48377d(0x14a)]=!![],console[_0x48377d(0x199)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x178ac3['brokers']['join'](',\x20')),this['producer']['on'](_0x48377d(0x1a7),()=>{const _0x523797=_0x48377d;console[_0x523797(0x199)](_0x85ac88['DUlqp']),this['isConnected']=![];}),_0x458323(!![]);}catch(_0x468406){console['error'](_0x48377d(0x14e)+_0x468406[_0x48377d(0x168)]),this['isConnected']=![],_0x85ac88[_0x48377d(0x169)](_0x458323,![]);}finally{this['isInitializing']=![];}}),this[_0x11745b(0x152)];}['formatDateTime'](_0x1d72ce){const _0x363c8b=a0_0x32d0cf,_0x2673a3={'cxeyC':function(_0x151189,_0x52bceb){return _0x151189(_0x52bceb);},'dYRwC':function(_0x5913c4,_0x5049c1){return _0x5913c4+_0x5049c1;},'WjeUv':function(_0x3941a9,_0x1f60d7){return _0x3941a9(_0x1f60d7);}},_0x308105=_0x1d72ce||new Date(),_0x560ba3=_0x308105[_0x363c8b(0x14d)](),_0x43b5f7=_0x2673a3[_0x363c8b(0x167)](String,_0x2673a3['dYRwC'](_0x308105['getMonth'](),0x1))[_0x363c8b(0x181)](0x2,'0'),_0x4f5a33=_0x2673a3[_0x363c8b(0x167)](String,_0x308105[_0x363c8b(0x15c)]())[_0x363c8b(0x181)](0x2,'0'),_0x185d8c=String(_0x308105['getHours']())['padStart'](0x2,'0'),_0x11c88a=String(_0x308105[_0x363c8b(0x159)]())['padStart'](0x2,'0'),_0x5ef9da=_0x2673a3['WjeUv'](String,_0x308105[_0x363c8b(0x14f)]())['padStart'](0x2,'0');return _0x560ba3+'-'+_0x43b5f7+'-'+_0x4f5a33+'\x20'+_0x185d8c+':'+_0x11c88a+':'+_0x5ef9da;}['buildTopicName'](_0x4cfb2c,_0x2568aa,_0x783e35,_0x54b81e=null){const _0x47344e=a0_0x32d0cf,_0x56ce13={'tiEUg':'{endpoint}'};if(_0x54b81e)return _0x54b81e;const _0x495ef3=this['getConfig']()['topicPattern'];return _0x495ef3['replace'](_0x47344e(0x14b),_0x4cfb2c)[_0x47344e(0x18c)](_0x56ce13['tiEUg'],_0x2568aa)['replace'](_0x47344e(0x151),_0x783e35);}[a0_0x32d0cf(0x18a)](_0x1e812b,_0x220f53,_0x380cff,_0x4a8e85={}){const _0x582333=a0_0x32d0cf,_0x5a6f66={'LFLlt':function(_0x27fbb2){return _0x27fbb2();},'cRcZH':'unknown','SHjox':'SYSTEM'},_0x59d50b=new Date(),_0x2f76f3=this[_0x582333(0x1a4)](_0x59d50b),_0x345360=_0x4a8e85['correlationId']||'corr-'+uuidv7();return{'eventId':_0x582333(0x179)+_0x5a6f66['LFLlt'](uuidv7),'eventType':_0x1e812b,'eventTime':_0x2f76f3,'eventVersion':_0x582333(0x170),'source':_0x582333(0x1ab)+(_0x4a8e85['module']||_0x5a6f66[_0x582333(0x1a5)]),'correlationId':_0x345360,'newData':_0x380cff,'oldData':_0x220f53,'metadata':{'createdBy':_0x4a8e85[_0x582333(0x17e)]||_0x5a6f66[_0x582333(0x166)],'createdAt':_0x2f76f3,'systemId':_0x582333(0x155)+(_0x4a8e85['module']||_0x582333(0x162))['toUpperCase'](),'tenantId':this['getConfig']()[_0x582333(0x1a3)],'endpoint':_0x4a8e85[_0x582333(0x15f)]||null,'tableName':_0x4a8e85[_0x582333(0x163)]||null}};}async['publishEvent'](_0x2cf75d,_0x816cfa,_0x5d1c04,_0x44b9bd,_0x39679e={}){const _0x314486=a0_0x32d0cf,_0x2049b1={'nIruQ':function(_0x4a266a){return _0x4a266a();}},_0x45b827=this[_0x314486(0x15d)]();if(!_0x45b827[_0x314486(0x19d)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this['isConnected']){const _0x2177a9=await this['initialize']();if(!_0x2177a9)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x339d8b=this['buildEventMessage'](_0x816cfa,_0x5d1c04,_0x44b9bd,_0x39679e),_0x925d98=_0x39679e[_0x314486(0x189)]||'id',_0x258657=_0x44b9bd?.[_0x925d98]||_0x5d1c04?.[_0x925d98]||_0x2049b1['nIruQ'](uuidv7),_0xc790d1=await this[_0x314486(0x171)][_0x314486(0x187)]({'topic':_0x2cf75d,'messages':[{'key':String(_0x258657),'value':JSON['stringify'](_0x339d8b),'headers':{'event-type':_0x816cfa,'correlation-id':_0x339d8b['correlationId'],'source':_0x339d8b['source']}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x2cf75d+':\x20'+_0x816cfa+'\x20(key:\x20'+_0x258657+')'),{'success':!![],'correlationId':_0x339d8b['correlationId'],'topic':_0x2cf75d,'partition':_0xc790d1[0x0]?.[_0x314486(0x177)],'offset':_0xc790d1[0x0]?.['baseOffset'],'published':!![]};}catch(_0x2221d5){return console[_0x314486(0x158)](_0x314486(0x195)+_0x2cf75d+':\x20'+_0x2221d5[_0x314486(0x168)]),{'success':![],'error':_0x2221d5[_0x314486(0x168)],'published':![]};}}async['publishInsert'](_0x170838,_0x2f336b,_0x6a9dc1,_0x190385={}){const _0x3e32d7=a0_0x32d0cf,_0x121c49=this['buildTopicName'](_0x170838,_0x2f336b,_0x3e32d7(0x18b),_0x190385['topic']);return this['publishEvent'](_0x121c49,'ENTITY_CREATED',null,_0x6a9dc1,{'module':_0x170838,'endpoint':_0x2f336b,'keyField':_0x190385['keyField'],'tableName':_0x190385['tableName'],'correlationId':_0x190385[_0x3e32d7(0x16e)]});}async[a0_0x32d0cf(0x14c)](_0x572259,_0x2f539b,_0x3245eb,_0x4aa124,_0x479f9d={}){const _0x4addd7=a0_0x32d0cf,_0x587b05={'jMYKI':_0x4addd7(0x18f),'HSFoO':_0x4addd7(0x19a)},_0x2711cd=this['buildTopicName'](_0x572259,_0x2f539b,_0x587b05[_0x4addd7(0x19f)],_0x479f9d[_0x4addd7(0x1a2)]);return this[_0x4addd7(0x19e)](_0x2711cd,_0x587b05['HSFoO'],_0x3245eb,_0x4aa124,{'module':_0x572259,'endpoint':_0x2f539b,'keyField':_0x479f9d['keyField'],'tableName':_0x479f9d['tableName'],'correlationId':_0x479f9d[_0x4addd7(0x16e)]});}async[a0_0x32d0cf(0x191)](_0x4c844c,_0x1e07b5,_0x51aedb,_0x45a01b={}){const _0x2eaefd=a0_0x32d0cf,_0x11d5fb={'nRnxf':_0x2eaefd(0x19b),'mbtwZ':_0x2eaefd(0x15b)},_0x44847a=this[_0x2eaefd(0x1a0)](_0x4c844c,_0x1e07b5,_0x11d5fb['nRnxf'],_0x45a01b[_0x2eaefd(0x1a2)]);return this[_0x2eaefd(0x19e)](_0x44847a,_0x11d5fb[_0x2eaefd(0x174)],_0x51aedb,null,{'module':_0x4c844c,'endpoint':_0x1e07b5,'keyField':_0x45a01b['keyField'],'tableName':_0x45a01b[_0x2eaefd(0x163)],'correlationId':_0x45a01b[_0x2eaefd(0x16e)]});}[a0_0x32d0cf(0x1a6)](){const _0x5d87d8=a0_0x32d0cf,_0x4755e6=this[_0x5d87d8(0x15d)]();return{'enabled':_0x4755e6[_0x5d87d8(0x19d)],'connected':this[_0x5d87d8(0x14a)],'brokers':_0x4755e6['brokers'],'clientId':_0x4755e6['clientId'],'topicPattern':_0x4755e6[_0x5d87d8(0x15e)]};}async[a0_0x32d0cf(0x186)](){const _0x50f840=a0_0x32d0cf;if(this['producer']&&this[_0x50f840(0x14a)])try{await this[_0x50f840(0x171)]['disconnect'](),this['isConnected']=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x5f1c31){console[_0x50f840(0x158)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x5f1c31[_0x50f840(0x168)]);}}}let instance=null;function a0_0x4173(_0x4e8147,_0x4bb3af){_0x4e8147=_0x4e8147-0x14a;const _0x3281b4=a0_0x3281();let _0x417318=_0x3281b4[_0x4e8147];if(a0_0x4173['OfEZpQ']===undefined){var _0x57e564=function(_0x5930f2){const _0x55259c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d6ed7='',_0x1b0bbc='';for(let _0x5a720f=0x0,_0x40fe24,_0x4af719,_0x3fb5c3=0x0;_0x4af719=_0x5930f2['charAt'](_0x3fb5c3++);~_0x4af719&&(_0x40fe24=_0x5a720f%0x4?_0x40fe24*0x40+_0x4af719:_0x4af719,_0x5a720f++%0x4)?_0x1d6ed7+=String['fromCharCode'](0xff&_0x40fe24>>(-0x2*_0x5a720f&0x6)):0x0){_0x4af719=_0x55259c['indexOf'](_0x4af719);}for(let _0x83df3d=0x0,_0x2642f7=_0x1d6ed7['length'];_0x83df3d<_0x2642f7;_0x83df3d++){_0x1b0bbc+='%'+('00'+_0x1d6ed7['charCodeAt'](_0x83df3d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b0bbc);};a0_0x4173['IbISqm']=_0x57e564,a0_0x4173['FvNgDv']={},a0_0x4173['OfEZpQ']=!![];}const _0xc27dfe=_0x3281b4[0x0],_0x41ba1f=_0x4e8147+_0xc27dfe,_0x568a99=a0_0x4173['FvNgDv'][_0x41ba1f];return!_0x568a99?(_0x417318=a0_0x4173['IbISqm'](_0x417318),a0_0x4173['FvNgDv'][_0x41ba1f]=_0x417318):_0x417318=_0x568a99,_0x417318;}function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x304991=a0_0x32d0cf;instance&&(instance[_0x304991(0x186)](),instance=null);}function a0_0x3281(){const _0x2a65ea=['CgfYDgL0Aw9U','y2XPzw50swq','zxz0lq','A2fMA2e','CMv0CNLbDhrLBxb0CW','Bg9Ntgv2zwW','muXRs3PesW','y3jLyxrLzej5','mZe1nJmYotbiwgXnufO','su5gtW','CgfKu3rHCNq','revcvuC','odu5otzUCuP0Buu','s0fgs0fFru5bqKXfra','D0f5rwS','y2XVC2u','C2vUza','A0HVr1i','A2v5rMLLBgq','yNvPBgrfDMvUDe1LC3nHz2u','y3jLyxrLza','CMvWBgfJzq','Dhj1zq','s0fgs0fFu0fttf9vu0vstKfnrq','DxbKyxrLza','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','ChvIBgLZAerLBgv0zq','D2fYBG','mJuXmdjXDhvdtuu','v0fstG','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','mteXyKrLEgX5','DxvPza','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Bg9N','ru5usvrzx1vqrefuruq','zgvSzxrLza','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','zw5HyMXLza','ChvIBgLZAev2zw50','AK1zs0K','yNvPBgruB3bPy05HBwu','qNvNquC','Dg9WAwm','DgvUyw50swq','zM9YBwf0rgf0zvrPBwu','y1jJwKG','z2v0u3rHDhvZ','ChjVzhvJzxiUzgLZy29UBMvJDa','y29UBMvJDa','yNjVA2vYCW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CMvZDgzVCMDLlq','AxndB25Uzwn0zwq','E21VzhvSzx0','ChvIBgLZAfvWzgf0zq','z2v0rNvSBfLLyxi','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','z2v0u2vJB25KCW','tgvNywn5ugfYDgL0Aw9Uzxi','E2fJDgLVBN0','y29UBMvJDgLVBLbYB21PC2u','mJuWmda','nJeWmJCYogzQqxjrBa','uKvtvezpuKDflq','n1LOwu5MDa','zgvMyxvSDa','zxjYB3i','z2v0twLUDxrLCW','s0fgs0fFuKvuuLLFrevmqvK','ru5usvrzx0rftevuruq','z2v0rgf0zq','z2v0q29UzMLN','Dg9WAwnqyxr0zxjU','zw5KCg9PBNq','nJGXmdC4nML4rMvuCa','B2LRC00','Dw5RBM93BG','DgfIBgvoyw1L','s0fgs0fFu1nm','mtC0ndqYmKX3tw9fAW','u0HQB3G','y3HLEum','BwvZC2fNzq','tMPKs3K','s0fgs0fFu0fttf9nruniqu5ju00','Dg9mB3DLCKnHC2u','mhW0Fdj8m3WX','z2v0tg9Ntgv2zwW','y29YCMvSyxrPB25jza','AxnjBML0AwfSAxPPBMC','ms4W','ChjVzhvJzxi','lxbYB2r1y2vY','mZmWmZm1r3vlqvrv','Bwj0D1O','zw52','C3bSAxq'];a0_0x3281=function(){return _0x2a65ea;};return a0_0x3281();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x4749ce=a0_0x414b;(function(_0x124a52,_0x38c37e){const _0x2f1bdf=a0_0x414b,_0x22ba29=_0x124a52();while(!![]){try{const _0x5149cd=-parseInt(_0x2f1bdf(0x1e2))/0x1*(parseInt(_0x2f1bdf(0x1cf))/0x2)+-parseInt(_0x2f1bdf(0x1a0))/0x3+parseInt(_0x2f1bdf(0x1d4))/0x4*(parseInt(_0x2f1bdf(0x1ae))/0x5)+-parseInt(_0x2f1bdf(0x1cc))/0x6+-parseInt(_0x2f1bdf(0x1b0))/0x7*(-parseInt(_0x2f1bdf(0x1ba))/0x8)+-parseInt(_0x2f1bdf(0x191))/0x9*(parseInt(_0x2f1bdf(0x1c1))/0xa)+-parseInt(_0x2f1bdf(0x196))/0xb*(-parseInt(_0x2f1bdf(0x1af))/0xc);if(_0x5149cd===_0x38c37e)break;else _0x22ba29['push'](_0x22ba29['shift']());}catch(_0x3528a9){_0x22ba29['push'](_0x22ba29['shift']());}}}(a0_0x1d7d,0x8fb4b));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4749ce(0x1ab));function a0_0x414b(_0x3708ea,_0x2d39a7){_0x3708ea=_0x3708ea-0x18b;const _0x1d7d22=a0_0x1d7d();let _0x414b51=_0x1d7d22[_0x3708ea];if(a0_0x414b['aOkdsA']===undefined){var _0x3149af=function(_0x14ce4d){const _0x3f9541='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f94c8='',_0x45bdd3='';for(let _0x4f53e9=0x0,_0x25ceb3,_0x1ef352,_0x5a7994=0x0;_0x1ef352=_0x14ce4d['charAt'](_0x5a7994++);~_0x1ef352&&(_0x25ceb3=_0x4f53e9%0x4?_0x25ceb3*0x40+_0x1ef352:_0x1ef352,_0x4f53e9++%0x4)?_0x4f94c8+=String['fromCharCode'](0xff&_0x25ceb3>>(-0x2*_0x4f53e9&0x6)):0x0){_0x1ef352=_0x3f9541['indexOf'](_0x1ef352);}for(let _0x17de0f=0x0,_0x56a72=_0x4f94c8['length'];_0x17de0f<_0x56a72;_0x17de0f++){_0x45bdd3+='%'+('00'+_0x4f94c8['charCodeAt'](_0x17de0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45bdd3);};a0_0x414b['NsGviF']=_0x3149af,a0_0x414b['gYCHjR']={},a0_0x414b['aOkdsA']=!![];}const _0x184421=_0x1d7d22[0x0],_0x129728=_0x3708ea+_0x184421,_0x4b12b4=a0_0x414b['gYCHjR'][_0x129728];return!_0x4b12b4?(_0x414b51=a0_0x414b['NsGviF'](_0x414b51),a0_0x414b['gYCHjR'][_0x129728]=_0x414b51):_0x414b51=_0x4b12b4,_0x414b51;}class KafkaService{constructor(){const _0x5d63c0=a0_0x4749ce;this['kafka']=null,this['producer']=null,this[_0x5d63c0(0x1a9)]=![],this['isInitializing']=![],this['connectionPromise']=null;}['getConfig'](){const _0x374831=a0_0x4749ce,_0x53676b={'nMtXp':function(_0x43d8d7,_0x27ee9e){return _0x43d8d7===_0x27ee9e;},'hykjO':'true','RIlNj':'3000','utNUO':_0x374831(0x1d0),'rkzxP':'default','YbDTn':_0x374831(0x1c0)};return{'enabled':_0x53676b[_0x374831(0x18c)](process['env']['KAFKA_ENABLED'],_0x53676b['hykjO']),'brokers':(process['env']['KAFKA_BROKERS']||_0x374831(0x1c2))[_0x374831(0x19c)](','),'clientId':process[_0x374831(0x1e1)]['KAFKA_CLIENT_ID']||'restforge-'+(process['env'][_0x374831(0x1d7)]||'default')+_0x374831(0x1dd),'connectionTimeout':parseInt(process[_0x374831(0x1e1)]['KAFKA_CONNECTION_TIMEOUT']||_0x53676b['RIlNj']),'requestTimeout':parseInt(process['env'][_0x374831(0x1e4)]||_0x374831(0x1b9)),'topicPattern':process[_0x374831(0x1e1)][_0x374831(0x18d)]||_0x53676b[_0x374831(0x1ad)],'tenantId':process[_0x374831(0x1e1)][_0x374831(0x198)]||_0x53676b['rkzxP'],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x53676b[_0x374831(0x1a5)]),'logLevel':process['env'][_0x374831(0x1da)]||_0x374831(0x1c4)};}[a0_0x4749ce(0x1a4)](_0x479110){const _0x3cecae=a0_0x4749ce,_0x4875e4={'nothing':logLevel[_0x3cecae(0x195)],'error':logLevel[_0x3cecae(0x1b1)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x3cecae(0x1b3)]};return _0x4875e4[_0x479110['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0x5f1b04=a0_0x4749ce,_0x30eb71={'FfgIQ':function(_0x303cb3,_0x38425f){return _0x303cb3===_0x38425f;},'IhdAN':'producer.disconnect','WTfQr':function(_0x1687a7,_0x542786){return _0x1687a7(_0x542786);},'SxzYy':_0x5f1b04(0x1c6)},_0x27e105=this[_0x5f1b04(0x1a1)]();if(!_0x27e105[_0x5f1b04(0x1bf)])return console['log'](_0x30eb71['SxzYy']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x5f1b04(0x1b4)])return this[_0x5f1b04(0x1b4)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x52ccdb=>{const _0x48814d=_0x5f1b04;try{let _0x30b8b8=undefined;_0x30eb71[_0x48814d(0x1c5)](process[_0x48814d(0x1e1)]['KAFKA_SSL'],_0x48814d(0x1e0))&&(_0x30b8b8=!![]);let _0x128a83=undefined;process[_0x48814d(0x1e1)]['KAFKA_SASL_MECHANISM']&&(_0x128a83={'mechanism':process[_0x48814d(0x1e1)]['KAFKA_SASL_MECHANISM'],'username':process[_0x48814d(0x1e1)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x27e105[_0x48814d(0x199)],'brokers':_0x27e105[_0x48814d(0x190)],'connectionTimeout':_0x27e105['connectionTimeout'],'requestTimeout':_0x27e105['requestTimeout'],'logLevel':this['getLogLevel'](_0x27e105[_0x48814d(0x1de)]),'ssl':_0x30b8b8,'sasl':_0x128a83,'retry':{'initialRetryTime':_0x27e105['retryDelay'],'retries':_0x27e105['retryAttempts']}}),this['producer']=this[_0x48814d(0x1b7)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x48814d(0x1cd)]}),await this['producer']['connect'](),this[_0x48814d(0x1a9)]=!![],console[_0x48814d(0x19a)](_0x48814d(0x1b8)+_0x27e105[_0x48814d(0x190)]['join'](',\x20')),this['producer']['on'](_0x30eb71['IhdAN'],()=>{const _0x43a932=_0x48814d;console[_0x43a932(0x19a)]('[Kafka]\x20Producer\x20disconnected'),this[_0x43a932(0x1a9)]=![];}),_0x30eb71[_0x48814d(0x1bc)](_0x52ccdb,!![]);}catch(_0x5ae548){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x5ae548[_0x48814d(0x19b)]),this['isConnected']=![],_0x52ccdb(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x4749ce(0x1c7)](_0x4c05c0){const _0x346625=a0_0x4749ce,_0x53bd08={'unpgF':function(_0x37c982,_0x28a4ae){return _0x37c982(_0x28a4ae);},'NeeOo':function(_0x48a20e,_0x5bd863){return _0x48a20e(_0x5bd863);},'syFiE':function(_0x5285c6,_0x57f1be){return _0x5285c6(_0x57f1be);}},_0x50ff6f=_0x4c05c0||new Date(),_0x18ade0=_0x50ff6f[_0x346625(0x1b5)](),_0x2c3219=_0x53bd08[_0x346625(0x194)](String,_0x50ff6f['getMonth']()+0x1)[_0x346625(0x1ce)](0x2,'0'),_0x164f8b=String(_0x50ff6f['getDate']())[_0x346625(0x1ce)](0x2,'0'),_0x43e1dd=_0x53bd08['NeeOo'](String,_0x50ff6f['getHours']())[_0x346625(0x1ce)](0x2,'0'),_0x232563=_0x53bd08[_0x346625(0x1ac)](String,_0x50ff6f['getMinutes']())[_0x346625(0x1ce)](0x2,'0'),_0x59e462=String(_0x50ff6f['getSeconds']())[_0x346625(0x1ce)](0x2,'0');return _0x18ade0+'-'+_0x2c3219+'-'+_0x164f8b+'\x20'+_0x43e1dd+':'+_0x232563+':'+_0x59e462;}[a0_0x4749ce(0x197)](_0x17d8c3,_0x326c27,_0x107d1a,_0x166aab=null){const _0x5455e3=a0_0x4749ce;if(_0x166aab)return _0x166aab;const _0xd518af=this[_0x5455e3(0x1a1)]()['topicPattern'];return _0xd518af[_0x5455e3(0x192)]('{module}',_0x17d8c3)[_0x5455e3(0x192)]('{endpoint}',_0x326c27)['replace']('{action}',_0x107d1a);}[a0_0x4749ce(0x1db)](_0x3f6bc7,_0x1523dd,_0x1b4072,_0x532f48={}){const _0x75140a=a0_0x4749ce,_0x5e958e={'SAGDU':function(_0x3d2575){return _0x3d2575();},'gCEcb':function(_0x5c6fa1){return _0x5c6fa1();},'oHEpT':_0x75140a(0x1bb)},_0x618e1c=new Date(),_0x35ac27=this['formatDateTime'](_0x618e1c),_0x555c30=_0x532f48['correlationId']||_0x75140a(0x1d2)+_0x5e958e[_0x75140a(0x18f)](uuidv7);return{'eventId':_0x75140a(0x18e)+_0x5e958e['gCEcb'](uuidv7),'eventType':_0x3f6bc7,'eventTime':_0x35ac27,'eventVersion':_0x75140a(0x19f),'source':'restforge-'+(_0x532f48[_0x75140a(0x1d1)]||'unknown'),'correlationId':_0x555c30,'newData':_0x1b4072,'oldData':_0x1523dd,'metadata':{'createdBy':_0x532f48['createdBy']||'SYSTEM','createdAt':_0x35ac27,'systemId':'RESTFORGE-'+(_0x532f48['module']||_0x5e958e[_0x75140a(0x1bd)])[_0x75140a(0x1d9)](),'tenantId':this[_0x75140a(0x1a1)]()[_0x75140a(0x19d)],'endpoint':_0x532f48[_0x75140a(0x1a3)]||null,'tableName':_0x532f48[_0x75140a(0x18b)]||null}};}async[a0_0x4749ce(0x1c9)](_0x73c12f,_0x461d3c,_0x103b23,_0x482a37,_0x39d41b={}){const _0x449346=a0_0x4749ce,_0x2ecbb4={'pEqjY':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','ghwRw':function(_0x1e3425,_0x51e6f2){return _0x1e3425(_0x51e6f2);}},_0x288a7e=this[_0x449346(0x1a1)]();if(!_0x288a7e[_0x449346(0x1bf)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x449346(0x1a9)]){const _0x3906c7=await this['initialize']();if(!_0x3906c7)return{'success':![],'reason':_0x2ecbb4['pEqjY'],'published':![]};}try{const _0x32e822=this['buildEventMessage'](_0x461d3c,_0x103b23,_0x482a37,_0x39d41b),_0x4c04c7=_0x39d41b['keyField']||'id',_0x52fd7c=_0x482a37?.[_0x4c04c7]||_0x103b23?.[_0x4c04c7]||uuidv7(),_0x950327=await this[_0x449346(0x1d3)][_0x449346(0x1c3)]({'topic':_0x73c12f,'messages':[{'key':_0x2ecbb4['ghwRw'](String,_0x52fd7c),'value':JSON[_0x449346(0x1a7)](_0x32e822),'headers':{'event-type':_0x461d3c,'correlation-id':_0x32e822[_0x449346(0x1dc)],'source':_0x32e822[_0x449346(0x1d5)]}}]});return console['log'](_0x449346(0x1b2)+_0x73c12f+':\x20'+_0x461d3c+_0x449346(0x1b6)+_0x52fd7c+')'),{'success':!![],'correlationId':_0x32e822['correlationId'],'topic':_0x73c12f,'partition':_0x950327[0x0]?.[_0x449346(0x193)],'offset':_0x950327[0x0]?.[_0x449346(0x19e)],'published':!![]};}catch(_0x43e6b6){return console[_0x449346(0x1a2)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x73c12f+':\x20'+_0x43e6b6['message']),{'success':![],'error':_0x43e6b6[_0x449346(0x19b)],'published':![]};}}async[a0_0x4749ce(0x1d8)](_0xfe66f1,_0x2de646,_0x2fffc6,_0x498b0a={}){const _0x979495=a0_0x4749ce,_0x4b73bc=this[_0x979495(0x197)](_0xfe66f1,_0x2de646,_0x979495(0x1be),_0x498b0a['topic']);return this['publishEvent'](_0x4b73bc,_0x979495(0x1a6),null,_0x2fffc6,{'module':_0xfe66f1,'endpoint':_0x2de646,'keyField':_0x498b0a[_0x979495(0x1cb)],'tableName':_0x498b0a[_0x979495(0x18b)],'correlationId':_0x498b0a['correlationId']});}async['publishUpdate'](_0x433806,_0x29dd9f,_0x2b5a7f,_0x2c2991,_0x2373d1={}){const _0x38dfd3=a0_0x4749ce,_0x235214={'GOHrw':'ENTITY_UPDATED'},_0x201d5a=this[_0x38dfd3(0x197)](_0x433806,_0x29dd9f,_0x38dfd3(0x1d6),_0x2373d1[_0x38dfd3(0x1e3)]);return this[_0x38dfd3(0x1c9)](_0x201d5a,_0x235214['GOHrw'],_0x2b5a7f,_0x2c2991,{'module':_0x433806,'endpoint':_0x29dd9f,'keyField':_0x2373d1[_0x38dfd3(0x1cb)],'tableName':_0x2373d1[_0x38dfd3(0x18b)],'correlationId':_0x2373d1[_0x38dfd3(0x1dc)]});}async['publishDelete'](_0x51dd3d,_0x3b791e,_0x8704d,_0x372674={}){const _0x18f9c8=a0_0x4749ce,_0x5ccccb={'tkcTV':'deleted','wmppP':'ENTITY_DELETED'},_0x19a2a2=this[_0x18f9c8(0x197)](_0x51dd3d,_0x3b791e,_0x5ccccb[_0x18f9c8(0x1ca)],_0x372674['topic']);return this[_0x18f9c8(0x1c9)](_0x19a2a2,_0x5ccccb['wmppP'],_0x8704d,null,{'module':_0x51dd3d,'endpoint':_0x3b791e,'keyField':_0x372674[_0x18f9c8(0x1cb)],'tableName':_0x372674['tableName'],'correlationId':_0x372674[_0x18f9c8(0x1dc)]});}[a0_0x4749ce(0x1df)](){const _0x3671d4=a0_0x4749ce,_0x16a07e=this[_0x3671d4(0x1a1)]();return{'enabled':_0x16a07e[_0x3671d4(0x1bf)],'connected':this[_0x3671d4(0x1a9)],'brokers':_0x16a07e[_0x3671d4(0x190)],'clientId':_0x16a07e[_0x3671d4(0x199)],'topicPattern':_0x16a07e[_0x3671d4(0x1aa)]};}async[a0_0x4749ce(0x1a8)](){const _0x7ea809=a0_0x4749ce,_0x864755={'JnikP':_0x7ea809(0x1c8)};if(this[_0x7ea809(0x1d3)]&&this[_0x7ea809(0x1a9)])try{await this['producer']['disconnect'](),this[_0x7ea809(0x1a9)]=![],console['log'](_0x864755['JnikP']);}catch(_0x35c91b){console[_0x7ea809(0x1a2)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x35c91b['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x1a6dd2=a0_0x4749ce;instance&&(instance[_0x1a6dd2(0x1a8)](),instance=null);}function a0_0x1d7d(){const _0x545c29=['yNvPBgrfDMvUDe1LC3nHz2u','y29YCMvSyxrPB25jza','lxbYB2r1y2vY','Bg9Ntgv2zwW','z2v0u3rHDhvZ','Dhj1zq','zw52','m1HzB2PpCW','Dg9WAwm','s0fgs0fFuKvrvuvtvf9usu1ft1vu','DgfIBgvoyw1L','BK10wha','s0fgs0fFve9qsunFuefuvevstG','zxz0lq','u0fhrfu','yNjVA2vYCW','nZCZndK0mK5mrxD6qW','CMvWBgfJzq','CgfYDgL0Aw9U','Dw5Wz0y','tK9useLorW','nJCWodeZENftrxDg','yNvPBgruB3bPy05HBwu','s0fgs0fFvevoqu5ux0Le','y2XPzw50swq','Bg9N','BwvZC2fNzq','C3bSAxq','DgvUyw50swq','yMfZzu9MzNnLDa','ms4W','mJq5mtu2zejczMLy','z2v0q29UzMLN','zxjYB3i','zw5KCg9PBNq','z2v0tg9Ntgv2zwW','wwjevg4','ru5usvrzx0nsrufuruq','C3rYAw5NAwz5','y2XVC2u','AxndB25Uzwn0zwq','Dg9WAwnqyxr0zxjU','DxvPza','C3LgAuu','Dxrovu8','mJy3mJi5mfHTy29ACW','mJa0AMTVCNDw','ndmYmtfzzwTUBhq','rvjst1i','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','revcvuC','y29UBMvJDgLVBLbYB21PC2u','z2v0rNvSBfLLyxi','icHRzxK6ia','A2fMA2e','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','mJuWmda','mtq0ogHcB2LUqG','Dw5RBM93BG','v1rMuxi','B0HfCfq','y3jLyxrLza','zw5HyMXLza','mtaWma','mtbvtNPYAeG','Bg9JywXOB3n0oJKWoti','C2vUza','D2fYBG','rMzNsve','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','zM9YBwf0rgf0zvrPBwu','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','ChvIBgLZAev2zw50','DgTJvfy','A2v5rMLLBgq','mJq2ntC4nhLgvvrXvq','tgvNywn5ugfYDgL0Aw9Uzxi','CgfKu3rHCNq','ndK3nJa2sM5mug1g','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','Bw9KDwXL','y29YCI0','ChjVzhvJzxi','nfDoqwDbvq','C291CMnL','DxbKyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvIBgLZAeLUC2vYDa','Dg9vChbLCKnHC2u','s0fgs0fFte9hx0XfvKvm'];a0_0x1d7d=function(){return _0x545c29;};return a0_0x1d7d();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x20dc7e=a0_0x1da5;function a0_0x3c22(){const _0x3641c2=['CKvIDMi','CMvZDgzVCMDL','v0Hise4','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','zxHPC3rZu3LUyW','Cgf0Aa','Dg9ju09tDhjPBMC','DMnowhC','tvnivujFu1vcu0nssujfx0Tfwq','wgXWsMO','ntK2mZi0y0fLwMLI','mJa3mdi0qK9TsKjh','BMfTzq','y29UBMvJDgvK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','q29UBMvJDgLVBIb0Aw1LB3v0','u3vIC2nYAwjLieTLEtOG','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','z0LMsKO','DxvPza','uhbAC1a','zw52','weXwD1u','uLrfsem','rvnJzMe','CMvXDwvZDeLK','y2XVC2u','Dg9mB2nHBgvuAw1Lu3rYAw5N','ywrKtgLZDgvUzxi','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','ufrYweG','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','CMLftLK','CMvJzwL2zxjjBMzV','mZztEwfjrw4','mta3ody1m0vnBvvOua','igrPDgvYAw1Hig9SzwGG','vw5RBM93BIbLCNjVCG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','lIbuB3rHBcbRB25MAxjTyxnPoIa','yNfkA1a','C3vIC2nYAwjLs2v5','CvPdzuC','zgLZy29UBMvJDa','u3rHDhvZieXPC3rLBMvYoIa','Bg9JywXOB3n0','tvnivujFvvnfuL9jra','4PQG77IpievYCM9YoIa','twvZC2fNzsbuExbLoIa','nZGXotm1qvHkBK5j','zfbZy1a','tvnivujFufvcteLtsf9lrvK','D2vIC29JA2v0','zg90zw52','tvnivujFqvbjx1bpuLq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','C29JA2v0','vw5RBM93BG','yNL5Evu','seDRDLq','qwTTA2O','EefyuNy','nKT5A3b0Dq','tvnivujFse9tva','y2f0zwDVCNK','CMvXDwLYzufJAW','odi2otyWv055BM1r','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','mtKYmJi1nwXYu2veDa','zxHWB3j0CW','DuLtu3C','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','BwvZC2fNzs1Zzw50','zxjYB3i','qKjzANe','BwvZC2fNzq','EKDMyui','nJe1mte2wgnHA3bs','Dhj1zq','BM9bvgS'];a0_0x3c22=function(){return _0x3641c2;};return a0_0x3c22();}(function(_0x18d668,_0x4de370){const _0x2ebe6b=a0_0x1da5,_0x955593=_0x18d668();while(!![]){try{const _0x3adf62=parseInt(_0x2ebe6b(0x139))/0x1+-parseInt(_0x2ebe6b(0x12b))/0x2+parseInt(_0x2ebe6b(0xff))/0x3+-parseInt(_0x2ebe6b(0x138))/0x4+-parseInt(_0x2ebe6b(0x121))/0x5*(-parseInt(_0x2ebe6b(0x11b))/0x6)+parseInt(_0x2ebe6b(0x10e))/0x7+parseInt(_0x2ebe6b(0x11f))/0x8*(-parseInt(_0x2ebe6b(0xfe))/0x9);if(_0x3adf62===_0x4de370)break;else _0x955593['push'](_0x955593['shift']());}catch(_0x4f043b){_0x955593['push'](_0x955593['shift']());}}}(a0_0x3c22,0x2f064));const dotenv=require(a0_0x20dc7e(0x112)),path=require(a0_0x20dc7e(0x133)),fs=require('fs'),{v7:uuidv7}=require(a0_0x20dc7e(0x141));dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x20dc7e(0x13f));if(fs[a0_0x20dc7e(0x132)](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x138568){console[a0_0x20dc7e(0x127)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x138568[a0_0x20dc7e(0x129)]);throw a0_0x138568;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x1da5(_0x50565d,_0x5711a1){_0x50565d=_0x50565d-0xf5;const _0x3c22a=a0_0x3c22();let _0x1da5a7=_0x3c22a[_0x50565d];if(a0_0x1da5['XXtdFS']===undefined){var _0x1c2c7e=function(_0x1993df){const _0x25b785='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f2966='',_0xe94890='';for(let _0x3d186d=0x0,_0x5b954e,_0x395204,_0x58922a=0x0;_0x395204=_0x1993df['charAt'](_0x58922a++);~_0x395204&&(_0x5b954e=_0x3d186d%0x4?_0x5b954e*0x40+_0x395204:_0x395204,_0x3d186d++%0x4)?_0x2f2966+=String['fromCharCode'](0xff&_0x5b954e>>(-0x2*_0x3d186d&0x6)):0x0){_0x395204=_0x25b785['indexOf'](_0x395204);}for(let _0x427d63=0x0,_0x5ddd18=_0x2f2966['length'];_0x427d63<_0x5ddd18;_0x427d63++){_0xe94890+='%'+('00'+_0x2f2966['charCodeAt'](_0x427d63)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe94890);};a0_0x1da5['pdjNMv']=_0x1c2c7e,a0_0x1da5['wUSqfx']={},a0_0x1da5['XXtdFS']=!![];}const _0x2d00ac=_0x3c22a[0x0],_0xa228ab=_0x50565d+_0x2d00ac,_0x3ca658=a0_0x1da5['wUSqfx'][_0xa228ab];return!_0x3ca658?(_0x1da5a7=a0_0x1da5['pdjNMv'](_0x1da5a7),a0_0x1da5['wUSqfx'][_0xa228ab]=_0x1da5a7):_0x1da5a7=_0x3ca658,_0x1da5a7;}function log(_0x48332a){const _0x3d8ef9=a0_0x20dc7e,_0x1c5f24=new Date()[_0x3d8ef9(0x134)]();console['log']('['+_0x1c5f24+']\x20'+_0x48332a);}async function initMessageHub(){const _0x2cbaa3=a0_0x20dc7e,_0x441012={'EScfa':function(_0x1f486e,_0x35a3e0){return _0x1f486e(_0x35a3e0);},'zGfaB':function(_0x73deec,_0x242d81){return _0x73deec===_0x242d81;},'PpZsP':_0x2cbaa3(0x13b),'Akmkj':function(_0xf6958a,_0x20254f){return _0xf6958a===_0x20254f;},'qZCeG':'disconnected','HgiSo':'Tidak\x20diketahui','EtbRc':_0x2cbaa3(0x101),'DlqsW':function(_0x718f7e,_0xc54ecd){return _0x718f7e(_0xc54ecd);},'BBYjq':function(_0x55a2e5,_0x15cc02){return _0x55a2e5(_0x15cc02);},'noATk':_0x2cbaa3(0x126),'dPscP':function(_0x5de6e5,_0x5b54cd){return _0x5de6e5(_0x5b54cd);},'XMGHZ':_0x2cbaa3(0x116),'AZhZm':function(_0x5db374,_0x3f9961){return _0x5db374(_0x3f9961);},'GZPSy':'default','HGkvT':'broadcast','pvmGB':function(_0x17f9ea,_0x1008dd){return _0x17f9ea===_0x1008dd;},'uISSw':_0x2cbaa3(0x111),'zeySG':_0x2cbaa3(0x10a),'GujlX':function(_0x1ce6cb,_0x2e2557){return _0x1ce6cb(_0x2e2557);},'rEbvb':_0x2cbaa3(0x114),'XlpJj':'MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'};if(messagehub&&isConnected)return log(_0x441012[_0x2cbaa3(0x137)]),!![];if(connectionPromise)return log('Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0xd1326f,_0x2248cd)=>{const _0x1e1f17=_0x2cbaa3,_0x1dc7f3={'gIfJJ':function(_0xd17c16,_0x482d97){const _0x494fa3=a0_0x1da5;return _0x441012[_0x494fa3(0x128)](_0xd17c16,_0x482d97);}};try{_0x441012['AZhZm'](log,'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),log('Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x441012['BBYjq'](log,'Mode:\x20Koneksi\x20Nyata');const _0x431271={'publishKey':process['env'][_0x1e1f17(0x110)],'subscribeKey':process[_0x1e1f17(0x143)][_0x1e1f17(0x136)],'userId':process['env'][_0x1e1f17(0x10b)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x441012['GZPSy'])+'-'+process['pid'],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x441012[_0x1e1f17(0x118)],'autoAcknowledge':_0x441012['pvmGB'](process[_0x1e1f17(0x143)]['MSHUB_AUTO_ACKNOWLEDGE'],_0x1e1f17(0x12c)),'acknowledgeMessages':process[_0x1e1f17(0x143)]['MSHUB_ACKNOWLEDGE_MESSAGES']==='true','platform':{'type':process[_0x1e1f17(0x143)]['MSHUB_COMMUNICATION_TYPE']||_0x441012[_0x1e1f17(0x123)],'host':process[_0x1e1f17(0x143)][_0x1e1f17(0x11c)]||_0x441012['zeySG'],'api_port':_0x441012['EScfa'](parseInt,process[_0x1e1f17(0x143)][_0x1e1f17(0x113)]||0xdf8),'service_port':parseInt(process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x431271),log(_0x1e1f17(0xfb)),log('Client\x20ID/UserID:\x20'+messagehub['userId']),_0x441012[_0x1e1f17(0x128)](log,'Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x1e1f17(0x13e)+messagehub[_0x1e1f17(0x106)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x441012['GujlX'](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub['platformConfig'])),log(_0x441012[_0x1e1f17(0x12e)]),messagehub[_0x1e1f17(0xf7)]({'status':function(_0xc5e50d){const _0x284359=_0x1e1f17;_0x441012[_0x284359(0x146)](log,_0x284359(0x109)+_0xc5e50d['category']);if(_0x441012[_0x284359(0x12a)](_0xc5e50d['category'],_0x441012[_0x284359(0x142)]))_0x441012[_0x284359(0x146)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x441012['EScfa'](_0xd1326f,!![]);else{if(_0x441012[_0x284359(0x119)](_0xc5e50d['category'],_0x441012[_0x284359(0x107)])){const _0x29e39c=_0xc5e50d['isErrorRelated']===!![];!_0x29e39c&&(_0x441012[_0x284359(0x146)](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0xc5e50d['reason']||_0x441012['HgiSo'])),isConnected=![],connectionPromise&&(_0x441012[_0x284359(0x146)](_0x2248cd,new Error('Koneksi\x20terputus:\x20'+(_0xc5e50d['reason']||_0x441012['HgiSo']))),connectionPromise=null));}else{if(_0xc5e50d['category']===_0x284359(0x127)){let _0x32a758=_0xc5e50d['errorDetail']||_0xc5e50d[_0x284359(0x127)]||_0x441012['EtbRc'];_0x441012['DlqsW'](log,_0x284359(0x10c)+_0x32a758),isConnected=![],connectionPromise&&(_0x441012[_0x284359(0x128)](_0x2248cd,new Error(_0x32a758)),connectionPromise=null);}else{if(_0xc5e50d[_0x284359(0x11d)]===_0x441012[_0x284359(0x12d)])_0x441012[_0x284359(0x10f)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0xc5e50d[_0x284359(0x147)]);else{if(_0xc5e50d[_0x284359(0x11d)]==='message-received'){const _0x2b1402=_0xc5e50d[_0x284359(0xfd)]?.[_0x284359(0x13a)]||_0x441012['XMGHZ'],_0x5763d7=_0xc5e50d[_0x284359(0xfd)]?.['id']||_0xc5e50d['receiverId'],_0x4a6a99=new Date(_0xc5e50d['receiverInfo']?.['receivedAt']||_0xc5e50d['receivedAt']||new Date())[_0x284359(0xf6)]();_0x441012['DlqsW'](log,_0x284359(0xf8)+_0xc5e50d[_0x284359(0x147)]+_0x284359(0x100)+_0x2b1402+'\x20('+_0x5763d7+')\x20pada\x20'+_0x4a6a99+_0x284359(0x104)+(_0xc5e50d['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x4f879e=_0x1e1f17;!isConnected&&connectionPromise&&(log(_0x4f879e(0x124)),_0x1dc7f3[_0x4f879e(0x140)](_0x2248cd,new Error(_0x4f879e(0x13d))),connectionPromise=null);},0x2710);}catch(_0x2d287b){log(_0x1e1f17(0x125)+_0x2d287b[_0x1e1f17(0x129)]),console['error']('Error\x20inisialisasi\x20MessageHub:',_0x2d287b),connectionPromise=null,_0x2248cd(_0x2d287b);}}),connectionPromise;}async function publishMessage(_0x1cd31a,_0x5e61ee,_0x3a23a9,_0x45bfa6={}){const _0x16b828=a0_0x20dc7e,_0x6277a6={'IrnrX':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','riENY':function(_0x2ced1c,_0x57ab62){return _0x2ced1c(_0x57ab62);},'RTEHC':function(_0x10e68e,_0x25f760){return _0x10e68e!==_0x25f760;},'XLVwU':_0x16b828(0x12f),'CnMMT':_0x16b828(0x13c),'lvEbN':function(_0x9a0347,_0x1a3132){return _0x9a0347(_0x1a3132);},'WHHHN':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x1dfad0=messagehub['channel'](_0x1cd31a);log(_0x6277a6['IrnrX']),log('Channel\x20Target:\x20'+_0x1dfad0['topic']),_0x6277a6['riENY'](log,_0x16b828(0x10d)+_0x5e61ee),_0x6277a6[_0x16b828(0xfc)](log,_0x16b828(0x131));const _0x102763={'requireAck':_0x6277a6['RTEHC'](_0x45bfa6[_0x16b828(0x11e)],undefined)?_0x45bfa6[_0x16b828(0x11e)]:![],'clearCache':_0x6277a6[_0x16b828(0x145)](_0x45bfa6['clearCache'],undefined)?_0x45bfa6['clearCache']:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0x6277a6[_0x16b828(0x144)]};_0x6277a6[_0x16b828(0xfc)](log,_0x6277a6['CnMMT']);const _0x10c8ff={'type':_0x5e61ee,'content':_0x3a23a9},_0x48041e=await _0x1dfad0['publish'](_0x10c8ff,_0x102763);return _0x6277a6[_0x16b828(0xfc)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x1cd31a),{'success':!![],'requestId':_0x48041e['requestId'],'topic':_0x1cd31a,'message':'Message\x20sent\x20successfully'};}catch(_0xa1504c){return _0x6277a6['lvEbN'](log,_0x16b828(0x120)+_0xa1504c['message']),{'success':![],'error':_0xa1504c['message'],'topic':_0x1cd31a,'message':_0x6277a6[_0x16b828(0x130)]};}}async function closeConnection(){const _0x204050=a0_0x20dc7e,_0xad6bb2={'xAXRv':'function','byyyU':_0x204050(0x102),'ueDOK':function(_0x442534,_0x2e2e2e){return _0x442534===_0x2e2e2e;},'ZSAAM':function(_0x44581c,_0x47d459){return _0x44581c(_0x47d459);},'PTrXH':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','bqJkP':function(_0x422402,_0x4cd866){return _0x422402(_0x4cd866);},'vcNXw':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x204050(0x108)]===_0xad6bb2[_0x204050(0x11a)])await messagehub[_0x204050(0x108)](),log(_0xad6bb2[_0x204050(0x117)]);else{if(_0xad6bb2['ueDOK'](typeof messagehub[_0x204050(0xf5)],_0xad6bb2[_0x204050(0x11a)]))await messagehub[_0x204050(0xf5)](),_0xad6bb2['ZSAAM'](log,_0x204050(0xf9));else messagehub[_0x204050(0x115)]&&typeof messagehub[_0x204050(0x115)][_0x204050(0x108)]===_0xad6bb2['xAXRv']?(messagehub['socket']['disconnect'](),log(_0xad6bb2[_0x204050(0xfa)])):_0xad6bb2[_0x204050(0x105)](log,_0xad6bb2[_0x204050(0x135)]);}isConnected=![],connectionPromise=null;}catch(_0xb0f601){log(_0x204050(0x103)+_0xb0f601[_0x204050(0x129)]);}}module[a0_0x20dc7e(0x122)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x3685c3=a0_0xf753;function a0_0xf753(_0x7238a3,_0x5f3e18){_0x7238a3=_0x7238a3-0x1a2;const _0x13d828=a0_0x13d8();let _0xf753aa=_0x13d828[_0x7238a3];if(a0_0xf753['nOPCob']===undefined){var _0x27263f=function(_0x5090c7){const _0x12a62c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dc452='',_0x19398e='';for(let _0x2900d8=0x0,_0x15c20b,_0x99b64b,_0x2543b8=0x0;_0x99b64b=_0x5090c7['charAt'](_0x2543b8++);~_0x99b64b&&(_0x15c20b=_0x2900d8%0x4?_0x15c20b*0x40+_0x99b64b:_0x99b64b,_0x2900d8++%0x4)?_0x5dc452+=String['fromCharCode'](0xff&_0x15c20b>>(-0x2*_0x2900d8&0x6)):0x0){_0x99b64b=_0x12a62c['indexOf'](_0x99b64b);}for(let _0x58f800=0x0,_0x5740c6=_0x5dc452['length'];_0x58f800<_0x5740c6;_0x58f800++){_0x19398e+='%'+('00'+_0x5dc452['charCodeAt'](_0x58f800)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19398e);};a0_0xf753['NAqulD']=_0x27263f,a0_0xf753['Iywqya']={},a0_0xf753['nOPCob']=!![];}const _0xe5640=_0x13d828[0x0],_0x4afe03=_0x7238a3+_0xe5640,_0x5bb84f=a0_0xf753['Iywqya'][_0x4afe03];return!_0x5bb84f?(_0xf753aa=a0_0xf753['NAqulD'](_0xf753aa),a0_0xf753['Iywqya'][_0x4afe03]=_0xf753aa):_0xf753aa=_0x5bb84f,_0xf753aa;}(function(_0x1a2b2a,_0x33356e){const _0x2a6a4e=a0_0xf753,_0x407ef0=_0x1a2b2a();while(!![]){try{const _0x1d538c=parseInt(_0x2a6a4e(0x1ee))/0x1*(parseInt(_0x2a6a4e(0x1ca))/0x2)+-parseInt(_0x2a6a4e(0x1b6))/0x3*(parseInt(_0x2a6a4e(0x1c9))/0x4)+-parseInt(_0x2a6a4e(0x1d9))/0x5*(-parseInt(_0x2a6a4e(0x1ef))/0x6)+-parseInt(_0x2a6a4e(0x1e2))/0x7+-parseInt(_0x2a6a4e(0x1e0))/0x8+-parseInt(_0x2a6a4e(0x1be))/0x9+-parseInt(_0x2a6a4e(0x1ab))/0xa*(-parseInt(_0x2a6a4e(0x1de))/0xb);if(_0x1d538c===_0x33356e)break;else _0x407ef0['push'](_0x407ef0['shift']());}catch(_0x856cdc){_0x407ef0['push'](_0x407ef0['shift']());}}}(a0_0x13d8,0xe8db4));const dotenv=require(a0_0x3685c3(0x1d3)),path=require(a0_0x3685c3(0x1d8)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3685c3(0x1bd));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3685c3(0x1ed)](a0_0x3685c3(0x1f6)+messagehubPath);else throw new Error(a0_0x3685c3(0x1ac)+messagehubPath);}catch(a0_0x2e60e2){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x2e60e2['message']);throw a0_0x2e60e2;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x13d8(){const _0x2521a1=['twfrwhe','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','qNnSDKq','BwvZC2fNzq','u3vIC2nYAwjLieTLEtOG','Dg9mB2nHBgvtDhjPBMC','ksbWywrHia','s29UzMLNDxjHC2KGugXHDgzVCM06ia','Ehv4B0u','Bg9N','murKDKzfCa','nduYmJj3t0zttw0','igrPDgvYAw1Hig9SzwGG','u3rHDhvZieXPC3rLBMvYoIa','CxvfDfG','zK5ozKu','EKHPzvO','CMnUsLa','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','t0v5Exq','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','C0znsum','CMvHC29U','zNvUy3rPB24','sKDUEg4','zgLZy29UBMvJDa','DMfNsve','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','CMvJzwL2zxjjza','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','CMvXDwLYzufJAW','mZi1ntyWmgjkwKXMrq','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','q2XPzw50ieLel1vZzxjjrdOG','AxnfCNjVCLjLBgf0zwq','vw5RBM93BIbLCNjVCG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CgLK','CMvZDgzVCMDL','EeLNv0i','ChvIBgLZAa','AxLJr3m','mJiXmdDKwK1TBKu','C3rYAw5NAwz5','y29UzMLYBwf0Aw9Uq291BNq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9ju09tDhjPBMC','zxbxAe4','yNjVywrJyxn0','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','ntGYmdKYmvbPv0jAEG','Aw5fD0q','tND5DwO','Cg1pyK0','yuPmrNG','BMfTzq','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','C3vIC2nYAwjLs2v5','uMTyuxG','u3vNDeK','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','nZG4rgHfq1zH','mZu5mtCWogPlCwHLvG','tvnivujFvvnfuL9jra','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','twvZC2fNzsbuExbLoIa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','Bg9JywXOB3n0','q2HHBM5LBcbuyxjNzxq6ia','B2nRDKi','q29UBMvJDgLVBIb0Aw1LB3v0','zg90zw52','BwvZC2fNzs1YzwnLAxzLza','zw52','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','tvnivujFq09ntvvosunbveLptL9uwvbf','Cgf0Aa','oty1u1veCwvP','y2HHBM5LBa','Dhj1zq','CgXHDgzVCM1dB25MAwC','y2f0zwDVCNK','ntvoyxrOy20','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','mti1mZK5mKfqB2jOvW','CMvJzwL2zxjjBMzV','mte2oduXmJHJBNr2wMe','C29JA2v0'];a0_0x13d8=function(){return _0x2521a1;};return a0_0x13d8();}function log(_0x51418c){const _0x352d37=a0_0x3685c3,_0x4486c3=new Date()[_0x352d37(0x1ba)]();console['log']('['+_0x4486c3+']\x20'+_0x51418c);}async function initMessageHub(){const _0x4161bf=a0_0x3685c3,_0xf3d90a={'rcnJP':function(_0x2b2461,_0x19266e){return _0x2b2461(_0x19266e);},'zHieZ':function(_0x41a166,_0x35b308){return _0x41a166===_0x35b308;},'xIgWB':'Tidak\x20diketahui','ockvB':function(_0xab3da7,_0x4da880){return _0xab3da7(_0x4da880);},'JGnxn':function(_0x286f9f,_0x5b3f69){return _0x286f9f(_0x5b3f69);},'inEwD':'message-sent','RkXQx':function(_0x36055d,_0xdb6112){return _0x36055d(_0xdb6112);},'qvTVL':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','QOJcW':_0x4161bf(0x1d2),'aJLFx':function(_0x4deb79,_0x370f95){return _0x4deb79(_0x370f95);},'MaQXq':'Mode:\x20Koneksi\x20Nyata','vagIQ':function(_0x4e589f,_0x344426){return _0x4e589f===_0x344426;},'sFMIC':_0x4161bf(0x1db),'KWhOv':_0x4161bf(0x1b0),'BslvD':function(_0xae4713,_0x21cb6a,_0x2f9ed2){return _0xae4713(_0x21cb6a,_0x2f9ed2);},'epWhN':'Error\x20inisialisasi\x20MessageHub:','OEyyt':function(_0x378ed3,_0x4d838f){return _0x378ed3&&_0x4d838f;}};if(_0xf3d90a[_0x4161bf(0x1f7)](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0xf3d90a[_0x4161bf(0x1f5)](log,_0x4161bf(0x1d6)),connectionPromise;return connectionPromise=new Promise(async(_0xd5d66f,_0x515c09)=>{const _0x4e98b4=_0x4161bf;try{_0xf3d90a[_0x4e98b4(0x1d1)](log,'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0xf3d90a[_0x4e98b4(0x1c2)](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x4e98b4(0x1e9)]()),_0xf3d90a[_0x4e98b4(0x1c6)](log,_0xf3d90a[_0x4e98b4(0x1e4)]);const _0x1f5aab={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x4e98b4(0x1d5)][_0x4e98b4(0x1cb)]||'restforge-'+(process['env'][_0x4e98b4(0x1b9)]||'default')+'-'+process[_0x4e98b4(0x1b1)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4e98b4(0x1bc),'autoAcknowledge':_0xf3d90a[_0x4e98b4(0x1a6)](process[_0x4e98b4(0x1d5)]['MSHUB_AUTO_ACKNOWLEDGE'],_0xf3d90a['sFMIC']),'acknowledgeMessages':process[_0x4e98b4(0x1d5)]['MSHUB_ACKNOWLEDGE_MESSAGES']===_0xf3d90a[_0x4e98b4(0x1f9)],'platform':{'type':process['env'][_0x4e98b4(0x1d7)]||'websocket','host':process[_0x4e98b4(0x1d5)]['MSHUB_HOST']||_0x4e98b4(0x1cf),'api_port':_0xf3d90a[_0x4e98b4(0x1d1)](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0xf3d90a['JGnxn'](parseInt,process[_0x4e98b4(0x1d5)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1f5aab),_0xf3d90a['rcnJP'](log,'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x4e98b4(0x1ad)+messagehub['userId']),_0xf3d90a['RkXQx'](log,'Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x4e98b4(0x1e8)+messagehub[_0x4e98b4(0x1c5)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0xf3d90a[_0x4e98b4(0x1d1)](log,_0x4e98b4(0x1eb)+JSON[_0x4e98b4(0x1b7)](messagehub[_0x4e98b4(0x1dc)])),log(_0xf3d90a['KWhOv']),messagehub['addListener']({'status':function(_0x1cc48c){const _0xed0cf6=_0x4e98b4;_0xf3d90a[_0xed0cf6(0x1f5)](log,_0xed0cf6(0x1f1)+_0x1cc48c['category']);if(_0x1cc48c['category']==='connected')_0xf3d90a['rcnJP'](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0xd5d66f(!![]);else{if(_0xf3d90a['zHieZ'](_0x1cc48c[_0xed0cf6(0x1dd)],'disconnected')){const _0x1154c7=_0xf3d90a['zHieZ'](_0x1cc48c[_0xed0cf6(0x1ae)],!![]);!_0x1154c7&&(_0xf3d90a[_0xed0cf6(0x1f5)](log,_0xed0cf6(0x1a9)+(_0x1cc48c[_0xed0cf6(0x1a2)]||_0xf3d90a[_0xed0cf6(0x1b3)])),isConnected=![],connectionPromise&&(_0xf3d90a[_0xed0cf6(0x1d1)](_0x515c09,new Error('Koneksi\x20terputus:\x20'+(_0x1cc48c['reason']||_0xf3d90a[_0xed0cf6(0x1b3)]))),connectionPromise=null));}else{if(_0xf3d90a[_0xed0cf6(0x1f4)](_0x1cc48c[_0xed0cf6(0x1dd)],'error')){let _0x5ac38e=_0x1cc48c['errorDetail']||_0x1cc48c['error']||_0xed0cf6(0x1af);_0xf3d90a[_0xed0cf6(0x1a4)](log,'⚠️\x20Error:\x20'+_0x5ac38e),isConnected=![],connectionPromise&&(_0xf3d90a['rcnJP'](_0x515c09,new Error(_0x5ac38e)),connectionPromise=null);}else{if(_0xf3d90a[_0xed0cf6(0x1f4)](_0x1cc48c['category'],_0xf3d90a[_0xed0cf6(0x1bf)]))log(_0xed0cf6(0x1e5)+_0x1cc48c['requestId']);else{if(_0x1cc48c['category']===_0xed0cf6(0x1d4)){const _0xcc1f71=_0x1cc48c['receiverInfo']?.[_0xed0cf6(0x1c3)]||'Unknown',_0x41d01e=_0x1cc48c[_0xed0cf6(0x1e1)]?.['id']||_0x1cc48c[_0xed0cf6(0x1a8)],_0x37905c=new Date(_0x1cc48c['receiverInfo']?.['receivedAt']||_0x1cc48c['receivedAt']||new Date())['toLocaleTimeString']();log(_0xed0cf6(0x1c4)+_0x1cc48c['requestId']+_0xed0cf6(0x1f0)+_0xcc1f71+'\x20('+_0x41d01e+_0xed0cf6(0x1ea)+_0x37905c+'.\x20Total\x20konfirmasi:\x20'+(_0x1cc48c[_0xed0cf6(0x1b8)]||0x1));}}}}}}}),timeoutHandler=_0xf3d90a[_0x4e98b4(0x1e6)](setTimeout,()=>{const _0x31ff9b=_0x4e98b4;!isConnected&&connectionPromise&&(_0xf3d90a[_0x31ff9b(0x1c6)](log,_0xf3d90a['qvTVL']),_0x515c09(new Error(_0xf3d90a['QOJcW'])),connectionPromise=null);},0x2710);}catch(_0x40aeb2){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x40aeb2[_0x4e98b4(0x1e7)]),console['error'](_0xf3d90a[_0x4e98b4(0x1bb)],_0x40aeb2),connectionPromise=null,_0x515c09(_0x40aeb2);}}),connectionPromise;}async function publishMessage(_0x3bdb74,_0x5053de,_0x5667e0,_0x33f924={}){const _0xb1fc8e=a0_0x3685c3,_0x74e7c2={'pmObM':function(_0x35edd4,_0x5e161f){return _0x35edd4(_0x5e161f);},'DOofO':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','llHEX':function(_0x4e25a6,_0x3cc4bb){return _0x4e25a6(_0x3cc4bb);},'fNNfE':function(_0x1f028a,_0x59c8a0){return _0x1f028a!==_0x59c8a0;},'KgkBs':_0xb1fc8e(0x1b2),'iycGs':_0xb1fc8e(0x1f8),'quEtX':_0xb1fc8e(0x1cc)};try{!isConnected&&await initMessageHub();const _0x39a610=messagehub[_0xb1fc8e(0x1da)](_0x3bdb74);_0x74e7c2[_0xb1fc8e(0x1c1)](log,_0x74e7c2['DOofO']),_0x74e7c2['llHEX'](log,_0xb1fc8e(0x1d0)+_0x39a610['topic']),log(_0xb1fc8e(0x1cd)+_0x5053de),log(_0xb1fc8e(0x1a7));const _0x590f61={'requireAck':_0x33f924[_0xb1fc8e(0x1aa)]!==undefined?_0x33f924['requireAck']:![],'clearCache':_0x74e7c2[_0xb1fc8e(0x1f3)](_0x33f924['clearCache'],undefined)?_0x33f924['clearCache']:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0x74e7c2['KgkBs']};log(_0x74e7c2[_0xb1fc8e(0x1b5)]);const _0x45f57f={'type':_0x5053de,'content':_0x5667e0},_0x50cc8b=await _0x39a610[_0xb1fc8e(0x1b4)](_0x45f57f,_0x590f61);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x3bdb74),{'success':!![],'requestId':_0x50cc8b['requestId'],'topic':_0x3bdb74,'message':'Message\x20sent\x20successfully'};}catch(_0x3b5de5){return _0x74e7c2[_0xb1fc8e(0x1c1)](log,_0xb1fc8e(0x1c8)+_0x3b5de5[_0xb1fc8e(0x1e7)]),{'success':![],'error':_0x3b5de5[_0xb1fc8e(0x1e7)],'topic':_0x3bdb74,'message':_0x74e7c2[_0xb1fc8e(0x1f2)]};}}async function closeConnection(){const _0x2eaade=a0_0x3685c3,_0xdc8aad={'rygLN':'function','huBTj':_0x2eaade(0x1ce),'xuxoE':function(_0x12e722,_0x1cf185){return _0x12e722(_0x1cf185);},'SugtI':function(_0x1d4557,_0x52c765){return _0x1d4557===_0x52c765;},'Nwyuj':_0x2eaade(0x1df),'JsLiv':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x2eaade(0x1a5)]===_0xdc8aad['rygLN'])await messagehub[_0x2eaade(0x1a5)](),log(_0xdc8aad['huBTj']);else{if(typeof messagehub['close']===_0xdc8aad['rygLN'])await messagehub['close'](),_0xdc8aad[_0x2eaade(0x1ec)](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x2eaade(0x1e3)]&&_0xdc8aad[_0x2eaade(0x1c7)](typeof messagehub[_0x2eaade(0x1e3)]['disconnect'],_0x2eaade(0x1a3))?(messagehub['socket']['disconnect'](),log(_0xdc8aad[_0x2eaade(0x1c0)])):log(_0xdc8aad['JsLiv']);}isConnected=![],connectionPromise=null;}catch(_0x4afd8d){_0xdc8aad[_0x2eaade(0x1ec)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x4afd8d[_0x2eaade(0x1e7)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|