@restforgejs/platform 4.1.0 → 4.2.8
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/LICENSE.md +5 -1
- package/README.md +30 -14
- 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/endpoint/create.js +42 -3
- package/generators/cli/schema/apply.js +525 -0
- package/generators/cli/schema/diff.js +321 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/migrate.js +10 -16
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- package/generators/lib/utils/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/integrity-manifest.json +8 -8
- package/package.json +4 -4
- package/scripts/check-install.js +45 -45
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x504a7e=a0_0x3675;(function(_0x49da14,_0x169659){const _0x2a7a1a=a0_0x3675,_0x301843=_0x49da14();while(!![]){try{const _0x4e1113=parseInt(_0x2a7a1a(0x1ce))/0x1+parseInt(_0x2a7a1a(0x1c1))/0x2+-parseInt(_0x2a7a1a(0x1c2))/0x3*(parseInt(_0x2a7a1a(0x1c6))/0x4)+parseInt(_0x2a7a1a(0x1cd))/0x5*(parseInt(_0x2a7a1a(0x1fa))/0x6)+parseInt(_0x2a7a1a(0x1e9))/0x7*(parseInt(_0x2a7a1a(0x1fe))/0x8)+-parseInt(_0x2a7a1a(0x1c3))/0x9*(parseInt(_0x2a7a1a(0x1d1))/0xa)+-parseInt(_0x2a7a1a(0x1ea))/0xb;if(_0x4e1113===_0x169659)break;else _0x301843['push'](_0x301843['shift']());}catch(_0x18ba72){_0x301843['push'](_0x301843['shift']());}}}(a0_0x1784,0xec16e));function a0_0x3675(_0x18b79f,_0xec2fbc){_0x18b79f=_0x18b79f-0x1c1;const _0x178477=a0_0x1784();let _0x367525=_0x178477[_0x18b79f];if(a0_0x3675['MfdtCh']===undefined){var _0x4cdca6=function(_0x4e46a7){const _0x53389c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c0ae='',_0x18a3e0='';for(let _0x4a991f=0x0,_0x102bb3,_0x13a9a5,_0x3c71a8=0x0;_0x13a9a5=_0x4e46a7['charAt'](_0x3c71a8++);~_0x13a9a5&&(_0x102bb3=_0x4a991f%0x4?_0x102bb3*0x40+_0x13a9a5:_0x13a9a5,_0x4a991f++%0x4)?_0x43c0ae+=String['fromCharCode'](0xff&_0x102bb3>>(-0x2*_0x4a991f&0x6)):0x0){_0x13a9a5=_0x53389c['indexOf'](_0x13a9a5);}for(let _0x1259e8=0x0,_0x3f6b3d=_0x43c0ae['length'];_0x1259e8<_0x3f6b3d;_0x1259e8++){_0x18a3e0+='%'+('00'+_0x43c0ae['charCodeAt'](_0x1259e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18a3e0);};a0_0x3675['ZkZmuK']=_0x4cdca6,a0_0x3675['AwkySI']={},a0_0x3675['MfdtCh']=!![];}const _0x3353b4=_0x178477[0x0],_0x318271=_0x18b79f+_0x3353b4,_0x4c3e53=a0_0x3675['AwkySI'][_0x318271];return!_0x4c3e53?(_0x367525=a0_0x3675['ZkZmuK'](_0x367525),a0_0x3675['AwkySI'][_0x318271]=_0x367525):_0x367525=_0x4c3e53,_0x367525;}const multer=require('multer'),path=require(a0_0x504a7e(0x1fc)),crypto=require('crypto'),fs=require('fs')[a0_0x504a7e(0x1cb)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0xb5caf8=a0_0x504a7e,_0x3eec23={'fOkCM':'default','RHGEi':_0xb5caf8(0x1dd)};if(!this[_0xb5caf8(0x1c8)]){const _0xdb0516=process['env']['RESTFORGE_PROJECT_NAME']||_0x3eec23[_0xb5caf8(0x1d7)];this['_tempDir']=process['env']['UPLOAD_TEMP_DIR']||path[_0xb5caf8(0x1f2)](process[_0xb5caf8(0x1d0)](),_0x3eec23[_0xb5caf8(0x1f0)],'uploads',_0xdb0516),!fsSync[_0xb5caf8(0x1f3)](this[_0xb5caf8(0x1c8)])&&fsSync[_0xb5caf8(0x1cc)](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}[a0_0x504a7e(0x1e2)](_0x36b742={}){const _0x363306=a0_0x504a7e,_0x182bfe={'dtfUR':function(_0x5ea033,_0x39f9c1,_0x1cb230){return _0x5ea033(_0x39f9c1,_0x1cb230);},'bWRET':function(_0x41625a,_0x18b798,_0x324061){return _0x41625a(_0x18b798,_0x324061);},'CKVun':function(_0x453496,_0x128dd4,_0x57a238){return _0x453496(_0x128dd4,_0x57a238);},'GhDrM':function(_0x3ff95e,_0x445c1b){return _0x3ff95e(_0x445c1b);},'ugARN':function(_0x1da995,_0x246c08){return _0x1da995(_0x246c08);}},_0x3f8f92=_0x36b742[_0x363306(0x1ef)]||0x5,_0x30d0a5=this[_0x363306(0x1e0)](_0x36b742[_0x363306(0x1dc)]||_0x363306(0x1e4)),_0x169bdc=_0x36b742[_0x363306(0x1f9)]||[],_0x5e78a1=multer['diskStorage']({'destination':(_0x436744,_0x80bc61,_0x3c4ecd)=>{const _0x34b4c1=_0x363306;!fsSync[_0x34b4c1(0x1f3)](this[_0x34b4c1(0x1ed)])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x182bfe['dtfUR'](_0x3c4ecd,null,this[_0x34b4c1(0x1ed)]);},'filename':(_0x5b14a6,_0x583df3,_0x22d90e)=>{const _0x232fd8=_0x363306,_0x5a4ee0=crypto['randomBytes'](0x8)[_0x232fd8(0x1c7)](_0x232fd8(0x1f5)),_0x4b2b3b=Date['now'](),_0x305c17=path[_0x232fd8(0x1df)](_0x583df3[_0x232fd8(0x1d3)]);_0x182bfe[_0x232fd8(0x1d2)](_0x22d90e,null,'upload-'+_0x4b2b3b+'-'+_0x5a4ee0+_0x305c17);}}),_0x5b4667=(_0x54f38d,_0x47561d,_0x590cb4)=>{const _0x32b6ee=_0x363306;if(_0x169bdc[_0x32b6ee(0x1d4)]===0x0)return _0x590cb4(null,!![]);const _0x353b28=path['extname'](_0x47561d[_0x32b6ee(0x1d3)])['toLowerCase']()['replace']('.','');_0x169bdc[_0x32b6ee(0x1db)](_0x353b28)?_0x182bfe[_0x32b6ee(0x1f6)](_0x590cb4,null,!![]):_0x182bfe[_0x32b6ee(0x1e7)](_0x590cb4,new Error(_0x32b6ee(0x1e8)+_0x353b28+_0x32b6ee(0x1f4)+_0x169bdc['join'](',\x20')));};return _0x182bfe[_0x363306(0x1de)](multer,{'storage':_0x5e78a1,'limits':{'fileSize':_0x30d0a5,'files':_0x3f8f92},'fileFilter':_0x5b4667})['array']('files',_0x3f8f92);}async[a0_0x504a7e(0x1e1)](_0x5333a3,_0x137d3d,_0x1f7d40={}){const _0x2afe78=a0_0x504a7e,_0x46c8ce={'TSEgd':function(_0x41d04e,_0xbff448){return _0x41d04e(_0xbff448);},'tazxP':'../storage/file-metadata-helper'},{createFileMetadata:_0xd0393b}=_0x46c8ce['TSEgd'](require,_0x46c8ce['tazxP']),_0x18236c=[];for(const _0x3e468e of _0x5333a3){try{const _0x3561a6=_0x137d3d[_0x2afe78(0x1d8)](_0x3e468e['originalname'],{'prefix':_0x1f7d40[_0x2afe78(0x1f1)]||'','project':_0x1f7d40[_0x2afe78(0x1cf)]||'','module':_0x1f7d40[_0x2afe78(0x1f7)]||'','endpoint':_0x1f7d40['endpoint']||''}),_0x121a77=fsSync[_0x2afe78(0x1da)](_0x3e468e[_0x2afe78(0x1fc)]),_0x4a7773=await _0x137d3d['upload'](_0x121a77,_0x3561a6,{'contentType':_0x3e468e['mimetype'],'fileSize':_0x3e468e[_0x2afe78(0x1eb)]}),_0x3ac20c=_0xd0393b({'key':_0x4a7773['key'],'originalName':_0x3e468e[_0x2afe78(0x1d3)],'fileName':path[_0x2afe78(0x1fd)](_0x3561a6),'contentType':_0x3e468e['mimetype'],'size':_0x3e468e[_0x2afe78(0x1eb)],'url':_0x4a7773[_0x2afe78(0x1d5)],'provider':_0x137d3d[_0x2afe78(0x1ee)],'bucket':_0x137d3d['bucket']||null,'uploadedBy':_0x1f7d40['uploadedBy']||null});_0x18236c['push'](_0x3ac20c);}catch(_0xa4fcf1){logger['error']({'event':_0x2afe78(0x1ca),'file':_0x3e468e['originalname'],'error':_0xa4fcf1[_0x2afe78(0x1c9)]},_0x2afe78(0x1c4)+_0x3e468e[_0x2afe78(0x1d3)]);throw _0xa4fcf1;}finally{await this['_deleteTempFile'](_0x3e468e['path']);}}return _0x18236c;}async[a0_0x504a7e(0x1e3)](_0x25a3d1){const _0x5c3c10=a0_0x504a7e,_0xa3a79c={'foAaw':'upload_v2_temp_delete_warn','kJYBp':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0x25a3d1);}catch(_0x38f453){logger['warn']({'event':_0xa3a79c[_0x5c3c10(0x1d9)],'filePath':_0x25a3d1,'error':_0x38f453['message']},_0xa3a79c[_0x5c3c10(0x1e5)]);}}[a0_0x504a7e(0x1e0)](_0x4ddb5a){const _0x1164c7=a0_0x504a7e,_0x27996f={'sWneI':'number','PgywH':function(_0x66476b,_0x509f3b){return _0x66476b*_0x509f3b;},'yzPWf':function(_0x3350c2,_0x450450){return _0x3350c2*_0x450450;}};if(typeof _0x4ddb5a===_0x27996f[_0x1164c7(0x1c5)])return _0x4ddb5a;const _0x261b28=String(_0x4ddb5a)[_0x1164c7(0x1d6)]()[_0x1164c7(0x1f8)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x261b28)return _0x27996f['PgywH'](_0x27996f[_0x1164c7(0x1e6)](0xa,0x400),0x400);const _0x58a660=parseFloat(_0x261b28[0x1]),_0x4fad4d=_0x261b28[0x2][_0x1164c7(0x1fb)](),_0x56466d={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x27996f[_0x1164c7(0x1e6)](_0x27996f['yzPWf'](0x400,0x400),0x400)};return Math[_0x1164c7(0x1ec)](_0x58a660*(_0x56466d[_0x4fad4d]||0x1));}}function a0_0x1784(){const _0x762d57=['Bw9KDwXL','Bwf0y2G','ywXSB3DLzfr5CgvZ','ndu2yK95vMrM','Dg9vChbLCKnHC2u','Cgf0Aa','yMfZzw5HBwu','nJG0nJe1mNH3EK1HCW','mJe0nty1mMrKwLDZsq','mtG5zwTLzgTL','ntu4mda5vefkuhj6','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','C1DUzuK','odK5nJrNEwj6B1K','Dg9tDhjPBMC','x3rLBxbeAxi','BwvZC2fNzq','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','ChjVBwLZzxm','BwTKAxjtEw5J','nZGXmJveweLYCMu','mte5mZy1oxnHEfHHqq','ChjVAMvJDa','y3DK','mJyWsuDoCvPv','yLDsrvq','B3jPz2LUywXUyw1L','BgvUz3rO','DxjS','DhjPBq','zK9Rq00','z2vUzxjHDgvlzxK','zM9byxC','y3jLyxrLuMvHzfn0CMvHBq','Aw5JBhvKzxm','Bwf4rMLSzvnPEMu','DgvTCa','DwDbuK4','zxH0BMfTzq','x3bHCNnLrMLSzvnPEMu','ChjVy2vZC1vWBg9HzgvKrMLSzxm','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','x2rLBgv0zvrLBxbgAwXL','mtbnqG','A0PzqNa','ugD5D0G','r2HeCK0','rMLSzsb0ExbLiciU','mtrIEfrLt2W','mti4nJq5nJjdu3fmr3e','C2L6zq','zMXVB3i','DgvTCerPCG','ChjVDMLKzxjoyw1L','Bwf4rMLSzxm','uKHhrwK','ChjLzML4','AM9PBG','zxHPC3rZu3LUyW','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','Agv4','q0TwDw4'];a0_0x1784=function(){return _0x762d57;};return a0_0x1784();}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x68eb(_0x226bb7,_0x5237fe){_0x226bb7=_0x226bb7-0x175;const _0x2db056=a0_0x2db0();let _0x68eb8e=_0x2db056[_0x226bb7];if(a0_0x68eb['nlcgxT']===undefined){var _0x5220ab=function(_0x250bbd){const _0x431f26='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f3d59='',_0x523415='';for(let _0x4c8991=0x0,_0x315d4c,_0x514843,_0x3a9348=0x0;_0x514843=_0x250bbd['charAt'](_0x3a9348++);~_0x514843&&(_0x315d4c=_0x4c8991%0x4?_0x315d4c*0x40+_0x514843:_0x514843,_0x4c8991++%0x4)?_0x3f3d59+=String['fromCharCode'](0xff&_0x315d4c>>(-0x2*_0x4c8991&0x6)):0x0){_0x514843=_0x431f26['indexOf'](_0x514843);}for(let _0x545140=0x0,_0x232436=_0x3f3d59['length'];_0x545140<_0x232436;_0x545140++){_0x523415+='%'+('00'+_0x3f3d59['charCodeAt'](_0x545140)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523415);};a0_0x68eb['pDXjKh']=_0x5220ab,a0_0x68eb['nlnzhN']={},a0_0x68eb['nlcgxT']=!![];}const _0x5c0a48=_0x2db056[0x0],_0x36a73b=_0x226bb7+_0x5c0a48,_0x379bb7=a0_0x68eb['nlnzhN'][_0x36a73b];return!_0x379bb7?(_0x68eb8e=a0_0x68eb['pDXjKh'](_0x68eb8e),a0_0x68eb['nlnzhN'][_0x36a73b]=_0x68eb8e):_0x68eb8e=_0x379bb7,_0x68eb8e;}function a0_0x2db0(){const _0x7eea0e=['mtiWBMfPuKP3','BxvSDgvY','zw52','mJvjqNLtuee','z2v0u3rVCMfNzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','mtiYmtaXr2fqrgXd','Bwf4rMLSzvnPEMu','lNHSC3G','CMfUzg9TqNL0zxm','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','mJi4mgD5ufDAsa','otuXmte1AMPvrNjg','Aw5JBhvKzxm','Agv4','vLHfCe4','BwvZC2fNzq','zgLZA1n0B3jHz2u','mZyXmZyYngzjEe1sua','zgvMyxvSDa','x3vWBg9HzerPCG','DxbSB2fKrgLY','zMLSzq','zgvSzxrLrMLSzq','mtmZmJjxzwjrqwS','Aw5MBW','mte3mZKXmZbIELjtuMq','mtq0nKLkswzkyW','mZK5mZuYnxjYs09grq','BwTKAxjtEw5J','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','B3jPz2LUywXUyw1L','rhPJwg8','Dw5SAw5R','lI4VlI4VDgvTCc91CgXVywrZlW','BM93','zxH0BMfTzq','DxbSB2fKlq'];a0_0x2db0=function(){return _0x7eea0e;};return a0_0x2db0();}const a0_0x14fd61=a0_0x68eb;(function(_0x516706,_0x58712b){const _0x2ba74d=a0_0x68eb,_0x2040d5=_0x516706();while(!![]){try{const _0x338427=parseInt(_0x2ba74d(0x17a))/0x1*(-parseInt(_0x2ba74d(0x190))/0x2)+parseInt(_0x2ba74d(0x193))/0x3*(parseInt(_0x2ba74d(0x183))/0x4)+parseInt(_0x2ba74d(0x184))/0x5+-parseInt(_0x2ba74d(0x177))/0x6*(parseInt(_0x2ba74d(0x17e))/0x7)+-parseInt(_0x2ba74d(0x18a))/0x8+-parseInt(_0x2ba74d(0x194))/0x9+parseInt(_0x2ba74d(0x192))/0xa;if(_0x338427===_0x58712b)break;else _0x2040d5['push'](_0x2040d5['shift']());}catch(_0x47b90e){_0x2040d5['push'](_0x2040d5['shift']());}}}(a0_0x2db0,0x37adf));const multer=require(a0_0x14fd61(0x178)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x157b5d=a0_0x14fd61;this[_0x157b5d(0x18c)]=null,this[_0x157b5d(0x17f)]=0xa*0x400*0x400;}get['uploadDir'](){const _0x1a9b4e=a0_0x14fd61,_0x5a77cb={'GQywc':'upload_handler_init','DzcXo':'upload_handler_init_error','OVEGu':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x1a9b4e(0x18c)]){const _0xb4e268=process['env']['RESTFORGE_PROJECT_NAME']||_0x1a9b4e(0x18b);this[_0x1a9b4e(0x18c)]=process[_0x1a9b4e(0x179)]['UPLOAD_DIR']||path['join'](__dirname,_0x1a9b4e(0x19a)+_0xb4e268);try{!fsSync['existsSync'](this[_0x1a9b4e(0x18c)])&&fsSync['mkdirSync'](this[_0x1a9b4e(0x18c)],{'recursive':!![]}),logger[_0x1a9b4e(0x191)]({'event':_0x5a77cb['GQywc'],'dir':this[_0x1a9b4e(0x18c)]},_0x1a9b4e(0x182));}catch(_0x276c22){logger['error']({'event':_0x5a77cb[_0x1a9b4e(0x198)],'error':_0x276c22[_0x1a9b4e(0x188)]},_0x5a77cb['OVEGu']);}}return this[_0x1a9b4e(0x18c)];}['getStorage'](){const _0x15d152=a0_0x14fd61,_0x351928={'VXEpN':function(_0x164809,_0x48d2a8,_0x204955){return _0x164809(_0x48d2a8,_0x204955);}};return multer[_0x15d152(0x189)]({'destination':(_0x42d3c1,_0x150528,_0x47a159)=>{const _0x1744a7=_0x15d152;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x1744a7(0x195)](this[_0x1744a7(0x18d)],{'recursive':!![]}),_0x47a159(null,this[_0x1744a7(0x18d)]);},'filename':(_0x5ca7ca,_0x3c0d7d,_0x2eaee2)=>{const _0x48acd5=_0x15d152,_0x5145a3=crypto[_0x48acd5(0x181)](0x8)['toString'](_0x48acd5(0x186)),_0x24f6ac=Date[_0x48acd5(0x19b)](),_0x9ad34d=path[_0x48acd5(0x175)](_0x3c0d7d[_0x48acd5(0x197)]);_0x351928[_0x48acd5(0x187)](_0x2eaee2,null,_0x48acd5(0x176)+_0x24f6ac+'-'+_0x5145a3+_0x9ad34d);}});}['getUploadMiddleware'](){const _0x1e5f15=a0_0x14fd61,_0x3cbaf6={'rJyZo':'.xls','GOAqp':function(_0x2446d1,_0x54e409,_0x5e14c1){return _0x2446d1(_0x54e409,_0x5e14c1);},'oaVXu':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'};return multer({'storage':this[_0x1e5f15(0x17b)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x577336,_0x107273,_0x1058cc)=>{const _0xcca46c=_0x1e5f15,_0x50494d=[_0xcca46c(0x17c),'application/vnd.ms-excel'],_0x478481=[_0xcca46c(0x180),_0x3cbaf6['rJyZo']],_0x47e5bd=path[_0xcca46c(0x175)](_0x107273[_0xcca46c(0x197)])['toLowerCase']();_0x50494d[_0xcca46c(0x185)](_0x107273['mimetype'])&&_0x478481['includes'](_0x47e5bd)?_0x3cbaf6['GOAqp'](_0x1058cc,null,!![]):_0x1058cc(new Error(_0x3cbaf6['oaVXu']));}})['single'](_0x1e5f15(0x18e));}async[a0_0x14fd61(0x18f)](_0x559f30){const _0x32cc62=a0_0x14fd61,_0x1d94d9={'eCbnz':'upload_file_deleted'};try{await fs[_0x32cc62(0x199)](_0x559f30),logger[_0x32cc62(0x191)]({'event':_0x1d94d9['eCbnz'],'filePath':_0x559f30},_0x32cc62(0x17d));}catch(_0x2b25a0){logger['error']({'event':_0x32cc62(0x196),'filePath':_0x559f30,'error':_0x2b25a0[_0x32cc62(0x188)]},'Failed\x20to\x20delete\x20uploaded\x20file');}}}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xa55d74=a0_0x5124;function a0_0x3796(){const _0x1cdf5b=['rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','Au11rgC','yxHPB3m','nJq3mZu5m1HcDwrnsa','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','yxbWBgLJyxrPB24VANnVBG','zxjYB3i','mte5mduZmLfvqxbPAq','C3rHDhvZ','ndC2nJa4nxnbEvDYAa','nePdBLrItG','veLQugW','Bg9N','mJi2ndqWoeLlC0fmBW','CgDdELa','Dg9ju09tDhjPBMC','BwvZC2fNzq','mZG1mtC1mNf4uuDNyG','zgvSzxrL','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','lcbtDgf0Dxm6ia','mZeWnZeXCfDdEefg','Cg9ZDa','ndK5nJaXmfjozMDJyq'];a0_0x3796=function(){return _0x1cdf5b;};return a0_0x3796();}(function(_0x111077,_0x453b6a){const _0x225dcb=a0_0x5124,_0x3e6073=_0x111077();while(!![]){try{const _0x303bdb=parseInt(_0x225dcb(0x190))/0x1+parseInt(_0x225dcb(0x1a1))/0x2+parseInt(_0x225dcb(0x19d))/0x3+parseInt(_0x225dcb(0x19e))/0x4*(-parseInt(_0x225dcb(0x192))/0x5)+parseInt(_0x225dcb(0x19b))/0x6+-parseInt(_0x225dcb(0x196))/0x7+-parseInt(_0x225dcb(0x1a5))/0x8;if(_0x303bdb===_0x453b6a)break;else _0x3e6073['push'](_0x3e6073['shift']());}catch(_0x49a50e){_0x3e6073['push'](_0x3e6073['shift']());}}}(a0_0x3796,0xc94f2));const axios=require(a0_0xa55d74(0x195));async function sendInsertWebhook(_0x5464a9,_0x48a1ab,_0x1fbdd1={}){const _0xef68cc=a0_0xa55d74,_0x780c20={'ykmdZ':'insert','TIjPl':'RestForge-Webhook/1.0','pgCzP':_0xef68cc(0x18e)};try{const _0x5df1b4={'event':_0x780c20['ykmdZ'],'timestamp':new Date()[_0xef68cc(0x1a3)](),'data':_0x48a1ab},_0x276b9a=await axios['post'](_0x5464a9,_0x5df1b4,{'headers':{'Content-Type':_0xef68cc(0x199),'User-Agent':_0x780c20[_0xef68cc(0x19f)],..._0x1fbdd1},'timeout':0x2710});return console[_0xef68cc(0x1a0)](_0xef68cc(0x197)+_0x5464a9+',\x20Status:\x20'+_0x276b9a['status']),{'success':!![],'message':'Insert\x20webhook\x20sent\x20successfully','status':_0x276b9a[_0xef68cc(0x19c)],'url':_0x5464a9};}catch(_0x536d21){return console[_0xef68cc(0x19a)](_0x780c20[_0xef68cc(0x1a2)],_0x536d21[_0xef68cc(0x1a4)]),{'success':![],'message':_0xef68cc(0x193),'error':_0x536d21['message'],'url':_0x5464a9};}}function a0_0x5124(_0x32ba97,_0x5ad43f){_0x32ba97=_0x32ba97-0x18e;const _0x379680=a0_0x3796();let _0x512485=_0x379680[_0x32ba97];if(a0_0x5124['DkMpsX']===undefined){var _0x4d40ae=function(_0x2ee6e8){const _0x111c76='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x561d95='',_0x34877e='';for(let _0x2c0bc1=0x0,_0x401166,_0xf1c24e,_0x5144bc=0x0;_0xf1c24e=_0x2ee6e8['charAt'](_0x5144bc++);~_0xf1c24e&&(_0x401166=_0x2c0bc1%0x4?_0x401166*0x40+_0xf1c24e:_0xf1c24e,_0x2c0bc1++%0x4)?_0x561d95+=String['fromCharCode'](0xff&_0x401166>>(-0x2*_0x2c0bc1&0x6)):0x0){_0xf1c24e=_0x111c76['indexOf'](_0xf1c24e);}for(let _0x52ff8d=0x0,_0x335d76=_0x561d95['length'];_0x52ff8d<_0x335d76;_0x52ff8d++){_0x34877e+='%'+('00'+_0x561d95['charCodeAt'](_0x52ff8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34877e);};a0_0x5124['uTJaZg']=_0x4d40ae,a0_0x5124['ifBNZQ']={},a0_0x5124['DkMpsX']=!![];}const _0x157b4e=_0x379680[0x0],_0x263539=_0x32ba97+_0x157b4e,_0x8974a9=a0_0x5124['ifBNZQ'][_0x263539];return!_0x8974a9?(_0x512485=a0_0x5124['uTJaZg'](_0x512485),a0_0x5124['ifBNZQ'][_0x263539]=_0x512485):_0x512485=_0x8974a9,_0x512485;}async function sendDeleteWebhook(_0x3c68d2,_0x4801b6,_0x28101f={}){const _0x28291b=a0_0xa55d74,_0x29ea9e={'iggnl':'RestForge-Webhook/1.0','iMuDg':'Delete\x20webhook\x20sent\x20successfully'};try{const _0x54e338={'event':_0x28291b(0x1a6),'timestamp':new Date()['toISOString'](),'deleted_data':_0x4801b6},_0x40b41a=await axios[_0x28291b(0x191)](_0x3c68d2,_0x54e338,{'headers':{'Content-Type':_0x28291b(0x199),'User-Agent':_0x29ea9e['iggnl'],..._0x28101f},'timeout':0x2710});return console[_0x28291b(0x1a0)](_0x28291b(0x198)+_0x3c68d2+_0x28291b(0x18f)+_0x40b41a['status']),{'success':!![],'message':_0x29ea9e[_0x28291b(0x194)],'status':_0x40b41a[_0x28291b(0x19c)],'url':_0x3c68d2};}catch(_0x3a4254){return console[_0x28291b(0x19a)]('Error\x20sending\x20delete\x20webhook:',_0x3a4254[_0x28291b(0x1a4)]),{'success':![],'message':'Failed\x20to\x20send\x20delete\x20webhook','error':_0x3a4254['message'],'url':_0x3c68d2};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2afd52=a0_0x2832;(function(_0x20c4de,_0x97661){const _0xd00de1=a0_0x2832,_0x4e21fc=_0x20c4de();while(!![]){try{const _0x3e5d53=-parseInt(_0xd00de1(0xf6))/0x1+-parseInt(_0xd00de1(0xe0))/0x2+-parseInt(_0xd00de1(0xf2))/0x3*(-parseInt(_0xd00de1(0xe5))/0x4)+-parseInt(_0xd00de1(0xf5))/0x5+parseInt(_0xd00de1(0xf9))/0x6*(-parseInt(_0xd00de1(0xfe))/0x7)+parseInt(_0xd00de1(0xdc))/0x8+-parseInt(_0xd00de1(0xe7))/0x9*(-parseInt(_0xd00de1(0xfc))/0xa);if(_0x3e5d53===_0x97661)break;else _0x4e21fc['push'](_0x4e21fc['shift']());}catch(_0xf08165){_0x4e21fc['push'](_0x4e21fc['shift']());}}}(a0_0x2b70,0xc43c4));const express=require(a0_0x2afd52(0xe3)),{logger}=require(a0_0x2afd52(0xf7));function a0_0x2b70(){const _0x507f74=['tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','rfbUsNO','mZqXnJuWngPyEKXqEa','DfPeDKu','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','l3jLBgvHC2u','mJmXntGXmKzmyLjqBG','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','zxHWCMvZCW','BwvZC2fNzq','otuXmMTrDMr2Cq','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','ounArePXCq','tgHYDg0','l2fJCxvPCMu','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','rLfNCwq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','C3vJy2vZCW','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','yM9KEq','v3vLrha','DKvZCu8','mta4owXYuKPstG','vLjVEuq','u25Pr1C','ndiXnZG1nw1XENDorG','mtu4nJGWmMnHExfIuW','lI4VlI4VDxrPBhmVBg9Nz2vY','ANnVBG','mti4otK0nNPTsgT1wq','Cg9ZDa','zxjYB3i','nde3nJCZnZbnt1borLK','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','mZv5DgLVsfa','C3rHDhvZ'];a0_0x2b70=function(){return _0x507f74;};return a0_0x2b70();}function createLockRoutes(){const _0x33679e=a0_0x2afd52,_0x49776b={'ZSIyA':_0x33679e(0xe2),'WueDp':function(_0x5d517c){return _0x5d517c();},'aoFcx':function(_0x4ac5a1,_0x18be84){return _0x4ac5a1===_0x18be84;},'VRoyD':_0x33679e(0xfd),'FQgqd':_0x33679e(0xe1),'bKKtj':_0x33679e(0xe6),'DPnJz':_0x33679e(0xea),'UQtVe':function(_0x1baf4a,_0x465b5d){return _0x1baf4a||_0x465b5d;},'Lhrtm':_0x33679e(0xec),'vEsqO':function(_0x4cb26c){return _0x4cb26c();},'tZDvE':'lock_status_route_error','DMjsS':_0x33679e(0xe9),'SniGW':'/status'},_0x30bffe=express['Router']();let _0x4c9e26=null;function _0x24873a(){return!_0x4c9e26&&(_0x4c9e26=require('./resource-lock-manager')),_0x4c9e26;}return _0x30bffe[_0x33679e(0xfa)](_0x49776b['DMjsS'],async(_0x66c7ed,_0x62bb0c)=>{const _0x4ddf7b=_0x33679e;try{const {resource:_0x106477,lock_keys:_0x2de2fa,ttl:_0x9a5419,owner:_0x53e0db}=_0x66c7ed['body'];if(!_0x106477||!_0x2de2fa||!_0x9a5419||!_0x53e0db)return _0x62bb0c[_0x4ddf7b(0xff)](0x190)['json']({'success':![],'error':_0x49776b['ZSIyA']});const _0x132a7d=_0x49776b[_0x4ddf7b(0xf0)](_0x24873a),_0x2d1ac4=await _0x132a7d['acquireResourceLocks']({'resource':_0x106477,'lockKeys':_0x2de2fa,'ttl':_0x9a5419,'owner':_0x53e0db});if(_0x2d1ac4['success'])return _0x62bb0c['json'](_0x2d1ac4);const _0x57092c=_0x49776b['aoFcx'](_0x2d1ac4['error'],'Resource\x20lock\x20conflict')?0x199:0x190;return _0x62bb0c['status'](_0x57092c)['json'](_0x2d1ac4);}catch(_0x578a02){logger['error']({'event':'lock_acquire_route_error','error':_0x578a02[_0x4ddf7b(0xe4)]},_0x4ddf7b(0xee)+_0x578a02[_0x4ddf7b(0xe4)]),_0x62bb0c[_0x4ddf7b(0xff)](0x1f4)['json']({'success':![],'error':_0x49776b[_0x4ddf7b(0xf3)]});}}),_0x30bffe['post'](_0x33679e(0xdf),async(_0x23564a,_0x26ea6a)=>{const _0x28f767=_0x33679e;try{const {resource:_0x341aee,lock_keys:_0x13c09b,lock_token:_0x1b8a22}=_0x23564a[_0x28f767(0xef)];if(!_0x341aee||!_0x13c09b||!_0x1b8a22)return _0x26ea6a['status'](0x190)['json']({'success':![],'error':_0x49776b[_0x28f767(0xeb)]});const _0x131cfb=_0x49776b[_0x28f767(0xf0)](_0x24873a),_0x21d699=await _0x131cfb['releaseResourceLocks']({'resource':_0x341aee,'lockKeys':_0x13c09b,'lockToken':_0x1b8a22});if(_0x21d699['success'])return _0x26ea6a[_0x28f767(0xf8)](_0x21d699);return _0x26ea6a['status'](0x190)['json'](_0x21d699);}catch(_0xeba2d1){logger[_0x28f767(0xfb)]({'event':_0x49776b['bKKtj'],'error':_0xeba2d1[_0x28f767(0xe4)]},_0x28f767(0xde)+_0xeba2d1[_0x28f767(0xe4)]),_0x26ea6a[_0x28f767(0xff)](0x1f4)['json']({'success':![],'error':_0x49776b[_0x28f767(0x101)]});}}),_0x30bffe[_0x33679e(0xfa)](_0x49776b[_0x33679e(0xf4)],async(_0x24c443,_0x3286e5)=>{const _0x492ce1=_0x33679e;try{const {resource:_0x5bc0b7,lock_keys:_0x3863ff}=_0x24c443[_0x492ce1(0xef)];if(_0x49776b['UQtVe'](!_0x5bc0b7,!_0x3863ff))return _0x3286e5[_0x492ce1(0xff)](0x190)['json']({'success':![],'error':_0x49776b[_0x492ce1(0xe8)]});const _0x57d08f=_0x49776b[_0x492ce1(0xf1)](_0x24873a),_0x2f8692=await _0x57d08f['getResourceLockStatus']({'resource':_0x5bc0b7,'lockKeys':_0x3863ff});if(_0x2f8692[_0x492ce1(0xed)])return _0x3286e5[_0x492ce1(0xf8)](_0x2f8692);return _0x3286e5[_0x492ce1(0xff)](0x190)[_0x492ce1(0xf8)](_0x2f8692);}catch(_0xe4667d){logger['error']({'event':_0x49776b[_0x492ce1(0xdd)],'error':_0xe4667d[_0x492ce1(0xe4)]},_0x492ce1(0x100)+_0xe4667d['message']),_0x3286e5['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x30bffe;}function a0_0x2832(_0x2434e1,_0x54c2e4){_0x2434e1=_0x2434e1-0xdc;const _0x2b703a=a0_0x2b70();let _0x283234=_0x2b703a[_0x2434e1];if(a0_0x2832['dTVWDK']===undefined){var _0x309d49=function(_0x21921f){const _0x89e24d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fafe3='',_0x1ba22e='';for(let _0x3427aa=0x0,_0xefb909,_0x2e97d4,_0x4aa7c6=0x0;_0x2e97d4=_0x21921f['charAt'](_0x4aa7c6++);~_0x2e97d4&&(_0xefb909=_0x3427aa%0x4?_0xefb909*0x40+_0x2e97d4:_0x2e97d4,_0x3427aa++%0x4)?_0x2fafe3+=String['fromCharCode'](0xff&_0xefb909>>(-0x2*_0x3427aa&0x6)):0x0){_0x2e97d4=_0x89e24d['indexOf'](_0x2e97d4);}for(let _0x46151f=0x0,_0xe1efb8=_0x2fafe3['length'];_0x46151f<_0xe1efb8;_0x46151f++){_0x1ba22e+='%'+('00'+_0x2fafe3['charCodeAt'](_0x46151f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ba22e);};a0_0x2832['OxUNfL']=_0x309d49,a0_0x2832['ZHARvB']={},a0_0x2832['dTVWDK']=!![];}const _0x29ded9=_0x2b703a[0x0],_0x1c99f1=_0x2434e1+_0x29ded9,_0x2137be=a0_0x2832['ZHARvB'][_0x1c99f1];return!_0x2137be?(_0x283234=a0_0x2832['OxUNfL'](_0x283234),a0_0x2832['ZHARvB'][_0x1c99f1]=_0x283234):_0x283234=_0x2137be,_0x283234;}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1a9911=a0_0x2949;(function(_0x30c015,_0x5f428c){const _0x3298fd=a0_0x2949,_0x5963ea=_0x30c015();while(!![]){try{const _0xefc86d=parseInt(_0x3298fd(0x14c))/0x1+-parseInt(_0x3298fd(0x10b))/0x2*(-parseInt(_0x3298fd(0x10e))/0x3)+-parseInt(_0x3298fd(0x148))/0x4*(parseInt(_0x3298fd(0x14b))/0x5)+parseInt(_0x3298fd(0x12c))/0x6*(parseInt(_0x3298fd(0x110))/0x7)+-parseInt(_0x3298fd(0x113))/0x8+parseInt(_0x3298fd(0x11b))/0x9*(-parseInt(_0x3298fd(0x120))/0xa)+-parseInt(_0x3298fd(0x141))/0xb;if(_0xefc86d===_0x5f428c)break;else _0x5963ea['push'](_0x5963ea['shift']());}catch(_0x137362){_0x5963ea['push'](_0x5963ea['shift']());}}}(a0_0x3f08,0x34ebd));const redisClient=require(a0_0x1a9911(0x135)),{logger}=require(a0_0x1a9911(0x145)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x200968=a0_0x1a9911,_0x26a4bb={'vnVBe':_0x200968(0x140)},_0x5ee5e9=process[_0x200968(0x13f)]['RESTFORGE_PROJECT_NAME']||_0x26a4bb[_0x200968(0x14a)];return _0x200968(0x127)+_0x5ee5e9+_0x200968(0x147);}function a0_0x3f08(){const _0xc57572=['otGYntm0uxP4A0XW','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','yNvPBgrlzxK','mJe3ndi0offoyvjhsq','zu5hthy','DhriEhe','z2v0twf4vfrmu2vJB25KCW','z3DUt1u','BwLU','ENjivgu','B3DUzxi','oxjRvg9wDa','Bg9JA19RzxLZwW','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','Dvvyy1C','DhrSuMvTywLUAw5N','mZe1odaWvLPstLHL','Dw5RBM93BG','DMfSAwq','Aw5KzxHpzG','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','BM93','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','CMy6','CMvSzwfZzvjLC291CMnLtg9JA3m','x3zHBgLKyxrLqwnXDwLYzuLUChv0','BwvZC2fNzq','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','mtH0sM9Mr2i','ywXS','BwfW','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','BgvUz3rO','ENfLrMK','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','yNP1tvm','Aw5MBW','B1nxvwi','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','wLjTrhy','z2v0q2XPzw50','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','x2DLDenVBMzSAwn0sw5MBW','zw52','zgvMyxvSDa','mtGXntKZnxzbr3P1AG','ywnXDwLYzvjLC291CMnLtg9JA3m','te9ds19srvnpvvjdrv9nqvHFvfrm','Dg9ju09tDhjPBMC','lI4VlI4VDxrPBhmVBg9Nz2vY','x3zHBgLKyxrLuMvSzwfZzuLUChv0','oNjSB2nRoG','mJHIr1PmBLC','DM9yqve','DM5wqMu','mJu1otvmserpwwq','mJmXmdqWthjpyMHI','z2v0','C3rYAw5N','yMD1Dfm','zxzHBa','zxH0CMfJDe93BMvY','vhLtvMW','igTLExmP','tg9JAYbHy3f1AxjLigzHAwXLzdOG','ChvZAa','mZr4sxztqNC','x3jVBgXIywnRs2v5CW','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','mtiXnJjdu2Teyvm','zxjYB3i'];a0_0x3f08=function(){return _0xc57572;};return a0_0x3f08();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x1a9911(0x13a);function a0_0x2949(_0x41afea,_0x18528d){_0x41afea=_0x41afea-0x10b;const _0x3f088c=a0_0x3f08();let _0x29495e=_0x3f088c[_0x41afea];if(a0_0x2949['NrcwoV']===undefined){var _0x21f133=function(_0x4f69a2){const _0x47e5bb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x523444='',_0x773bff='';for(let _0x1298c5=0x0,_0x23f795,_0x2b0437,_0x371e5d=0x0;_0x2b0437=_0x4f69a2['charAt'](_0x371e5d++);~_0x2b0437&&(_0x23f795=_0x1298c5%0x4?_0x23f795*0x40+_0x2b0437:_0x2b0437,_0x1298c5++%0x4)?_0x523444+=String['fromCharCode'](0xff&_0x23f795>>(-0x2*_0x1298c5&0x6)):0x0){_0x2b0437=_0x47e5bb['indexOf'](_0x2b0437);}for(let _0x2d2e43=0x0,_0x2de07d=_0x523444['length'];_0x2d2e43<_0x2de07d;_0x2d2e43++){_0x773bff+='%'+('00'+_0x523444['charCodeAt'](_0x2d2e43)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x773bff);};a0_0x2949['hPJysb']=_0x21f133,a0_0x2949['duBIgY']={},a0_0x2949['NrcwoV']=!![];}const _0x3b9235=_0x3f088c[0x0],_0x27c620=_0x41afea+_0x3b9235,_0x14b598=a0_0x2949['duBIgY'][_0x27c620];return!_0x14b598?(_0x29495e=a0_0x2949['hPJysb'](_0x29495e),a0_0x2949['duBIgY'][_0x27c620]=_0x29495e):_0x29495e=_0x14b598,_0x29495e;}class ResourceLockManager{[a0_0x1a9911(0x112)](_0xa59709,_0x4a9ff5,_0x2122a4){return''+getPrefix()+_0xa59709+':'+_0x4a9ff5+':'+_0x2122a4;}['generateToken'](_0x252f00){const _0x3a776c=a0_0x1a9911,_0x2ced3e={'ttHxq':function(_0x48453e){return _0x48453e();}};return _0x252f00+':'+_0x2ced3e[_0x3a776c(0x115)](uuidv4)+':'+Date[_0x3a776c(0x125)]();}['extractOwner'](_0x2f7ae0){const _0x431d1f=a0_0x1a9911;if(!_0x2f7ae0)return'unknown';const _0x25cdc3=_0x2f7ae0[_0x431d1f(0x123)](':');return _0x25cdc3>0x0?_0x2f7ae0['substring'](0x0,_0x25cdc3):_0x2f7ae0;}[a0_0x1a9911(0x116)](){const _0xe79c1f=a0_0x1a9911;return parseInt(process['env'][_0xe79c1f(0x143)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x1a9911(0x142)]({resource:_0x677c91,lockKeys:_0x5e59b2,ttl:_0x55299a,owner:_0x2470b0}){const _0x2203ed=a0_0x1a9911,_0x40daee={'zqeFi':_0x2203ed(0x136),'fkNks':_0x2203ed(0x126),'voXAQ':_0x2203ed(0x10d),'CRzef':'resource_lock_rollback_error','bzuMS':_0x2203ed(0x130)},_0x4049a6=this['_validateAcquireInput']({'resource':_0x677c91,'lockKeys':_0x5e59b2,'ttl':_0x55299a,'owner':_0x2470b0});if(!_0x4049a6['valid'])return{'success':![],'error':_0x4049a6['error']};const _0x4dd561=this[_0x2203ed(0x116)](),_0x25f1d1=Math[_0x2203ed(0x118)](_0x55299a,_0x4dd561),_0x4d9759=this['generateToken'](_0x2470b0),_0x56b922=[];try{const _0x1bd833=redisClient['getClient']();for(let _0x460d3b=0x0;_0x460d3b<_0x5e59b2[_0x2203ed(0x133)];_0x460d3b++){const {key:_0x2f2c5d,value:_0x49689b}=_0x5e59b2[_0x460d3b],_0xa42d40=this[_0x2203ed(0x112)](_0x677c91,_0x2f2c5d,_0x49689b),_0x5c691c=await _0x1bd833['set'](_0xa42d40,_0x4d9759,'EX',_0x25f1d1,'NX');if(_0x5c691c==='OK')_0x56b922[_0x2203ed(0x155)](_0xa42d40);else{await this[_0x2203ed(0x10c)](_0x1bd833,_0x56b922,_0x4d9759);const _0x4b5086=await this[_0x2203ed(0x13e)](_0x1bd833,_0xa42d40);return logger['warn']({'event':_0x40daee[_0x2203ed(0x134)],'resource':_0x677c91,'conflicting_key':{'key':_0x2f2c5d,'value':_0x49689b},'locked_by':_0x4b5086['owner'],'ttl_remaining':_0x4b5086[_0x2203ed(0x11f)],'attempted_by':_0x2470b0},'Resource\x20lock\x20conflict\x20on\x20'+_0x677c91+':'+_0x2f2c5d+':'+_0x49689b),{'success':![],'error':_0x40daee['fkNks'],'data':{'conflicting_key':{'key':_0x2f2c5d,'value':_0x49689b},'locked_by':_0x4b5086[_0x2203ed(0x11a)],'ttl_remaining':_0x4b5086['ttlRemaining']}};}}const _0x5e7824=_0x5e59b2[_0x2203ed(0x12e)](({key:_0x596014,value:_0x21bdb1})=>({'key':_0x596014,'value':_0x21bdb1,'lock_key':this['buildKey'](_0x677c91,_0x596014,_0x21bdb1)}));return logger['info']({'event':_0x40daee[_0x2203ed(0x149)],'resource':_0x677c91,'keys_count':_0x5e59b2[_0x2203ed(0x133)],'ttl':_0x25f1d1,'owner':_0x2470b0},'Resource\x20lock\x20acquired:\x20'+_0x677c91+'\x20('+_0x5e59b2['length']+'\x20keys,\x20TTL:\x20'+_0x25f1d1+'s)'),{'success':!![],'data':{'lock_token':_0x4d9759,'resource':_0x677c91,'locked_keys':_0x5e7824,'ttl':_0x25f1d1,'owner':_0x2470b0,'acquired_at':new Date()[_0x2203ed(0x144)]()}};}catch(_0x29c6ea){try{const _0x3e899f=redisClient['getClient']();await this['_rollbackKeys'](_0x3e899f,_0x56b922,_0x4d9759);}catch(_0x1bd626){logger[_0x2203ed(0x10f)]({'event':_0x40daee['CRzef'],'error':_0x1bd626[_0x2203ed(0x12a)]},_0x40daee[_0x2203ed(0x137)]);}return logger['error']({'event':_0x2203ed(0x12b),'resource':_0x677c91,'owner':_0x2470b0,'error':_0x29c6ea[_0x2203ed(0x12a)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x29c6ea['message']),{'success':![],'error':_0x2203ed(0x154)+_0x29c6ea['message']};}}async[a0_0x1a9911(0x128)]({resource:_0x294e30,lockKeys:_0x38cd07,lockToken:_0x2a5008}){const _0x443b32=a0_0x1a9911,_0x54428b={'bgutS':function(_0x43a249,_0x260031){return _0x43a249===_0x260031;}},_0x5b0ecb=this[_0x443b32(0x146)]({'resource':_0x294e30,'lockKeys':_0x38cd07,'lockToken':_0x2a5008});if(!_0x5b0ecb[_0x443b32(0x122)])return{'success':![],'error':_0x5b0ecb[_0x443b32(0x10f)]};try{const _0xb2d16c=redisClient[_0x443b32(0x13c)]();let _0x280a95=0x0;for(const {key:_0x6816a5,value:_0xfa6a57}of _0x38cd07){const _0x1c8e20=this[_0x443b32(0x112)](_0x294e30,_0x6816a5,_0xfa6a57),_0xc8b35b=await _0xb2d16c['eval'](RELEASE_LUA_SCRIPT,0x1,_0x1c8e20,_0x2a5008);_0x54428b[_0x443b32(0x14f)](_0xc8b35b,0x1)&&_0x280a95++;}return logger[_0x443b32(0x138)]({'event':'resource_lock_released','resource':_0x294e30,'released_keys':_0x280a95,'total_keys':_0x38cd07[_0x443b32(0x133)],'owner':this[_0x443b32(0x151)](_0x2a5008)},'Resource\x20lock\x20released:\x20'+_0x294e30+'\x20('+_0x280a95+'/'+_0x38cd07[_0x443b32(0x133)]+_0x443b32(0x153)),{'success':!![],'data':{'resource':_0x294e30,'released_keys':_0x280a95,'total_keys':_0x38cd07['length']}};}catch(_0x5edde9){return logger[_0x443b32(0x10f)]({'event':'resource_lock_release_error','resource':_0x294e30,'error':_0x5edde9[_0x443b32(0x12a)]},_0x443b32(0x111)+_0x5edde9['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x5edde9[_0x443b32(0x12a)]};}}async['getResourceLockStatus']({resource:_0x41bcc0,lockKeys:_0x520b75}){const _0x347a1a=a0_0x1a9911,_0x120980={'eKNqs':function(_0x41def4,_0x4d18bd){return _0x41def4>_0x4d18bd;},'oSWUb':_0x347a1a(0x12f)};if(!_0x41bcc0||!Array['isArray'](_0x520b75)||_0x520b75['length']===0x0)return{'success':![],'error':'resource\x20and\x20lock_keys\x20are\x20required'};try{const _0x39467d=redisClient[_0x347a1a(0x13c)](),_0x3806e3=[];for(const {key:_0x5327f3,value:_0x323921}of _0x520b75){const _0x537162=this['buildKey'](_0x41bcc0,_0x5327f3,_0x323921),[_0x4fa21e,_0x3596dd]=await Promise[_0x347a1a(0x12d)]([_0x39467d['get'](_0x537162),_0x39467d['ttl'](_0x537162)]),_0x5e7277=_0x4fa21e!==null;_0x3806e3[_0x347a1a(0x155)]({'key':_0x5327f3,'value':_0x323921,'locked':_0x5e7277,'owner':_0x5e7277?this[_0x347a1a(0x151)](_0x4fa21e):null,'ttl_remaining':_0x5e7277&&_0x120980['eKNqs'](_0x3596dd,0x0)?_0x3596dd:null});}return{'success':!![],'data':{'resource':_0x41bcc0,'keys':_0x3806e3}};}catch(_0xadc4f8){return logger['error']({'event':_0x120980[_0x347a1a(0x139)],'resource':_0x41bcc0,'error':_0xadc4f8['message']},'Resource\x20lock\x20status\x20error:\x20'+_0xadc4f8[_0x347a1a(0x12a)]),{'success':![],'error':_0x347a1a(0x13d)+_0xadc4f8[_0x347a1a(0x12a)]};}}async['_rollbackKeys'](_0x29e79e,_0x25ed29,_0x388405){const _0xd76a24=a0_0x1a9911,_0x4f76e4={'zrHTe':'resource_lock_rollback_key_error'};for(const _0x6081f4 of _0x25ed29){try{await _0x29e79e[_0xd76a24(0x150)](RELEASE_LUA_SCRIPT,0x1,_0x6081f4,_0x388405);}catch(_0x10a217){logger[_0xd76a24(0x10f)]({'event':_0x4f76e4[_0xd76a24(0x119)],'key':_0x6081f4,'error':_0x10a217['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x6081f4);}}}async['_getConflictInfo'](_0x472261,_0x57838d){const _0x24e072=a0_0x1a9911,_0x562c0b={'uUXcW':_0x24e072(0x121),'zvjPo':function(_0x3b0ece,_0xc5bf78){return _0x3b0ece>_0xc5bf78;}};try{const [_0x3ec23e,_0x4ceb59]=await Promise['all']([_0x472261[_0x24e072(0x14d)](_0x57838d),_0x472261['ttl'](_0x57838d)]);return{'owner':_0x3ec23e?this['extractOwner'](_0x3ec23e):_0x562c0b[_0x24e072(0x11e)],'ttlRemaining':_0x562c0b['zvjPo'](_0x4ceb59,0x0)?_0x4ceb59:null};}catch{return{'owner':_0x562c0b[_0x24e072(0x11e)],'ttlRemaining':null};}}[a0_0x1a9911(0x129)]({resource:_0x1a1584,lockKeys:_0x205e17,ttl:_0x54bc86,owner:_0xcc26c6}){const _0x3a4118=a0_0x1a9911,_0x33bc51={'TySVl':function(_0x34a060,_0x754d73){return _0x34a060!==_0x754d73;},'gwnOU':_0x3a4118(0x14e),'Vuhel':_0x3a4118(0x131),'NXVCO':function(_0x350d0d,_0x20f34e){return _0x350d0d>_0x20f34e;},'astTx':function(_0x1f242f,_0x5e83b0){return _0x1f242f!==_0x5e83b0;},'JnCoR':'number','xPmHL':_0x3a4118(0x11d),'ZRmDv':function(_0x3a7668,_0x27d951){return _0x3a7668!==_0x27d951;}};if(!_0x1a1584||_0x33bc51[_0x3a4118(0x152)](typeof _0x1a1584,_0x33bc51[_0x3a4118(0x117)]))return{'valid':![],'error':_0x33bc51['Vuhel']};if(!Array['isArray'](_0x205e17)||_0x205e17['length']===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};if(_0x33bc51['NXVCO'](_0x205e17['length'],0x64))return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x30e5dd=0x0;_0x30e5dd<_0x205e17[_0x3a4118(0x133)];_0x30e5dd++){const _0x148e10=_0x205e17[_0x30e5dd];if(!_0x148e10||!_0x148e10['key']||!_0x148e10['value'])return{'valid':![],'error':_0x3a4118(0x11c)+_0x30e5dd+_0x3a4118(0x132)};}if(!_0x54bc86||_0x33bc51['astTx'](typeof _0x54bc86,_0x33bc51['JnCoR'])||_0x54bc86<0x1)return{'valid':![],'error':_0x33bc51['xPmHL']};const _0xfb028f=this[_0x3a4118(0x116)]();if(_0x33bc51['NXVCO'](_0x54bc86,_0xfb028f))return{'valid':![],'error':_0x3a4118(0x124)+_0xfb028f+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0xcc26c6||_0x33bc51[_0x3a4118(0x13b)](typeof _0xcc26c6,'string'))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x1b8c15,lockKeys:_0x42d041,lockToken:_0x2342ad}){const _0x183582=a0_0x1a9911,_0x2a829a={'uMLbR':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','wDbXQ':function(_0x1f4cd0,_0x1711c8){return _0x1f4cd0===_0x1711c8;},'LXGPD':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','eNGLv':function(_0x17fd25,_0x3b4458){return _0x17fd25!==_0x3b4458;},'wFZXA':'string'};if(!_0x1b8c15||typeof _0x1b8c15!=='string')return{'valid':![],'error':_0x2a829a['uMLbR']};if(!Array['isArray'](_0x42d041)||_0x2a829a['wDbXQ'](_0x42d041['length'],0x0))return{'valid':![],'error':_0x2a829a['LXGPD']};for(let _0x46761c=0x0;_0x46761c<_0x42d041[_0x183582(0x133)];_0x46761c++){const _0x25344c=_0x42d041[_0x46761c];if(!_0x25344c||!_0x25344c['key']||!_0x25344c['value'])return{'valid':![],'error':_0x183582(0x11c)+_0x46761c+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x2342ad||_0x2a829a[_0x183582(0x114)](typeof _0x2342ad,_0x2a829a['wFZXA']))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
1
|
+
const a0_0x12bddc=a0_0x3922;(function(_0x1ef126,_0x5aca4b){const _0x4f5c7c=a0_0x3922,_0x5b0dff=_0x1ef126();while(!![]){try{const _0x2bf552=parseInt(_0x4f5c7c(0x1f4))/0x1*(parseInt(_0x4f5c7c(0x204))/0x2)+parseInt(_0x4f5c7c(0x1ee))/0x3*(-parseInt(_0x4f5c7c(0x20c))/0x4)+parseInt(_0x4f5c7c(0x1e8))/0x5+-parseInt(_0x4f5c7c(0x220))/0x6+parseInt(_0x4f5c7c(0x1f0))/0x7*(parseInt(_0x4f5c7c(0x22f))/0x8)+-parseInt(_0x4f5c7c(0x200))/0x9+parseInt(_0x4f5c7c(0x1fb))/0xa;if(_0x2bf552===_0x5aca4b)break;else _0x5b0dff['push'](_0x5b0dff['shift']());}catch(_0x3fea29){_0x5b0dff['push'](_0x5b0dff['shift']());}}}(a0_0x1418,0xb34a5));const redisClient=require(a0_0x12bddc(0x224)),{logger}=require(a0_0x12bddc(0x203)),{v4:uuidv4}=require('uuid');function a0_0x3922(_0x4323ca,_0x94985e){_0x4323ca=_0x4323ca-0x1e3;const _0x1418ce=a0_0x1418();let _0x39221b=_0x1418ce[_0x4323ca];if(a0_0x3922['dBMdWs']===undefined){var _0x4d1e6c=function(_0x2f4a37){const _0x2a4733='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dfbff='',_0x3b31aa='';for(let _0x2b6310=0x0,_0x198727,_0x447b23,_0x54e47e=0x0;_0x447b23=_0x2f4a37['charAt'](_0x54e47e++);~_0x447b23&&(_0x198727=_0x2b6310%0x4?_0x198727*0x40+_0x447b23:_0x447b23,_0x2b6310++%0x4)?_0x5dfbff+=String['fromCharCode'](0xff&_0x198727>>(-0x2*_0x2b6310&0x6)):0x0){_0x447b23=_0x2a4733['indexOf'](_0x447b23);}for(let _0x181534=0x0,_0x501f9c=_0x5dfbff['length'];_0x181534<_0x501f9c;_0x181534++){_0x3b31aa+='%'+('00'+_0x5dfbff['charCodeAt'](_0x181534)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b31aa);};a0_0x3922['MDiyXk']=_0x4d1e6c,a0_0x3922['XhRaNN']={},a0_0x3922['dBMdWs']=!![];}const _0xa7570e=_0x1418ce[0x0],_0x26b5f6=_0x4323ca+_0xa7570e,_0x2697df=a0_0x3922['XhRaNN'][_0x26b5f6];return!_0x2697df?(_0x39221b=a0_0x3922['MDiyXk'](_0x39221b),a0_0x3922['XhRaNN'][_0x26b5f6]=_0x39221b):_0x39221b=_0x2697df,_0x39221b;}function getPrefix(){const _0x280534=a0_0x12bddc,_0x45189e={'EiuwC':'default'},_0x4e73b9=process['env'][_0x280534(0x1fa)]||_0x45189e['EiuwC'];return _0x280534(0x1f8)+_0x4e73b9+_0x280534(0x1f2);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x12bddc(0x1ef);function a0_0x1418(){const _0x12afef=['nZi3mdq1ohL0zNvVqq','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','CMvSzwfZzvjLC291CMnLtg9JA3m','z2vUzxjHDgvuB2TLBG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AxnbCNjHEq','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','Dw5RBM93BG','Aw5MBW','v0LnBNa','x3jVBgXIywnRs2v5CW','DhrS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','te9ds19srvnpvvjdrv9nqvHFvfrm','z2Ljrvu','mteWmta0q3b2rMzq','BgvUz3rO','tg9JAYbHy3f1AxjLigzHAwXLzdOG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','EwnTCeW','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DMfSAwq','ndCZmZa5mgzfBwHQsq','AgDyzwq','C3rYAw5N','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','z2v0q2XPzw50','DMfSDwu','nZjMCeXnzvy','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','otfSzvbWzhy','A2v5','oNjSB2nRoG','wKfsBem','murlEvHUAW','rxHfCwW','igTLExmSifrutdOG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CMy6','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtm3mJu2odbnC0LsuK4','CwXxCNq','BwLU','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','BwvZC2fNzq','mta1nZqXotbqAxfoqwy','wKf1wha','z2v0twf4vfrmu2vJB25KCW','lI4VlI4VDxrPBhmVBg9Nz2vY','mti3mZCZmgXmA0XptG','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','zxjYB3i','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3Hkyvi','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','x3zHBgLKyxrLuMvSzwfZzuLUChv0','mJmYngnOEKDpEG','B3DUzxi','AurRDLe','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','D2fYBG','uuD6vNm','tNfVtfq','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','C2v0','yNvPBgrlzxK','BM93','zw52','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','z2v0','z3vIBgW','CxPqsgi','C3vIC3rYAw5N','x2DLDenVBMzSAwn0sw5MBW'];a0_0x1418=function(){return _0x12afef;};return a0_0x1418();}class ResourceLockManager{['buildKey'](_0x444467,_0x2bb47d,_0x501b5a){return''+getPrefix()+_0x444467+':'+_0x2bb47d+':'+_0x501b5a;}[a0_0x12bddc(0x223)](_0x5d348d){const _0x28ebef=a0_0x12bddc;return _0x5d348d+':'+uuidv4()+':'+Date[_0x28ebef(0x218)]();}['extractOwner'](_0x558d49){const _0x29eedd=a0_0x12bddc,_0x2cc300={'NqoLT':_0x29eedd(0x227)};if(!_0x558d49)return _0x2cc300[_0x29eedd(0x212)];const _0x2103d9=_0x558d49['indexOf'](':');return _0x2103d9>0x0?_0x558d49[_0x29eedd(0x21e)](0x0,_0x2103d9):_0x558d49;}[a0_0x12bddc(0x202)](){const _0x3397dc=a0_0x12bddc;return parseInt(process[_0x3397dc(0x219)][_0x3397dc(0x22d)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x563534,lockKeys:_0x23d73b,ttl:_0x14f31e,owner:_0xadefd6}){const _0x342d3d=a0_0x12bddc,_0x480efc={'WIMnp':function(_0xc7faa2,_0x1fb759){return _0xc7faa2<_0x1fb759;},'dheYi':'resource_lock_conflict','qlWrt':_0x342d3d(0x1e4),'qzPHb':'resource_lock_acquire_error'},_0x2d41ff=this[_0x342d3d(0x232)]({'resource':_0x563534,'lockKeys':_0x23d73b,'ttl':_0x14f31e,'owner':_0xadefd6});if(!_0x2d41ff['valid'])return{'success':![],'error':_0x2d41ff[_0x342d3d(0x206)]};const _0x2864d4=this[_0x342d3d(0x202)](),_0x111c84=Math[_0x342d3d(0x1fd)](_0x14f31e,_0x2864d4),_0x5ab034=this['generateToken'](_0xadefd6),_0x5a03da=[];try{const _0x521c05=redisClient['getClient']();for(let _0xb3daf5=0x0;_0x480efc[_0x342d3d(0x229)](_0xb3daf5,_0x23d73b['length']);_0xb3daf5++){const {key:_0x177323,value:_0x5eefea}=_0x23d73b[_0xb3daf5],_0x1c0a01=this['buildKey'](_0x563534,_0x177323,_0x5eefea),_0x177be8=await _0x521c05[_0x342d3d(0x216)](_0x1c0a01,_0x5ab034,'EX',_0x111c84,'NX');if(_0x177be8==='OK')_0x5a03da['push'](_0x1c0a01);else{await this[_0x342d3d(0x22a)](_0x521c05,_0x5a03da,_0x5ab034);const _0x54ac03=await this[_0x342d3d(0x21f)](_0x521c05,_0x1c0a01);return logger[_0x342d3d(0x210)]({'event':_0x480efc['dheYi'],'resource':_0x563534,'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03[_0x342d3d(0x20d)],'ttl_remaining':_0x54ac03[_0x342d3d(0x214)],'attempted_by':_0xadefd6},_0x342d3d(0x1eb)+_0x563534+':'+_0x177323+':'+_0x5eefea),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03['owner'],'ttl_remaining':_0x54ac03['ttlRemaining']}};}}const _0x558afd=_0x23d73b['map'](({key:_0x380f64,value:_0x317237})=>({'key':_0x380f64,'value':_0x317237,'lock_key':this[_0x342d3d(0x217)](_0x563534,_0x380f64,_0x317237)}));return logger[_0x342d3d(0x228)]({'event':_0x342d3d(0x21a),'resource':_0x563534,'keys_count':_0x23d73b[_0x342d3d(0x230)],'ttl':_0x111c84,'owner':_0xadefd6},_0x342d3d(0x1fe)+_0x563534+'\x20('+_0x23d73b['length']+_0x342d3d(0x1f6)+_0x111c84+'s)'),{'success':!![],'data':{'lock_token':_0x5ab034,'resource':_0x563534,'locked_keys':_0x558afd,'ttl':_0x111c84,'owner':_0xadefd6,'acquired_at':new Date()['toISOString']()}};}catch(_0x85b779){try{const _0x2cfc74=redisClient['getClient']();await this['_rollbackKeys'](_0x2cfc74,_0x5a03da,_0x5ab034);}catch(_0x1f9f93){logger['error']({'event':'resource_lock_rollback_error','error':_0x1f9f93[_0x342d3d(0x1ff)]},_0x480efc[_0x342d3d(0x1fc)]);}return logger['error']({'event':_0x480efc[_0x342d3d(0x21d)],'resource':_0x563534,'owner':_0xadefd6,'error':_0x85b779[_0x342d3d(0x1ff)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x85b779[_0x342d3d(0x1ff)]),{'success':![],'error':_0x342d3d(0x231)+_0x85b779['message']};}}async[a0_0x12bddc(0x222)]({resource:_0x527e85,lockKeys:_0x393c74,lockToken:_0x6cb5a1}){const _0x3a54de=a0_0x12bddc,_0x271652={'hgXed':function(_0x3a8df3,_0x350b84){return _0x3a8df3===_0x350b84;}},_0x2d2031=this['_validateReleaseInput']({'resource':_0x527e85,'lockKeys':_0x393c74,'lockToken':_0x6cb5a1});if(!_0x2d2031[_0x3a54de(0x1e7)])return{'success':![],'error':_0x2d2031['error']};try{const _0x36f78f=redisClient[_0x3a54de(0x1ec)]();let _0x22192b=0x0;for(const {key:_0x2ea50b,value:_0x3096e8}of _0x393c74){const _0x4bbd61=this[_0x3a54de(0x217)](_0x527e85,_0x2ea50b,_0x3096e8),_0x4e3abd=await _0x36f78f['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4bbd61,_0x6cb5a1);_0x271652[_0x3a54de(0x1e9)](_0x4e3abd,0x1)&&_0x22192b++;}return logger['info']({'event':_0x3a54de(0x215),'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74['length'],'owner':this['extractOwner'](_0x6cb5a1)},_0x3a54de(0x22c)+_0x527e85+'\x20('+_0x22192b+'/'+_0x393c74['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74[_0x3a54de(0x230)]}};}catch(_0xcbf5b6){return logger['error']({'event':'resource_lock_release_error','resource':_0x527e85,'error':_0xcbf5b6['message']},_0x3a54de(0x213)+_0xcbf5b6[_0x3a54de(0x1ff)]),{'success':![],'error':_0x3a54de(0x1f7)+_0xcbf5b6[_0x3a54de(0x1ff)]};}}async[a0_0x12bddc(0x1f9)]({resource:_0x4f1f51,lockKeys:_0x53c581}){const _0xfe673e=a0_0x12bddc,_0x3f3feb={'QGzVs':function(_0x399b4a,_0x1adc3a){return _0x399b4a===_0x1adc3a;},'mTHtl':function(_0x26a4d8,_0x561abc){return _0x26a4d8!==_0x561abc;},'ZAuXp':_0xfe673e(0x205)};if(!_0x4f1f51||!Array['isArray'](_0x53c581)||_0x3f3feb[_0xfe673e(0x211)](_0x53c581['length'],0x0))return{'success':![],'error':_0xfe673e(0x20f)};try{const _0x147fff=redisClient[_0xfe673e(0x1ec)](),_0x8b4c5f=[];for(const {key:_0x20ba0c,value:_0x390b33}of _0x53c581){const _0x732d57=this[_0xfe673e(0x217)](_0x4f1f51,_0x20ba0c,_0x390b33),[_0x20809e,_0x63e83f]=await Promise['all']([_0x147fff['get'](_0x732d57),_0x147fff['ttl'](_0x732d57)]),_0x7d7658=_0x3f3feb['mTHtl'](_0x20809e,null);_0x8b4c5f['push']({'key':_0x20ba0c,'value':_0x390b33,'locked':_0x7d7658,'owner':_0x7d7658?this['extractOwner'](_0x20809e):null,'ttl_remaining':_0x7d7658&&_0x63e83f>0x0?_0x63e83f:null});}return{'success':!![],'data':{'resource':_0x4f1f51,'keys':_0x8b4c5f}};}catch(_0x667486){return logger['error']({'event':_0x3f3feb[_0xfe673e(0x201)],'resource':_0x4f1f51,'error':_0x667486['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x667486['message']),{'success':![],'error':_0xfe673e(0x1e6)+_0x667486['message']};}}async[a0_0x12bddc(0x22a)](_0xd981cc,_0x49472c,_0x49422d){const _0x211cb8=a0_0x12bddc,_0x4c7afe={'giIEU':'resource_lock_rollback_key_error'};for(const _0x5b833a of _0x49472c){try{await _0xd981cc['eval'](RELEASE_LUA_SCRIPT,0x1,_0x5b833a,_0x49422d);}catch(_0x3f6830){logger['error']({'event':_0x4c7afe[_0x211cb8(0x22e)],'key':_0x5b833a,'error':_0x3f6830[_0x211cb8(0x1ff)]},_0x211cb8(0x221)+_0x5b833a);}}}async['_getConflictInfo'](_0x2c8fcf,_0x2e80c8){const _0x3899b9=a0_0x12bddc,_0x2140d4={'HVkeB':'unknown'};try{const [_0x6c75d0,_0x395b6f]=await Promise['all']([_0x2c8fcf[_0x3899b9(0x21b)](_0x2e80c8),_0x2c8fcf[_0x3899b9(0x22b)](_0x2e80c8)]);return{'owner':_0x6c75d0?this['extractOwner'](_0x6c75d0):_0x2140d4['HVkeB'],'ttlRemaining':_0x395b6f>0x0?_0x395b6f:null};}catch{return{'owner':_0x2140d4['HVkeB'],'ttlRemaining':null};}}[a0_0x12bddc(0x232)]({resource:_0x559e9f,lockKeys:_0xf0dd99,ttl:_0x249b3a,owner:_0x302aab}){const _0x24690c=a0_0x12bddc,_0x5708fb={'ycmpL':function(_0xe48d6,_0x3c3435){return _0xe48d6!==_0x3c3435;},'HYDzr':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','WGutt':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','gubll':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','ExEql':function(_0x573ed1,_0x1ac3da){return _0x573ed1<_0x1ac3da;},'GgUFf':function(_0x4dcd4d,_0x103638){return _0x4dcd4d>_0x103638;},'iDkvQ':_0x24690c(0x1ea)};if(!_0x559e9f||_0x5708fb[_0x24690c(0x1e3)](typeof _0x559e9f,_0x24690c(0x1ea)))return{'valid':![],'error':_0x5708fb['HYDzr']};if(!Array[_0x24690c(0x225)](_0xf0dd99)||_0xf0dd99[_0x24690c(0x230)]===0x0)return{'valid':![],'error':_0x5708fb['WGutt']};if(_0xf0dd99['length']>0x64)return{'valid':![],'error':_0x5708fb[_0x24690c(0x21c)]};for(let _0x480437=0x0;_0x480437<_0xf0dd99['length'];_0x480437++){const _0x1a41cd=_0xf0dd99[_0x480437];if(!_0x1a41cd||!_0x1a41cd[_0x24690c(0x1f1)]||!_0x1a41cd['value'])return{'valid':![],'error':'lock_keys['+_0x480437+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x249b3a||typeof _0x249b3a!=='number'||_0x5708fb[_0x24690c(0x1f5)](_0x249b3a,0x1))return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x208c8c=this[_0x24690c(0x202)]();if(_0x5708fb['GgUFf'](_0x249b3a,_0x208c8c))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x208c8c+_0x24690c(0x20a)};if(!_0x302aab||_0x5708fb['ycmpL'](typeof _0x302aab,_0x5708fb[_0x24690c(0x20e)]))return{'valid':![],'error':_0x24690c(0x208)};return{'valid':!![]};}[a0_0x12bddc(0x20b)]({resource:_0x5653a3,lockKeys:_0x466d83,lockToken:_0xcf3a82}){const _0x56c43a=a0_0x12bddc,_0x11f258={'oxJaR':function(_0x48f6b7,_0x2c8e3a){return _0x48f6b7!==_0x2c8e3a;},'ougJr':_0x56c43a(0x1ea),'ZARlC':function(_0x431af3,_0x3e3b3f){return _0x431af3!==_0x3e3b3f;}};if(!_0x5653a3||_0x11f258[_0x56c43a(0x209)](typeof _0x5653a3,_0x11f258['ougJr']))return{'valid':![],'error':_0x56c43a(0x207)};if(!Array[_0x56c43a(0x225)](_0x466d83)||_0x466d83['length']===0x0)return{'valid':![],'error':_0x56c43a(0x226)};for(let _0x441b4d=0x0;_0x441b4d<_0x466d83[_0x56c43a(0x230)];_0x441b4d++){const _0x442568=_0x466d83[_0x441b4d];if(!_0x442568||!_0x442568['key']||!_0x442568[_0x56c43a(0x1ed)])return{'valid':![],'error':'lock_keys['+_0x441b4d+_0x56c43a(0x1e5)};}if(!_0xcf3a82||_0x11f258[_0x56c43a(0x1f3)](typeof _0xcf3a82,_0x56c43a(0x1ea)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x35ec(_0x21d714,_0x119015){_0x21d714=_0x21d714-0x112;const _0x29908c=a0_0x2990();let _0x35ecd4=_0x29908c[_0x21d714];if(a0_0x35ec['ygpEuG']===undefined){var _0x4578c4=function(_0x2d1637){const _0x22d6f1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e5458='',_0xde9c2='';for(let _0x56dea9=0x0,_0x314889,_0x3dce15,_0x159535=0x0;_0x3dce15=_0x2d1637['charAt'](_0x159535++);~_0x3dce15&&(_0x314889=_0x56dea9%0x4?_0x314889*0x40+_0x3dce15:_0x3dce15,_0x56dea9++%0x4)?_0x4e5458+=String['fromCharCode'](0xff&_0x314889>>(-0x2*_0x56dea9&0x6)):0x0){_0x3dce15=_0x22d6f1['indexOf'](_0x3dce15);}for(let _0xa80c6d=0x0,_0x92614c=_0x4e5458['length'];_0xa80c6d<_0x92614c;_0xa80c6d++){_0xde9c2+='%'+('00'+_0x4e5458['charCodeAt'](_0xa80c6d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xde9c2);};a0_0x35ec['XAszuY']=_0x4578c4,a0_0x35ec['tFijsT']={},a0_0x35ec['ygpEuG']=!![];}const _0x4305ee=_0x29908c[0x0],_0x2593d0=_0x21d714+_0x4305ee,_0x65e292=a0_0x35ec['tFijsT'][_0x2593d0];return!_0x65e292?(_0x35ecd4=a0_0x35ec['XAszuY'](_0x35ecd4),a0_0x35ec['tFijsT'][_0x2593d0]=_0x35ecd4):_0x35ecd4=_0x65e292,_0x35ecd4;}const a0_0x35e89c=a0_0x35ec;(function(_0x3f987d,_0x427583){const _0x4866a2=a0_0x35ec,_0x1b2fc5=_0x3f987d();while(!![]){try{const _0x10effd=-parseInt(_0x4866a2(0x138))/0x1+-parseInt(_0x4866a2(0x183))/0x2+parseInt(_0x4866a2(0x114))/0x3*(parseInt(_0x4866a2(0x11f))/0x4)+parseInt(_0x4866a2(0x161))/0x5+-parseInt(_0x4866a2(0x154))/0x6*(parseInt(_0x4866a2(0x16f))/0x7)+parseInt(_0x4866a2(0x13a))/0x8*(-parseInt(_0x4866a2(0x186))/0x9)+parseInt(_0x4866a2(0x14f))/0xa*(parseInt(_0x4866a2(0x143))/0xb);if(_0x10effd===_0x427583)break;else _0x1b2fc5['push'](_0x1b2fc5['shift']());}catch(_0x304a11){_0x1b2fc5['push'](_0x1b2fc5['shift']());}}}(a0_0x2990,0x68fb5));const {Kafka,logLevel}=require(a0_0x35e89c(0x172)),{v7:uuidv7}=require(a0_0x35e89c(0x11c));class KafkaConsumerService{constructor(){const _0x18efc6=a0_0x35e89c;this[_0x18efc6(0x145)]=null,this[_0x18efc6(0x115)]=null,this[_0x18efc6(0x16b)]=![],this[_0x18efc6(0x122)]=![],this['isRunning']=![],this[_0x18efc6(0x184)]=![],this[_0x18efc6(0x14a)]=null,this['subscribedTopics']=[],this[_0x18efc6(0x135)]=null,this['messageHandler']=null,this[_0x18efc6(0x16c)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x35e89c(0x12e)](){const _0x407cad=a0_0x35e89c,_0x326b83={'TUboI':'default','uEFOO':'3000','qEfci':'25000','MiUyi':'1048576','EULNR':'true','MsiDM':function(_0x36c4da,_0x5478f5){return _0x36c4da(_0x5478f5);},'rQFxq':_0x407cad(0x14b)};return{'enabled':process[_0x407cad(0x139)][_0x407cad(0x15f)]==='true','brokers':(process['env']['KAFKA_BROKERS']||_0x407cad(0x133))[_0x407cad(0x13b)](','),'clientId':process[_0x407cad(0x139)]['KAFKA_CLIENT_ID']||_0x407cad(0x126)+(process[_0x407cad(0x139)][_0x407cad(0x17e)]||_0x326b83['TUboI'])+_0x407cad(0x140),'connectionTimeout':parseInt(process[_0x407cad(0x139)][_0x407cad(0x11a)]||_0x326b83[_0x407cad(0x15c)]),'requestTimeout':parseInt(process['env'][_0x407cad(0x12a)]||_0x326b83[_0x407cad(0x179)]),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0x407cad(0x14b)),'heartbeatInterval':parseInt(process[_0x407cad(0x139)][_0x407cad(0x120)]||_0x326b83[_0x407cad(0x15c)]),'maxBytesPerPartition':parseInt(process[_0x407cad(0x139)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x326b83[_0x407cad(0x17b)]),'autoCommit':process['env'][_0x407cad(0x136)]===_0x326b83['EULNR'],'autoCommitInterval':parseInt(process[_0x407cad(0x139)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x407cad(0x158)),'retryAttempts':parseInt(process['env'][_0x407cad(0x144)]||'3'),'retryDelay':_0x326b83['MsiDM'](parseInt,process['env']['KAFKA_RETRY_DELAY']||_0x407cad(0x12c)),'retryMaxDelay':parseInt(process[_0x407cad(0x139)]['KAFKA_RETRY_MAX_DELAY']||_0x326b83['rQFxq']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x407cad(0x156)};}['getLogLevel'](_0x1352b1){const _0x8d0b88=a0_0x35e89c,_0x45eb7c={'nothing':logLevel[_0x8d0b88(0x121)],'error':logLevel[_0x8d0b88(0x151)],'warn':logLevel[_0x8d0b88(0x181)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x45eb7c[_0x1352b1[_0x8d0b88(0x123)]()]||logLevel[_0x8d0b88(0x181)];}async['initialize'](_0x49e655={}){const _0x1b9221=a0_0x35e89c,_0x5a23f6=this['getConfig']();if(!_0x5a23f6[_0x1b9221(0x113)])return console['log'](_0x1b9221(0x12d)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x283f52=>{const _0x107bfa=_0x1b9221;try{let _0x1f338b=undefined;process['env'][_0x107bfa(0x173)]===_0x107bfa(0x146)&&(_0x1f338b=!![]);let _0x3f0836=undefined;process[_0x107bfa(0x139)][_0x107bfa(0x175)]&&(_0x3f0836={'mechanism':process[_0x107bfa(0x139)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x107bfa(0x139)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x49e655[_0x107bfa(0x16a)]||_0x5a23f6['clientId'],'brokers':_0x5a23f6['brokers'],'connectionTimeout':_0x5a23f6['connectionTimeout'],'requestTimeout':_0x5a23f6[_0x107bfa(0x185)],'logLevel':this['getLogLevel'](_0x5a23f6['logLevel']),'ssl':_0x1f338b,'sasl':_0x3f0836,'retry':{'initialRetryTime':_0x5a23f6['retryDelay'],'retries':_0x5a23f6[_0x107bfa(0x182)],'maxRetryTime':_0x5a23f6['retryMaxDelay']}}),this[_0x107bfa(0x135)]=_0x49e655['groupId']||'restforge-'+(process[_0x107bfa(0x139)][_0x107bfa(0x17e)]||_0x107bfa(0x129))+'-consumer-group',this[_0x107bfa(0x115)]=this['kafka'][_0x107bfa(0x115)]({'groupId':this[_0x107bfa(0x135)],'sessionTimeout':_0x5a23f6[_0x107bfa(0x11b)],'heartbeatInterval':_0x5a23f6['heartbeatInterval'],'maxBytesPerPartition':_0x5a23f6[_0x107bfa(0x159)],'allowAutoTopicCreation':![]}),await this[_0x107bfa(0x115)][_0x107bfa(0x16e)](),this[_0x107bfa(0x16b)]=!![],console[_0x107bfa(0x187)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x5a23f6['brokers'][_0x107bfa(0x157)](',\x20')+_0x107bfa(0x167)+this[_0x107bfa(0x135)]+')'),this[_0x107bfa(0x153)](),_0x283f52(!![]);}catch(_0x115f77){console['error'](_0x107bfa(0x164)+_0x115f77['message']),this['isConnected']=![],_0x283f52(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x493f1b=a0_0x35e89c,_0xc9f513={'lypQw':_0x493f1b(0x155),'IPIef':'consumer.crash','hiYFE':'consumer.rebalancing'};if(!this['consumer'])return;this[_0x493f1b(0x115)]['on'](_0x493f1b(0x15e),()=>{const _0x513ad9=_0x493f1b;console[_0x513ad9(0x187)](_0xc9f513[_0x513ad9(0x17d)]),this[_0x513ad9(0x16b)]=![],this['isRunning']=![];}),this[_0x493f1b(0x115)]['on']('consumer.stop',()=>{const _0x34177f=_0x493f1b;console[_0x34177f(0x187)](_0x34177f(0x150)),this['isRunning']=![];}),this[_0x493f1b(0x115)]['on'](_0xc9f513[_0x493f1b(0x148)],_0x259679=>{console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x259679['payload']['error']['message']),this['isRunning']=![];}),this[_0x493f1b(0x115)]['on'](_0xc9f513['hiYFE'],()=>{const _0x37fd4f=_0x493f1b;console[_0x37fd4f(0x187)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x35e89c(0x147)](_0x4d5f1d,_0x4665bb=![]){const _0x19787a=a0_0x35e89c,_0x535a10={'SITHw':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x19787a(0x16b)])return console['error'](_0x535a10[_0x19787a(0x11e)]),![];try{const _0x68db71=Array[_0x19787a(0x125)](_0x4d5f1d)?_0x4d5f1d:[_0x4d5f1d];for(const _0x19f798 of _0x68db71){await this[_0x19787a(0x115)]['subscribe']({'topic':_0x19f798,'fromBeginning':_0x4665bb}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x19f798+_0x19787a(0x13f)+_0x4665bb+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x68db71])],!![];}catch(_0x30416d){return console[_0x19787a(0x14d)](_0x19787a(0x112)+_0x30416d['message']),![];}}async[a0_0x35e89c(0x134)](_0x296639,_0x31a3a3={}){const _0x515d7d=a0_0x35e89c,_0x210e4e={'jKxXI':function(_0x308a81){return _0x308a81();},'lOriS':function(_0x5ec3c0,_0x58095f){return _0x5ec3c0!==_0x58095f;}};if(!this[_0x515d7d(0x16b)])return console[_0x515d7d(0x14d)](_0x515d7d(0x119)),![];if(this[_0x515d7d(0x177)])return console['log'](_0x515d7d(0x168)),!![];const _0x4c5266=this[_0x515d7d(0x12e)]();this[_0x515d7d(0x174)]=_0x296639;try{return this[_0x515d7d(0x16c)]['startTime']=new Date(),await this[_0x515d7d(0x115)]['run']({'autoCommit':_0x210e4e['lOriS'](_0x31a3a3[_0x515d7d(0x117)],undefined)?_0x31a3a3[_0x515d7d(0x117)]:_0x4c5266['autoCommit'],'autoCommitInterval':_0x4c5266['autoCommitInterval'],'eachMessage':async({topic:_0x560e00,partition:_0x5f2dcd,message:_0x3074aa,heartbeat:_0x48c690})=>{const _0x1a7ff0=_0x515d7d,_0x387812=Date[_0x1a7ff0(0x15d)]();this[_0x1a7ff0(0x16c)]['messagesReceived']++,this[_0x1a7ff0(0x16c)][_0x1a7ff0(0x160)]=new Date();try{const _0x391dde=_0x3074aa[_0x1a7ff0(0x152)]?_0x3074aa['value']['toString']():null;let _0x416141=null;try{_0x416141=_0x391dde?JSON[_0x1a7ff0(0x12b)](_0x391dde):null;}catch(_0x2e8791){_0x416141=_0x391dde;}const _0x897e80={'topic':_0x560e00,'partition':_0x5f2dcd,'offset':_0x3074aa['offset'],'key':_0x3074aa[_0x1a7ff0(0x14e)]?_0x3074aa['key']['toString']():null,'headers':this[_0x1a7ff0(0x16d)](_0x3074aa['headers']),'timestamp':_0x3074aa['timestamp'],'value':_0x416141,'raw':_0x391dde};this[_0x1a7ff0(0x174)]&&await this['messageHandler'](_0x897e80);!_0x4c5266[_0x1a7ff0(0x117)]&&await this['consumer']['commitOffsets']([{'topic':_0x560e00,'partition':_0x5f2dcd,'offset':(parseInt(_0x3074aa[_0x1a7ff0(0x13c)])+0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x2856b4=Date[_0x1a7ff0(0x15d)]()-_0x387812;this['metrics']['processingTimes']['push'](_0x2856b4),this[_0x1a7ff0(0x16c)]['processingTimes'][_0x1a7ff0(0x15a)]>0x64&&this['metrics'][_0x1a7ff0(0x171)][_0x1a7ff0(0x17f)](),await _0x210e4e[_0x1a7ff0(0x178)](_0x48c690);}catch(_0x3e3a6b){this[_0x1a7ff0(0x16c)]['messagesFailed']++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x3e3a6b[_0x1a7ff0(0x131)]);throw _0x3e3a6b;}}}),this['isRunning']=!![],console[_0x515d7d(0x187)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x515d7d(0x157)](',\x20')),!![];}catch(_0x790d1f){return console[_0x515d7d(0x14d)](_0x515d7d(0x162)+_0x790d1f[_0x515d7d(0x131)]),![];}}['parseHeaders'](_0xf581b5){if(!_0xf581b5)return{};const _0x3dbc75={};for(const [_0x29236b,_0x571356]of Object['entries'](_0xf581b5)){_0x3dbc75[_0x29236b]=_0x571356?_0x571356['toString']():null;}return _0x3dbc75;}async['pause'](){const _0xc7b94b=a0_0x35e89c,_0x4c85ed={'hbHfw':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','GegBO':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this[_0xc7b94b(0x177)])return console['log'](_0x4c85ed[_0xc7b94b(0x176)]),![];if(this['isPaused'])return console[_0xc7b94b(0x187)](_0x4c85ed['GegBO']),!![];try{const _0x2df585=this[_0xc7b94b(0x169)]['map'](_0x374af8=>({'topic':_0x374af8}));return this['consumer']['pause'](_0x2df585),this['isPaused']=!![],console[_0xc7b94b(0x187)](_0xc7b94b(0x13e)),!![];}catch(_0x1f53d1){return console['error'](_0xc7b94b(0x149)+_0x1f53d1['message']),![];}}async['resume'](){const _0x5e8dc6=a0_0x35e89c,_0x1abf8c={'nVwaJ':_0x5e8dc6(0x127),'arFjY':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x5e8dc6(0x187)](_0x1abf8c['nVwaJ']),![];if(!this[_0x5e8dc6(0x184)])return console['log'](_0x1abf8c[_0x5e8dc6(0x124)]),!![];try{const _0x25aae9=this[_0x5e8dc6(0x169)]['map'](_0x350a97=>({'topic':_0x350a97}));return this['consumer']['resume'](_0x25aae9),this[_0x5e8dc6(0x184)]=![],console[_0x5e8dc6(0x187)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x38d6d1){return console['error'](_0x5e8dc6(0x180)+_0x38d6d1[_0x5e8dc6(0x131)]),![];}}async['stop'](){const _0x286789=a0_0x35e89c,_0x2509fe={'YfgxK':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x286789(0x16b)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{return this[_0x286789(0x115)]&&(await this[_0x286789(0x115)][_0x286789(0x14c)](),await this[_0x286789(0x115)][_0x286789(0x163)]()),this['isConnected']=![],this['isRunning']=![],this[_0x286789(0x184)]=![],console['log'](_0x2509fe[_0x286789(0x142)]),!![];}catch(_0x139722){return console[_0x286789(0x14d)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x139722['message']),![];}}async['seekToOffset'](_0x47c10d,_0x456ebf,_0x359fbd){const _0x194d7d=a0_0x35e89c,_0x1d5dae={'mwlIO':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x194d7d(0x16b)])return console['error'](_0x1d5dae['mwlIO']),![];try{return this['consumer'][_0x194d7d(0x116)]({'topic':_0x47c10d,'partition':_0x456ebf,'offset':_0x359fbd['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x359fbd+'\x20on\x20'+_0x47c10d+':'+_0x456ebf),!![];}catch(_0x1a65e1){return console[_0x194d7d(0x14d)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x1a65e1['message']),![];}}['getStatus'](){const _0x1f863e=a0_0x35e89c,_0x3d0674=this[_0x1f863e(0x12e)]();return{'enabled':_0x3d0674['enabled'],'connected':this[_0x1f863e(0x16b)],'running':this[_0x1f863e(0x177)],'paused':this['isPaused'],'brokers':_0x3d0674['brokers'],'clientId':_0x3d0674[_0x1f863e(0x16a)],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x35e89c(0x166)](){const _0x1de6ea=a0_0x35e89c,_0x14bd3f={'ThsuD':function(_0x3cc867,_0x58192e){return _0x3cc867/_0x58192e;},'otSJQ':function(_0x5547a3,_0x1c7c34){return _0x5547a3>_0x1c7c34;},'HyUWF':function(_0x21913e,_0x3827ab){return _0x21913e-_0x3827ab;},'lOrbq':function(_0x19c572,_0x45c8f7){return _0x19c572+_0x45c8f7;}},_0x3a0189=this[_0x1de6ea(0x16c)]['processingTimes']['length']>0x0?_0x14bd3f['ThsuD'](this[_0x1de6ea(0x16c)]['processingTimes'][_0x1de6ea(0x17c)]((_0xe88845,_0x519459)=>_0xe88845+_0x519459,0x0),this[_0x1de6ea(0x16c)]['processingTimes']['length']):0x0,_0xb6214f=_0x14bd3f[_0x1de6ea(0x15b)](this[_0x1de6ea(0x16c)]['processingTimes']['length'],0x0)?Math['min'](...this[_0x1de6ea(0x16c)][_0x1de6ea(0x171)]):0x0,_0x4ff96b=_0x14bd3f[_0x1de6ea(0x15b)](this['metrics'][_0x1de6ea(0x171)]['length'],0x0)?Math[_0x1de6ea(0x141)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x1de6ea(0x16c)]['messagesFailed'],'successRate':this[_0x1de6ea(0x16c)]['messagesReceived']>0x0?(this[_0x1de6ea(0x16c)][_0x1de6ea(0x13d)]/this['metrics'][_0x1de6ea(0x17a)]*0x64)[_0x1de6ea(0x11d)](0x2)+'%':'0%','lastMessageTime':this[_0x1de6ea(0x16c)]['lastMessageTime'],'startTime':this[_0x1de6ea(0x16c)][_0x1de6ea(0x128)],'uptime':this['metrics'][_0x1de6ea(0x128)]?Math['floor'](_0x14bd3f[_0x1de6ea(0x137)](_0x14bd3f[_0x1de6ea(0x130)](Date[_0x1de6ea(0x15d)](),this['metrics']['startTime'][_0x1de6ea(0x132)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x14bd3f[_0x1de6ea(0x165)](Math['round'](_0x3a0189),'ms'),'min':_0xb6214f+'ms','max':_0x4ff96b+'ms'}};}[a0_0x35e89c(0x118)](){const _0x1e33cf=a0_0x35e89c,_0x118366={'egPVp':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1e33cf(0x177)]?new Date():null,'processingTimes':[]},console['log'](_0x118366[_0x1e33cf(0x12f)]);}async[a0_0x35e89c(0x170)](){const _0x39e2ec=a0_0x35e89c;await this[_0x39e2ec(0x14c)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x2990(){const _0x306957=['AKT4weK','CuvMy2K','BwvZC2fNzxnszwnLAxzLza','twLvEwK','CMvKDwnL','BhLWuxC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C2HPzNq','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','v0fstG','CMv0CNLbDhrLBxb0CW','nZm5nJHWrwXtA1e','AxnqyxvZzwq','CMvXDwvZDfrPBwvVDxq','mJqYndzuzfjiCg8','Bg9N','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','zw5HyMXLza','mJuZndC5DLvqtxvm','y29UC3vTzxi','C2vLAW','yxv0B0nVBw1PDa','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFq09otKvdveLptL9usu1ft1vu','C2vZC2LVBLrPBwvVDxq','DxvPza','Dg9gAxHLza','u0LushC','nhnRugLYqW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','tK9useLorW','AxnjBML0AwfSAxPPBMC','Dg9mB3DLCKnHC2u','yxjgALK','AxnbCNjHEq','CMvZDgzVCMDLlq','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','C3rHCNruAw1L','zgvMyxvSDa','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CgfYC2u','mtaWma','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','z2v0q29UzMLN','zwDqvNa','shLvv0y','BwvZC2fNzq','z2v0vgLTzq','Bg9JywXOB3n0oJKWoti','C3rHCNrdB25ZDw1PBMC','z3jVDxbjza','s0fgs0fFqvvut19dt01nsvq','vgHZDuq','mZy4otaWC29zs29b','zw52','mtKYogDhv2HLBa','C3bSAxq','B2zMC2v0','BwvZC2fNzxnqCM9JzxnZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','icHMCM9TqMvNAw5UAw5NoIa','lwnVBNn1BwvY','Bwf4','wwzNEeS','mtfTC05cD1O','s0fgs0fFuKvuuLLFqvruru1qvfm','A2fMA2e','Dhj1zq','C3vIC2nYAwjL','svbjzwy','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','y29UBMvJDgLVBLbYB21PC2u','mZaWmda','C3rVCa','zxjYB3i','A2v5','mJe2nJGWndbnq0rptuW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','rvjst1i','DMfSDwu','C2v0DxbfDMvUDeHHBMrSzxjZ','mtC0EeDfrffc','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','D2fYBG','AM9PBG','ntaWma','Bwf4qNL0zxnqzxjqyxj0AxrPB24','BgvUz3rO','B3rtsLe','Duvgt08','BM93','y29UC3vTzxiUzgLZy29UBMvJDa','s0fgs0fFru5bqKXfra','BgfZDe1LC3nHz2vuAw1L','mZm4nde1vhbduxzs','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','zgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','Be9YyNe','z2v0twv0CMLJCW','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C3vIC2nYAwjLzfrVCgLJCW','y2XPzw50swq','AxndB25Uzwn0zwq','Bwv0CMLJCW','CgfYC2vizwfKzxjZ','y29UBMvJDa','mJaXmJCXAM5puu5l','y2XVC2u','ChjVy2vZC2LUz1rPBwvZ','A2fMA2fQCW','s0fgs0fFu1nm','BwvZC2fNzuHHBMrSzxi','s0fgs0fFu0fttf9nruniqu5ju00','AgjizNC','AxnsDw5UAw5N'];a0_0x2990=function(){return _0x306957;};return a0_0x2990();}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x53e109=a0_0x25a3;function a0_0x1651(){const _0x21963c=['mZaWmda','rK1vB2m','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','y2XVC2u','zgLZy29UBMvJDa','BgvUz3rO','zw52','v3n3Exa','CMvXDwvZDfrPBwvVDxq','y29UC3vTzxiUy3jHC2G','BwvZC2fNzq','Bwv0CMLJCW','icHNCM91CeLKoIa','zgvMyxvSDa','DwrwEfe','z2v0twv0CMLJCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','icHMCM9TqMvNAw5UAw5NoIa','BwLU','Bg9JywXOB3n0oJKWoti','CMv0CNLbDhrLBxb0CW','C3rVCa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','rvjst1i','C3Diqxy','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFsevbuLrcrufux0LovevsvKfm','revcvuC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwfW','y2XPzw50swq','mtmYmJq0n1jsuM5nCa','nMnHtxrrvq','CgfYC2u','s0fgs0fFuKvuuLLFtufyx0rftefz','odG2mdfLELrfz08','A2v5','B0jSELu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','ufj4CK4','DgLTzxn0yw1W','Ae1nzLm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','DhzYwMW','sKHZz0K','CMvZDgzVCMDLlq','DhbuyK8','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','mhWXFdn8nhW1Fdi','z2v0tg9Ntgv2zwW','CMvZzxrnzxrYAwnZ','C2vZC2LVBLrPBwvVDxq','r25wz3C','AxnsDw5UAw5N','s0fgs0fFqLjps0vsuW','nta2mdb3t0vJreG','EKLWBfO','CMvZDw1L','zgXpBfe','EMLYyNK','mtbzqKvvDw8','mJG2mJa0r2nTyvLR','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','z2v0q29UzMLN','vxfZrgK','r2vUyLK','Dg9mB3DLCKnHC2u','s0fgs0fFu0fttf9vu0vstKfnrq','s2rmyxi','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','tK9useLorW','s0fgs0fFq0Xjru5ux0Le','BwvZC2fNzxngywLSzwq','Aw5PDgLHBgL6zq','zhfLz2e','CKjiEu0','DMDNqwS','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mZK1oda2mfDLD2Dgwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','ChvZAa','D2fYBG','z3jVDxbjza','Dhj1zq','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','B2zMC2v0','C3vIC2nYAwjLzfrVCgLJCW','AxndB25Uzwn0zwq','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','lwnVBNn1BwvY','v0fstG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','BM93','ntaWma','Dw5bu3i','yxv0B0nVBw1PDa','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Bg9N','CKnvz0y','zxjYB3i','zw5HyMXLza','wKjpwLC','uNfIwKS','y29TBwL0t2zMC2v0CW','y29UC3vTzxiUCMvIywXHBMnPBMC','Bg9Ntgv2zwW','tw1KB0y','oujpsgTyEa','y29UC3vTzxi','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','mZHLqxPPy1y','C2v0DxbfDMvUDeHHBMrSzxjZ','C3vIC2nYAwjL','nte5ntfcrfPsyvO','su5gtW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','A2fMA2e','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','BwvZC2fNzuHHBMrSzxi','ChjVy2vZC2LUz1rPBwvZ','mZaXodu4nhfOzwTYtq','Dg9tDhjPBMC','DxvPza','C3rHCNruAw1L','yNjVA2vYCW'];a0_0x1651=function(){return _0x21963c;};return a0_0x1651();}(function(_0x19025b,_0x4e026c){const _0x700573=a0_0x25a3,_0x45983e=_0x19025b();while(!![]){try{const _0x329a37=parseInt(_0x700573(0x21f))/0x1+-parseInt(_0x700573(0x1ec))/0x2*(parseInt(_0x700573(0x1ef))/0x3)+parseInt(_0x700573(0x1b3))/0x4*(-parseInt(_0x700573(0x1b2))/0x5)+-parseInt(_0x700573(0x21c))/0x6*(parseInt(_0x700573(0x21b))/0x7)+parseInt(_0x700573(0x1f7))/0x8+parseInt(_0x700573(0x1e7))/0x9*(parseInt(_0x700573(0x1c7))/0xa)+parseInt(_0x700573(0x1ad))/0xb;if(_0x329a37===_0x4e026c)break;else _0x45983e['push'](_0x45983e['shift']());}catch(_0xf2af67){_0x45983e['push'](_0x45983e['shift']());}}}(a0_0x1651,0x321e4));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x53e109(0x1f9));class KafkaConsumerService{constructor(){const _0x33a108=a0_0x53e109;this[_0x33a108(0x1f3)]=null,this['consumer']=null,this['isConnected']=![],this[_0x33a108(0x1bd)]=![],this[_0x33a108(0x1ab)]=![],this['isPaused']=![],this[_0x33a108(0x215)]=null,this[_0x33a108(0x1cf)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x53e109(0x1b7)](){const _0x1b7fc3=a0_0x53e109,_0xf501d0={'rBHyM':function(_0x390fd0,_0x2d720f){return _0x390fd0===_0x2d720f;},'CpDpp':_0x1b7fc3(0x1cc),'tvrZl':_0x1b7fc3(0x20f),'zirby':_0x1b7fc3(0x209),'KdLar':function(_0x337832,_0x53abac){return _0x337832(_0x53abac);},'zIplZ':'3000','Wswyp':'1048576','ijwiD':function(_0x58c687,_0x45a1a8){return _0x58c687(_0x45a1a8);},'FMUoc':_0x1b7fc3(0x1fc),'hMMfS':_0x1b7fc3(0x1ca)};return{'enabled':_0xf501d0[_0x1b7fc3(0x1c4)](process['env']['KAFKA_ENABLED'],_0xf501d0['CpDpp']),'brokers':(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1ac)]||_0xf501d0[_0x1b7fc3(0x227)])[_0x1b7fc3(0x1b5)](','),'clientId':process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c0)]||'restforge-'+(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x20c)]||_0xf501d0[_0x1b7fc3(0x1b1)])+_0x1b7fc3(0x1d3),'connectionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x218)]||_0xf501d0[_0x1b7fc3(0x1ae)]),'requestTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x216)]||'3000'),'maxBytesPerPartition':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x1d5)]||_0xf501d0[_0x1b7fc3(0x203)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0xf501d0['CpDpp'],'autoCommitInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c6)]||_0x1b7fc3(0x1d7)),'retryAttempts':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':parseInt(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x21e)]||_0xf501d0[_0x1b7fc3(0x1fd)]),'logLevel':process['env'][_0x1b7fc3(0x1da)]||_0xf501d0[_0x1b7fc3(0x225)]};}['getLogLevel'](_0x5af983){const _0x1db367=a0_0x53e109,_0x33607d={'nothing':logLevel[_0x1db367(0x1bf)],'error':logLevel[_0x1db367(0x213)],'warn':logLevel[_0x1db367(0x1d4)],'info':logLevel[_0x1db367(0x1f0)],'debug':logLevel[_0x1db367(0x217)]};return _0x33607d[_0x5af983[_0x1db367(0x1ba)]()]||logLevel[_0x1db367(0x1d4)];}async[a0_0x53e109(0x1c2)](_0x442745={}){const _0x45b36b=a0_0x53e109,_0x73df78={'hpOPs':function(_0x2e6cbe,_0x500c76){return _0x2e6cbe===_0x500c76;},'GnVgw':_0x45b36b(0x1cc),'jnwLf':function(_0x58c81a,_0x31bbc4){return _0x58c81a(_0x31bbc4);},'unASr':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x3671f7=this['getConfig']();if(!_0x3671f7[_0x45b36b(0x1e0)])return console[_0x45b36b(0x1dd)](_0x73df78[_0x45b36b(0x1d8)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x45b36b(0x215)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3364fd=>{const _0x226074=_0x45b36b;try{let _0x1290f6=undefined;_0x73df78['hpOPs'](process[_0x226074(0x202)]['KAFKA_SSL'],_0x73df78[_0x226074(0x1aa)])&&(_0x1290f6=!![]);let _0x35b770=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x35b770={'mechanism':process[_0x226074(0x202)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x226074(0x1bb)]||'','password':process[_0x226074(0x202)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x442745[_0x226074(0x21a)]||_0x3671f7[_0x226074(0x21a)],'brokers':_0x3671f7[_0x226074(0x1fb)],'connectionTimeout':_0x3671f7[_0x226074(0x1d1)],'requestTimeout':_0x3671f7[_0x226074(0x204)],'logLevel':this[_0x226074(0x1a7)](_0x3671f7[_0x226074(0x1e5)]),'ssl':_0x1290f6,'sasl':_0x35b770,'retry':{'initialRetryTime':_0x3671f7['retryDelay'],'retries':_0x3671f7[_0x226074(0x210)],'maxRetryTime':_0x3671f7['retryMaxDelay']}}),this[_0x226074(0x1cb)]=_0x442745['groupId']||_0x226074(0x229)+(process[_0x226074(0x202)][_0x226074(0x20c)]||'default')+'-consumer-group',this[_0x226074(0x1e8)]=this[_0x226074(0x1f3)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x3671f7[_0x226074(0x1a9)],'heartbeatInterval':_0x3671f7['heartbeatInterval'],'maxBytesPerPartition':_0x3671f7[_0x226074(0x212)],'allowAutoTopicCreation':![]}),await this[_0x226074(0x1e8)]['connect'](),this[_0x226074(0x1d0)]=!![],console[_0x226074(0x1dd)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3671f7[_0x226074(0x1fb)]['join'](',\x20')+_0x226074(0x208)+this[_0x226074(0x1cb)]+')'),this[_0x226074(0x1ed)](),_0x73df78['jnwLf'](_0x3364fd,!![]);}catch(_0x4a8af8){console['error'](_0x226074(0x1b6)+_0x4a8af8['message']),this['isConnected']=![],_0x3364fd(![]);}finally{this[_0x226074(0x1bd)]=![];}}),this[_0x45b36b(0x215)];}[a0_0x53e109(0x1ed)](){const _0x3bd73e=a0_0x53e109,_0xf5b9b8={'ZBOZW':_0x3bd73e(0x226),'iDnby':'consumer.disconnect','rCUgF':'consumer.stop','ntdIh':_0x3bd73e(0x205),'tpTbO':_0x3bd73e(0x1e4)};if(!this[_0x3bd73e(0x1e8)])return;this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8['iDnby'],()=>{const _0x4c02cf=_0x3bd73e;console[_0x4c02cf(0x1dd)](_0x4c02cf(0x1be)),this[_0x4c02cf(0x1d0)]=![],this[_0x4c02cf(0x1ab)]=![];}),this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8[_0x3bd73e(0x1de)],()=>{const _0xdb6017=_0x3bd73e;console['log'](_0xf5b9b8[_0xdb6017(0x1e1)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8['ntdIh'],_0x9bf295=>{const _0x1fab74=_0x3bd73e;console[_0x1fab74(0x1df)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x9bf295['payload']['error'][_0x1fab74(0x206)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8[_0x3bd73e(0x22a)],()=>{const _0x156f92=_0x3bd73e;console[_0x156f92(0x1dd)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x53e109(0x1ee)](_0x24b245,_0x1626c6=![]){const _0x550803=a0_0x53e109,_0x5f074a={'vggAk':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x5f074a[_0x550803(0x1c5)]),![];try{const _0x2587b7=Array['isArray'](_0x24b245)?_0x24b245:[_0x24b245];for(const _0x85c595 of _0x2587b7){await this[_0x550803(0x1e8)][_0x550803(0x1ee)]({'topic':_0x85c595,'fromBeginning':_0x1626c6}),console[_0x550803(0x1dd)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x85c595+_0x550803(0x20d)+_0x1626c6+')');}return this[_0x550803(0x1cf)]=[...new Set([...this['subscribedTopics'],..._0x2587b7])],!![];}catch(_0x38402a){return console[_0x550803(0x1df)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x38402a['message']),![];}}async['startConsuming'](_0x1fa060,_0x170bd7={}){const _0x6411cf=a0_0x53e109,_0x11ebea={'UqsDi':function(_0x2cda97,_0x442235){return _0x2cda97+_0x442235;},'MmdoF':function(_0x352a9e,_0x25959c){return _0x352a9e(_0x25959c);},'dqega':function(_0x3ca137,_0x5d4d70){return _0x3ca137>_0x5d4d70;},'bdxZA':_0x6411cf(0x1b4),'swHAv':_0x6411cf(0x1dc)};if(!this[_0x6411cf(0x1d0)])return console[_0x6411cf(0x1df)](_0x11ebea['bdxZA']),![];if(this[_0x6411cf(0x1ab)])return console['log'](_0x11ebea[_0x6411cf(0x214)]),!![];const _0x63c60b=this[_0x6411cf(0x1b7)]();this[_0x6411cf(0x1f5)]=_0x1fa060;try{return this[_0x6411cf(0x207)][_0x6411cf(0x1fa)]=new Date(),await this['consumer']['run']({'autoCommit':_0x170bd7[_0x6411cf(0x1d9)]!==undefined?_0x170bd7[_0x6411cf(0x1d9)]:_0x63c60b[_0x6411cf(0x1d9)],'autoCommitInterval':_0x63c60b['autoCommitInterval'],'eachMessage':async({topic:_0x1d52b1,partition:_0x465916,message:_0x19760f,heartbeat:_0x463a21})=>{const _0x4542a6=_0x6411cf,_0x5195f4=Date['now']();this[_0x4542a6(0x207)]['messagesReceived']++,this[_0x4542a6(0x207)][_0x4542a6(0x1e9)]=new Date();try{const _0x20a6cd=_0x19760f['value']?_0x19760f['value']['toString']():null;let _0x1a202a=null;try{_0x1a202a=_0x20a6cd?JSON[_0x4542a6(0x21d)](_0x20a6cd):null;}catch(_0xa2c59b){_0x1a202a=_0x20a6cd;}const _0x48a7a0={'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x19760f[_0x4542a6(0x1ce)],'key':_0x19760f['key']?_0x19760f[_0x4542a6(0x220)]['toString']():null,'headers':this['parseHeaders'](_0x19760f['headers']),'timestamp':_0x19760f[_0x4542a6(0x224)],'value':_0x1a202a,'raw':_0x20a6cd};this[_0x4542a6(0x1f5)]&&await this['messageHandler'](_0x48a7a0);!_0x63c60b['autoCommit']&&await this[_0x4542a6(0x1e8)][_0x4542a6(0x1e3)]([{'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x11ebea[_0x4542a6(0x1b8)](_0x11ebea[_0x4542a6(0x1e6)](parseInt,_0x19760f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x48ad87=Date['now']()-_0x5195f4;this[_0x4542a6(0x207)][_0x4542a6(0x1f6)][_0x4542a6(0x1c9)](_0x48ad87),_0x11ebea[_0x4542a6(0x1c3)](this['metrics'][_0x4542a6(0x1f6)][_0x4542a6(0x201)],0x64)&&this[_0x4542a6(0x207)]['processingTimes']['shift'](),await _0x463a21();}catch(_0x1b1d05){this['metrics'][_0x4542a6(0x1c1)]++,console[_0x4542a6(0x1df)](_0x4542a6(0x1cd)+_0x1b1d05[_0x4542a6(0x206)]);throw _0x1b1d05;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x6411cf(0x1cf)]['join'](',\x20')),!![];}catch(_0x3198e3){return console[_0x6411cf(0x1df)](_0x6411cf(0x1ea)+_0x3198e3[_0x6411cf(0x206)]),![];}}['parseHeaders'](_0x24a912){const _0x30686c=a0_0x53e109;if(!_0x24a912)return{};const _0x33a39a={};for(const [_0x4fdc82,_0x535145]of Object['entries'](_0x24a912)){_0x33a39a[_0x4fdc82]=_0x535145?_0x535145[_0x30686c(0x1f8)]():null;}return _0x33a39a;}async['pause'](){const _0x3e49e4=a0_0x53e109,_0x2ff9eb={'JHsgI':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3e49e4(0x1d0)]||!this['isRunning'])return console['log'](_0x3e49e4(0x1c8)),![];if(this[_0x3e49e4(0x1eb)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x3fed2f=this[_0x3e49e4(0x1cf)][_0x3e49e4(0x219)](_0xbecfd9=>({'topic':_0xbecfd9}));return this[_0x3e49e4(0x1e8)]['pause'](_0x3fed2f),this['isPaused']=!![],console['log'](_0x2ff9eb[_0x3e49e4(0x228)]),!![];}catch(_0x2f01ad){return console[_0x3e49e4(0x1df)](_0x3e49e4(0x1f4)+_0x2f01ad[_0x3e49e4(0x206)]),![];}}async[a0_0x53e109(0x1af)](){const _0x8b0db0=a0_0x53e109,_0x5c8315={'RqbZK':_0x8b0db0(0x22b),'EdyoL':_0x8b0db0(0x1d2),'HNyGI':_0x8b0db0(0x222)};if(!this[_0x8b0db0(0x1d0)]||!this['isRunning'])return console['log'](_0x5c8315[_0x8b0db0(0x1e2)]),![];if(!this[_0x8b0db0(0x1eb)])return console['log'](_0x5c8315['EdyoL']),!![];try{const _0x31f5d3=this['subscribedTopics']['map'](_0x54dd99=>({'topic':_0x54dd99}));return this[_0x8b0db0(0x1e8)]['resume'](_0x31f5d3),this[_0x8b0db0(0x1eb)]=![],console['log'](_0x5c8315['HNyGI']),!![];}catch(_0x2d3468){return console[_0x8b0db0(0x1df)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2d3468[_0x8b0db0(0x206)]),![];}}async[a0_0x53e109(0x211)](){const _0x93952e=a0_0x53e109;if(!this[_0x93952e(0x1d0)])return console[_0x93952e(0x1dd)](_0x93952e(0x1fe)),!![];try{const _0x38b618=_0x93952e(0x1a6)['split']('|');let _0x54ff6d=0x0;while(!![]){switch(_0x38b618[_0x54ff6d++]){case'0':this['consumer']&&(await this['consumer'][_0x93952e(0x211)](),await this[_0x93952e(0x1e8)][_0x93952e(0x200)]());continue;case'1':this[_0x93952e(0x1d0)]=![];continue;case'2':return!![];case'3':this['isRunning']=![];continue;case'4':this[_0x93952e(0x1eb)]=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x2685b9){return console['error'](_0x93952e(0x1f1)+_0x2685b9['message']),![];}}async['seekToOffset'](_0x458989,_0x147fd2,_0x172151){const _0x3da619=a0_0x53e109,_0x457ba6={'HNHcV':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x457ba6['HNHcV']),![];try{return this['consumer']['seek']({'topic':_0x458989,'partition':_0x147fd2,'offset':_0x172151[_0x3da619(0x1f8)]()}),console[_0x3da619(0x1dd)](_0x3da619(0x1f2)+_0x172151+'\x20on\x20'+_0x458989+':'+_0x147fd2),!![];}catch(_0x4d3395){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x4d3395[_0x3da619(0x206)]),![];}}['getStatus'](){const _0x468458=a0_0x53e109,_0x1f9e44=this['getConfig']();return{'enabled':_0x1f9e44['enabled'],'connected':this['isConnected'],'running':this[_0x468458(0x1ab)],'paused':this['isPaused'],'brokers':_0x1f9e44['brokers'],'clientId':_0x1f9e44['clientId'],'groupId':this[_0x468458(0x1cb)],'subscribedTopics':this['subscribedTopics']};}[a0_0x53e109(0x20b)](){const _0x5968e0=a0_0x53e109,_0xb1937a={'ZTDmG':function(_0x59687b,_0xe78eb9){return _0x59687b>_0xe78eb9;},'SBDeH':function(_0x165617,_0x498ef6){return _0x165617/_0x498ef6;},'dlOlQ':function(_0x1712c5,_0x31fd25){return _0x1712c5+_0x31fd25;},'oBlzU':function(_0x706192,_0x99be45){return _0x706192+_0x99be45;},'udVxQ':function(_0x4115ad,_0x6dcaa6){return _0x4115ad/_0x6dcaa6;},'GenbY':function(_0x1b509a,_0x4fb986){return _0x1b509a-_0x4fb986;},'PRxrN':function(_0x55b810,_0x42ece4){return _0x55b810+_0x42ece4;}},_0x16b294=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?_0xb1937a['SBDeH'](this['metrics'][_0x5968e0(0x1f6)]['reduce']((_0x4c7e98,_0x28faae)=>_0x4c7e98+_0x28faae,0x0),this[_0x5968e0(0x207)]['processingTimes']['length']):0x0,_0x1b1db6=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?Math[_0x5968e0(0x20e)](...this[_0x5968e0(0x207)]['processingTimes']):0x0,_0x3cad41=this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x5968e0(0x207)]['messagesProcessed'],'messagesFailed':this[_0x5968e0(0x207)]['messagesFailed'],'successRate':this['metrics']['messagesReceived']>0x0?_0xb1937a[_0x5968e0(0x1b0)]((_0xb1937a['SBDeH'](this['metrics']['messagesProcessed'],this[_0x5968e0(0x207)]['messagesReceived'])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x5968e0(0x207)]['lastMessageTime'],'startTime':this[_0x5968e0(0x207)]['startTime'],'uptime':this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]?_0xb1937a[_0x5968e0(0x221)](Math['floor'](_0xb1937a[_0x5968e0(0x20a)](_0xb1937a[_0x5968e0(0x1b9)](Date[_0x5968e0(0x1d6)](),this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0xb1937a['dlOlQ'](Math['round'](_0x16b294),'ms'),'min':_0x1b1db6+'ms','max':_0xb1937a[_0x5968e0(0x223)](_0x3cad41,'ms')}};}[a0_0x53e109(0x1a8)](){const _0x1b4368=a0_0x53e109;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x1b4368(0x1db));}async['close'](){await this['stop']();}}function a0_0x25a3(_0x5e1a81,_0x181a9e){_0x5e1a81=_0x5e1a81-0x1a6;const _0x165162=a0_0x1651();let _0x25a3c2=_0x165162[_0x5e1a81];if(a0_0x25a3['gCVdXO']===undefined){var _0xc158db=function(_0x39b68c){const _0x53de5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552578='',_0x5b429b='';for(let _0x1d38df=0x0,_0xcf6e58,_0x19300a,_0x8596b2=0x0;_0x19300a=_0x39b68c['charAt'](_0x8596b2++);~_0x19300a&&(_0xcf6e58=_0x1d38df%0x4?_0xcf6e58*0x40+_0x19300a:_0x19300a,_0x1d38df++%0x4)?_0x552578+=String['fromCharCode'](0xff&_0xcf6e58>>(-0x2*_0x1d38df&0x6)):0x0){_0x19300a=_0x53de5f['indexOf'](_0x19300a);}for(let _0x3c461c=0x0,_0x4e2b09=_0x552578['length'];_0x3c461c<_0x4e2b09;_0x3c461c++){_0x5b429b+='%'+('00'+_0x552578['charCodeAt'](_0x3c461c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b429b);};a0_0x25a3['ZjKKFl']=_0xc158db,a0_0x25a3['jfhhTB']={},a0_0x25a3['gCVdXO']=!![];}const _0x47a74=_0x165162[0x0],_0x56906a=_0x5e1a81+_0x47a74,_0x23f379=a0_0x25a3['jfhhTB'][_0x56906a];return!_0x23f379?(_0x25a3c2=a0_0x25a3['ZjKKFl'](_0x25a3c2),a0_0x25a3['jfhhTB'][_0x56906a]=_0x25a3c2):_0x25a3c2=_0x23f379,_0x25a3c2;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x91380f=a0_0x53e109;instance&&(instance[_0x91380f(0x1ff)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x98e9(_0xe1c9bb,_0x30a67d){_0xe1c9bb=_0xe1c9bb-0x113;const _0xbbe5af=a0_0xbbe5();let _0x98e98a=_0xbbe5af[_0xe1c9bb];if(a0_0x98e9['lsmgig']===undefined){var _0x2d1415=function(_0x5e9e8e){const _0x35e429='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33cae6='',_0x326a9d='';for(let _0x1e688c=0x0,_0xe8fe77,_0x2cf7b3,_0x6c4817=0x0;_0x2cf7b3=_0x5e9e8e['charAt'](_0x6c4817++);~_0x2cf7b3&&(_0xe8fe77=_0x1e688c%0x4?_0xe8fe77*0x40+_0x2cf7b3:_0x2cf7b3,_0x1e688c++%0x4)?_0x33cae6+=String['fromCharCode'](0xff&_0xe8fe77>>(-0x2*_0x1e688c&0x6)):0x0){_0x2cf7b3=_0x35e429['indexOf'](_0x2cf7b3);}for(let _0x19236b=0x0,_0x89802e=_0x33cae6['length'];_0x19236b<_0x89802e;_0x19236b++){_0x326a9d+='%'+('00'+_0x33cae6['charCodeAt'](_0x19236b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x326a9d);};a0_0x98e9['aXQeKj']=_0x2d1415,a0_0x98e9['wJFmRV']={},a0_0x98e9['lsmgig']=!![];}const _0x25a266=_0xbbe5af[0x0],_0x5e8aa1=_0xe1c9bb+_0x25a266,_0x1b4e09=a0_0x98e9['wJFmRV'][_0x5e8aa1];return!_0x1b4e09?(_0x98e98a=a0_0x98e9['aXQeKj'](_0x98e98a),a0_0x98e9['wJFmRV'][_0x5e8aa1]=_0x98e98a):_0x98e98a=_0x1b4e09,_0x98e98a;}const a0_0x173bce=a0_0x98e9;(function(_0x2ac84b,_0x36252d){const _0x5002e7=a0_0x98e9,_0x39fc7e=_0x2ac84b();while(!![]){try{const _0x133e91=parseInt(_0x5002e7(0x11a))/0x1*(parseInt(_0x5002e7(0x127))/0x2)+parseInt(_0x5002e7(0x16c))/0x3+-parseInt(_0x5002e7(0x120))/0x4+-parseInt(_0x5002e7(0x134))/0x5*(-parseInt(_0x5002e7(0x16e))/0x6)+parseInt(_0x5002e7(0x150))/0x7+parseInt(_0x5002e7(0x14f))/0x8*(parseInt(_0x5002e7(0x116))/0x9)+-parseInt(_0x5002e7(0x15e))/0xa*(parseInt(_0x5002e7(0x125))/0xb);if(_0x133e91===_0x36252d)break;else _0x39fc7e['push'](_0x39fc7e['shift']());}catch(_0x373b04){_0x39fc7e['push'](_0x39fc7e['shift']());}}}(a0_0xbbe5,0x7eb17));const {Kafka,logLevel,Partitioners}=require(a0_0x173bce(0x14b)),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x3cd9ea=a0_0x173bce,_0x2ae014={'dYWBL':'2|3|4|0|1'},_0x5d18cb=_0x2ae014['dYWBL'][_0x3cd9ea(0x154)]('|');let _0x3eebe2=0x0;while(!![]){switch(_0x5d18cb[_0x3eebe2++]){case'0':this[_0x3cd9ea(0x136)]=![];continue;case'1':this[_0x3cd9ea(0x169)]=null;continue;case'2':this['kafka']=null;continue;case'3':this['producer']=null;continue;case'4':this['isConnected']=![];continue;}break;}}['getConfig'](){const _0x357e97=a0_0x173bce,_0x4904bd={'YPquh':function(_0x595ef0,_0x21a183){return _0x595ef0===_0x21a183;},'QOXYu':'localhost:9092','XmEiM':'default','IMrah':function(_0x20c2dc,_0x3995fe){return _0x20c2dc(_0x3995fe);},'ddnPV':'3000','lXBJE':function(_0x13c6c6,_0xe12f52){return _0x13c6c6(_0xe12f52);},'NPdeM':_0x357e97(0x162),'HoPOV':_0x357e97(0x168)};return{'enabled':_0x4904bd[_0x357e97(0x12f)](process['env'][_0x357e97(0x16b)],_0x357e97(0x11b)),'brokers':(process[_0x357e97(0x13e)][_0x357e97(0x12a)]||_0x4904bd[_0x357e97(0x115)])[_0x357e97(0x154)](','),'clientId':process[_0x357e97(0x13e)][_0x357e97(0x148)]||_0x357e97(0x151)+(process[_0x357e97(0x13e)][_0x357e97(0x124)]||_0x4904bd['XmEiM'])+_0x357e97(0x14e),'connectionTimeout':_0x4904bd[_0x357e97(0x119)](parseInt,process[_0x357e97(0x13e)]['KAFKA_CONNECTION_TIMEOUT']||_0x4904bd[_0x357e97(0x13d)]),'requestTimeout':parseInt(process['env'][_0x357e97(0x11f)]||_0x357e97(0x122)),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||'{module}.{endpoint}.events','tenantId':process[_0x357e97(0x13e)]['KAFKA_TENANT_ID']||'default','retryAttempts':_0x4904bd['lXBJE'](parseInt,process[_0x357e97(0x13e)][_0x357e97(0x159)]||'3'),'retryDelay':parseInt(process['env'][_0x357e97(0x155)]||_0x4904bd[_0x357e97(0x135)]),'logLevel':process['env'][_0x357e97(0x133)]||_0x4904bd['HoPOV']};}[a0_0x173bce(0x15d)](_0x1d90be){const _0x9dd73b=a0_0x173bce,_0x1f4381={'nothing':logLevel['NOTHING'],'error':logLevel[_0x9dd73b(0x139)],'warn':logLevel[_0x9dd73b(0x14d)],'info':logLevel['INFO'],'debug':logLevel[_0x9dd73b(0x12b)]};return _0x1f4381[_0x1d90be[_0x9dd73b(0x163)]()]||logLevel[_0x9dd73b(0x14d)];}async[a0_0x173bce(0x123)](){const _0x45f58a=a0_0x173bce,_0x5a8fa7={'LBRDW':function(_0x2d97f6,_0x470972){return _0x2d97f6===_0x470972;},'elAaX':_0x45f58a(0x126),'Ujjhl':function(_0x806286,_0x30ac56){return _0x806286(_0x30ac56);}},_0x49c0c5=this['getConfig']();if(!_0x49c0c5['enabled'])return console['log'](_0x45f58a(0x15f)),![];if(this[_0x45f58a(0x11e)])return!![];if(this[_0x45f58a(0x136)]&&this[_0x45f58a(0x169)])return this[_0x45f58a(0x169)];return this[_0x45f58a(0x136)]=!![],this['connectionPromise']=new Promise(async _0x58329a=>{const _0x6f5415=_0x45f58a;try{let _0x175ef7=undefined;_0x5a8fa7['LBRDW'](process['env']['KAFKA_SSL'],_0x6f5415(0x11b))&&(_0x175ef7=!![]);let _0x196539=undefined;process['env'][_0x6f5415(0x165)]&&(_0x196539={'mechanism':process[_0x6f5415(0x13e)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x6f5415(0x137)]||'','password':process[_0x6f5415(0x13e)][_0x6f5415(0x157)]||''}),this['kafka']=new Kafka({'clientId':_0x49c0c5['clientId'],'brokers':_0x49c0c5[_0x6f5415(0x140)],'connectionTimeout':_0x49c0c5['connectionTimeout'],'requestTimeout':_0x49c0c5[_0x6f5415(0x147)],'logLevel':this[_0x6f5415(0x15d)](_0x49c0c5['logLevel']),'ssl':_0x175ef7,'sasl':_0x196539,'retry':{'initialRetryTime':_0x49c0c5['retryDelay'],'retries':_0x49c0c5['retryAttempts']}}),this['producer']=this[_0x6f5415(0x14c)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x6f5415(0x13a)][_0x6f5415(0x12d)](),this['isConnected']=!![],console[_0x6f5415(0x14a)](_0x6f5415(0x141)+_0x49c0c5[_0x6f5415(0x140)][_0x6f5415(0x16d)](',\x20')),this[_0x6f5415(0x13a)]['on'](_0x5a8fa7[_0x6f5415(0x15b)],()=>{const _0x2c0dc8=_0x6f5415;console[_0x2c0dc8(0x14a)]('[Kafka]\x20Producer\x20disconnected'),this[_0x2c0dc8(0x11e)]=![];}),_0x5a8fa7['Ujjhl'](_0x58329a,!![]);}catch(_0x106f7a){console['error'](_0x6f5415(0x130)+_0x106f7a['message']),this['isConnected']=![],_0x58329a(![]);}finally{this[_0x6f5415(0x136)]=![];}}),this[_0x45f58a(0x169)];}['formatDateTime'](_0x23f074){const _0x3802e5=a0_0x173bce,_0x549c8d={'MWEKI':function(_0x4bcc7c,_0x1e4d23){return _0x4bcc7c(_0x1e4d23);},'KiVsd':function(_0x97d70c,_0x340e2e){return _0x97d70c(_0x340e2e);}},_0x71a64e=_0x23f074||new Date(),_0x3faa4f=_0x71a64e[_0x3802e5(0x11d)](),_0x26afba=_0x549c8d['MWEKI'](String,_0x71a64e['getMonth']()+0x1)['padStart'](0x2,'0'),_0x39d4f2=String(_0x71a64e[_0x3802e5(0x143)]())['padStart'](0x2,'0'),_0x2ed264=String(_0x71a64e[_0x3802e5(0x15a)]())[_0x3802e5(0x13b)](0x2,'0'),_0x261871=String(_0x71a64e[_0x3802e5(0x161)]())[_0x3802e5(0x13b)](0x2,'0'),_0x5023ef=_0x549c8d['KiVsd'](String,_0x71a64e[_0x3802e5(0x13c)]())[_0x3802e5(0x13b)](0x2,'0');return _0x3faa4f+'-'+_0x26afba+'-'+_0x39d4f2+'\x20'+_0x2ed264+':'+_0x261871+':'+_0x5023ef;}['buildTopicName'](_0x3a3916,_0x5af45d,_0x3200a8,_0x1a076d=null){const _0x4a3a5f=a0_0x173bce,_0x182d01={'opguo':_0x4a3a5f(0x12e)};if(_0x1a076d)return _0x1a076d;const _0x27ae24=this[_0x4a3a5f(0x146)]()[_0x4a3a5f(0x156)];return _0x27ae24['replace']('{module}',_0x3a3916)[_0x4a3a5f(0x145)](_0x182d01['opguo'],_0x5af45d)['replace']('{action}',_0x3200a8);}[a0_0x173bce(0x144)](_0x254644,_0x230e7a,_0x1b8bf1,_0x4aed64={}){const _0x3a5fcc=a0_0x173bce,_0x1186fd={'IlKRt':function(_0x631a0a){return _0x631a0a();},'aXeoI':_0x3a5fcc(0x142),'XfEDJ':'unknown'},_0x31e347=new Date(),_0x407d9d=this[_0x3a5fcc(0x160)](_0x31e347),_0x461d3b=_0x4aed64[_0x3a5fcc(0x16a)]||'corr-'+uuidv7();return{'eventId':'evt-'+_0x1186fd['IlKRt'](uuidv7),'eventType':_0x254644,'eventTime':_0x407d9d,'eventVersion':_0x1186fd[_0x3a5fcc(0x13f)],'source':'restforge-'+(_0x4aed64['module']||_0x1186fd[_0x3a5fcc(0x113)]),'correlationId':_0x461d3b,'newData':_0x1b8bf1,'oldData':_0x230e7a,'metadata':{'createdBy':_0x4aed64[_0x3a5fcc(0x152)]||'SYSTEM','createdAt':_0x407d9d,'systemId':'RESTFORGE-'+(_0x4aed64['module']||_0x1186fd['XfEDJ'])['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x4aed64[_0x3a5fcc(0x131)]||null,'tableName':_0x4aed64[_0x3a5fcc(0x138)]||null}};}async[a0_0x173bce(0x114)](_0x409989,_0x1a357b,_0x5e7c5f,_0x48d5d7,_0x50caaf={}){const _0x4a3eb0=a0_0x173bce,_0x508392={'rAmLU':'Kafka\x20producer\x20is\x20disabled','sWojw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','hwMtx':function(_0x245639){return _0x245639();}},_0x128278=this[_0x4a3eb0(0x146)]();if(!_0x128278[_0x4a3eb0(0x11c)])return{'success':![],'reason':_0x508392[_0x4a3eb0(0x121)],'published':![]};if(!this['isConnected']){const _0x3d4e78=await this['initialize']();if(!_0x3d4e78)return{'success':![],'reason':_0x508392[_0x4a3eb0(0x167)],'published':![]};}try{const _0x36b568=this['buildEventMessage'](_0x1a357b,_0x5e7c5f,_0x48d5d7,_0x50caaf),_0x25ffd7=_0x50caaf['keyField']||'id',_0x2d5896=_0x48d5d7?.[_0x25ffd7]||_0x5e7c5f?.[_0x25ffd7]||_0x508392['hwMtx'](uuidv7),_0x1e7c2e=await this[_0x4a3eb0(0x13a)][_0x4a3eb0(0x117)]({'topic':_0x409989,'messages':[{'key':String(_0x2d5896),'value':JSON['stringify'](_0x36b568),'headers':{'event-type':_0x1a357b,'correlation-id':_0x36b568['correlationId'],'source':_0x36b568['source']}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x409989+':\x20'+_0x1a357b+'\x20(key:\x20'+_0x2d5896+')'),{'success':!![],'correlationId':_0x36b568[_0x4a3eb0(0x16a)],'topic':_0x409989,'partition':_0x1e7c2e[0x0]?.[_0x4a3eb0(0x129)],'offset':_0x1e7c2e[0x0]?.['baseOffset'],'published':!![]};}catch(_0x2d2a5a){return console['error'](_0x4a3eb0(0x153)+_0x409989+':\x20'+_0x2d2a5a['message']),{'success':![],'error':_0x2d2a5a[_0x4a3eb0(0x118)],'published':![]};}}async[a0_0x173bce(0x16f)](_0x56363d,_0x5e383c,_0x5e83a5,_0x22a1f1={}){const _0xbc2835=a0_0x173bce,_0x421d1b=this['buildTopicName'](_0x56363d,_0x5e383c,'created',_0x22a1f1[_0xbc2835(0x170)]);return this['publishEvent'](_0x421d1b,'ENTITY_CREATED',null,_0x5e83a5,{'module':_0x56363d,'endpoint':_0x5e383c,'keyField':_0x22a1f1['keyField'],'tableName':_0x22a1f1[_0xbc2835(0x138)],'correlationId':_0x22a1f1[_0xbc2835(0x16a)]});}async['publishUpdate'](_0xc778ef,_0x5e02fc,_0xf8e065,_0x5bdad0,_0x4863ee={}){const _0x1b14c3=a0_0x173bce,_0x3aa6f3={'hOOAr':'updated'},_0x36e1e3=this[_0x1b14c3(0x166)](_0xc778ef,_0x5e02fc,_0x3aa6f3['hOOAr'],_0x4863ee[_0x1b14c3(0x170)]);return this['publishEvent'](_0x36e1e3,'ENTITY_UPDATED',_0xf8e065,_0x5bdad0,{'module':_0xc778ef,'endpoint':_0x5e02fc,'keyField':_0x4863ee['keyField'],'tableName':_0x4863ee['tableName'],'correlationId':_0x4863ee[_0x1b14c3(0x16a)]});}async[a0_0x173bce(0x158)](_0x53b4ab,_0x184316,_0x5314bd,_0x55fcff={}){const _0x1f5131=a0_0x173bce,_0x5175f4={'aBDtf':_0x1f5131(0x164)},_0x4c8fe8=this[_0x1f5131(0x166)](_0x53b4ab,_0x184316,_0x5175f4[_0x1f5131(0x15c)],_0x55fcff['topic']);return this['publishEvent'](_0x4c8fe8,'ENTITY_DELETED',_0x5314bd,null,{'module':_0x53b4ab,'endpoint':_0x184316,'keyField':_0x55fcff['keyField'],'tableName':_0x55fcff['tableName'],'correlationId':_0x55fcff[_0x1f5131(0x16a)]});}['getStatus'](){const _0x196a14=a0_0x173bce,_0x3630d8=this[_0x196a14(0x146)]();return{'enabled':_0x3630d8['enabled'],'connected':this['isConnected'],'brokers':_0x3630d8[_0x196a14(0x140)],'clientId':_0x3630d8[_0x196a14(0x12c)],'topicPattern':_0x3630d8['topicPattern']};}async['close'](){const _0x1b6937=a0_0x173bce;if(this[_0x1b6937(0x13a)]&&this['isConnected'])try{await this[_0x1b6937(0x13a)][_0x1b6937(0x149)](),this['isConnected']=![],console[_0x1b6937(0x14a)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x4809e6){console[_0x1b6937(0x128)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x4809e6['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0xbbe5(){const _0x517a8c=['s0fgs0fFu0fttf9vu0vstKfnrq','DgfIBgvoyw1L','rvjst1i','ChjVzhvJzxi','CgfKu3rHCNq','z2v0u2vJB25KCW','zgrUufy','zw52','yvHLB0K','yNjVA2vYCW','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','ms4W','z2v0rgf0zq','yNvPBgrfDMvUDe1LC3nHz2u','CMvWBgfJzq','z2v0q29UzMLN','CMvXDwvZDfrPBwvVDxq','s0fgs0fFq0Xjru5ux0Le','zgLZy29UBMvJDa','Bg9N','A2fMA2fQCW','A2fMA2e','v0fstG','lxbYB2r1y2vY','mtm2vMLVru9f','mJuYmdy0neX0wvr0wq','CMvZDgzVCMDLlq','y3jLyxrLzej5','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','C3bSAxq','s0fgs0fFuKvuuLLFrevmqvK','Dg9WAwnqyxr0zxjU','s0fgs0fFu0fttf9qqvntv09sra','ChvIBgLZAerLBgv0zq','s0fgs0fFuKvuuLLFqvruru1qvfm','z2v0sg91CNm','zwXbyvG','yujeDgy','z2v0tg9Ntgv2zwW','mtmXodbHzNnqt0i','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','zM9YBwf0rgf0zvrPBwu','z2v0twLUDxrLCW','mtaWma','Dg9mB3DLCKnHC2u','zgvSzxrLza','s0fgs0fFu0fttf9nruniqu5ju00','yNvPBgruB3bPy05HBwu','C1DVANC','D2fYBG','y29UBMvJDgLVBLbYB21PC2u','y29YCMvSyxrPB25jza','s0fgs0fFru5bqKXfra','mJq0ode5ofjRq2XWAa','AM9PBG','odC5mZbYBNzHtfm','ChvIBgLZAeLUC2vYDa','Dg9WAwm','wgzfreO','ChvIBgLZAev2zw50','uu9ywxu','mZu4ndyXruvzD3DM','C2vUza','BwvZC2fNzq','su1YywG','mte3mMjwAhr4sa','Dhj1zq','zw5HyMXLza','z2v0rNvSBfLLyxi','AxndB25Uzwn0zwq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','mZG1mJu4ohvWuwHNCq','CKfTtfu','mJuWmda','Aw5PDgLHBgL6zq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtq4nZjJB3zjDNa','ChjVzhvJzxiUzgLZy29UBMvJDa','mta4mK9sDg5xBW','zxjYB3i','CgfYDgL0Aw9U','s0fgs0fFqLjps0vsuW','revcvuC','y2XPzw50swq','y29UBMvJDa','E2vUzhbVAw50Fq','wvbXDwG','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','zw5KCg9PBNq','zxHWB3j0CW','s0fgs0fFte9hx0XfvKvm','mJy1BMXZCvjx','tLbKzu0','AxnjBML0AwfSAxPPBMC'];a0_0xbbe5=function(){return _0x517a8c;};return a0_0xbbe5();}module[a0_0x173bce(0x132)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x2d9966=a0_0x405b;function a0_0x405b(_0x13292e,_0x4937a4){_0x13292e=_0x13292e-0x9a;const _0x15f86c=a0_0x15f8();let _0x405b22=_0x15f86c[_0x13292e];if(a0_0x405b['hXosqJ']===undefined){var _0x23aec8=function(_0x4f3945){const _0x53fd99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55890b='',_0x44e2ce='';for(let _0x511a60=0x0,_0x565b40,_0x4426a4,_0x1f4fb2=0x0;_0x4426a4=_0x4f3945['charAt'](_0x1f4fb2++);~_0x4426a4&&(_0x565b40=_0x511a60%0x4?_0x565b40*0x40+_0x4426a4:_0x4426a4,_0x511a60++%0x4)?_0x55890b+=String['fromCharCode'](0xff&_0x565b40>>(-0x2*_0x511a60&0x6)):0x0){_0x4426a4=_0x53fd99['indexOf'](_0x4426a4);}for(let _0x133b9b=0x0,_0xb48fbe=_0x55890b['length'];_0x133b9b<_0xb48fbe;_0x133b9b++){_0x44e2ce+='%'+('00'+_0x55890b['charCodeAt'](_0x133b9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e2ce);};a0_0x405b['zeFmDI']=_0x23aec8,a0_0x405b['IECXQO']={},a0_0x405b['hXosqJ']=!![];}const _0x40cb15=_0x15f86c[0x0],_0xe168b8=_0x13292e+_0x40cb15,_0x768cff=a0_0x405b['IECXQO'][_0xe168b8];return!_0x768cff?(_0x405b22=a0_0x405b['zeFmDI'](_0x405b22),a0_0x405b['IECXQO'][_0xe168b8]=_0x405b22):_0x405b22=_0x768cff,_0x405b22;}(function(_0x43961b,_0x29b4db){const _0x1020fa=a0_0x405b,_0x1abfdf=_0x43961b();while(!![]){try{const _0xbb5426=-parseInt(_0x1020fa(0xca))/0x1+parseInt(_0x1020fa(0xa0))/0x2+-parseInt(_0x1020fa(0xa4))/0x3*(parseInt(_0x1020fa(0xe9))/0x4)+-parseInt(_0x1020fa(0xbf))/0x5+parseInt(_0x1020fa(0xed))/0x6+parseInt(_0x1020fa(0xd9))/0x7+parseInt(_0x1020fa(0xa8))/0x8*(parseInt(_0x1020fa(0xb4))/0x9);if(_0xbb5426===_0x29b4db)break;else _0x1abfdf['push'](_0x1abfdf['shift']());}catch(_0x19b06a){_0x1abfdf['push'](_0x1abfdf['shift']());}}}(a0_0x15f8,0xb6792));function a0_0x15f8(){const _0xf1e93e=['CMv0CNLbDhrLBxb0CW','y29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','Bg9JywXOB3n0oJKWoti','mtq2nJK1mfHgshb0sa','ChvIBgLZAev2zw50','Bg9N','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','ndiWmtC4nxnUCM1wsG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','zgLZy29UBMvJDa','ChjVzhvJzxi','mtzzEwzQu2K','CvrVCe8','Dg9vChbLCKnHC2u','AxnjBML0AwfSAxPPBMC','Dhj1zq','z2v0u3rHDhvZ','E21VzhvSzx0','uKvtvezpuKDflq','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','z2v0tg9Ntgv2zwW','y2XPzw50swq','ChvIBgLZAeLUC2vYDa','mta0odeXmZL2r250AMu','zgvSzxrLza','tK9useLorW','yNvPBgruB3bPy05HBwu','Au90tMS','C2vUza','u2Lhv1u','z2v0twLUDxrLCW','lxbYB2r1y2vY','y2XVC2u','E2vUzhbVAw50Fq','nJe4nJa4mfHXEhLeAW','rvjst1i','z2v0rNvSBfLLyxi','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','AM9PBG','s0fgs0fFru5bqKXfra','wuHrrw4','CMvWBgfJzq','zw5HyMXLza','zxz0lq','AxndB25Uzwn0zwq','mJG2mtiYy2zyrhHl','zw52','zgvMyxvSDa','y29YCMvSyxrPB25jza','tgvNywn5ugfYDgL0Aw9Uzxi','ru5usvrzx1vqrefuruq','vujyuNe','B0jJDvi','ru5usvrzx0rftevuruq','z2v0rgf0zq','CgfKu3rHCNq','C3bSAxq','s0fgs0fFve9qsunFuefuvevstG','Bw9KDwXL','Dg9WAwnqyxr0zxjU','nJGXntm0v3vwv2TY','CMvXDwvZDfrPBwvVDxq','sff1zxG','zxjYB3i','y29YCI0','DgfIBgvoyw1L','mJuWmda','zM9YBwf0rgf0zvrPBwu','C291CMnL','Dg9WAwm','revcvuC','y29UBMvJDgLVBLbYB21PC2u','ww95r2y','A2v5rMLLBgq','mtaWma','BwvZC2fNzq','nenUBKjuza','yNjVA2vYCW','mZaWma','Bg9Ntgv2zwW','mZa2ode4nevYvKD1rq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','CgfYDgL0Aw9U','DgvUyw50swq','Afnbuwi','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','y3jLyxrLza','zw5KCg9PBNq','s0fgs0fFuKvuuLLFrevmqvK','D2fYBG','yMfZzu9MzNnLDa','ru5usvrzx0nsrufuruq','u1PUqwG'];a0_0x15f8=function(){return _0xf1e93e;};return a0_0x15f8();}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0xee94e8=a0_0x405b;this['kafka']=null,this['producer']=null,this[_0xee94e8(0xc9)]=![],this[_0xee94e8(0xab)]=![],this[_0xee94e8(0xe4)]=null;}['getConfig'](){const _0x463691=a0_0x405b,_0x52f444={'daUyH':_0x463691(0xac),'SZnAh':_0x463691(0x9f),'YHQEn':function(_0x53da97,_0x3130a9){return _0x53da97(_0x3130a9);},'oPbxa':function(_0xd9ddd3,_0x22278e){return _0xd9ddd3(_0x22278e);},'qTopO':_0x463691(0xdf),'HQuex':_0x463691(0xc2),'UBXRq':_0x463691(0xcc),'oBcuR':_0x463691(0xf6)};return{'enabled':process['env'][_0x463691(0xc4)]===_0x52f444['daUyH'],'brokers':(process['env']['KAFKA_BROKERS']||_0x52f444[_0x463691(0x9b)])[_0x463691(0xd5)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x463691(0xcb)]['RESTFORGE_PROJECT_NAME']||_0x463691(0xcc))+_0x463691(0xbc),'connectionTimeout':_0x52f444[_0x463691(0xc5)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x463691(0xeb)),'requestTimeout':_0x52f444['oPbxa'](parseInt,process[_0x463691(0xcb)]['KAFKA_REQUEST_TIMEOUT']||_0x52f444[_0x463691(0xa9)]),'topicPattern':process[_0x463691(0xcb)][_0x463691(0xd6)]||_0x52f444[_0x463691(0xdb)],'tenantId':process[_0x463691(0xcb)]['KAFKA_TENANT_ID']||_0x52f444[_0x463691(0xd0)],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x463691(0xcb)][_0x463691(0xf5)]||_0x463691(0xe7)),'logLevel':process[_0x463691(0xcb)]['KAFKA_LOG_LEVEL']||_0x52f444[_0x463691(0xd1)]};}['getLogLevel'](_0x6fc2c7){const _0x213bf6=a0_0x405b,_0x545db0={'nothing':logLevel[_0x213bf6(0xb6)],'error':logLevel[_0x213bf6(0xc0)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x213bf6(0xe3)]};return _0x545db0[_0x6fc2c7['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0xb5c0ac=a0_0x405b,_0x21a018={'oyOgZ':_0xb5c0ac(0xa5),'WPzZb':'producer.disconnect','hSAQb':function(_0x139ff9,_0x5528ad){return _0x139ff9(_0x5528ad);},'exDSf':function(_0xc2f2c8,_0x45c37c){return _0xc2f2c8(_0x45c37c);}},_0x4c9424=this['getConfig']();if(!_0x4c9424['enabled'])return console[_0xb5c0ac(0xa2)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xb5c0ac(0xc9)])return!![];if(this[_0xb5c0ac(0xab)]&&this[_0xb5c0ac(0xe4)])return this[_0xb5c0ac(0xe4)];return this[_0xb5c0ac(0xab)]=!![],this[_0xb5c0ac(0xe4)]=new Promise(async _0x48b370=>{const _0x5302fb=_0xb5c0ac,_0x2b6026={'YoyGf':_0x21a018['oyOgZ']};try{let _0x1ca0bb=undefined;process[_0x5302fb(0xcb)]['KAFKA_SSL']==='true'&&(_0x1ca0bb=!![]);let _0x31a91d=undefined;process[_0x5302fb(0xcb)]['KAFKA_SASL_MECHANISM']&&(_0x31a91d={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x5302fb(0xcb)][_0x5302fb(0x9e)]||'','password':process[_0x5302fb(0xcb)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4c9424[_0x5302fb(0xb2)],'brokers':_0x4c9424[_0x5302fb(0xea)],'connectionTimeout':_0x4c9424['connectionTimeout'],'requestTimeout':_0x4c9424[_0x5302fb(0xda)],'logLevel':this[_0x5302fb(0xb1)](_0x4c9424[_0x5302fb(0xec)]),'ssl':_0x1ca0bb,'sasl':_0x31a91d,'retry':{'initialRetryTime':_0x4c9424['retryDelay'],'retries':_0x4c9424[_0x5302fb(0x9c)]}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x5302fb(0xce)]}),await this['producer'][_0x5302fb(0x9d)](),this['isConnected']=!![],console[_0x5302fb(0xa2)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x4c9424[_0x5302fb(0xea)][_0x5302fb(0xc3)](',\x20')),this[_0x5302fb(0xa7)]['on'](_0x21a018['WPzZb'],()=>{const _0x3c5c8b=_0x5302fb;console['log'](_0x2b6026[_0x3c5c8b(0xe5)]),this['isConnected']=![];}),_0x21a018[_0x5302fb(0xf1)](_0x48b370,!![]);}catch(_0x2c1bf3){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x2c1bf3['message']),this['isConnected']=![],_0x21a018['exDSf'](_0x48b370,![]);}finally{this['isInitializing']=![];}}),this[_0xb5c0ac(0xe4)];}['formatDateTime'](_0xd40320){const _0x1a004b=a0_0x405b,_0x4f0900=_0xd40320||new Date(),_0x5cb480=_0x4f0900[_0x1a004b(0xc1)](),_0x692e6b=String(_0x4f0900['getMonth']()+0x1)[_0x1a004b(0xd4)](0x2,'0'),_0x3df99a=String(_0x4f0900[_0x1a004b(0xd3)]())['padStart'](0x2,'0'),_0x589294=String(_0x4f0900['getHours']())['padStart'](0x2,'0'),_0x319a32=String(_0x4f0900[_0x1a004b(0xbb)]())['padStart'](0x2,'0'),_0xe1e787=String(_0x4f0900['getSeconds']())['padStart'](0x2,'0');return _0x5cb480+'-'+_0x692e6b+'-'+_0x3df99a+'\x20'+_0x589294+':'+_0x319a32+':'+_0xe1e787;}[a0_0x2d9966(0xb7)](_0x626c5c,_0x45496e,_0x24bcb0,_0x2b1abc=null){const _0x448ce6=a0_0x2d9966,_0x49fd6e={'PBMQx':_0x448ce6(0xae),'iOtNk':_0x448ce6(0xbe),'SiGWU':'{action}'};if(_0x2b1abc)return _0x2b1abc;const _0x44d589=this['getConfig']()[_0x448ce6(0xd8)];return _0x44d589[_0x448ce6(0xc6)](_0x49fd6e['PBMQx'],_0x626c5c)['replace'](_0x49fd6e[_0x448ce6(0xb8)],_0x45496e)[_0x448ce6(0xc6)](_0x49fd6e[_0x448ce6(0xba)],_0x24bcb0);}['buildEventMessage'](_0x413083,_0x31f5d7,_0x54c10e,_0x1de163={}){const _0x15a140=a0_0x2d9966,_0x10b504={'IcqhA':function(_0x3097bf){return _0x3097bf();}},_0x41b910=new Date(),_0x36ccf0=this[_0x15a140(0xe0)](_0x41b910),_0x2a43bc=_0x1de163[_0x15a140(0xcd)]||_0x15a140(0xdd)+uuidv7();return{'eventId':_0x15a140(0xc8)+_0x10b504['IcqhA'](uuidv7),'eventType':_0x413083,'eventTime':_0x36ccf0,'eventVersion':'1.0','source':'restforge-'+(_0x1de163['module']||'unknown'),'correlationId':_0x2a43bc,'newData':_0x54c10e,'oldData':_0x31f5d7,'metadata':{'createdBy':_0x1de163['createdBy']||'SYSTEM','createdAt':_0x36ccf0,'systemId':_0x15a140(0xaf)+(_0x1de163[_0x15a140(0xd7)]||'unknown')[_0x15a140(0xaa)](),'tenantId':this['getConfig']()[_0x15a140(0xf0)],'endpoint':_0x1de163[_0x15a140(0xf4)]||null,'tableName':_0x1de163['tableName']||null}};}async[a0_0x2d9966(0xa1)](_0x551253,_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3={}){const _0x185465=a0_0x2d9966,_0xa5a13c={'zyhSw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker'},_0xddecb=this['getConfig']();if(!_0xddecb[_0x185465(0xc7)])return{'success':![],'reason':_0x185465(0xee),'published':![]};if(!this[_0x185465(0xc9)]){const _0x472fdc=await this['initialize']();if(!_0x472fdc)return{'success':![],'reason':_0xa5a13c['zyhSw'],'published':![]};}try{const _0x35b868=this['buildEventMessage'](_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3),_0x47d785=_0x5ab8d3[_0x185465(0xe6)]||'id',_0x2fa424=_0x4fdb5b?.[_0x47d785]||_0x46d5c2?.[_0x47d785]||uuidv7(),_0x7b1ccd=await this[_0x185465(0xa7)][_0x185465(0xb9)]({'topic':_0x551253,'messages':[{'key':String(_0x2fa424),'value':JSON['stringify'](_0x35b868),'headers':{'event-type':_0x3e9915,'correlation-id':_0x35b868['correlationId'],'source':_0x35b868[_0x185465(0xe1)]}}]});return console[_0x185465(0xa2)](_0x185465(0xb0)+_0x551253+':\x20'+_0x3e9915+'\x20(key:\x20'+_0x2fa424+')'),{'success':!![],'correlationId':_0x35b868['correlationId'],'topic':_0x551253,'partition':_0x7b1ccd[0x0]?.[_0x185465(0xef)],'offset':_0x7b1ccd[0x0]?.[_0x185465(0xf7)],'published':!![]};}catch(_0x3aa551){return console[_0x185465(0xdc)](_0x185465(0xa3)+_0x551253+':\x20'+_0x3aa551[_0x185465(0xe8)]),{'success':![],'error':_0x3aa551[_0x185465(0xe8)],'published':![]};}}async[a0_0x2d9966(0xb3)](_0x1560cf,_0x3af4d7,_0x5e424c,_0x4aa8a7={}){const _0x1ab6bc=a0_0x2d9966,_0x4f9ccc=this['buildTopicName'](_0x1560cf,_0x3af4d7,_0x1ab6bc(0xf3),_0x4aa8a7[_0x1ab6bc(0xe2)]);return this['publishEvent'](_0x4f9ccc,_0x1ab6bc(0x9a),null,_0x5e424c,{'module':_0x1560cf,'endpoint':_0x3af4d7,'keyField':_0x4aa8a7[_0x1ab6bc(0xe6)],'tableName':_0x4aa8a7[_0x1ab6bc(0xde)],'correlationId':_0x4aa8a7[_0x1ab6bc(0xcd)]});}async['publishUpdate'](_0x3f3a5f,_0xb47efe,_0x3c425f,_0x5dfbf8,_0x5bc6d9={}){const _0x455f3d=a0_0x2d9966,_0x1aa0a9={'IvmFz':'updated'},_0x10fee6=this['buildTopicName'](_0x3f3a5f,_0xb47efe,_0x1aa0a9['IvmFz'],_0x5bc6d9['topic']);return this[_0x455f3d(0xa1)](_0x10fee6,_0x455f3d(0xcf),_0x3c425f,_0x5dfbf8,{'module':_0x3f3a5f,'endpoint':_0xb47efe,'keyField':_0x5bc6d9['keyField'],'tableName':_0x5bc6d9['tableName'],'correlationId':_0x5bc6d9['correlationId']});}async['publishDelete'](_0x20611d,_0x1c90db,_0x1d0cea,_0x4cbfd9={}){const _0x32eec4=a0_0x2d9966,_0x4f52a6=this[_0x32eec4(0xb7)](_0x20611d,_0x1c90db,_0x32eec4(0xb5),_0x4cbfd9[_0x32eec4(0xe2)]);return this[_0x32eec4(0xa1)](_0x4f52a6,_0x32eec4(0xd2),_0x1d0cea,null,{'module':_0x20611d,'endpoint':_0x1c90db,'keyField':_0x4cbfd9[_0x32eec4(0xe6)],'tableName':_0x4cbfd9[_0x32eec4(0xde)],'correlationId':_0x4cbfd9['correlationId']});}[a0_0x2d9966(0xad)](){const _0x4ce7d5=a0_0x2d9966,_0x1e0c06=this['getConfig']();return{'enabled':_0x1e0c06[_0x4ce7d5(0xc7)],'connected':this['isConnected'],'brokers':_0x1e0c06[_0x4ce7d5(0xea)],'clientId':_0x1e0c06['clientId'],'topicPattern':_0x1e0c06[_0x4ce7d5(0xd8)]};}async['close'](){const _0xbbad64=a0_0x2d9966;if(this[_0xbbad64(0xa7)]&&this['isConnected'])try{await this[_0xbbad64(0xa7)][_0xbbad64(0xa6)](),this[_0xbbad64(0xc9)]=![],console['log'](_0xbbad64(0xf2));}catch(_0x258e76){console[_0xbbad64(0xdc)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x258e76['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x1e33be=a0_0x2d9966;instance&&(instance[_0x1e33be(0xbd)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4afa67=a0_0x57de;function a0_0x57de(_0xdecab1,_0x93bb1){_0xdecab1=_0xdecab1-0x175;const _0x3cee47=a0_0x3cee();let _0x57dec5=_0x3cee47[_0xdecab1];if(a0_0x57de['EaJtTl']===undefined){var _0x119ab2=function(_0x438b0f){const _0x5ec7c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x7c7551='',_0x26bd2d='';for(let _0x562107=0x0,_0x2b1023,_0x548c98,_0x13c88f=0x0;_0x548c98=_0x438b0f['charAt'](_0x13c88f++);~_0x548c98&&(_0x2b1023=_0x562107%0x4?_0x2b1023*0x40+_0x548c98:_0x548c98,_0x562107++%0x4)?_0x7c7551+=String['fromCharCode'](0xff&_0x2b1023>>(-0x2*_0x562107&0x6)):0x0){_0x548c98=_0x5ec7c0['indexOf'](_0x548c98);}for(let _0x27ae9c=0x0,_0x33bb4f=_0x7c7551['length'];_0x27ae9c<_0x33bb4f;_0x27ae9c++){_0x26bd2d+='%'+('00'+_0x7c7551['charCodeAt'](_0x27ae9c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26bd2d);};a0_0x57de['gJqoPU']=_0x119ab2,a0_0x57de['RQHzZm']={},a0_0x57de['EaJtTl']=!![];}const _0x57dce7=_0x3cee47[0x0],_0x461a4d=_0xdecab1+_0x57dce7,_0x10cfc1=a0_0x57de['RQHzZm'][_0x461a4d];return!_0x10cfc1?(_0x57dec5=a0_0x57de['gJqoPU'](_0x57dec5),a0_0x57de['RQHzZm'][_0x461a4d]=_0x57dec5):_0x57dec5=_0x10cfc1,_0x57dec5;}(function(_0x420423,_0xfc1279){const _0x4315d0=a0_0x57de,_0x4e266e=_0x420423();while(!![]){try{const _0x31c1eb=parseInt(_0x4315d0(0x192))/0x1+-parseInt(_0x4315d0(0x1d0))/0x2+-parseInt(_0x4315d0(0x1af))/0x3*(parseInt(_0x4315d0(0x1bd))/0x4)+parseInt(_0x4315d0(0x1b8))/0x5*(-parseInt(_0x4315d0(0x1a5))/0x6)+-parseInt(_0x4315d0(0x1d9))/0x7*(-parseInt(_0x4315d0(0x197))/0x8)+parseInt(_0x4315d0(0x18c))/0x9*(parseInt(_0x4315d0(0x1ac))/0xa)+parseInt(_0x4315d0(0x1c1))/0xb*(parseInt(_0x4315d0(0x17e))/0xc);if(_0x31c1eb===_0xfc1279)break;else _0x4e266e['push'](_0x4e266e['shift']());}catch(_0x3840){_0x4e266e['push'](_0x4e266e['shift']());}}}(a0_0x3cee,0xd18c3));const dotenv=require(a0_0x4afa67(0x1ce)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x4afa67(0x1b1)]();let MessageHub;try{const messagehubPath=path[a0_0x4afa67(0x1bc)](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0x4afa67(0x1b4)+messagehubPath);}catch(a0_0x2d7d5a){console[a0_0x4afa67(0x19a)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x2d7d5a[a0_0x4afa67(0x191)]);throw a0_0x2d7d5a;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x2168e0){const _0x7a1c95=a0_0x4afa67,_0x12317a=new Date()[_0x7a1c95(0x1c7)]();console['log']('['+_0x12317a+']\x20'+_0x2168e0);}async function initMessageHub(){const _0x5beefb=a0_0x4afa67,_0x475144={'qDeSd':function(_0x1c69b4,_0x4543b1){return _0x1c69b4(_0x4543b1);},'jYLgU':function(_0x4b4244,_0x221bbb){return _0x4b4244(_0x221bbb);},'SArHW':function(_0x5b81db,_0x344795){return _0x5b81db===_0x344795;},'CMWyo':'disconnected','vjNnT':'Tidak\x20diketahui','QXpQo':'message-sent','NuTXW':'message-received','sSnEH':'Unknown','oFPaB':'Connection\x20timeout','tzhVm':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','vJElj':function(_0x29b338,_0x2f6b25){return _0x29b338(_0x2f6b25);},'oRwCo':'Mode:\x20Koneksi\x20Nyata','aFfvm':_0x5beefb(0x196),'dbPyf':'broadcast','iBgck':'true','tOduS':_0x5beefb(0x1d1),'mZkeG':function(_0x98c83,_0x2650bb){return _0x98c83(_0x2650bb);},'rBwCR':_0x5beefb(0x1b2),'KQRUj':function(_0x2dea97,_0x7b51cd){return _0x2dea97(_0x7b51cd);},'GxbAN':function(_0x458432,_0x1f115a){return _0x458432(_0x1f115a);},'rKUXU':'Error\x20inisialisasi\x20MessageHub:'};if(messagehub&&isConnected)return _0x475144[_0x5beefb(0x1cf)](log,_0x5beefb(0x185)),!![];if(connectionPromise)return log(_0x5beefb(0x1b9)),connectionPromise;return connectionPromise=new Promise(async(_0x1f364c,_0x9f6498)=>{const _0x30d581=_0x5beefb,_0x4767eb={'OKOSp':'connected','eSPVv':function(_0xa15b08,_0x12cc0b){return _0x475144['qDeSd'](_0xa15b08,_0x12cc0b);},'TZyDB':function(_0xc736ad,_0x28c2cd){return _0x475144['jYLgU'](_0xc736ad,_0x28c2cd);},'lybpx':function(_0x2bc0ef,_0x123f8d){return _0x475144['SArHW'](_0x2bc0ef,_0x123f8d);},'cLxdT':_0x475144[_0x30d581(0x184)],'GfKdh':function(_0x2c9068,_0x3bc7de){const _0x332657=_0x30d581;return _0x475144[_0x332657(0x1d4)](_0x2c9068,_0x3bc7de);},'eCURm':_0x475144['vjNnT'],'wgPcS':function(_0x54ccdf,_0x115b52){return _0x54ccdf===_0x115b52;},'dfPyk':'error','Klxcw':_0x475144[_0x30d581(0x181)],'WQUoU':_0x475144['NuTXW'],'AwEJV':_0x475144['sSnEH'],'gtshY':function(_0x3f6c42,_0x4fb986){return _0x3f6c42&&_0x4fb986;},'aJhbz':_0x475144[_0x30d581(0x1aa)]};try{log(_0x475144[_0x30d581(0x194)]),log(_0x30d581(0x1b0)+new Date()['toLocaleString']()),_0x475144[_0x30d581(0x17b)](log,_0x475144[_0x30d581(0x18d)]);const _0x299ad6={'publishKey':process['env'][_0x30d581(0x19c)],'subscribeKey':process['env'][_0x30d581(0x1b7)],'userId':process['env'][_0x30d581(0x183)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x475144[_0x30d581(0x1a0)])+'-'+process[_0x30d581(0x180)],'communicationType':process[_0x30d581(0x1d6)][_0x30d581(0x199)]||_0x475144['dbPyf'],'autoAcknowledge':_0x475144[_0x30d581(0x1c6)](process[_0x30d581(0x1d6)]['MSHUB_AUTO_ACKNOWLEDGE'],_0x475144[_0x30d581(0x17f)]),'acknowledgeMessages':_0x475144[_0x30d581(0x1c6)](process[_0x30d581(0x1d6)]['MSHUB_ACKNOWLEDGE_MESSAGES'],_0x475144[_0x30d581(0x17f)]),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x475144[_0x30d581(0x1ae)],'host':process['env'][_0x30d581(0x1db)]||'localhost','api_port':_0x475144[_0x30d581(0x1bb)](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x299ad6),log(_0x475144[_0x30d581(0x177)]),log(_0x30d581(0x1a3)+messagehub['userId']),_0x475144['KQRUj'](log,'Publish\x20Key:\x20'+messagehub['publishKey']),_0x475144[_0x30d581(0x1cf)](log,_0x30d581(0x1c4)+messagehub[_0x30d581(0x1b5)]),_0x475144[_0x30d581(0x1bb)](log,_0x30d581(0x1c0)+messagehub[_0x30d581(0x1a8)]),log(_0x30d581(0x189)+JSON[_0x30d581(0x17a)](messagehub[_0x30d581(0x19d)])),_0x475144[_0x30d581(0x1d4)](log,'========================================'),messagehub[_0x30d581(0x195)]({'status':function(_0x477194){const _0xcef53=_0x30d581;log('Status\x20Listener:\x20'+_0x477194['category']);if(_0x477194['category']===_0x4767eb[_0xcef53(0x1a4)])_0x4767eb['eSPVv'](log,_0xcef53(0x18b)),isConnected=!![],timeoutHandler&&(_0x4767eb['TZyDB'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x4767eb[_0xcef53(0x1a2)](_0x1f364c,!![]);else{if(_0x4767eb[_0xcef53(0x1ab)](_0x477194[_0xcef53(0x1d7)],_0x4767eb['cLxdT'])){const _0x5bcbe9=_0x477194['isErrorRelated']===!![];!_0x5bcbe9&&(_0x4767eb['GfKdh'](log,_0xcef53(0x1a7)+(_0x477194[_0xcef53(0x17d)]||_0xcef53(0x186))),isConnected=![],connectionPromise&&(_0x4767eb['TZyDB'](_0x9f6498,new Error('Koneksi\x20terputus:\x20'+(_0x477194[_0xcef53(0x17d)]||_0x4767eb['eCURm']))),connectionPromise=null));}else{if(_0x4767eb['wgPcS'](_0x477194[_0xcef53(0x1d7)],_0x4767eb[_0xcef53(0x188)])){let _0x5cd245=_0x477194[_0xcef53(0x179)]||_0x477194[_0xcef53(0x19a)]||_0xcef53(0x178);_0x4767eb['TZyDB'](log,_0xcef53(0x1d8)+_0x5cd245),isConnected=![],connectionPromise&&(_0x4767eb[_0xcef53(0x1a2)](_0x9f6498,new Error(_0x5cd245)),connectionPromise=null);}else{if(_0x477194[_0xcef53(0x1d7)]===_0x4767eb[_0xcef53(0x1a9)])log(_0xcef53(0x193)+_0x477194[_0xcef53(0x187)]);else{if(_0x477194[_0xcef53(0x1d7)]===_0x4767eb['WQUoU']){const _0x53f00d=_0x477194['receiverInfo']?.[_0xcef53(0x1c2)]||_0x4767eb[_0xcef53(0x1a6)],_0x2fe19b=_0x477194['receiverInfo']?.['id']||_0x477194[_0xcef53(0x1cd)],_0x3614ea=new Date(_0x477194['receiverInfo']?.['receivedAt']||_0x477194[_0xcef53(0x176)]||new Date())['toLocaleTimeString']();log(_0xcef53(0x19f)+_0x477194[_0xcef53(0x187)]+_0xcef53(0x190)+_0x53f00d+'\x20('+_0x2fe19b+_0xcef53(0x1bf)+_0x3614ea+_0xcef53(0x175)+(_0x477194[_0xcef53(0x1cc)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x722f=_0x30d581;_0x4767eb[_0x722f(0x19b)](!isConnected,connectionPromise)&&(log(_0x722f(0x17c)),_0x9f6498(new Error(_0x4767eb[_0x722f(0x1d3)])),connectionPromise=null);},0x2710);}catch(_0x4645bf){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x4645bf['message']),console[_0x30d581(0x19a)](_0x475144['rKUXU'],_0x4645bf),connectionPromise=null,_0x9f6498(_0x4645bf);}}),connectionPromise;}async function publishMessage(_0x55b100,_0x5e63ce,_0x55eb26,_0x5343da={}){const _0x52eba7=a0_0x4afa67,_0xd7c12d={'IEdUU':function(_0x10df06){return _0x10df06();},'GNOpJ':function(_0x1d3b68,_0x2d8e71){return _0x1d3b68!==_0x2d8e71;},'XaKYd':'restforge','Cywan':function(_0x5a284f,_0x1c7861){return _0x5a284f(_0x1c7861);},'xrScO':_0x52eba7(0x1be),'bVysK':_0x52eba7(0x182)};try{!isConnected&&await _0xd7c12d['IEdUU'](initMessageHub);const _0x4a8a30=messagehub['channel'](_0x55b100);log(_0x52eba7(0x1d5)),log(_0x52eba7(0x1c9)+_0x4a8a30[_0x52eba7(0x1c8)]),log('Message\x20Type:\x20'+_0x5e63ce),log('================================');const _0x4adf27={'requireAck':_0x5343da[_0x52eba7(0x1b6)]!==undefined?_0x5343da['requireAck']:![],'clearCache':_0xd7c12d['GNOpJ'](_0x5343da[_0x52eba7(0x1da)],undefined)?_0x5343da['clearCache']:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0xd7c12d['XaKYd']};_0xd7c12d[_0x52eba7(0x1c3)](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x596482={'type':_0x5e63ce,'content':_0x55eb26},_0x1e426a=await _0x4a8a30[_0x52eba7(0x1cb)](_0x596482,_0x4adf27);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x55b100),{'success':!![],'requestId':_0x1e426a[_0x52eba7(0x187)],'topic':_0x55b100,'message':_0xd7c12d['xrScO']};}catch(_0x5158c1){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x5158c1[_0x52eba7(0x191)]),{'success':![],'error':_0x5158c1['message'],'topic':_0x55b100,'message':_0xd7c12d['bVysK']};}}async function closeConnection(){const _0x1c7ae2=a0_0x4afa67,_0x2c7b75={'eJshn':function(_0x216905,_0x2f0156){return _0x216905&&_0x2f0156;},'pvCCj':function(_0x3f77f5,_0x4835e){return _0x3f77f5===_0x4835e;},'Ktgvp':'function','PFcrn':function(_0x35d8ee,_0x2c5835){return _0x35d8ee(_0x2c5835);},'UUOBl':_0x1c7ae2(0x198),'EDCBP':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x2c7b75['eJshn'](isConnected,messagehub))try{if(_0x2c7b75['pvCCj'](typeof messagehub['disconnect'],_0x2c7b75[_0x1c7ae2(0x18a)]))await messagehub[_0x1c7ae2(0x1ca)](),_0x2c7b75[_0x1c7ae2(0x1c5)](log,_0x1c7ae2(0x1ad));else{if(_0x2c7b75[_0x1c7ae2(0x18f)](typeof messagehub[_0x1c7ae2(0x1a1)],'function'))await messagehub[_0x1c7ae2(0x1a1)](),log(_0x1c7ae2(0x1ba));else messagehub[_0x1c7ae2(0x19e)]&&_0x2c7b75['pvCCj'](typeof messagehub[_0x1c7ae2(0x19e)]['disconnect'],_0x2c7b75['Ktgvp'])?(messagehub[_0x1c7ae2(0x19e)]['disconnect'](),_0x2c7b75['PFcrn'](log,_0x2c7b75['UUOBl'])):log(_0x2c7b75[_0x1c7ae2(0x18e)]);}isConnected=![],connectionPromise=null;}catch(_0x37e18c){log(_0x1c7ae2(0x1d2)+_0x37e18c['message']);}}module[a0_0x4afa67(0x1b3)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x3cee(){const _0x539ab7=['vgLKywSGzgLRzxrHAhvP','CMvXDwvZDeLK','zgzqEwS','s29UzMLNDxjHC2KGugXHDgzVCM06ia','s3rNDNa','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','ndm1nLb3q1nXDG','B1j3q28','rurdqLa','Chzdq2O','igrPDgvYAw1Hig9SzwGG','BwvZC2fNzq','mti2nJaXmfnZs0D4vG','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','DhPOvM0','ywrKtgLZDgvUzxi','zgvMyxvSDa','ognZC0T3rq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','tvnivujFq09ntvvosunbveLptL9uwvbf','zxjYB3i','z3rZAfK','tvnivujFufvcteLtsf9lrvK','CgXHDgzVCM1dB25MAwC','C29JA2v0','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','yuzMDM0','y2XVC2u','zvnqvNy','q2XPzw50ieLel1vZzxjjrdOG','t0Tpu3a','mJyXndjnq3LoB0i','qxDfsLy','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','y29TBxvUAwnHDgLVBLr5Cgu','s2X4y3C','B0zqyui','BhLIChG','mtyZndbRA2zPuxe','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','De9KDvm','mtvwzKfmvLG','v2fRDhuGsw5PC2LHBgLZyxnPoIa','y29UzMLN','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','zxHWB3j0CW','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','C3vIC2nYAwjLs2v5','CMvXDwLYzufJAW','tvnivujFu1vcu0nssujfx0Tfwq','ntq1y1bXC25v','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','BvPRzuC','CMvZB2X2zq','mta2mdqZnKHWzLnnAW','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','ksbWywrHia','vgLWzsblB211BMLRyxnPoIa','oda3mdG5ohfwA01wDW','BMfTzq','q3L3yw4','u3vIC2nYAwjLieTLEtOG','uezJCM4','u0fYsfC','Dg9ju09tDhjPBMC','Dg9WAwm','q2HHBM5LBcbuyxjNzxq6ia','zgLZy29UBMvJDa','ChvIBgLZAa','y29UzMLYBwf0Aw9Uq291BNq','CMvJzwL2zxjjza','zg90zw52','r3HIqu4','mJGWmduYmhzhu3ztvW','D2vIC29JA2v0','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','yuPOyNO','CurLu2q','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','zw52','y2f0zwDVCNK','4PQG77IpievYCM9YoIa','odG3ota4n1fLB0TYvq','y2XLyxjdywnOzq','tvnivujFse9tva','lIbuB3rHBcbRB25MAxjTyxnPoIa','CMvJzwL2zwrbDa','CKj3q1i','vw5RBM93BIbLCNjVCG','zxjYB3jezxrHAwW','C3rYAw5NAwz5','DKPfBgO','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','CMvHC29U','mtj3EK9nvvy','AujNy2S','CgLK','uvHWuw8','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','tvnivujFvvnfuL9jra','q01xEw8','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge'];a0_0x3cee=function(){return _0x539ab7;};return a0_0x3cee();}
|
|
1
|
+
const a0_0x1c2b8c=a0_0x4e9f;function a0_0x2371(){const _0xc989b4=['4PQG77IpievYCM9YoIa','CM1usfe','CgXHDgzVCM1dB25MAwC','y2XLyxjdywnOzq','BwvZC2fNzq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','BNvor2S','tw9KztOGs29UzwTZAsboEwf0yq','AeHMwvq','tvnivujFqvbjx1bpuLq','nJq3otD0D2PXBfy','ndmXnZqXneX5BKH1wq','sNLMCeG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','zLzNEuu','uLrpAw0','ody2mtG0tMLyquvT','CMvZDgzVCMDLlq','CMvXDwLYzufJAW','D2vIC29JA2v0','rhLdyMW','CgLK','ENzrrKS','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','z29puLq','ALP0yKe','Cgf0Aa','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ofbABKDnDG','CMvJzwL2zxjjBMzV','mZuWnJG0nNLlvevWwG','C29JA2v0','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','s29UzwTZAsb0zxjWDxr1CZOG','CvL5ufC','tvnivujFvvnfuL9jra','AxnfCNjVCLjLBgf0zwq','BMnMuKi','ntm1oduZn0vXr1zUuW','zgLZy29UBMvJDa','vgLWzsblB211BMLRyxnPoIa','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','teTnuM8','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','zw52','zfHMvuK','vLrquxu','nuzrvxPeyq','yNb1BfO','wwzKrMS','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','zxjYB3i','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','ndzqDM5vuLy','t3rYs3y','qLfNBhe','sLr1que','tvnivujFu1vcu0nssujfx0Tfwq','qw5tyLe','mtiYoduXmtLlueXowwm','y2f0zwDVCNK','t3LSveW','y29UzMLYBwf0Aw9Uq291BNq','ywzrCKW','u3vIC2nYAwjLieTLEtOG','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','Bg9N','u3rHDhvZieXPC3rLBMvYoIa','CezNDvu','CMvXDwvZDeLK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','rgHXDMm','mtbyqxbwCui','AxbtqwC','ALjmyxy','ywrKtgLZDgvUzxi','Dg9mB2nHBgvtDhjPBMC','zxHWB3j0CW','BMfTzq','CMvJzwL2zwrbDa','wM90rLq','tvnivujFufvcteLtsf9lrvK','Dhj1zq','yuDZrfK','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','Bezosei','q2XPzw50ieLel1vZzxjjrdOG','y2HHBM5LBa','mZu5mdm2twjzDgzz','tuLqvw8'];a0_0x2371=function(){return _0xc989b4;};return a0_0x2371();}(function(_0x358b8d,_0x441521){const _0x37b36f=a0_0x4e9f,_0x4d6fa1=_0x358b8d();while(!![]){try{const _0x22a731=parseInt(_0x37b36f(0x128))/0x1+-parseInt(_0x37b36f(0x104))/0x2*(-parseInt(_0x37b36f(0x134))/0x3)+parseInt(_0x37b36f(0x13a))/0x4*(parseInt(_0x37b36f(0xfe))/0x5)+-parseInt(_0x37b36f(0x135))/0x6+parseInt(_0x37b36f(0x149))/0x7*(-parseInt(_0x37b36f(0x147))/0x8)+parseInt(_0x37b36f(0x151))/0x9*(-parseInt(_0x37b36f(0x118))/0xa)+parseInt(_0x37b36f(0x10a))/0xb;if(_0x22a731===_0x441521)break;else _0x4d6fa1['push'](_0x4d6fa1['shift']());}catch(_0x2ad296){_0x4d6fa1['push'](_0x4d6fa1['shift']());}}}(a0_0x2371,0x5b200));const dotenv=require('dotenv'),path=require(a0_0x1c2b8c(0x145)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;function a0_0x4e9f(_0x5b0630,_0x15091d){_0x5b0630=_0x5b0630-0xf9;const _0x2371e7=a0_0x2371();let _0x4e9fec=_0x2371e7[_0x5b0630];if(a0_0x4e9f['kJnhyd']===undefined){var _0x3ebcef=function(_0x577375){const _0x53a46d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24ca51='',_0x20e25f='';for(let _0x3ff894=0x0,_0x535682,_0x176cff,_0x301694=0x0;_0x176cff=_0x577375['charAt'](_0x301694++);~_0x176cff&&(_0x535682=_0x3ff894%0x4?_0x535682*0x40+_0x176cff:_0x176cff,_0x3ff894++%0x4)?_0x24ca51+=String['fromCharCode'](0xff&_0x535682>>(-0x2*_0x3ff894&0x6)):0x0){_0x176cff=_0x53a46d['indexOf'](_0x176cff);}for(let _0x3639ee=0x0,_0xaf542=_0x24ca51['length'];_0x3639ee<_0xaf542;_0x3639ee++){_0x20e25f+='%'+('00'+_0x24ca51['charCodeAt'](_0x3639ee)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20e25f);};a0_0x4e9f['GkfTUH']=_0x3ebcef,a0_0x4e9f['BAtGZY']={},a0_0x4e9f['kJnhyd']=!![];}const _0x1f0598=_0x2371e7[0x0],_0x48c655=_0x5b0630+_0x1f0598,_0x5773a5=a0_0x4e9f['BAtGZY'][_0x48c655];return!_0x5773a5?(_0x4e9fec=a0_0x4e9f['GkfTUH'](_0x4e9fec),a0_0x4e9f['BAtGZY'][_0x48c655]=_0x4e9fec):_0x4e9fec=_0x5773a5,_0x4e9fec;}try{const messagehubPath=path['resolve'](__dirname,a0_0x1c2b8c(0xfa));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x1c2b8c(0x111)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x2bb955){console[a0_0x1c2b8c(0x102)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x2bb955['message']);throw a0_0x2bb955;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x1981e6){const _0x3e9652=new Date()['toISOString']();console['log']('['+_0x3e9652+']\x20'+_0x1981e6);}async function initMessageHub(){const _0x58fac8=a0_0x1c2b8c,_0x4bc02a={'AnSbQ':function(_0x1fd7fc,_0x20c36d){return _0x1fd7fc(_0x20c36d);},'EKhhb':function(_0x489925,_0xf99534){return _0x489925===_0xf99534;},'dhoxI':'Unknown\x20error','bpulZ':function(_0x143c29,_0x4b4eb3){return _0x143c29===_0x4b4eb3;},'fVgyE':'message-received','ZotFT':_0x58fac8(0x12f),'Dhqvc':_0x58fac8(0x131),'FXKcI':'default','aBYjE':'broadcast','gDlnF':'true','JTuAA':_0x58fac8(0x13d),'dXfUI':'localhost','OylTL':function(_0x489b2d,_0x38aee8){return _0x489b2d(_0x38aee8);},'pFguU':function(_0xede6ba,_0x34f8e3){return _0xede6ba(_0x34f8e3);},'afQrL':function(_0x2f68c9,_0x45db0c){return _0x2f68c9(_0x45db0c);},'lFNHB':_0x58fac8(0x137),'jZtbA':function(_0x4a6766,_0x45690e,_0x272007){return _0x4a6766(_0x45690e,_0x272007);},'jEVwo':'Error\x20inisialisasi\x20MessageHub:','JyfpH':function(_0x5cfcd3,_0x3fa611){return _0x5cfcd3(_0x3fa611);},'ipSAg':function(_0x1d0699,_0x3742ac){return _0x1d0699&&_0x3742ac;}};if(_0x4bc02a[_0x58fac8(0x119)](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0x4bc02a['AnSbQ'](log,_0x58fac8(0x101)),connectionPromise;return connectionPromise=new Promise(async(_0x1e67a1,_0x473d98)=>{const _0x3e1310=_0x58fac8,_0x11de9b={'nuNGk':function(_0x192113,_0xdd4b21){return _0x192113(_0xdd4b21);},'qYyPW':function(_0x409fbf,_0x166b67){return _0x409fbf===_0x166b67;},'OxmSG':function(_0x3e8118,_0x200906){const _0x5b1de9=a0_0x4e9f;return _0x4bc02a[_0x5b1de9(0x109)](_0x3e8118,_0x200906);},'HzAQJ':'disconnected','VTPQu':'Tidak\x20diketahui','hHfYT':function(_0x400dc0,_0x5da18f){return _0x4bc02a['EKhhb'](_0x400dc0,_0x5da18f);},'zvQFK':_0x4bc02a['dhoxI'],'RTOim':function(_0x3a7d00,_0x5fa8fa){return _0x3a7d00(_0x5fa8fa);},'LvNPM':function(_0x3f96ea,_0x35a4ba){const _0x527fec=a0_0x4e9f;return _0x4bc02a[_0x527fec(0xff)](_0x3f96ea,_0x35a4ba);},'jRLav':'message-sent','NrQJC':_0x4bc02a[_0x3e1310(0x138)],'sqLth':function(_0x4645b3,_0x56b831){const _0x3c27af=_0x3e1310;return _0x4bc02a[_0x3c27af(0x109)](_0x4645b3,_0x56b831);},'BQglq':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'};try{log(_0x4bc02a[_0x3e1310(0x120)]),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x3e1310(0x11c)]()),_0x4bc02a[_0x3e1310(0x109)](log,_0x4bc02a[_0x3e1310(0x117)]);const _0x102d09={'publishKey':process[_0x3e1310(0xfb)][_0x3e1310(0x121)],'subscribeKey':process[_0x3e1310(0xfb)][_0x3e1310(0x108)],'userId':process['env'][_0x3e1310(0x14e)]||_0x3e1310(0x13b)+(process[_0x3e1310(0xfb)][_0x3e1310(0x146)]||_0x4bc02a['FXKcI'])+'-'+process[_0x3e1310(0x13f)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4bc02a['aBYjE'],'autoAcknowledge':_0x4bc02a['EKhhb'](process[_0x3e1310(0xfb)]['MSHUB_AUTO_ACKNOWLEDGE'],_0x3e1310(0x122)),'acknowledgeMessages':process[_0x3e1310(0xfb)][_0x3e1310(0x110)]===_0x4bc02a['gDlnF'],'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4bc02a[_0x3e1310(0x107)],'host':process[_0x3e1310(0xfb)]['MSHUB_HOST']||_0x4bc02a[_0x3e1310(0xfc)],'api_port':_0x4bc02a[_0x3e1310(0x10c)](parseInt,process[_0x3e1310(0xfb)][_0x3e1310(0x133)]||0xdf8),'service_port':_0x4bc02a['OylTL'](parseInt,process[_0x3e1310(0xfb)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x102d09),_0x4bc02a[_0x3e1310(0x113)](log,'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x3e1310(0x126)+messagehub['userId']),_0x4bc02a[_0x3e1310(0x10e)](log,'Publish\x20Key:\x20'+messagehub['publishKey']),_0x4bc02a['afQrL'](log,_0x3e1310(0x10f)+messagehub['subscribeKey']),log(_0x3e1310(0x153)+messagehub['communicationType']),_0x4bc02a[_0x3e1310(0x109)](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x3e1310(0x12c)])),log(_0x4bc02a[_0x3e1310(0x125)]),messagehub[_0x3e1310(0x11b)]({'status':function(_0x278af8){const _0x123884=_0x3e1310;_0x11de9b['nuNGk'](log,_0x123884(0x112)+_0x278af8[_0x123884(0x10b)]);if(_0x11de9b[_0x123884(0x14d)](_0x278af8['category'],'connected'))_0x11de9b[_0x123884(0x130)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x11de9b['nuNGk'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x11de9b['OxmSG'](_0x1e67a1,!![]);else{if(_0x278af8[_0x123884(0x10b)]===_0x11de9b['HzAQJ']){const _0xd73143=_0x278af8[_0x123884(0x14f)]===!![];!_0xd73143&&(log(_0x123884(0x116)+(_0x278af8['reason']||_0x11de9b[_0x123884(0xfd)])),isConnected=![],connectionPromise&&(_0x473d98(new Error(_0x123884(0x14c)+(_0x278af8['reason']||_0x11de9b[_0x123884(0xfd)]))),connectionPromise=null));}else{if(_0x11de9b[_0x123884(0x132)](_0x278af8['category'],'error')){let _0x1c9b14=_0x278af8['errorDetail']||_0x278af8['error']||_0x11de9b[_0x123884(0x140)];_0x11de9b[_0x123884(0x139)](log,_0x123884(0x12a)+_0x1c9b14),isConnected=![],connectionPromise&&(_0x473d98(new Error(_0x1c9b14)),connectionPromise=null);}else{if(_0x11de9b['LvNPM'](_0x278af8[_0x123884(0x10b)],_0x11de9b[_0x123884(0x11a)]))log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x278af8[_0x123884(0x114)]);else{if(_0x278af8[_0x123884(0x10b)]===_0x11de9b['NrQJC']){const _0x3c761f=_0x278af8[_0x123884(0x148)]?.[_0x123884(0x11e)]||'Unknown',_0x423ccc=_0x278af8[_0x123884(0x148)]?.['id']||_0x278af8['receiverId'],_0xc275ed=new Date(_0x278af8['receiverInfo']?.['receivedAt']||_0x278af8[_0x123884(0x11f)]||new Date())['toLocaleTimeString']();_0x11de9b['sqLth'](log,_0x123884(0x115)+_0x278af8['requestId']+'\x20diterima\x20oleh\x20'+_0x3c761f+'\x20('+_0x423ccc+')\x20pada\x20'+_0xc275ed+'.\x20Total\x20konfirmasi:\x20'+(_0x278af8[_0x123884(0x10d)]||0x1));}}}}}}}),timeoutHandler=_0x4bc02a[_0x3e1310(0x144)](setTimeout,()=>{const _0x575b9a=_0x3e1310;!isConnected&&connectionPromise&&(log(_0x11de9b[_0x575b9a(0x106)]),_0x473d98(new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x25df46){log(_0x3e1310(0x103)+_0x25df46[_0x3e1310(0x12e)]),console['error'](_0x4bc02a['jEVwo'],_0x25df46),connectionPromise=null,_0x4bc02a[_0x3e1310(0x136)](_0x473d98,_0x25df46);}}),connectionPromise;}async function publishMessage(_0x5211c7,_0x53facf,_0x12ec68,_0x3e2a61={}){const _0x29631f=a0_0x1c2b8c,_0x424ece={'goORT':function(_0x4c8974){return _0x4c8974();},'DyCbl':function(_0x37b7d4,_0x502a30){return _0x37b7d4(_0x502a30);},'BYfhV':'================================','GvTPh':function(_0x43dda4,_0x4ed12c){return _0x43dda4!==_0x4ed12c;},'tWalp':function(_0xa11945,_0x12148e){return _0xa11945!==_0x12148e;},'rnXXU':function(_0x1ef169,_0x489d5f){return _0x1ef169(_0x489d5f);},'EuThI':'Failed\x20to\x20send\x20message'};try{!isConnected&&await _0x424ece[_0x29631f(0x143)](initMessageHub);const _0x1a8014=messagehub[_0x29631f(0x127)](_0x5211c7);_0x424ece[_0x29631f(0x13e)](log,_0x29631f(0x154)),log('Channel\x20Target:\x20'+_0x1a8014['topic']),_0x424ece['DyCbl'](log,'Message\x20Type:\x20'+_0x53facf),log(_0x424ece['BYfhV']);const _0x54c945={'requireAck':_0x424ece['GvTPh'](_0x3e2a61[_0x29631f(0x13c)],undefined)?_0x3e2a61['requireAck']:![],'clearCache':_0x424ece['tWalp'](_0x3e2a61[_0x29631f(0x12d)],undefined)?_0x3e2a61[_0x29631f(0x12d)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:'restforge'};log('Mengirim\x20pesan\x20ke\x20server...');const _0x1c45b4={'type':_0x53facf,'content':_0x12ec68},_0x273603=await _0x1a8014['publish'](_0x1c45b4,_0x54c945);return _0x424ece[_0x29631f(0x13e)](log,_0x29631f(0x124)+_0x5211c7),{'success':!![],'requestId':_0x273603['requestId'],'topic':_0x5211c7,'message':'Message\x20sent\x20successfully'};}catch(_0x4c8b03){return _0x424ece['rnXXU'](log,_0x29631f(0x142)+_0x4c8b03[_0x29631f(0x12e)]),{'success':![],'error':_0x4c8b03['message'],'topic':_0x5211c7,'message':_0x424ece['EuThI']};}}async function closeConnection(){const _0x15c597=a0_0x1c2b8c,_0x760c1={'OtrKv':function(_0x141829,_0x1ee298){return _0x141829&&_0x1ee298;},'aGsDY':function(_0x19f4a5,_0x4c46e5){return _0x19f4a5(_0x4c46e5);},'rmTHQ':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','ncfRB':'function','TqJgL':_0x15c597(0x14b),'LKMRo':function(_0x192c11,_0x2b1c4d){return _0x192c11===_0x2b1c4d;},'MIPUo':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub','YfdFk':function(_0x58558f,_0x1e3ae2){return _0x58558f(_0x1e3ae2);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x760c1[_0x15c597(0x105)](isConnected,messagehub))try{if(typeof messagehub[_0x15c597(0x152)]==='function')await messagehub[_0x15c597(0x152)](),_0x760c1[_0x15c597(0x123)](log,_0x760c1[_0x15c597(0x12b)]);else{if(typeof messagehub['close']===_0x760c1['ncfRB'])await messagehub['close'](),_0x760c1[_0x15c597(0x123)](log,_0x760c1['TqJgL']);else messagehub[_0x15c597(0x14a)]&&_0x760c1[_0x15c597(0xf9)](typeof messagehub[_0x15c597(0x14a)][_0x15c597(0x152)],_0x760c1[_0x15c597(0x150)])?(messagehub['socket']['disconnect'](),_0x760c1[_0x15c597(0x123)](log,_0x15c597(0x141))):log(_0x760c1[_0x15c597(0x129)]);}isConnected=![],connectionPromise=null;}catch(_0x11b777){_0x760c1[_0x15c597(0x100)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x11b777[_0x15c597(0x12e)]);}}module[a0_0x1c2b8c(0x11d)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|