@restforgejs/platform 5.1.20 → 5.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +7 -7
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';const a0_0x324cd0=a0_0x561c;function a0_0x1e0a(){const _0x18fee3=['zxHPC3rZu3LUyW','zxjYB3i','ChjVAMvJDa','rgHeDuS','ChvZAa','x3rLBxbeAxi','DxjS','BxvSDgvY','DgvTCa','AM9PBG','x3bHCNnLrMLSzvnPEMu','mtC2z3HsEgHS','Dw1ezKe','mtyYmtLRrurdBNO','x2rLBgv0zvrLBxbgAwXL','DxbSB2fKlq','vvbmt0fex1rftvbFreLs','mtiZoty5svPLt2jy','yxjYyxK','z2vUzxjHDgvlzxK','B3jPz2LUywXUyw1L','nZznvxHyuxe','BNvTyMvY','zgvMyxvSDa','CMfUzg9TqNL0zxm','mtm4ndLVB1vPuLm','zMLSzxm','mta2nJH2DfjbzMe','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','BwvZC2fNzq','Cgf0Aa','ChjLzML4','D2fYBG','mtaWmKPZAKTqtq','DhjPBq','tu9ICfG','txz6teW','BwTKAxjtEw5J','A2v5','Bw9KDwXL','ndeYnJm5nxbMs3HQvG','zw52','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','otm4otDdwuPVuwm','y3j5ChrV','ChjVDMLKzxjoyw1L','DKXoANm','nJK3odmWmfzcv1fMtG','rhDrD0i','CKPot0i','svrtqxe','Aw5JBhvKzxm','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','DxbSB2fKzwrcEq','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','ChjVy2vZC1vWBg9HzgvKrMLSzxm','ntLsywPfD2m','mJu3otbiCM1luMu'];a0_0x1e0a=function(){return _0x18fee3;};return a0_0x1e0a();}(function(_0x4a35c9,_0x30aae6){const _0x583db2=a0_0x561c,_0x45979b=_0x4a35c9();while(!![]){try{const _0x39f393=-parseInt(_0x583db2(0xdb))/0x1*(-parseInt(_0x583db2(0xdc))/0x2)+-parseInt(_0x583db2(0xb4))/0x3*(-parseInt(_0x583db2(0xb8))/0x4)+-parseInt(_0x583db2(0xcb))/0x5+parseInt(_0x583db2(0xc4))/0x6*(parseInt(_0x583db2(0xb0))/0x7)+parseInt(_0x583db2(0xae))/0x8*(-parseInt(_0x583db2(0xce))/0x9)+parseInt(_0x583db2(0xd2))/0xa+parseInt(_0x583db2(0xbc))/0xb*(-parseInt(_0x583db2(0xbe))/0xc);if(_0x39f393===_0x30aae6)break;else _0x45979b['push'](_0x45979b['shift']());}catch(_0x33f4fc){_0x45979b['push'](_0x45979b['shift']());}}}(a0_0x1e0a,0x6f7cf));function a0_0x561c(_0x355548,_0x37d55d){_0x355548=_0x355548-0xa7;const _0x1e0a3e=a0_0x1e0a();let _0x561c19=_0x1e0a3e[_0x355548];if(a0_0x561c['GHRoNo']===undefined){var _0x72a346=function(_0x216574){const _0x3e574e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x20230c='',_0x109702='';for(let _0x1d459a=0x0,_0x43db66,_0x1bffaf,_0x3302cf=0x0;_0x1bffaf=_0x216574['charAt'](_0x3302cf++);~_0x1bffaf&&(_0x43db66=_0x1d459a%0x4?_0x43db66*0x40+_0x1bffaf:_0x1bffaf,_0x1d459a++%0x4)?_0x20230c+=String['fromCharCode'](0xff&_0x43db66>>(-0x2*_0x1d459a&0x6)):0x0){_0x1bffaf=_0x3e574e['indexOf'](_0x1bffaf);}for(let _0x1e968b=0x0,_0x25288c=_0x20230c['length'];_0x1e968b<_0x25288c;_0x1e968b++){_0x109702+='%'+('00'+_0x20230c['charCodeAt'](_0x1e968b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x109702);};a0_0x561c['gtOUxd']=_0x72a346,a0_0x561c['EQUwzp']={},a0_0x561c['GHRoNo']=!![];}const _0x3b09a9=_0x1e0a3e[0x0],_0xb18cda=_0x355548+_0x3b09a9,_0x4f50f8=a0_0x561c['EQUwzp'][_0xb18cda];return!_0x4f50f8?(_0x561c19=a0_0x561c['gtOUxd'](_0x561c19),a0_0x561c['EQUwzp'][_0xb18cda]=_0x561c19):_0x561c19=_0x4f50f8,_0x561c19;}const multer=require(a0_0x324cd0(0xaa)),path=require(a0_0x324cd0(0xc1)),crypto=require(a0_0x324cd0(0xcf)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x123ad7=a0_0x324cd0;this[_0x123ad7(0xa8)]=null;}get['tempDir'](){const _0xd0625b=a0_0x324cd0,_0x137b9a={'rJNOB':_0xd0625b(0xba),'MObpX':_0xd0625b(0xab)};if(!this['_tempDir']){const _0x53aeba=process['env']['RESTFORGE_PROJECT_NAME']||_0x137b9a[_0xd0625b(0xd4)];this[_0xd0625b(0xa8)]=process[_0xd0625b(0xcc)][_0xd0625b(0xb3)]||path[_0xd0625b(0xac)](process['cwd'](),_0x137b9a[_0xd0625b(0xc6)],'uploads',_0x53aeba),!fsSync['existsSync'](this['_tempDir'])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this[_0xd0625b(0xa8)];}[a0_0x324cd0(0xd7)](_0x1b45c9={}){const _0x5e6219=a0_0x324cd0,_0x162284={'gbEgA':'hex','umDfA':function(_0x321f70,_0xd30b9e,_0x5c8d08){return _0x321f70(_0xd30b9e,_0x5c8d08);},'ZzmjR':function(_0x12ea5b,_0xc56675){return _0x12ea5b===_0xc56675;},'DwQwB':function(_0xfe9dd0,_0x3f5658){return _0xfe9dd0(_0x3f5658);}},_0x2f0385=_0x1b45c9['maxFiles']||0x5,_0x4930d1=this[_0x5e6219(0xad)](_0x1b45c9['maxFileSize']||'10MB'),_0x44c724=_0x1b45c9['allowedTypes']||[],_0x15988f=multer['diskStorage']({'destination':(_0x4f0ed4,_0x26c922,_0x4a3936)=>{const _0x44c5b0=_0x5e6219;!fsSync[_0x44c5b0(0xdd)](this['tempDir'])&&fsSync[_0x44c5b0(0xc8)](this['tempDir'],{'recursive':!![]}),_0x4a3936(null,this['tempDir']);},'filename':(_0x2459fe,_0x15df51,_0x5f524c)=>{const _0x2b888d=_0x5e6219,_0x135bfa=crypto[_0x2b888d(0xbb)](0x8)['toString'](_0x162284['gbEgA']),_0x2570f2=Date['now'](),_0x490b2=path['extname'](_0x15df51['originalname']);_0x162284['umDfA'](_0x5f524c,null,_0x2b888d(0xb2)+_0x2570f2+'-'+_0x135bfa+_0x490b2);}}),_0x18c3f1=(_0x20a0c6,_0x41a2fb,_0x55b1d5)=>{const _0xeca9a4=_0x5e6219;if(_0x162284['ZzmjR'](_0x44c724['length'],0x0))return _0x55b1d5(null,!![]);const _0x1d7e6a=path['extname'](_0x41a2fb['originalname'])['toLowerCase']()['replace']('.','');_0x44c724[_0xeca9a4(0xd6)](_0x1d7e6a)?_0x162284[_0xeca9a4(0xaf)](_0x55b1d5,null,!![]):_0x55b1d5(new Error('File\x20type\x20\x22.'+_0x1d7e6a+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x44c724['join'](',\x20')));};return _0x162284[_0x5e6219(0xd3)](multer,{'storage':_0x15988f,'limits':{'fileSize':_0x4930d1,'files':_0x2f0385},'fileFilter':_0x18c3f1})[_0x5e6219(0xb5)](_0x5e6219(0xbd),_0x2f0385);}async[a0_0x324cd0(0xda)](_0x274996,_0x43f479,_0x953700={}){const _0x4d9666=a0_0x324cd0,_0x300a09={'DhDuK':_0x4d9666(0xd9)},{createFileMetadata:_0x215c74}=require(_0x300a09[_0x4d9666(0xe0)]),_0x3746d1=[];for(const _0x1cbb70 of _0x274996){try{const _0x38343a=_0x43f479[_0x4d9666(0xb6)](_0x1cbb70['originalname'],{'prefix':_0x953700[_0x4d9666(0xc2)]||'','project':_0x953700[_0x4d9666(0xdf)]||'','module':_0x953700[_0x4d9666(0xca)]||'','endpoint':_0x953700['endpoint']||''}),_0x25aca7=fsSync['createReadStream'](_0x1cbb70['path']),_0x307147=await _0x43f479['upload'](_0x25aca7,_0x38343a,{'contentType':_0x1cbb70['mimetype'],'fileSize':_0x1cbb70['size']}),_0x47af38=_0x215c74({'key':_0x307147[_0x4d9666(0xc9)],'originalName':_0x1cbb70['originalname'],'fileName':path['basename'](_0x38343a),'contentType':_0x1cbb70['mimetype'],'size':_0x1cbb70['size'],'url':_0x307147[_0x4d9666(0xa9)],'provider':_0x43f479[_0x4d9666(0xd0)],'bucket':_0x43f479['bucket']||null,'uploadedBy':_0x953700[_0x4d9666(0xd8)]||null});_0x3746d1[_0x4d9666(0xa7)](_0x47af38);}catch(_0x2e3f30){logger[_0x4d9666(0xde)]({'event':_0x4d9666(0xbf),'file':_0x1cbb70[_0x4d9666(0xb7)],'error':_0x2e3f30['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x1cbb70['originalname']);throw _0x2e3f30;}finally{await this[_0x4d9666(0xb1)](_0x1cbb70['path']);}}return _0x3746d1;}async['_deleteTempFile'](_0x97ef30){const _0x41d70b=a0_0x324cd0,_0x23aa56={'vLNjs':_0x41d70b(0xcd)};try{await fs['unlink'](_0x97ef30);}catch(_0x2079ec){logger[_0x41d70b(0xc3)]({'event':_0x23aa56[_0x41d70b(0xd1)],'filePath':_0x97ef30,'error':_0x2079ec[_0x41d70b(0xc0)]},'Failed\x20to\x20delete\x20temp\x20file');}}[a0_0x324cd0(0xad)](_0x104c55){const _0x572582=a0_0x324cd0,_0x57776d={'ITSAq':_0x572582(0xb9),'TfRHC':function(_0x2bd01d,_0x2d527d){return _0x2bd01d*_0x2d527d;},'akLcF':function(_0x2e7e57,_0x564091){return _0x2e7e57(_0x564091);},'MvzLL':function(_0x33f9cb,_0x1693d1){return _0x33f9cb*_0x1693d1;}};if(typeof _0x104c55===_0x57776d[_0x572582(0xd5)])return _0x104c55;const _0x4d6d44=String(_0x104c55)[_0x572582(0xc5)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x4d6d44)return _0x57776d['TfRHC'](0xa*0x400,0x400);const _0x1bd1ba=_0x57776d['akLcF'](parseFloat,_0x4d6d44[0x1]),_0x2dc385=_0x4d6d44[0x2]['toUpperCase'](),_0x27b5d8={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x57776d[_0x572582(0xc7)](0x400,0x400)*0x400};return Math['floor'](_0x1bd1ba*(_0x27b5d8[_0x2dc385]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3798ae=a0_0x2f58;(function(_0x3160a1,_0x29ca8b){const _0x36fd52=a0_0x2f58,_0x5874c5=_0x3160a1();while(!![]){try{const _0x36f0fe=parseInt(_0x36fd52(0xcc))/0x1+-parseInt(_0x36fd52(0xd4))/0x2+parseInt(_0x36fd52(0xb9))/0x3+-parseInt(_0x36fd52(0xc2))/0x4*(-parseInt(_0x36fd52(0xa5))/0x5)+-parseInt(_0x36fd52(0xb1))/0x6*(-parseInt(_0x36fd52(0xa3))/0x7)+parseInt(_0x36fd52(0xac))/0x8+-parseInt(_0x36fd52(0xbf))/0x9*(parseInt(_0x36fd52(0xae))/0xa);if(_0x36f0fe===_0x29ca8b)break;else _0x5874c5['push'](_0x5874c5['shift']());}catch(_0x38beff){_0x5874c5['push'](_0x5874c5['shift']());}}}(a0_0x4b07,0x6105b));function a0_0x2f58(_0x32ce01,_0x5af8de){_0x32ce01=_0x32ce01-0xa2;const _0x4b07b3=a0_0x4b07();let _0x2f58b6=_0x4b07b3[_0x32ce01];if(a0_0x2f58['LSdsMP']===undefined){var _0x3f964a=function(_0x13db9d){const _0x41ecc2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17165d='',_0x3d34dc='';for(let _0x3b3a49=0x0,_0x58cf77,_0x3d9fab,_0x4537d6=0x0;_0x3d9fab=_0x13db9d['charAt'](_0x4537d6++);~_0x3d9fab&&(_0x58cf77=_0x3b3a49%0x4?_0x58cf77*0x40+_0x3d9fab:_0x3d9fab,_0x3b3a49++%0x4)?_0x17165d+=String['fromCharCode'](0xff&_0x58cf77>>(-0x2*_0x3b3a49&0x6)):0x0){_0x3d9fab=_0x41ecc2['indexOf'](_0x3d9fab);}for(let _0x4aec05=0x0,_0x3ab632=_0x17165d['length'];_0x4aec05<_0x3ab632;_0x4aec05++){_0x3d34dc+='%'+('00'+_0x17165d['charCodeAt'](_0x4aec05)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d34dc);};a0_0x2f58['XfyuGU']=_0x3f964a,a0_0x2f58['tvlMRk']={},a0_0x2f58['LSdsMP']=!![];}const _0x22d1d1=_0x4b07b3[0x0],_0x18efb5=_0x32ce01+_0x22d1d1,_0x3cdac4=a0_0x2f58['tvlMRk'][_0x18efb5];return!_0x3cdac4?(_0x2f58b6=a0_0x2f58['XfyuGU'](_0x2f58b6),a0_0x2f58['tvlMRk'][_0x18efb5]=_0x2f58b6):_0x2f58b6=_0x3cdac4,_0x2f58b6;}const multer=require('multer'),path=require(a0_0x3798ae(0xab)),crypto=require('crypto'),fs=require('fs')[a0_0x3798ae(0xc8)],fsSync=require('fs'),{logger}=require(a0_0x3798ae(0xd3));class UploadHandler{constructor(){const _0xcc6147=a0_0x3798ae;this[_0xcc6147(0xc9)]=null,this[_0xcc6147(0xd0)]=0xa*0x400*0x400;}get[a0_0x3798ae(0xc6)](){const _0x230622=a0_0x3798ae,_0x31582a={'tGAmh':'default','fuLyz':'upload_handler_init','iOawv':_0x230622(0xbe),'qkNQh':_0x230622(0xcb)};if(!this[_0x230622(0xc9)]){const _0x5df595=process['env']['RESTFORGE_PROJECT_NAME']||_0x31582a[_0x230622(0xcf)];this[_0x230622(0xc9)]=process[_0x230622(0xd1)][_0x230622(0xca)]||path['join'](__dirname,_0x230622(0xc7)+_0x5df595);try{!fsSync[_0x230622(0xcd)](this[_0x230622(0xc9)])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x31582a['fuLyz'],'dir':this[_0x230622(0xc9)]},_0x31582a[_0x230622(0xb0)]);}catch(_0x2fd3e8){logger['error']({'event':_0x230622(0xaa),'error':_0x2fd3e8['message']},_0x31582a['qkNQh']);}}return this['_uploadDir'];}[a0_0x3798ae(0xb5)](){const _0x465a23=a0_0x3798ae,_0x1eb607={'GeHcW':function(_0x123721,_0x5c0b69,_0x46de5a){return _0x123721(_0x5c0b69,_0x46de5a);},'kZdJN':_0x465a23(0xa4)};return multer['diskStorage']({'destination':(_0x37cb7f,_0x197d03,_0x146e4c)=>{const _0x5e0bb0=_0x465a23;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x5e0bb0(0xb3)](this[_0x5e0bb0(0xc6)],{'recursive':!![]}),_0x1eb607[_0x5e0bb0(0xbd)](_0x146e4c,null,this[_0x5e0bb0(0xc6)]);},'filename':(_0x11c80a,_0xa87e88,_0x18d7d4)=>{const _0x495077=_0x465a23,_0x44724c=crypto[_0x495077(0xc4)](0x8)['toString'](_0x1eb607['kZdJN']),_0x4634ef=Date['now'](),_0x57bfaf=path[_0x495077(0xce)](_0xa87e88['originalname']);_0x1eb607['GeHcW'](_0x18d7d4,null,_0x495077(0xbb)+_0x4634ef+'-'+_0x44724c+_0x57bfaf);}});}['getUploadMiddleware'](){const _0x2603f3=a0_0x3798ae,_0xc84a65={'EKsVm':'.xlsx','Avdse':_0x2603f3(0xbc),'soOrd':_0x2603f3(0xba),'sMnQe':function(_0xe82537,_0x50d0c9){return _0xe82537(_0x50d0c9);},'yCOAr':_0x2603f3(0xb4)};return _0xc84a65['sMnQe'](multer,{'storage':this[_0x2603f3(0xb5)](),'limits':{'fileSize':this[_0x2603f3(0xd0)],'files':0x1},'fileFilter':(_0x310e91,_0x4e6739,_0x210a91)=>{const _0x141e74=_0x2603f3,_0x143837=[_0x141e74(0xb6),_0x141e74(0xb7)],_0x1dec51=[_0xc84a65[_0x141e74(0xad)],_0xc84a65[_0x141e74(0xa2)]],_0x4764e7=path[_0x141e74(0xce)](_0x4e6739[_0x141e74(0xc5)])[_0x141e74(0xb8)]();_0x143837[_0x141e74(0xc0)](_0x4e6739['mimetype'])&&_0x1dec51[_0x141e74(0xc0)](_0x4764e7)?_0x210a91(null,!![]):_0x210a91(new Error(_0xc84a65[_0x141e74(0xd5)]));}})[_0x2603f3(0xc3)](_0xc84a65[_0x2603f3(0xb2)]);}async[a0_0x3798ae(0xaf)](_0x2206d9){const _0x8e3ce2=a0_0x3798ae,_0x14ffbc={'OnSHD':'upload_file_delete_error','xraml':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs[_0x8e3ce2(0xa7)](_0x2206d9),logger[_0x8e3ce2(0xa8)]({'event':_0x8e3ce2(0xd2),'filePath':_0x2206d9},'Uploaded\x20file\x20deleted');}catch(_0xb58c00){logger[_0x8e3ce2(0xa9)]({'event':_0x14ffbc[_0x8e3ce2(0xa6)],'filePath':_0x2206d9,'error':_0xb58c00['message']},_0x14ffbc[_0x8e3ce2(0xc1)]);}}}function a0_0x4b07(){const _0x4845b2=['yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','Dg9mB3DLCKnHC2u','otC3odG2sK1XwvDU','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','DxbSB2fKlq','lNHSCW','r2viy1C','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','mJG0nJDNANjttuy','Aw5JBhvKzxm','EhjHBwW','mtjJEw56DNy','C2LUz2XL','CMfUzg9TqNL0zxm','B3jPz2LUywXUyw1L','DxbSB2fKrgLY','lI4VlI4VDgvTCc91CgXVywrZlW','ChjVBwLZzxm','x3vWBg9HzerPCG','vvbmt0fex0rjuG','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','mZK0mZy5EuPYquzt','zxHPC3rZu3LUyW','zxH0BMfTzq','DeDbBwG','Bwf4rMLSzvnPEMu','zw52','DxbSB2fKx2zPBgvFzgvSzxrLza','lI9SB2DNzxi','otmWnda4Cg96qLP3','C29pCMq','qxzKC2u','ndKYodqYCwnOwwLQ','Agv4','ndu5mJe1Duf5B0Lq','t25tseq','Dw5SAw5R','Aw5MBW','zxjYB3i','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Cgf0Aa','mta3mty5nNjJA0Xkwq','ruTZvM0','mti5mhneB3LntW','zgvSzxrLrMLSzq','Au9HD3y','mtjgDNzlyLO','Eunpqxi','BwTKAxjtEw5J','zMLSzq','z2v0u3rVCMfNzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq'];a0_0x4b07=function(){return _0x4845b2;};return a0_0x4b07();}module['exports']=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x3d4ab5=a0_0x49dc;(function(_0x4d0eba,_0x74ad4){const _0x5a8cb0=a0_0x49dc,_0x3dc979=_0x4d0eba();while(!![]){try{const _0x4dc0b5=parseInt(_0x5a8cb0(0x17e))/0x1+-parseInt(_0x5a8cb0(0x181))/0x2+parseInt(_0x5a8cb0(0x17a))/0x3+-parseInt(_0x5a8cb0(0x190))/0x4*(parseInt(_0x5a8cb0(0x192))/0x5)+parseInt(_0x5a8cb0(0x18c))/0x6*(parseInt(_0x5a8cb0(0x188))/0x7)+-parseInt(_0x5a8cb0(0x17b))/0x8*(parseInt(_0x5a8cb0(0x185))/0x9)+parseInt(_0x5a8cb0(0x18f))/0xa*(parseInt(_0x5a8cb0(0x189))/0xb);if(_0x4dc0b5===_0x74ad4)break;else _0x3dc979['push'](_0x3dc979['shift']());}catch(_0x188f64){_0x3dc979['push'](_0x3dc979['shift']());}}}(a0_0x39aa,0x9bf23));const axios=require('axios');function a0_0x49dc(_0xedc96c,_0x2cda4c){_0xedc96c=_0xedc96c-0x179;const _0x39aa4e=a0_0x39aa();let _0x49dcff=_0x39aa4e[_0xedc96c];if(a0_0x49dc['waFIrR']===undefined){var _0x468a74=function(_0x55763f){const _0x34def7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e2a17='',_0x3e526a='';for(let _0x21eb84=0x0,_0x4ee8b6,_0x463287,_0x594f76=0x0;_0x463287=_0x55763f['charAt'](_0x594f76++);~_0x463287&&(_0x4ee8b6=_0x21eb84%0x4?_0x4ee8b6*0x40+_0x463287:_0x463287,_0x21eb84++%0x4)?_0x2e2a17+=String['fromCharCode'](0xff&_0x4ee8b6>>(-0x2*_0x21eb84&0x6)):0x0){_0x463287=_0x34def7['indexOf'](_0x463287);}for(let _0x5d356a=0x0,_0x38d883=_0x2e2a17['length'];_0x5d356a<_0x38d883;_0x5d356a++){_0x3e526a+='%'+('00'+_0x2e2a17['charCodeAt'](_0x5d356a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e526a);};a0_0x49dc['tOVrEq']=_0x468a74,a0_0x49dc['pzdWyj']={},a0_0x49dc['waFIrR']=!![];}const _0x15dd53=_0x39aa4e[0x0],_0x4ccbe8=_0xedc96c+_0x15dd53,_0x519ba8=a0_0x49dc['pzdWyj'][_0x4ccbe8];return!_0x519ba8?(_0x49dcff=a0_0x49dc['tOVrEq'](_0x49dcff),a0_0x49dc['pzdWyj'][_0x4ccbe8]=_0x49dcff):_0x49dcff=_0x519ba8,_0x49dcff;}async function sendInsertWebhook(_0xa266b8,_0x4d973d,_0x1ab48c={}){const _0x572121=a0_0x49dc,_0x2909ff={'geSCK':_0x572121(0x186),'grETX':_0x572121(0x187),'bnXQp':_0x572121(0x18e),'ItdXs':'Failed\x20to\x20send\x20insert\x20webhook'};try{const _0x3f4c34={'event':_0x572121(0x18a),'timestamp':new Date()[_0x572121(0x182)](),'data':_0x4d973d},_0x5e4a21=await axios[_0x572121(0x179)](_0xa266b8,_0x3f4c34,{'headers':{'Content-Type':_0x572121(0x184),'User-Agent':_0x2909ff['geSCK'],..._0x1ab48c},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0xa266b8+',\x20Status:\x20'+_0x5e4a21['status']),{'success':!![],'message':_0x2909ff[_0x572121(0x194)],'status':_0x5e4a21['status'],'url':_0xa266b8};}catch(_0x5e9242){return console['error'](_0x2909ff['bnXQp'],_0x5e9242['message']),{'success':![],'message':_0x2909ff[_0x572121(0x17d)],'error':_0x5e9242['message'],'url':_0xa266b8};}}async function sendDeleteWebhook(_0x4aae20,_0x562cc5,_0x5b1e3c={}){const _0xe44c62=a0_0x49dc,_0xcafa90={'JtEpP':_0xe44c62(0x186),'PBAVN':_0xe44c62(0x183)};try{const _0x4cb243={'event':_0xe44c62(0x17f),'timestamp':new Date()['toISOString'](),'deleted_data':_0x562cc5},_0x807b1e=await axios[_0xe44c62(0x179)](_0x4aae20,_0x4cb243,{'headers':{'Content-Type':'application/json','User-Agent':_0xcafa90[_0xe44c62(0x17c)],..._0x5b1e3c},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4aae20+_0xe44c62(0x193)+_0x807b1e[_0xe44c62(0x191)]),{'success':!![],'message':_0xcafa90['PBAVN'],'status':_0x807b1e['status'],'url':_0x4aae20};}catch(_0x2a7c56){return console[_0xe44c62(0x18d)]('Error\x20sending\x20delete\x20webhook:',_0x2a7c56[_0xe44c62(0x18b)]),{'success':![],'message':'Failed\x20to\x20send\x20delete\x20webhook','error':_0x2a7c56['message'],'url':_0x4aae20};}}function a0_0x39aa(){const _0x40c48d=['zxjYB3i','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','nJeWuevpEwPs','ndK1nduXmM14zxb1rG','C3rHDhvZ','nvvewxLlBG','lcbtDgf0Dxm6ia','z3jfvfG','Cg9ZDa','mJyYnJq3m21Lswvqyq','ndbItNLsvhG','sNrfCfa','sxrKwhm','mZyYodmZugz3EwnW','zgvSzxrL','zxHWB3j0CW','mJi3nZeWmejpv01eCq','Dg9ju09tDhjPBMC','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','yxbWBgLJyxrPB24VANnVBG','mtmXmJC1ofLuA0XXCq','uMvZDezVCMDLlvDLyMHVB2SVms4W','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','ndK3yLvKBxrh','mJm5nZG5B0r4CMvU','Aw5Zzxj0','BwvZC2fNzq','otK0odboC2Txvvi'];a0_0x39aa=function(){return _0x40c48d;};return a0_0x39aa();}module[a0_0x3d4ab5(0x180)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x180fc2=a0_0x1935;(function(_0x3a0b6c,_0x13e53c){const _0x25fe35=a0_0x1935,_0x4e0f77=_0x3a0b6c();while(!![]){try{const _0x27e62f=-parseInt(_0x25fe35(0x1a6))/0x1+-parseInt(_0x25fe35(0x1af))/0x2+parseInt(_0x25fe35(0x1a4))/0x3+parseInt(_0x25fe35(0x194))/0x4*(-parseInt(_0x25fe35(0x19e))/0x5)+parseInt(_0x25fe35(0x1ba))/0x6+parseInt(_0x25fe35(0x1b1))/0x7*(-parseInt(_0x25fe35(0x1ab))/0x8)+-parseInt(_0x25fe35(0x1b6))/0x9*(-parseInt(_0x25fe35(0x1b2))/0xa);if(_0x27e62f===_0x13e53c)break;else _0x4e0f77['push'](_0x4e0f77['shift']());}catch(_0x20b832){_0x4e0f77['push'](_0x4e0f77['shift']());}}}(a0_0x4f62,0xefdf2));const express=require(a0_0x180fc2(0x19f)),{logger}=require('../../utils/logger');function a0_0x4f62(){const _0x1f1d23=['tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','y1DWEvq','mtyXmxbptu5MBG','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','C3vJy2vZCW','uM91DgvY','mtm0otmYogPYBezHAW','mJi2otG2mgLVEKDxCq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','uxjSvu0','ywnXDwLYzvjLC291CMnLtg9JA3m','zxjYB3i','rg1cEgu','zevwAhG','ANnVBG','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','BwvZC2fNzq','nxLXtu5xwG','zxHWCMvZCW','yM9KEq','v3zhuNO','C3rHDhvZ','CMvSzwfZzvjLC291CMnLtg9JA3m','ndaYnZG2meHYCgT5ua','Cg9ZDa','nZm3odGZBuzozxji','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','zxHWB3j0CW','yuvQCha','mtC4ntaZmNvnDw5ktq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','r2jiwui','renJt2O','mZaWnJG3mM1YEuX0vW','l3n0yxr1CW','mJfkuMTpufy','mtyXnJmWy01dA1jb','t1Lor0u'];a0_0x4f62=function(){return _0x1f1d23;};return a0_0x4f62();}function createLockRoutes(){const _0x3b2c87=a0_0x180fc2,_0x3b2d66={'OYNGE':function(_0x2740e1,_0x14efdb){return _0x2740e1(_0x14efdb);},'kGhbb':_0x3b2c87(0x19c),'WvGRz':function(_0x1d8b44,_0x5d3c5d){return _0x1d8b44||_0x5d3c5d;},'dEVhx':function(_0x86dbe6,_0x16a4ce){return _0x86dbe6===_0x16a4ce;},'GbHYB':_0x3b2c87(0x1a7),'QrlUM':'lock_acquire_route_error','jflZU':_0x3b2c87(0x1a8),'DCcOj':function(_0x20c5ec){return _0x20c5ec();},'DmBxe':'Internal\x20server\x20error\x20during\x20lock\x20release','kqGvi':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','pDmim':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check','VzJSQ':'/acquire','aEjpp':'/release','cWpyT':_0x3b2c87(0x1b0)},_0x56dde1=express[_0x3b2c87(0x1b9)]();let _0xe542a0=null;function _0x350e7a(){const _0x28b401=_0x3b2c87;return!_0xe542a0&&(_0xe542a0=_0x3b2d66[_0x28b401(0x1b3)](require,_0x3b2d66['kGhbb'])),_0xe542a0;}return _0x56dde1[_0x3b2c87(0x1a5)](_0x3b2d66['VzJSQ'],async(_0x3c1c0e,_0x419fab)=>{const _0x3e47e1=_0x3b2c87;try{const {resource:_0x1dfb45,lock_keys:_0x1af085,ttl:_0x569963,owner:_0x40b67d}=_0x3c1c0e['body'];if(_0x3b2d66[_0x3e47e1(0x1a1)](!_0x1dfb45,!_0x1af085)||!_0x569963||!_0x40b67d)return _0x419fab['status'](0x190)['json']({'success':![],'error':_0x3e47e1(0x1ac)});const _0x4c5348=_0x350e7a(),_0x5a5752=await _0x4c5348[_0x3e47e1(0x197)]({'resource':_0x1dfb45,'lockKeys':_0x1af085,'ttl':_0x569963,'owner':_0x40b67d});if(_0x5a5752['success'])return _0x419fab['json'](_0x5a5752);const _0x3324e9=_0x3b2d66[_0x3e47e1(0x19a)](_0x5a5752['error'],_0x3b2d66[_0x3e47e1(0x1ad)])?0x199:0x190;return _0x419fab['status'](_0x3324e9)[_0x3e47e1(0x19b)](_0x5a5752);}catch(_0x38e763){logger[_0x3e47e1(0x198)]({'event':_0x3b2d66[_0x3e47e1(0x196)],'error':_0x38e763[_0x3e47e1(0x19d)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x38e763['message']),_0x419fab[_0x3e47e1(0x1a2)](0x1f4)['json']({'success':![],'error':_0x3b2d66['jflZU']});}}),_0x56dde1['post'](_0x3b2d66[_0x3b2c87(0x1aa)],async(_0x142e90,_0xc81575)=>{const _0x3e9e0f=_0x3b2c87;try{const {resource:_0x121c47,lock_keys:_0x36cacb,lock_token:_0x2e05ad}=_0x142e90[_0x3e9e0f(0x1a0)];if(_0x3b2d66['WvGRz'](!_0x121c47,!_0x36cacb)||!_0x2e05ad)return _0xc81575[_0x3e9e0f(0x1a2)](0x190)['json']({'success':![],'error':_0x3e9e0f(0x195)});const _0x244b5c=_0x3b2d66[_0x3e9e0f(0x1ae)](_0x350e7a),_0x260b18=await _0x244b5c[_0x3e9e0f(0x1a3)]({'resource':_0x121c47,'lockKeys':_0x36cacb,'lockToken':_0x2e05ad});if(_0x260b18[_0x3e9e0f(0x1b8)])return _0xc81575['json'](_0x260b18);return _0xc81575['status'](0x190)['json'](_0x260b18);}catch(_0x56cbe4){logger['error']({'event':'lock_release_route_error','error':_0x56cbe4['message']},_0x3e9e0f(0x1b4)+_0x56cbe4['message']),_0xc81575[_0x3e9e0f(0x1a2)](0x1f4)[_0x3e9e0f(0x19b)]({'success':![],'error':_0x3b2d66[_0x3e9e0f(0x199)]});}}),_0x56dde1[_0x3b2c87(0x1a5)](_0x3b2d66[_0x3b2c87(0x1b5)],async(_0x4aa193,_0x550da0)=>{const _0x497ee7=_0x3b2c87;try{const {resource:_0x500e0a,lock_keys:_0x2d9e7f}=_0x4aa193['body'];if(_0x3b2d66['WvGRz'](!_0x500e0a,!_0x2d9e7f))return _0x550da0['status'](0x190)[_0x497ee7(0x19b)]({'success':![],'error':_0x3b2d66['kqGvi']});const _0x54c261=_0x3b2d66[_0x497ee7(0x1ae)](_0x350e7a),_0x19ede0=await _0x54c261['getResourceLockStatus']({'resource':_0x500e0a,'lockKeys':_0x2d9e7f});if(_0x19ede0['success'])return _0x550da0['json'](_0x19ede0);return _0x550da0['status'](0x190)['json'](_0x19ede0);}catch(_0x418122){logger['error']({'event':'lock_status_route_error','error':_0x418122[_0x497ee7(0x19d)]},_0x497ee7(0x1b7)+_0x418122[_0x497ee7(0x19d)]),_0x550da0[_0x497ee7(0x1a2)](0x1f4)['json']({'success':![],'error':_0x3b2d66['pDmim']});}}),_0x56dde1;}function a0_0x1935(_0x23a6d3,_0x5ea61c){_0x23a6d3=_0x23a6d3-0x194;const _0x4f6286=a0_0x4f62();let _0x193514=_0x4f6286[_0x23a6d3];if(a0_0x1935['oHYruq']===undefined){var _0x41f51f=function(_0x271b07){const _0x19a658='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x248810='',_0x1d1475='';for(let _0x8c7489=0x0,_0x401980,_0x2764d8,_0x580d85=0x0;_0x2764d8=_0x271b07['charAt'](_0x580d85++);~_0x2764d8&&(_0x401980=_0x8c7489%0x4?_0x401980*0x40+_0x2764d8:_0x2764d8,_0x8c7489++%0x4)?_0x248810+=String['fromCharCode'](0xff&_0x401980>>(-0x2*_0x8c7489&0x6)):0x0){_0x2764d8=_0x19a658['indexOf'](_0x2764d8);}for(let _0x31e076=0x0,_0xc0b843=_0x248810['length'];_0x31e076<_0xc0b843;_0x31e076++){_0x1d1475+='%'+('00'+_0x248810['charCodeAt'](_0x31e076)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d1475);};a0_0x1935['vOEfqr']=_0x41f51f,a0_0x1935['NLQQvA']={},a0_0x1935['oHYruq']=!![];}const _0x549f69=_0x4f6286[0x0],_0x25b4bd=_0x23a6d3+_0x549f69,_0x32b0ae=a0_0x1935['NLQQvA'][_0x25b4bd];return!_0x32b0ae?(_0x193514=a0_0x1935['vOEfqr'](_0x193514),a0_0x1935['NLQQvA'][_0x25b4bd]=_0x193514):_0x193514=_0x32b0ae,_0x193514;}module[a0_0x180fc2(0x1a9)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xfa702f=a0_0x3cee;(function(_0x439008,_0x38f28e){const _0x3f76f7=a0_0x3cee,_0xe3db21=_0x439008();while(!![]){try{const _0x3678e9=parseInt(_0x3f76f7(0xec))/0x1+-parseInt(_0x3f76f7(0xe0))/0x2*(-parseInt(_0x3f76f7(0xc1))/0x3)+-parseInt(_0x3f76f7(0xf1))/0x4*(-parseInt(_0x3f76f7(0xd6))/0x5)+-parseInt(_0x3f76f7(0xca))/0x6*(-parseInt(_0x3f76f7(0xd2))/0x7)+parseInt(_0x3f76f7(0x102))/0x8+-parseInt(_0x3f76f7(0xd9))/0x9+-parseInt(_0x3f76f7(0xe8))/0xa;if(_0x3678e9===_0x38f28e)break;else _0xe3db21['push'](_0xe3db21['shift']());}catch(_0x24f022){_0xe3db21['push'](_0xe3db21['shift']());}}}(a0_0x16c8,0x8a2e9));function a0_0x3cee(_0x3037f2,_0x3f64f4){_0x3037f2=_0x3037f2-0xbb;const _0x16c8b1=a0_0x16c8();let _0x3ceef1=_0x16c8b1[_0x3037f2];if(a0_0x3cee['KTYonc']===undefined){var _0x8bd969=function(_0x4ab211){const _0x298223='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x219471='',_0x70fd3='';for(let _0x2f8592=0x0,_0x243306,_0x35f9c5,_0xf1abe5=0x0;_0x35f9c5=_0x4ab211['charAt'](_0xf1abe5++);~_0x35f9c5&&(_0x243306=_0x2f8592%0x4?_0x243306*0x40+_0x35f9c5:_0x35f9c5,_0x2f8592++%0x4)?_0x219471+=String['fromCharCode'](0xff&_0x243306>>(-0x2*_0x2f8592&0x6)):0x0){_0x35f9c5=_0x298223['indexOf'](_0x35f9c5);}for(let _0x47070d=0x0,_0x51f814=_0x219471['length'];_0x47070d<_0x51f814;_0x47070d++){_0x70fd3+='%'+('00'+_0x219471['charCodeAt'](_0x47070d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x70fd3);};a0_0x3cee['CxmdRp']=_0x8bd969,a0_0x3cee['EQjGME']={},a0_0x3cee['KTYonc']=!![];}const _0x554e12=_0x16c8b1[0x0],_0x17344d=_0x3037f2+_0x554e12,_0x29cc9d=a0_0x3cee['EQjGME'][_0x17344d];return!_0x29cc9d?(_0x3ceef1=a0_0x3cee['CxmdRp'](_0x3ceef1),a0_0x3cee['EQjGME'][_0x17344d]=_0x3ceef1):_0x3ceef1=_0x29cc9d,_0x3ceef1;}const redisClient=require(a0_0xfa702f(0x100)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0xfa702f(0xdc));function getPrefix(){const _0x300ba5=a0_0xfa702f,_0x39fd56={'Afiur':_0x300ba5(0xf6)},_0x976182=process['env'][_0x300ba5(0xff)]||_0x39fd56['Afiur'];return'rf:'+_0x976182+_0x300ba5(0x105);}function a0_0x16c8(){const _0x5383e7=['uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','BeHfrxC','yNvPBgrlzxK','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','mtuWnte3mZbdshbIufO','zxH0CMfJDe93BMvY','CMvSzwfZzvjLC291CMnLtg9JA3m','yu5Su3e','odC4ntqZs1nvqxn5','Aw5MBW','BNvTyMvY','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','ndmYngDduMfWyW','Dg9ju09tDhjPBMC','qvfRBgO','BwfW','Bg9JA19RzxLZwW','zgvMyxvSDa','ExfnEKy','u3vNvK8','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','x3zHBgLKyxrLuMvSzwfZzuLUChv0','z2v0q2XPzw50','tK5Ruxq','B2PyExC','DMfSDwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','oda2mZq1nMrmseP0Eq','tg9JAYbYzwXLyxnLigzHAwXLzdOG','BwLU','oNjSB2nRoG','A2v5','DhrSuMvTywLUAw5N','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','sgv2DM0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','BwvZC2fNzq','BgvUz3rO','m29IA1LkAG','se1PzxC','z2vUzxjHDgvuB2TLBG','AxnbCNjHEq','z2v0','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','C2v0','Dw5RBM93BG','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','nti0ntHiAgzRqwi','zxjYB3i','te9ds19srvnpvvjdrv9nqvHFvfrm','zxzHBa','ChvZAa','C3rYAw5N','DMfSAwq','zhDsuLu','nti1tuTtBwHs','Dw1Kqvy','ywXS','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','mte1CK5ewKf3','z2v0twf4vfrmu2vJB25KCW','DxPHquS','mtaWnZa5mJHNzuj6rK4','DfjWwhy','q3jTy0m','DxvPza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','B3DUzxi','mti0nJe5mhH5BfvSsW'];a0_0x16c8=function(){return _0x5383e7;};return a0_0x16c8();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0xfa702f(0xbb);class ResourceLockManager{['buildKey'](_0xc215f5,_0x3045cc,_0x220d1f){const _0x5229b5={'eXbTY':function(_0x474c4b){return _0x474c4b();}};return''+_0x5229b5['eXbTY'](getPrefix)+_0xc215f5+':'+_0x3045cc+':'+_0x220d1f;}[a0_0xfa702f(0xc3)](_0x2c077d){return _0x2c077d+':'+uuidv4()+':'+Date['now']();}['extractOwner'](_0x6717e1){const _0x3b69bb=a0_0xfa702f,_0x2ac586={'wKBjk':_0x3b69bb(0xc8),'dwRRU':function(_0xeed2,_0x546d67){return _0xeed2>_0x546d67;}};if(!_0x6717e1)return _0x2ac586['wKBjk'];const _0x3a45c1=_0x6717e1['indexOf'](':');return _0x2ac586[_0x3b69bb(0xd1)](_0x3a45c1,0x0)?_0x6717e1['substring'](0x0,_0x3a45c1):_0x6717e1;}[a0_0xfa702f(0xd7)](){const _0x54cb27=a0_0xfa702f;return parseInt(process['env'][_0x54cb27(0xcc)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x119b7e,lockKeys:_0x239c14,ttl:_0xba9285,owner:_0xdfa19}){const _0x17e3f1=a0_0xfa702f,_0x43f020={'NNkQt':'resource_lock_conflict','lHEEw':'resource_lock_acquired','AQklj':_0x17e3f1(0xc9),'LDywG':_0x17e3f1(0xc6)},_0x40518e=this['_validateAcquireInput']({'resource':_0x119b7e,'lockKeys':_0x239c14,'ttl':_0xba9285,'owner':_0xdfa19});if(!_0x40518e[_0x17e3f1(0xd0)])return{'success':![],'error':_0x40518e[_0x17e3f1(0xcb)]};const _0x2ed130=this['getMaxTTLSeconds'](),_0x2294c5=Math[_0x17e3f1(0x104)](_0xba9285,_0x2ed130),_0x1ccc7d=this['generateToken'](_0xdfa19),_0x4b7c4f=[];try{const _0xa471de=redisClient[_0x17e3f1(0xfb)]();for(let _0x47df30=0x0;_0x47df30<_0x239c14[_0x17e3f1(0xc0)];_0x47df30++){const {key:_0x451e9a,value:_0xc9f004}=_0x239c14[_0x47df30],_0x18572a=this['buildKey'](_0x119b7e,_0x451e9a,_0xc9f004),_0x4c4e8e=await _0xa471de[_0x17e3f1(0xc7)](_0x18572a,_0x1ccc7d,'EX',_0x2294c5,'NX');if(_0x4c4e8e==='OK')_0x4b7c4f['push'](_0x18572a);else{await this['_rollbackKeys'](_0xa471de,_0x4b7c4f,_0x1ccc7d);const _0x233506=await this['_getConflictInfo'](_0xa471de,_0x18572a);return logger['warn']({'event':_0x43f020[_0x17e3f1(0xfc)],'resource':_0x119b7e,'conflicting_key':{'key':_0x451e9a,'value':_0xc9f004},'locked_by':_0x233506[_0x17e3f1(0xdf)],'ttl_remaining':_0x233506['ttlRemaining'],'attempted_by':_0xdfa19},'Resource\x20lock\x20conflict\x20on\x20'+_0x119b7e+':'+_0x451e9a+':'+_0xc9f004),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x451e9a,'value':_0xc9f004},'locked_by':_0x233506[_0x17e3f1(0xdf)],'ttl_remaining':_0x233506[_0x17e3f1(0x107)]}};}}const _0x38e4d3=_0x239c14[_0x17e3f1(0xf4)](({key:_0x1e42a9,value:_0x280236})=>({'key':_0x1e42a9,'value':_0x280236,'lock_key':this['buildKey'](_0x119b7e,_0x1e42a9,_0x280236)}));return logger['info']({'event':_0x43f020[_0x17e3f1(0xe2)],'resource':_0x119b7e,'keys_count':_0x239c14['length'],'ttl':_0x2294c5,'owner':_0xdfa19},_0x17e3f1(0xe7)+_0x119b7e+'\x20('+_0x239c14[_0x17e3f1(0xc0)]+'\x20keys,\x20TTL:\x20'+_0x2294c5+'s)'),{'success':!![],'data':{'lock_token':_0x1ccc7d,'resource':_0x119b7e,'locked_keys':_0x38e4d3,'ttl':_0x2294c5,'owner':_0xdfa19,'acquired_at':new Date()[_0x17e3f1(0xf2)]()}};}catch(_0x380229){try{const _0x200dc7=redisClient['getClient']();await this['_rollbackKeys'](_0x200dc7,_0x4b7c4f,_0x1ccc7d);}catch(_0x4abe7a){logger[_0x17e3f1(0xcb)]({'event':_0x43f020[_0x17e3f1(0xf3)],'error':_0x4abe7a['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x17e3f1(0xcb)]({'event':_0x43f020['LDywG'],'resource':_0x119b7e,'owner':_0xdfa19,'error':_0x380229[_0x17e3f1(0xbf)]},_0x17e3f1(0xe1)+_0x380229[_0x17e3f1(0xbf)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x380229[_0x17e3f1(0xbf)]};}}async[a0_0xfa702f(0xea)]({resource:_0x5755a6,lockKeys:_0xce3748,lockToken:_0x183749}){const _0x2a317e=a0_0xfa702f,_0x5d2702={'HMiew':function(_0xf8741c,_0x8ea2e2){return _0xf8741c===_0x8ea2e2;},'tmNmx':'resource_lock_released'},_0x4d55b9=this[_0x2a317e(0xfa)]({'resource':_0x5755a6,'lockKeys':_0xce3748,'lockToken':_0x183749});if(!_0x4d55b9['valid'])return{'success':![],'error':_0x4d55b9['error']};try{const _0x5a2549=redisClient['getClient']();let _0x32b802=0x0;for(const {key:_0x1aa535,value:_0x48aeda}of _0xce3748){const _0x27c387=this[_0x2a317e(0xe3)](_0x5755a6,_0x1aa535,_0x48aeda),_0x2cfc43=await _0x5a2549[_0x2a317e(0xcd)](RELEASE_LUA_SCRIPT,0x1,_0x27c387,_0x183749);_0x5d2702[_0x2a317e(0xc2)](_0x2cfc43,0x1)&&_0x32b802++;}return logger[_0x2a317e(0xed)]({'event':_0x5d2702['tmNmx'],'resource':_0x5755a6,'released_keys':_0x32b802,'total_keys':_0xce3748['length'],'owner':this[_0x2a317e(0xe9)](_0x183749)},'Resource\x20lock\x20released:\x20'+_0x5755a6+'\x20('+_0x32b802+'/'+_0xce3748[_0x2a317e(0xc0)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x5755a6,'released_keys':_0x32b802,'total_keys':_0xce3748['length']}};}catch(_0x1a0bf0){return logger['error']({'event':_0x2a317e(0xe6),'resource':_0x5755a6,'error':_0x1a0bf0['message']},_0x2a317e(0xdd)+_0x1a0bf0[_0x2a317e(0xbf)]),{'success':![],'error':_0x2a317e(0x103)+_0x1a0bf0[_0x2a317e(0xbf)]};}}async[a0_0xfa702f(0xd5)]({resource:_0x3734fd,lockKeys:_0x5baf2a}){const _0x3d8c8e=a0_0xfa702f,_0x1af603={'tRpXv':function(_0x1e2271,_0xfb1fe6){return _0x1e2271!==_0xfb1fe6;},'uzaAK':function(_0x2e3c1b,_0x20091d){return _0x2e3c1b>_0x20091d;}};if(!_0x3734fd||!Array[_0x3d8c8e(0xc4)](_0x5baf2a)||_0x5baf2a[_0x3d8c8e(0xc0)]===0x0)return{'success':![],'error':_0x3d8c8e(0xf9)};try{const _0x5bd029=redisClient[_0x3d8c8e(0xfb)](),_0x7d551f=[];for(const {key:_0x392f7b,value:_0x51a4a1}of _0x5baf2a){const _0x202b6c=this['buildKey'](_0x3734fd,_0x392f7b,_0x51a4a1),[_0x9f336c,_0x490788]=await Promise[_0x3d8c8e(0xd4)]([_0x5bd029['get'](_0x202b6c),_0x5bd029['ttl'](_0x202b6c)]),_0x1c048b=_0x1af603[_0x3d8c8e(0xda)](_0x9f336c,null);_0x7d551f[_0x3d8c8e(0xce)]({'key':_0x392f7b,'value':_0x51a4a1,'locked':_0x1c048b,'owner':_0x1c048b?this['extractOwner'](_0x9f336c):null,'ttl_remaining':_0x1c048b&&_0x1af603[_0x3d8c8e(0xd8)](_0x490788,0x0)?_0x490788:null});}return{'success':!![],'data':{'resource':_0x3734fd,'keys':_0x7d551f}};}catch(_0x365bae){return logger['error']({'event':_0x3d8c8e(0xde),'resource':_0x3734fd,'error':_0x365bae[_0x3d8c8e(0xbf)]},_0x3d8c8e(0xe5)+_0x365bae['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x365bae['message']};}}async['_rollbackKeys'](_0x1f2d23,_0xabb144,_0x2c2abf){const _0x121fd2=a0_0xfa702f;for(const _0x3b650a of _0xabb144){try{await _0x1f2d23['eval'](RELEASE_LUA_SCRIPT,0x1,_0x3b650a,_0x2c2abf);}catch(_0x3ae567){logger['error']({'event':_0x121fd2(0xbd),'key':_0x3b650a,'error':_0x3ae567['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x3b650a);}}}async['_getConflictInfo'](_0x1c0c5c,_0xe3898){const _0x45ce61=a0_0xfa702f,_0x949995={'mkwts':'unknown','yqMzF':function(_0x73da9b,_0x423ecd){return _0x73da9b>_0x423ecd;}};try{const [_0x1ee14e,_0x2a8557]=await Promise['all']([_0x1c0c5c[_0x45ce61(0xc5)](_0xe3898),_0x1c0c5c['ttl'](_0xe3898)]);return{'owner':_0x1ee14e?this['extractOwner'](_0x1ee14e):_0x949995['mkwts'],'ttlRemaining':_0x949995[_0x45ce61(0xf7)](_0x2a8557,0x0)?_0x2a8557:null};}catch{return{'owner':_0x949995['mkwts'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x9b6f24,lockKeys:_0x3370e6,ttl:_0x55bf01,owner:_0x2fb801}){const _0x2a430a=a0_0xfa702f,_0x125ee4={'knbCi':_0x2a430a(0xcf),'vwqwd':function(_0x5c1b09,_0x9ab582){return _0x5c1b09===_0x9ab582;},'GloVg':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','ojXyw':function(_0x5ceb34,_0x142884){return _0x5ceb34>_0x142884;},'Hevvm':function(_0x313bb7,_0x555eb3){return _0x313bb7!==_0x555eb3;},'UZeXZ':_0x2a430a(0xee),'lvaDE':function(_0x2ecb07,_0xec4c9c){return _0x2ecb07<_0xec4c9c;},'SugVO':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x9b6f24||typeof _0x9b6f24!==_0x125ee4['knbCi'])return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array[_0x2a430a(0xc4)](_0x3370e6)||_0x125ee4['vwqwd'](_0x3370e6['length'],0x0))return{'valid':![],'error':_0x125ee4['GloVg']};if(_0x125ee4[_0x2a430a(0xfd)](_0x3370e6['length'],0x64))return{'valid':![],'error':_0x2a430a(0x101)};for(let _0x161e20=0x0;_0x161e20<_0x3370e6['length'];_0x161e20++){const _0xe7359c=_0x3370e6[_0x161e20];if(!_0xe7359c||!_0xe7359c['key']||!_0xe7359c[_0x2a430a(0xfe)])return{'valid':![],'error':_0x2a430a(0xf5)+_0x161e20+_0x2a430a(0xe4)};}if(!_0x55bf01||_0x125ee4[_0x2a430a(0xbc)](typeof _0x55bf01,_0x125ee4['UZeXZ'])||_0x125ee4['lvaDE'](_0x55bf01,0x1))return{'valid':![],'error':_0x2a430a(0xf0)};const _0x40a5c2=this[_0x2a430a(0xd7)]();if(_0x125ee4[_0x2a430a(0xfd)](_0x55bf01,_0x40a5c2))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x40a5c2+_0x2a430a(0xef)};if(!_0x2fb801||typeof _0x2fb801!==_0x2a430a(0xcf))return{'valid':![],'error':_0x125ee4[_0x2a430a(0xf8)]};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x10e2b5,lockKeys:_0x43ce62,lockToken:_0x1d689d}){const _0x1b0fd6=a0_0xfa702f,_0x5bda4a={'umdAV':_0x1b0fd6(0xcf),'CrmcC':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','aNlSq':_0x1b0fd6(0xbe),'Lstfc':function(_0x440d9c,_0x38a869){return _0x440d9c<_0x38a869;}};if(!_0x10e2b5||typeof _0x10e2b5!==_0x5bda4a[_0x1b0fd6(0xd3)])return{'valid':![],'error':_0x5bda4a[_0x1b0fd6(0xdb)]};if(!Array[_0x1b0fd6(0xc4)](_0x43ce62)||_0x43ce62['length']===0x0)return{'valid':![],'error':_0x5bda4a[_0x1b0fd6(0xeb)]};for(let _0x28bb44=0x0;_0x5bda4a['Lstfc'](_0x28bb44,_0x43ce62[_0x1b0fd6(0xc0)]);_0x28bb44++){const _0x153e9e=_0x43ce62[_0x28bb44];if(!_0x153e9e||!_0x153e9e[_0x1b0fd6(0x106)]||!_0x153e9e[_0x1b0fd6(0xfe)])return{'valid':![],'error':'lock_keys['+_0x28bb44+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x1d689d||typeof _0x1d689d!==_0x5bda4a[_0x1b0fd6(0xd3)])return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
|
|
1
|
+
const a0_0x84cb81=a0_0x1ab2;(function(_0x2450c7,_0x596085){const _0x884e5f=a0_0x1ab2,_0x28ced1=_0x2450c7();while(!![]){try{const _0x532cdb=parseInt(_0x884e5f(0x201))/0x1+-parseInt(_0x884e5f(0x1f9))/0x2+parseInt(_0x884e5f(0x1da))/0x3*(-parseInt(_0x884e5f(0x1c9))/0x4)+-parseInt(_0x884e5f(0x1d1))/0x5*(parseInt(_0x884e5f(0x1e1))/0x6)+-parseInt(_0x884e5f(0x206))/0x7*(parseInt(_0x884e5f(0x1dd))/0x8)+parseInt(_0x884e5f(0x204))/0x9+parseInt(_0x884e5f(0x1d3))/0xa;if(_0x532cdb===_0x596085)break;else _0x28ced1['push'](_0x28ced1['shift']());}catch(_0x2d5674){_0x28ced1['push'](_0x28ced1['shift']());}}}(a0_0x37bb,0xf3dcc));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x44bb28=a0_0x1ab2,_0x3fc645={'jmZUp':'default'},_0x36e100=process[_0x44bb28(0x1f5)][_0x44bb28(0x1cc)]||_0x3fc645['jmZUp'];return _0x44bb28(0x1f4)+_0x36e100+_0x44bb28(0x1ed);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';function a0_0x37bb(){const _0x1328e0=['oNjSB2nRoG','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','revNquK','DMfSAwq','igTLExmP','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','CMy6','zw52','AuXJuu0','ChvZAa','zxjYB3i','mti4nZiYnLH6Ahrprq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','BwvZC2fNzq','ue9wDg8','x3zHBgLKyxrLqwnXDwLYzuLUChv0','C3vIC3rYAw5N','x3zHBgLKyxrLuMvSzwfZzuLUChv0','nJmYnZK1Dhrqquf1','D2fYBG','z2v0twf4vfrmu2vJB25KCW','mte3nJK0otH6ELPXAg4','Aw5KzxHpzG','n2HKzhrTyG','s3bXshu','x3jVBgXIywnRs2v5CW','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','z2v0','z2v0q2XPzw50','D095z1y','yuXXzfO','uer5BNi','BM93','DK92rNq','B3DUzxi','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Dg9ju09tDhjPBMC','x2DLDenVBMzSAwn0sw5MBW','CuPsv1y','mtCXnZm4neDLANHYEq','A2v5','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zgDIr1G','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','te9ds19srvnpvvjdrv9nqvHFvfrm','tLb3C0y','ndC4meT6CwHAzG','DgHoEgO','mJe5ndKXotbNEuLUCLC','CMvSzwfZzvjLC291CMnLtg9JA3m','yNvPBgrlzxK','igTLExmSifrutdOG','rhntC0q','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','m0fMAev5yW','Dw5RBM93BG','C3rYAw5N','mtuYnJiZmtjpweLxDNq','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','BgvUz3rO','otC4Bwfrr1Ho','DMfSDwu','uxPMy3u','zxHWB3j0CW','zxH0CMfJDe93BMvY','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','swXuB0y','Aw5MBW','Bg9JA19RzxLZwW','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','A2vmzMK','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU'];a0_0x37bb=function(){return _0x1328e0;};return a0_0x37bb();}function a0_0x1ab2(_0x516822,_0x4015c7){_0x516822=_0x516822-0x1bb;const _0x37bb9f=a0_0x37bb();let _0x1ab26d=_0x37bb9f[_0x516822];if(a0_0x1ab2['RGPivR']===undefined){var _0x1f4376=function(_0xd71fc1){const _0x463200='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4268f8='',_0x14024b='';for(let _0x32b8b1=0x0,_0x362f1d,_0x5f17f9,_0x1a64e=0x0;_0x5f17f9=_0xd71fc1['charAt'](_0x1a64e++);~_0x5f17f9&&(_0x362f1d=_0x32b8b1%0x4?_0x362f1d*0x40+_0x5f17f9:_0x5f17f9,_0x32b8b1++%0x4)?_0x4268f8+=String['fromCharCode'](0xff&_0x362f1d>>(-0x2*_0x32b8b1&0x6)):0x0){_0x5f17f9=_0x463200['indexOf'](_0x5f17f9);}for(let _0x2389ec=0x0,_0xbbe8f7=_0x4268f8['length'];_0x2389ec<_0xbbe8f7;_0x2389ec++){_0x14024b+='%'+('00'+_0x4268f8['charCodeAt'](_0x2389ec)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14024b);};a0_0x1ab2['qcHDtY']=_0x1f4376,a0_0x1ab2['MQFsKQ']={},a0_0x1ab2['RGPivR']=!![];}const _0x270ad1=_0x37bb9f[0x0],_0x3de214=_0x516822+_0x270ad1,_0x226a20=a0_0x1ab2['MQFsKQ'][_0x3de214];return!_0x226a20?(_0x1ab26d=a0_0x1ab2['qcHDtY'](_0x1ab26d),a0_0x1ab2['MQFsKQ'][_0x3de214]=_0x1ab26d):_0x1ab26d=_0x226a20,_0x1ab26d;}class ResourceLockManager{[a0_0x84cb81(0x1d5)](_0x1cb9ae,_0x4e661c,_0x336ff9){const _0x2156a0={'JLgRs':function(_0x2fd1ec){return _0x2fd1ec();}};return''+_0x2156a0['JLgRs'](getPrefix)+_0x1cb9ae+':'+_0x4e661c+':'+_0x336ff9;}['generateToken'](_0x1b7fd8){const _0x6f830a=a0_0x84cb81,_0x4e1c76={'aLqdZ':function(_0x10fe5f){return _0x10fe5f();}};return _0x1b7fd8+':'+_0x4e1c76[_0x6f830a(0x1c0)](uuidv4)+':'+Date[_0x6f830a(0x1c2)]();}[a0_0x84cb81(0x1e5)](_0x5c2a4d){const _0x5b0777=a0_0x84cb81,_0x59e45e={'pczzG':'unknown'};if(!_0x5c2a4d)return _0x59e45e['pczzG'];const _0x5a4ccf=_0x5c2a4d[_0x5b0777(0x205)](':');return _0x5a4ccf>0x0?_0x5c2a4d[_0x5b0777(0x1ff)](0x0,_0x5a4ccf):_0x5c2a4d;}[a0_0x84cb81(0x203)](){const _0x29fc8b=a0_0x84cb81,_0x45c509={'Qzfcu':function(_0x55c50b,_0x46a6ab,_0x1343fb){return _0x55c50b(_0x46a6ab,_0x1343fb);}};return _0x45c509[_0x29fc8b(0x1e3)](parseInt,process['env'][_0x29fc8b(0x1cf)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x25da06,lockKeys:_0x21c602,ttl:_0x292533,owner:_0x58fa3d}){const _0x3708b4=a0_0x84cb81,_0x36e800={'PgCxv':function(_0x43e848,_0x48d7f1){return _0x43e848<_0x48d7f1;},'POVto':function(_0x195894,_0x929d72){return _0x195894===_0x929d72;},'PwHqm':_0x3708b4(0x1ef),'keLfi':'resource_lock_acquired','FfALt':'resource_lock_rollback_error','DEgAI':_0x3708b4(0x1bc)},_0x5cd644=this[_0x3708b4(0x1fe)]({'resource':_0x25da06,'lockKeys':_0x21c602,'ttl':_0x292533,'owner':_0x58fa3d});if(!_0x5cd644['valid'])return{'success':![],'error':_0x5cd644['error']};const _0x5b5e35=this[_0x3708b4(0x203)](),_0x533eee=Math['min'](_0x292533,_0x5b5e35),_0x53a18c=this['generateToken'](_0x58fa3d),_0x110325=[];try{const _0x1890f3=redisClient[_0x3708b4(0x1be)]();for(let _0x48ffb9=0x0;_0x36e800['PgCxv'](_0x48ffb9,_0x21c602[_0x3708b4(0x1e0)]);_0x48ffb9++){const {key:_0x20ff1c,value:_0x5ed9e2}=_0x21c602[_0x48ffb9],_0x32e649=this[_0x3708b4(0x1d5)](_0x25da06,_0x20ff1c,_0x5ed9e2),_0x47e08b=await _0x1890f3['set'](_0x32e649,_0x53a18c,'EX',_0x533eee,'NX');if(_0x36e800[_0x3708b4(0x1fd)](_0x47e08b,'OK'))_0x110325[_0x3708b4(0x1f7)](_0x32e649);else{await this['_rollbackKeys'](_0x1890f3,_0x110325,_0x53a18c);const _0x540318=await this[_0x3708b4(0x1c7)](_0x1890f3,_0x32e649);return logger[_0x3708b4(0x202)]({'event':_0x36e800['PwHqm'],'resource':_0x25da06,'conflicting_key':{'key':_0x20ff1c,'value':_0x5ed9e2},'locked_by':_0x540318[_0x3708b4(0x1c4)],'ttl_remaining':_0x540318['ttlRemaining'],'attempted_by':_0x58fa3d},'Resource\x20lock\x20conflict\x20on\x20'+_0x25da06+':'+_0x20ff1c+':'+_0x5ed9e2),{'success':![],'error':_0x3708b4(0x1d8),'data':{'conflicting_key':{'key':_0x20ff1c,'value':_0x5ed9e2},'locked_by':_0x540318[_0x3708b4(0x1c4)],'ttl_remaining':_0x540318['ttlRemaining']}};}}const _0x4bfd4f=_0x21c602['map'](({key:_0x4e98ba,value:_0x3bb084})=>({'key':_0x4e98ba,'value':_0x3bb084,'lock_key':this['buildKey'](_0x25da06,_0x4e98ba,_0x3bb084)}));return logger['info']({'event':_0x36e800[_0x3708b4(0x1eb)],'resource':_0x25da06,'keys_count':_0x21c602[_0x3708b4(0x1e0)],'ttl':_0x533eee,'owner':_0x58fa3d},'Resource\x20lock\x20acquired:\x20'+_0x25da06+'\x20('+_0x21c602[_0x3708b4(0x1e0)]+_0x3708b4(0x1d6)+_0x533eee+'s)'),{'success':!![],'data':{'lock_token':_0x53a18c,'resource':_0x25da06,'locked_keys':_0x4bfd4f,'ttl':_0x533eee,'owner':_0x58fa3d,'acquired_at':new Date()[_0x3708b4(0x1c6)]()}};}catch(_0x2a9f22){try{const _0x575b56=redisClient[_0x3708b4(0x1be)]();await this[_0x3708b4(0x1bb)](_0x575b56,_0x110325,_0x53a18c);}catch(_0x48c8e2){logger[_0x3708b4(0x1f8)]({'event':_0x36e800['FfALt'],'error':_0x48c8e2['message']},_0x36e800[_0x3708b4(0x1f0)]);}return logger[_0x3708b4(0x1f8)]({'event':_0x3708b4(0x1de),'resource':_0x25da06,'owner':_0x58fa3d,'error':_0x2a9f22['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x2a9f22[_0x3708b4(0x1fc)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x2a9f22['message']};}}async[a0_0x84cb81(0x1d4)]({resource:_0x51318d,lockKeys:_0x553098,lockToken:_0x3d63a8}){const _0x43bb13=a0_0x84cb81,_0x322131={'PuAnh':_0x43bb13(0x1f3),'LFyon':'resource_lock_release_error'},_0x32068a=this['_validateReleaseInput']({'resource':_0x51318d,'lockKeys':_0x553098,'lockToken':_0x3d63a8});if(!_0x32068a[_0x43bb13(0x1f1)])return{'success':![],'error':_0x32068a[_0x43bb13(0x1f8)]};try{const _0x57e279=redisClient['getClient']();let _0x4eac70=0x0;for(const {key:_0x55e08e,value:_0x4d813b}of _0x553098){const _0x120693=this[_0x43bb13(0x1d5)](_0x51318d,_0x55e08e,_0x4d813b),_0x2ff92a=await _0x57e279['eval'](RELEASE_LUA_SCRIPT,0x1,_0x120693,_0x3d63a8);_0x2ff92a===0x1&&_0x4eac70++;}return logger[_0x43bb13(0x1e8)]({'event':_0x322131['PuAnh'],'resource':_0x51318d,'released_keys':_0x4eac70,'total_keys':_0x553098['length'],'owner':this['extractOwner'](_0x3d63a8)},'Resource\x20lock\x20released:\x20'+_0x51318d+'\x20('+_0x4eac70+'/'+_0x553098[_0x43bb13(0x1e0)]+_0x43bb13(0x1f2)),{'success':!![],'data':{'resource':_0x51318d,'released_keys':_0x4eac70,'total_keys':_0x553098[_0x43bb13(0x1e0)]}};}catch(_0x876f2c){return logger['error']({'event':_0x322131['LFyon'],'resource':_0x51318d,'error':_0x876f2c['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x876f2c['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x876f2c['message']};}}async[a0_0x84cb81(0x1ce)]({resource:_0x48fa3c,lockKeys:_0x2c30f3}){const _0x30377b=a0_0x84cb81,_0x59beee={'wMjon':function(_0x220544,_0x53f0d5){return _0x220544===_0x53f0d5;},'VngIK':_0x30377b(0x1d9),'EXusD':function(_0x5396f2,_0x5d5a0b){return _0x5396f2!==_0x5d5a0b;},'kKAdE':function(_0xf4bd26,_0xa028b7){return _0xf4bd26>_0xa028b7;},'CHEzv':'resource_lock_status_error'};if(!_0x48fa3c||!Array['isArray'](_0x2c30f3)||_0x59beee['wMjon'](_0x2c30f3['length'],0x0))return{'success':![],'error':_0x59beee['VngIK']};try{const _0x1d343b=redisClient[_0x30377b(0x1be)](),_0x1245be=[];for(const {key:_0x2d4c02,value:_0x48f0c0}of _0x2c30f3){const _0x44b9c3=this[_0x30377b(0x1d5)](_0x48fa3c,_0x2d4c02,_0x48f0c0),[_0x59f1ec,_0x84afaa]=await Promise['all']([_0x1d343b[_0x30377b(0x1bd)](_0x44b9c3),_0x1d343b['ttl'](_0x44b9c3)]),_0x563da6=_0x59beee['EXusD'](_0x59f1ec,null);_0x1245be['push']({'key':_0x2d4c02,'value':_0x48f0c0,'locked':_0x563da6,'owner':_0x563da6?this['extractOwner'](_0x59f1ec):null,'ttl_remaining':_0x563da6&&_0x59beee['kKAdE'](_0x84afaa,0x0)?_0x84afaa:null});}return{'success':!![],'data':{'resource':_0x48fa3c,'keys':_0x1245be}};}catch(_0x56b3c6){return logger[_0x30377b(0x1f8)]({'event':_0x59beee['CHEzv'],'resource':_0x48fa3c,'error':_0x56b3c6['message']},_0x30377b(0x1fa)+_0x56b3c6[_0x30377b(0x1fc)]),{'success':![],'error':_0x30377b(0x1df)+_0x56b3c6['message']};}}async[a0_0x84cb81(0x1bb)](_0x13a5b9,_0x2f4a76,_0x56a7a4){const _0x50f341=a0_0x84cb81,_0x2ef327={'iGujg':_0x50f341(0x1cb)};for(const _0x57bbf0 of _0x2f4a76){try{await _0x13a5b9['eval'](RELEASE_LUA_SCRIPT,0x1,_0x57bbf0,_0x56a7a4);}catch(_0x4a0b94){logger[_0x50f341(0x1f8)]({'event':_0x2ef327['iGujg'],'key':_0x57bbf0,'error':_0x4a0b94[_0x50f341(0x1fc)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x57bbf0);}}}async[a0_0x84cb81(0x1c7)](_0x2dfb44,_0x2d557a){const _0x1b00f6=a0_0x84cb81,_0x5017a2={'CyjyG':_0x1b00f6(0x1db),'dgbGX':function(_0x36deeb,_0x4e7882){return _0x36deeb>_0x4e7882;}};try{const [_0x4e085f,_0x359719]=await Promise['all']([_0x2dfb44[_0x1b00f6(0x1bd)](_0x2d557a),_0x2dfb44['ttl'](_0x2d557a)]);return{'owner':_0x4e085f?this[_0x1b00f6(0x1e5)](_0x4e085f):_0x5017a2['CyjyG'],'ttlRemaining':_0x5017a2[_0x1b00f6(0x1cd)](_0x359719,0x0)?_0x359719:null};}catch{return{'owner':_0x5017a2['CyjyG'],'ttlRemaining':null};}}[a0_0x84cb81(0x1fe)]({resource:_0x35f97e,lockKeys:_0xb41b6e,ttl:_0x1b2c38,owner:_0x300bcf}){const _0x5155e6=a0_0x84cb81,_0x129471={'avRYn':function(_0x17c0ae,_0x23e687){return _0x17c0ae!==_0x23e687;},'wOygV':'string','thNxj':_0x5155e6(0x1c5),'NPwsF':_0x5155e6(0x1ea),'UlLZy':function(_0x81b7a0,_0x86b046){return _0x81b7a0!==_0x86b046;},'IlToF':function(_0x393e6a,_0x352477){return _0x393e6a<_0x352477;},'waIOP':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','qJRWV':function(_0x523473,_0x1e633b){return _0x523473!==_0x1e633b;}};if(!_0x35f97e||_0x129471['avRYn'](typeof _0x35f97e,_0x129471[_0x5155e6(0x1bf)]))return{'valid':![],'error':_0x129471[_0x5155e6(0x1d2)]};if(!Array['isArray'](_0xb41b6e)||_0xb41b6e['length']===0x0)return{'valid':![],'error':_0x5155e6(0x1e6)};if(_0xb41b6e[_0x5155e6(0x1e0)]>0x64)return{'valid':![],'error':_0x129471[_0x5155e6(0x1d0)]};for(let _0x5ad7a0=0x0;_0x5ad7a0<_0xb41b6e[_0x5155e6(0x1e0)];_0x5ad7a0++){const _0x23e39e=_0xb41b6e[_0x5ad7a0];if(!_0x23e39e||!_0x23e39e[_0x5155e6(0x1ca)]||!_0x23e39e[_0x5155e6(0x1e2)])return{'valid':![],'error':_0x5155e6(0x1e9)+_0x5ad7a0+_0x5155e6(0x1fb)};}if(!_0x1b2c38||_0x129471['UlLZy'](typeof _0x1b2c38,'number')||_0x129471[_0x5155e6(0x1e7)](_0x1b2c38,0x1))return{'valid':![],'error':_0x129471['waIOP']};const _0x3f438a=this[_0x5155e6(0x203)]();if(_0x1b2c38>_0x3f438a)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x3f438a+_0x5155e6(0x1ec)};if(!_0x300bcf||_0x129471[_0x5155e6(0x1c8)](typeof _0x300bcf,'string'))return{'valid':![],'error':_0x5155e6(0x1ee)};return{'valid':!![]};}[a0_0x84cb81(0x200)]({resource:_0x203bee,lockKeys:_0x57d84f,lockToken:_0x3b7999}){const _0x389bdc=a0_0x84cb81,_0x5cde71={'PDynr':_0x389bdc(0x1dc),'vOvFt':_0x389bdc(0x1c5),'KpqHu':function(_0x5dc845,_0x260691){return _0x5dc845===_0x260691;},'iLcQM':function(_0x50c107,_0x127dd5){return _0x50c107<_0x127dd5;},'DsSsD':function(_0x176d83,_0x47aba3){return _0x176d83!==_0x47aba3;}};if(!_0x203bee||typeof _0x203bee!==_0x5cde71[_0x389bdc(0x1c1)])return{'valid':![],'error':_0x5cde71[_0x389bdc(0x1c3)]};if(!Array['isArray'](_0x57d84f)||_0x5cde71[_0x389bdc(0x207)](_0x57d84f['length'],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x1a387d=0x0;_0x5cde71[_0x389bdc(0x1f6)](_0x1a387d,_0x57d84f[_0x389bdc(0x1e0)]);_0x1a387d++){const _0xd08774=_0x57d84f[_0x1a387d];if(!_0xd08774||!_0xd08774['key']||!_0xd08774['value'])return{'valid':![],'error':'lock_keys['+_0x1a387d+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3b7999||_0x5cde71[_0x389bdc(0x1d7)](typeof _0x3b7999,_0x389bdc(0x1dc)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module[a0_0x84cb81(0x1e4)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1f7230=a0_0x48d4;(function(_0x251ea6,_0x5db359){const _0x4316fd=a0_0x48d4,_0x4950f4=_0x251ea6();while(!![]){try{const _0x5a9e63=-parseInt(_0x4316fd(0xca))/0x1*(-parseInt(_0x4316fd(0xd0))/0x2)+parseInt(_0x4316fd(0xd8))/0x3+parseInt(_0x4316fd(0xb2))/0x4+parseInt(_0x4316fd(0x102))/0x5*(parseInt(_0x4316fd(0xc6))/0x6)+parseInt(_0x4316fd(0x124))/0x7+parseInt(_0x4316fd(0x106))/0x8+parseInt(_0x4316fd(0xe5))/0x9*(-parseInt(_0x4316fd(0xce))/0xa);if(_0x5a9e63===_0x5db359)break;else _0x4950f4['push'](_0x4950f4['shift']());}catch(_0x312961){_0x4950f4['push'](_0x4950f4['shift']());}}}(a0_0x97c0,0x39d78));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x97c0(){const _0x58ff44=['yxv0B0nVBw1PDa','BgfZDe1LC3nHz2vuAw1L','z3jVDxbjza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','s0fgs0fFu1nm','mtaWma','y29UC3vTzxiUC3rVCa','mtK5mJu1txHrCLnk','CMv0CNLezwXHEq','v0fstG','BwvZC2fNzxnszwnLAxzLza','mZa5mJCYmhfcy3jjzW','y29UC3vTzxi','A2v5','EKXWA1O','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','sfrWBwe','DMfSDwu','CMvZDgzVCMDLlq','Bwv0CMLJCW','CMvZDw1L','z2v0tg9Ntgv2zwW','A2fMA2e','y29UBMvJDgLVBLbYB21PC2u','C2vLA1rVt2zMC2v0','y29UC3vTzxiUCMvIywXHBMnPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BgvUz3rO','rvjst1i','s0fgs0fFuKvuuLLFrevmqvK','B2zMC2v0','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Bwf4','CgfYC2u','Dhj1zq','y0vTwNC','sgTpvMq','AgvHzgvYCW','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','mJq5mtKZy0H3ufrU','C3bSAxq','twLWwLO','s0fgs0fFq0Xjru5ux0Le','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','AxnqyxvZzwq','CM91BMq','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFu0fttf9nruniqu5ju00','mtCYota0tgrSvxbq','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','yNjVA2vYCW','BwfW','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','AuDPzwW','AxnsDw5UAw5N','Bg9N','revcvuC','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','B2T4y2S','C2vZC2LVBLrPBwvVDxq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw5HyMXLza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','s0fgs0fFuKvuuLLFtufyx0rftefz','mhW0Fdn8mxWYFdu','C3vIC2nYAwjLzfrVCgLJCW','BwvZC2fNzq','nNr0sfPlEa','mZaWma','CMvKDwnL','CxLtCgO','mtLUzw9fzg4','r2DltNq','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','zw50CMLLCW','mZiZnZbbrwrYAui','Aw5PDgLHBgL6zq','nJa3ofrNCuLTDW','yKTdA3q','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','C2vLAW','nNWXFdH8mhWYFdeWFdr8nxWZFdL8nW','BwvZC2fNzuHHBMrSzxi','AM9PBG','ntaWma','mta0mtyYn2nqwwT2vW','mZaWmda','s0fgs0fFu0vtu0LptL9usu1ft1vu','zw52','C3zcq3q','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','rhvprNe','y2XVC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','CgfYC2vizwfKzxjZ','AgvHCNrIzwf0sw50zxj2ywW','mtG3mLLzAKr4DW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','C3rHCNruAw1L','zxHWB3j0CW','C2v0DxbfDMvUDeHHBMrSzxjZ','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','s0fgs0fFru5bqKXfra','CxD5vwi','CMv0CNLbDhrLBxb0CW','z2v0q29UzMLN','lwnVBNn1BwvY','BwvZC2fNzxnqCM9JzxnZzwq','Bg9JywXOB3n0oJKWoti','DLfgt1K','CMvXDwvZDfrPBwvVDxq','zxjYB3i','BM93','vM53vgq','s0fgs0fFu0fttf9qqvntv09sra'];a0_0x97c0=function(){return _0x58ff44;};return a0_0x97c0();}class KafkaConsumerService{constructor(){const _0x355bc3=a0_0x48d4,_0x289f88={'uVGhe':_0x355bc3(0xd4)},_0x814811=_0x289f88['uVGhe'][_0x355bc3(0x125)]('|');let _0x2b692b=0x0;while(!![]){switch(_0x814811[_0x2b692b++]){case'0':this['isInitializing']=![];continue;case'1':this['consumer']=null;continue;case'2':this['isRunning']=![];continue;case'3':this['groupId']=null;continue;case'4':this['connectionPromise']=null;continue;case'5':this[_0x355bc3(0xc4)]=[];continue;case'6':this['kafka']=null;continue;case'7':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'8':this['isConnected']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this['isPaused']=![];continue;}break;}}[a0_0x1f7230(0xf1)](){const _0x581fa3=a0_0x1f7230,_0x4f9da0={'VupXN':_0x581fa3(0x11e),'qKPXP':_0x581fa3(0xf4),'vQFOY':_0x581fa3(0xde),'HkOVd':function(_0x355559,_0x3756ce){return _0x355559(_0x3756ce);},'iGiel':function(_0x3f66bc,_0x2a564e){return _0x3f66bc(_0x2a564e);},'bKCkt':function(_0xb2466b,_0x3b2b3a){return _0xb2466b(_0x3b2b3a);},'nAWKB':function(_0x2dd14a,_0x57318e){return _0x2dd14a(_0x57318e);},'qySpj':_0x581fa3(0x100),'cEmZw':'warn'};return{'enabled':process['env'][_0x581fa3(0xee)]===_0x4f9da0['VupXN'],'brokers':(process['env']['KAFKA_BROKERS']||_0x4f9da0['qKPXP'])['split'](','),'clientId':process['env'][_0x581fa3(0xac)]||'restforge-'+(process[_0x581fa3(0xdb)]['RESTFORGE_PROJECT_NAME']||_0x4f9da0[_0x581fa3(0xf5)])+_0x581fa3(0xf2),'connectionTimeout':parseInt(process[_0x581fa3(0xdb)]['KAFKA_CONNECTION_TIMEOUT']||_0x581fa3(0xc7)),'requestTimeout':_0x4f9da0[_0x581fa3(0x120)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x4f9da0[_0x581fa3(0xb8)](parseInt,process[_0x581fa3(0xdb)][_0x581fa3(0xda)]||_0x581fa3(0xd9)),'heartbeatInterval':parseInt(process['env'][_0x581fa3(0xe6)]||_0x581fa3(0xc7)),'maxBytesPerPartition':parseInt(process[_0x581fa3(0xdb)][_0x581fa3(0xd2)]||'1048576'),'autoCommit':process[_0x581fa3(0xdb)]['KAFKA_AUTO_COMMIT']===_0x4f9da0['VupXN'],'autoCommitInterval':_0x4f9da0[_0x581fa3(0xd1)](parseInt,process[_0x581fa3(0xdb)][_0x581fa3(0xad)]||_0x581fa3(0xd7)),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x4f9da0['nAWKB'](parseInt,process[_0x581fa3(0xdb)][_0x581fa3(0x118)]||_0x4f9da0[_0x581fa3(0xc9)]),'retryMaxDelay':_0x4f9da0[_0x581fa3(0x120)](parseInt,process['env'][_0x581fa3(0xc2)]||'30000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x4f9da0[_0x581fa3(0x11f)]};}[a0_0x1f7230(0x110)](_0x3fc658){const _0x326316=a0_0x1f7230,_0x4094fd={'nothing':logLevel['NOTHING'],'error':logLevel[_0x326316(0x117)],'warn':logLevel[_0x326316(0x104)],'info':logLevel['INFO'],'debug':logLevel[_0x326316(0xbb)]};return _0x4094fd[_0x3fc658['toLowerCase']()]||logLevel['WARN'];}async[a0_0x1f7230(0xcf)](_0x34abdb={}){const _0x52b59a=a0_0x1f7230,_0x1c9459={'qwyUb':_0x52b59a(0xcc)},_0x5209cf=this[_0x52b59a(0xf1)]();if(!_0x5209cf[_0x52b59a(0xc0)])return console['log'](_0x1c9459[_0x52b59a(0xef)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x52b59a(0x112)])return this[_0x52b59a(0x112)];return this['isInitializing']=!![],this[_0x52b59a(0x112)]=new Promise(async _0x3dd7fd=>{const _0x1e1da5=_0x52b59a;try{let _0x371f87=undefined;process['env'][_0x1e1da5(0xff)]===_0x1e1da5(0x11e)&&(_0x371f87=!![]);let _0x46b906=undefined;process[_0x1e1da5(0xdb)]['KAFKA_SASL_MECHANISM']&&(_0x46b906={'mechanism':process[_0x1e1da5(0xdb)][_0x1e1da5(0xb1)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x1e1da5(0xfa)]||''}),this[_0x1e1da5(0x111)]=new Kafka({'clientId':_0x34abdb['clientId']||_0x5209cf[_0x1e1da5(0xea)],'brokers':_0x5209cf['brokers'],'connectionTimeout':_0x5209cf['connectionTimeout'],'requestTimeout':_0x5209cf[_0x1e1da5(0xf6)],'logLevel':this[_0x1e1da5(0x110)](_0x5209cf['logLevel']),'ssl':_0x371f87,'sasl':_0x46b906,'retry':{'initialRetryTime':_0x5209cf[_0x1e1da5(0x103)],'retries':_0x5209cf[_0x1e1da5(0xf0)],'maxRetryTime':_0x5209cf['retryMaxDelay']}}),this['groupId']=_0x34abdb['groupId']||_0x1e1da5(0x10d)+(process['env'][_0x1e1da5(0xbf)]||'default')+'-consumer-group',this['consumer']=this[_0x1e1da5(0x111)]['consumer']({'groupId':this[_0x1e1da5(0xfd)],'sessionTimeout':_0x5209cf[_0x1e1da5(0xbe)],'heartbeatInterval':_0x5209cf[_0x1e1da5(0xe4)],'maxBytesPerPartition':_0x5209cf['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x1e1da5(0x122)]=!![],console['log'](_0x1e1da5(0xfe)+_0x5209cf[_0x1e1da5(0xb4)][_0x1e1da5(0xd6)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this[_0x1e1da5(0xe9)](),_0x3dd7fd(!![]);}catch(_0x4f594f){console[_0x1e1da5(0xf7)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x4f594f[_0x1e1da5(0xc5)]),this['isConnected']=![],_0x3dd7fd(![]);}finally{this[_0x1e1da5(0x11a)]=![];}}),this[_0x52b59a(0x112)];}['setupEventHandlers'](){const _0x3eb22b=a0_0x1f7230,_0x4aee65={'zLpkZ':_0x3eb22b(0xed),'YhFgb':_0x3eb22b(0x123),'MipZZ':'consumer.disconnect','GgKNt':_0x3eb22b(0x101)};if(!this[_0x3eb22b(0x107)])return;this['consumer']['on'](_0x4aee65[_0x3eb22b(0xab)],()=>{const _0x5d8635=_0x3eb22b;console[_0x5d8635(0xba)](_0x5d8635(0x10a)),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x4aee65[_0x3eb22b(0xcb)],()=>{const _0x2f9ad1=_0x3eb22b;console['log'](_0x4aee65[_0x2f9ad1(0x109)]),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x2c2bf2=>{const _0x40d11f=_0x3eb22b;console[_0x40d11f(0xf7)](_0x40d11f(0xeb)+_0x2c2bf2['payload']['error']['message']),this['isRunning']=![];}),this['consumer']['on'](_0x3eb22b(0x114),()=>{const _0x56b52f=_0x3eb22b;console[_0x56b52f(0xba)](_0x4aee65['YhFgb']);});}async['subscribe'](_0x58d862,_0x1fa33a=![]){const _0x97da5d=a0_0x1f7230;if(!this['isConnected'])return console[_0x97da5d(0xf7)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x389e58=Array['isArray'](_0x58d862)?_0x58d862:[_0x58d862];for(const _0x2cf526 of _0x389e58){await this['consumer']['subscribe']({'topic':_0x2cf526,'fromBeginning':_0x1fa33a}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x2cf526+'\x20(fromBeginning:\x20'+_0x1fa33a+')');}return this[_0x97da5d(0xc4)]=[...new Set([...this['subscribedTopics'],..._0x389e58])],!![];}catch(_0x55b5fc){return console[_0x97da5d(0xf7)](_0x97da5d(0xc1)+_0x55b5fc['message']),![];}}async['startConsuming'](_0x2a4ed5,_0x54e26c={}){const _0x4a1a55=a0_0x1f7230,_0x41b18b={'CqleR':function(_0x16b138,_0x3cd896){return _0x16b138-_0x3cd896;},'vePWu':function(_0x4e7d26,_0x331c0c){return _0x4e7d26!==_0x331c0c;}};if(!this['isConnected'])return console[_0x4a1a55(0xf7)](_0x4a1a55(0xdf)),![];if(this[_0x4a1a55(0xb9)])return console[_0x4a1a55(0xba)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x33ecb6=this['getConfig']();this[_0x4a1a55(0xd5)]=_0x2a4ed5;try{return this['metrics'][_0x4a1a55(0xe7)]=new Date(),await this[_0x4a1a55(0x107)]['run']({'autoCommit':_0x41b18b['vePWu'](_0x54e26c[_0x4a1a55(0xfb)],undefined)?_0x54e26c['autoCommit']:_0x33ecb6['autoCommit'],'autoCommitInterval':_0x33ecb6['autoCommitInterval'],'eachMessage':async({topic:_0x1c668f,partition:_0x5db3f4,message:_0x46c967,heartbeat:_0x289384})=>{const _0x70bfd9=_0x4a1a55,_0x2fa11a=Date[_0x70bfd9(0xf8)]();this['metrics']['messagesReceived']++,this['metrics'][_0x70bfd9(0xfc)]=new Date();try{const _0x4b8236=_0x46c967['value']?_0x46c967[_0x70bfd9(0x10c)]['toString']():null;let _0x5a6968=null;try{_0x5a6968=_0x4b8236?JSON[_0x70bfd9(0x11d)](_0x4b8236):null;}catch(_0x4dbf39){_0x5a6968=_0x4b8236;}const _0x1c7a29={'topic':_0x1c668f,'partition':_0x5db3f4,'offset':_0x46c967['offset'],'key':_0x46c967[_0x70bfd9(0x108)]?_0x46c967['key']['toString']():null,'headers':this[_0x70bfd9(0xe3)](_0x46c967[_0x70bfd9(0x121)]),'timestamp':_0x46c967['timestamp'],'value':_0x5a6968,'raw':_0x4b8236};this['messageHandler']&&await this[_0x70bfd9(0xd5)](_0x1c7a29);!_0x33ecb6[_0x70bfd9(0xfb)]&&await this['consumer']['commitOffsets']([{'topic':_0x1c668f,'partition':_0x5db3f4,'offset':(parseInt(_0x46c967[_0x70bfd9(0x119)])+0x1)['toString']()}]);this[_0x70bfd9(0x10e)][_0x70bfd9(0xf3)]++;const _0x114ddc=_0x41b18b['CqleR'](Date[_0x70bfd9(0xf8)](),_0x2fa11a);this[_0x70bfd9(0x10e)]['processingTimes']['push'](_0x114ddc),this['metrics']['processingTimes'][_0x70bfd9(0x116)]>0x64&&this[_0x70bfd9(0x10e)][_0x70bfd9(0xb0)]['shift'](),await _0x289384();}catch(_0x4d711c){this['metrics']['messagesFailed']++,console[_0x70bfd9(0xf7)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x4d711c[_0x70bfd9(0xc5)]);throw _0x4d711c;}}}),this[_0x4a1a55(0xb9)]=!![],console[_0x4a1a55(0xba)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x4a1a55(0xc4)][_0x4a1a55(0xd6)](',\x20')),!![];}catch(_0x4a0a8a){return console['error']('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4a0a8a[_0x4a1a55(0xc5)]),![];}}[a0_0x1f7230(0xe3)](_0x43abaa){const _0x1e1afd=a0_0x1f7230;if(!_0x43abaa)return{};const _0x4c22ab={};for(const [_0x117fb6,_0x4a4984]of Object[_0x1e1afd(0xcd)](_0x43abaa)){_0x4c22ab[_0x117fb6]=_0x4a4984?_0x4a4984[_0x1e1afd(0xec)]():null;}return _0x4c22ab;}async['pause'](){const _0x3ed59a=a0_0x1f7230,_0x30565c={'MaKte':_0x3ed59a(0xe2)};if(!this[_0x3ed59a(0x122)]||!this[_0x3ed59a(0xb9)])return console[_0x3ed59a(0xba)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this[_0x3ed59a(0xae)])return console['log'](_0x3ed59a(0xb7)),!![];try{const _0x2b384b=this['subscribedTopics'][_0x3ed59a(0xb5)](_0x501ec5=>({'topic':_0x501ec5}));return this['consumer']['pause'](_0x2b384b),this[_0x3ed59a(0xae)]=!![],console[_0x3ed59a(0xba)](_0x30565c['MaKte']),!![];}catch(_0x3470ce){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x3470ce['message']),![];}}async[a0_0x1f7230(0x10f)](){const _0x52d9a9=a0_0x1f7230;if(!this[_0x52d9a9(0x122)]||!this[_0x52d9a9(0xb9)])return console[_0x52d9a9(0xba)](_0x52d9a9(0x11b)),![];if(!this[_0x52d9a9(0xae)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0xf41110=this['subscribedTopics'][_0x52d9a9(0xb5)](_0x1cd494=>({'topic':_0x1cd494}));return this['consumer'][_0x52d9a9(0x10f)](_0xf41110),this['isPaused']=![],console['log'](_0x52d9a9(0x115)),!![];}catch(_0x5f4b69){return console[_0x52d9a9(0xf7)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x5f4b69['message']),![];}}async['stop'](){const _0x495e9c=a0_0x1f7230,_0xca199c={'svBCt':_0x495e9c(0xc3)};if(!this['isConnected'])return console['log'](_0x495e9c(0xdd)),!![];try{const _0x22cbd4=_0xca199c[_0x495e9c(0xdc)][_0x495e9c(0x125)]('|');let _0x284b36=0x0;while(!![]){switch(_0x22cbd4[_0x284b36++]){case'0':this['consumer']&&(await this[_0x495e9c(0x107)]['stop'](),await this[_0x495e9c(0x107)]['disconnect']());continue;case'1':this[_0x495e9c(0xae)]=![];continue;case'2':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'3':this[_0x495e9c(0xb9)]=![];continue;case'4':this['isConnected']=![];continue;case'5':return!![];}break;}}catch(_0x32af5b){return console['error'](_0x495e9c(0xbc)+_0x32af5b[_0x495e9c(0xc5)]),![];}}async[a0_0x1f7230(0x113)](_0xb1ad51,_0x3ab601,_0x132720){const _0x13d9c1=a0_0x1f7230;if(!this[_0x13d9c1(0x122)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x13d9c1(0xd3)]({'topic':_0xb1ad51,'partition':_0x3ab601,'offset':_0x132720['toString']()}),console[_0x13d9c1(0xba)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x132720+'\x20on\x20'+_0xb1ad51+':'+_0x3ab601),!![];}catch(_0x59f9d6){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x59f9d6[_0x13d9c1(0xc5)]),![];}}['getStatus'](){const _0x411916=a0_0x1f7230,_0x27ab9f=this['getConfig']();return{'enabled':_0x27ab9f[_0x411916(0xc0)],'connected':this[_0x411916(0x122)],'running':this[_0x411916(0xb9)],'paused':this['isPaused'],'brokers':_0x27ab9f[_0x411916(0xb4)],'clientId':_0x27ab9f[_0x411916(0xea)],'groupId':this[_0x411916(0xfd)],'subscribedTopics':this[_0x411916(0xc4)]};}['getMetrics'](){const _0x17608c=a0_0x1f7230,_0x3ee5e8={'HTpma':function(_0x515e94,_0x11c4a5){return _0x515e94>_0x11c4a5;},'okxck':function(_0x3a5551,_0x1a546c){return _0x3a5551+_0x1a546c;},'DuOFq':function(_0xbbf210,_0xf111ff){return _0xbbf210*_0xf111ff;},'VnwTd':function(_0x4a622a,_0x1f0e2e){return _0x4a622a/_0x1f0e2e;}},_0x2457e8=this[_0x17608c(0x10e)][_0x17608c(0xb0)][_0x17608c(0x116)]>0x0?this[_0x17608c(0x10e)][_0x17608c(0xb0)][_0x17608c(0xc8)]((_0x204c3c,_0x16f079)=>_0x204c3c+_0x16f079,0x0)/this['metrics']['processingTimes']['length']:0x0,_0x36b93f=_0x3ee5e8[_0x17608c(0x10b)](this[_0x17608c(0x10e)]['processingTimes']['length'],0x0)?Math['min'](...this[_0x17608c(0x10e)]['processingTimes']):0x0,_0x240d91=this['metrics']['processingTimes']['length']>0x0?Math[_0x17608c(0x11c)](...this['metrics'][_0x17608c(0xb0)]):0x0;return{'messagesReceived':this['metrics'][_0x17608c(0x105)],'messagesProcessed':this[_0x17608c(0x10e)][_0x17608c(0xf3)],'messagesFailed':this[_0x17608c(0x10e)]['messagesFailed'],'successRate':this[_0x17608c(0x10e)][_0x17608c(0x105)]>0x0?_0x3ee5e8['okxck'](_0x3ee5e8[_0x17608c(0xe0)](this[_0x17608c(0x10e)][_0x17608c(0xf3)]/this[_0x17608c(0x10e)][_0x17608c(0x105)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this[_0x17608c(0x10e)][_0x17608c(0xe7)]?Math['floor'](_0x3ee5e8[_0x17608c(0xf9)](Date[_0x17608c(0xf8)]()-this[_0x17608c(0x10e)]['startTime']['getTime'](),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0x17608c(0xaf)](_0x2457e8)+'ms','min':_0x36b93f+'ms','max':_0x3ee5e8[_0x17608c(0xbd)](_0x240d91,'ms')}};}[a0_0x1f7230(0xb6)](){const _0x228485=a0_0x1f7230;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x228485(0xb9)]?new Date():null,'processingTimes':[]},console['log'](_0x228485(0xb3));}async[a0_0x1f7230(0xe1)](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x48d4(_0x180f9f,_0xf48566){_0x180f9f=_0x180f9f-0xab;const _0x97c04=a0_0x97c0();let _0x48d4fa=_0x97c04[_0x180f9f];if(a0_0x48d4['ikTlAW']===undefined){var _0x281a05=function(_0x2018a1){const _0x27528f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x168524='',_0x2c7964='';for(let _0x5b2b7d=0x0,_0x1a02e6,_0x3c78ce,_0xac6278=0x0;_0x3c78ce=_0x2018a1['charAt'](_0xac6278++);~_0x3c78ce&&(_0x1a02e6=_0x5b2b7d%0x4?_0x1a02e6*0x40+_0x3c78ce:_0x3c78ce,_0x5b2b7d++%0x4)?_0x168524+=String['fromCharCode'](0xff&_0x1a02e6>>(-0x2*_0x5b2b7d&0x6)):0x0){_0x3c78ce=_0x27528f['indexOf'](_0x3c78ce);}for(let _0x57b0c2=0x0,_0x9b3534=_0x168524['length'];_0x57b0c2<_0x9b3534;_0x57b0c2++){_0x2c7964+='%'+('00'+_0x168524['charCodeAt'](_0x57b0c2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c7964);};a0_0x48d4['ZBPcHq']=_0x281a05,a0_0x48d4['HReVYP']={},a0_0x48d4['ikTlAW']=!![];}const _0x5258ab=_0x97c04[0x0],_0x8325a=_0x180f9f+_0x5258ab,_0x17bf81=a0_0x48d4['HReVYP'][_0x8325a];return!_0x17bf81?(_0x48d4fa=a0_0x48d4['ZBPcHq'](_0x48d4fa),a0_0x48d4['HReVYP'][_0x8325a]=_0x48d4fa):_0x48d4fa=_0x17bf81,_0x48d4fa;}function resetInstance(){const _0x1a1e0e=a0_0x1f7230;instance&&(instance[_0x1a1e0e(0xe1)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x1f7230(0xe8)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
const a0_0x8cc5d6=a0_0x3ec2;(function(_0x3d0363,_0x284dbd){const _0x493cf7=a0_0x3ec2,_0x4e99d2=_0x3d0363();while(!![]){try{const _0x8dfc00=-parseInt(_0x493cf7(0xd3))/0x1*(parseInt(_0x493cf7(0x10d))/0x2)+-parseInt(_0x493cf7(0x13c))/0x3*(parseInt(_0x493cf7(0x107))/0x4)+-parseInt(_0x493cf7(0xf6))/0x5*(-parseInt(_0x493cf7(0xe8))/0x6)+-parseInt(_0x493cf7(0x119))/0x7+-parseInt(_0x493cf7(0xf2))/0x8*(parseInt(_0x493cf7(0x11c))/0x9)+parseInt(_0x493cf7(0x134))/0xa*(parseInt(_0x493cf7(0x10a))/0xb)+-parseInt(_0x493cf7(0x127))/0xc*(-parseInt(_0x493cf7(0x142))/0xd);if(_0x8dfc00===_0x284dbd)break;else _0x4e99d2['push'](_0x4e99d2['shift']());}catch(_0x4e9708){_0x4e99d2['push'](_0x4e99d2['shift']());}}}(a0_0x7b4c,0x267c7));function a0_0x7b4c(){const _0x549fae=['w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','rgTWyxG','tK9useLorW','BwLU','mZuZmuHcv3v4vq','ntaWma','zgvMyxvSDa','AxnsDw5UAw5N','BwvZC2fNzxnszwnLAxzLza','mta0odu3nG','nJK2mda3t25HCeP5','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','AxnbCNjHEq','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','zw5HyMXLza','zvDqtvu','C3vIC2nYAwjL','lwnVBNn1BwvY','mMXTswXPtW','AxndB25Uzwn0zwq','v0fstG','AxnqyxvZzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0fttf9nruniqu5ju00','BwvZC2fNzq','C3rHCNruAw1L','BM93','s0fgs0fFq0Xjru5ux0Le','C2HPzNq','C3rVCa','y29UC3vTzxiUCMvIywXHBMnPBMC','CM1gt28','vMLlA20','zw52','C3vIC2nYAwjLzfrVCgLJCW','C2vLA1rVt2zMC2v0','y29UC3vTzxi','v2zMweu','CgfYC2vizwfKzxjZ','otqZndC2tLbRq2DN','yMziAgC','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','Dhj1zq','zxHWB3j0CW','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','s0fgs0fFuKvuuLLFtufyx0rftefz','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','nJq3odG4v05jyNjY','thHQr24','D2fYBG','t3PJsfe','mtbHEKXuv3u','ig9Uia','y29UC3vTzxiUy3jHC2G','s0fgs0fFqvvut19dt01nsvq','CMvKDwnL','AM9PBG','z2v0vgLTzq','AxnjBML0AwfSAxPPBMC','BwvZC2fNzuHHBMrSzxi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2XPzw50swq','rvjst1i','vvDbCxa','zxjYB3i','BwfW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Dg9tDhjPBMC','ntiWsfbms1L0','yK1tzM8','B2zMC2v0','mJC4mJqZovPJwePHyG','s0fgs0fFsevbuLrcrufux0LovevsvKfm','mZaWma','mtC5ndy0DgX2r3ff','CMvZDgzVCMDLlq','BwvZC2fNzxngywLSzwq','z3jVDxbjza','DgLTzxn0yw1W','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','C2vLAW','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','y29UC3vTzxiUzgLZy29UBMvJDa','y29UBMvJDgLVBLbYB21PC2u','rfPmtK8','mtq2ndaWmxjjr0XQrG','yxv0B0nVBw1PDeLUDgvYDMfS','DMfSDwu','mJDOC1nzCKi','zMXVB3i','s0fgs0fFu0vtu0LptL9usu1ft1vu','s0fgs0fFru5bqKXfra','s0fgs0fFq09otKvdveLptL9usu1ft1vu','s0fgs0fFu1nm','vuTdAui','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','BgvUz3rO','odrgAevbueO','z2v0q29UzMLN','yMfgBMO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bwv0CMLJCW','uKPWBxi','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','AgvHzgvYCW','Bg9N','A2fMA2e','yxv0B0nVBw1PDa','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','Dxn6sKW','mtbpuNv5A0u','s0fgs0fFte9hx0XfvKvm','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24'];a0_0x7b4c=function(){return _0x549fae;};return a0_0x7b4c();}function a0_0x3ec2(_0x111555,_0x2dff7d){_0x111555=_0x111555-0xd1;const _0x7b4c3f=a0_0x7b4c();let _0x3ec27e=_0x7b4c3f[_0x111555];if(a0_0x3ec2['AphZES']===undefined){var _0x170687=function(_0x2237f5){const _0x86af96='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x320f5d='',_0x1e83ef='';for(let _0x13dc1f=0x0,_0x2787b8,_0x14102f,_0x1bb02b=0x0;_0x14102f=_0x2237f5['charAt'](_0x1bb02b++);~_0x14102f&&(_0x2787b8=_0x13dc1f%0x4?_0x2787b8*0x40+_0x14102f:_0x14102f,_0x13dc1f++%0x4)?_0x320f5d+=String['fromCharCode'](0xff&_0x2787b8>>(-0x2*_0x13dc1f&0x6)):0x0){_0x14102f=_0x86af96['indexOf'](_0x14102f);}for(let _0x5b873b=0x0,_0x1f7c79=_0x320f5d['length'];_0x5b873b<_0x1f7c79;_0x5b873b++){_0x1e83ef+='%'+('00'+_0x320f5d['charCodeAt'](_0x5b873b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e83ef);};a0_0x3ec2['HJLtKO']=_0x170687,a0_0x3ec2['WSjTHE']={},a0_0x3ec2['AphZES']=!![];}const _0x4b6d10=_0x7b4c3f[0x0],_0xe87109=_0x111555+_0x4b6d10,_0x3eb256=a0_0x3ec2['WSjTHE'][_0xe87109];return!_0x3eb256?(_0x3ec27e=a0_0x3ec2['HJLtKO'](_0x3ec27e),a0_0x3ec2['WSjTHE'][_0xe87109]=_0x3ec27e):_0x3ec27e=_0x3eb256,_0x3ec27e;}const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x24eebb=a0_0x3ec2;this[_0x24eebb(0x130)]=null,this[_0x24eebb(0xe5)]=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x24eebb(0xd6)]=![],this[_0x24eebb(0x117)]=null,this['subscribedTopics']=[],this[_0x24eebb(0x110)]=null,this['messageHandler']=null,this[_0x24eebb(0x12b)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x8cc5d6(0x128)](){const _0x45f013=a0_0x8cc5d6,_0x56a7bd={'lXgOS':'true','baFnj':_0x45f013(0x13e),'rmFOo':_0x45f013(0x10c),'DZLNO':function(_0x1fdcdd,_0x20d99d){return _0x1fdcdd(_0x20d99d);},'WffXE':function(_0x3d52f8,_0x3b98c1){return _0x3d52f8(_0x3b98c1);},'dPwKe':_0x45f013(0x13d),'wSiJh':function(_0x1aad3b,_0x10bdbb){return _0x1aad3b(_0x10bdbb);},'LxjGn':'1000','LXQku':function(_0x3d299d,_0x55c298){return _0x3d299d(_0x55c298);}};return{'enabled':process[_0x45f013(0xe2)][_0x45f013(0x11f)]===_0x56a7bd['lXgOS'],'brokers':(process[_0x45f013(0xe2)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x45f013(0xe2)][_0x45f013(0xdc)]||_0x45f013(0x10e)+(process[_0x45f013(0xe2)][_0x45f013(0xff)]||_0x56a7bd[_0x45f013(0x129)])+_0x45f013(0xd2),'connectionTimeout':parseInt(process['env'][_0x45f013(0x120)]||_0x56a7bd[_0x45f013(0xe0)]),'requestTimeout':parseInt(process[_0x45f013(0xe2)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x56a7bd[_0x45f013(0x118)](parseInt,process['env'][_0x45f013(0x11e)]||'30000'),'heartbeatInterval':parseInt(process['env'][_0x45f013(0x10b)]||_0x45f013(0x10c)),'maxBytesPerPartition':_0x56a7bd['WffXE'](parseInt,process['env'][_0x45f013(0x123)]||_0x45f013(0x141)),'autoCommit':process[_0x45f013(0xe2)][_0x45f013(0xf9)]===_0x45f013(0xeb),'autoCommitInterval':parseInt(process['env'][_0x45f013(0x132)]||_0x56a7bd['dPwKe']),'retryAttempts':_0x56a7bd[_0x45f013(0xe6)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x56a7bd['wSiJh'](parseInt,process[_0x45f013(0xe2)]['KAFKA_RETRY_DELAY']||_0x56a7bd[_0x45f013(0xf3)]),'retryMaxDelay':_0x56a7bd['LXQku'](parseInt,process[_0x45f013(0xe2)][_0x45f013(0xef)]||'30000'),'logLevel':process[_0x45f013(0xe2)][_0x45f013(0x135)]||_0x45f013(0xf4)};}['getLogLevel'](_0x1be1a0){const _0x45f113=a0_0x8cc5d6,_0x24807b={'nothing':logLevel[_0x45f113(0x13a)],'error':logLevel[_0x45f113(0x101)],'warn':logLevel[_0x45f113(0xd5)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x24807b[_0x1be1a0['toLowerCase']()]||logLevel[_0x45f113(0xd5)];}async['initialize'](_0xfa2f20={}){const _0x351e01=a0_0x8cc5d6,_0x5adec8={'DgiLR':'true','ViKkm':_0x351e01(0x13e)},_0xb8567f=this[_0x351e01(0x128)]();if(!_0xb8567f[_0x351e01(0x148)])return console['log'](_0x351e01(0x137)),![];if(this[_0x351e01(0xd4)])return!![];if(this[_0x351e01(0xfd)]&&this[_0x351e01(0x117)])return this[_0x351e01(0x117)];return this[_0x351e01(0xfd)]=!![],this[_0x351e01(0x117)]=new Promise(async _0x5ea40b=>{const _0x54c35f=_0x351e01;try{let _0x52e5ae=undefined;process['env'][_0x54c35f(0x121)]===_0x5adec8['DgiLR']&&(_0x52e5ae=!![]);let _0x2f44b8=undefined;process['env'][_0x54c35f(0xd8)]&&(_0x2f44b8={'mechanism':process[_0x54c35f(0xe2)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x54c35f(0xe2)]['KAFKA_SASL_PASSWORD']||''}),this[_0x54c35f(0x130)]=new Kafka({'clientId':_0xfa2f20[_0x54c35f(0x100)]||_0xb8567f['clientId'],'brokers':_0xb8567f[_0x54c35f(0xf0)],'connectionTimeout':_0xb8567f['connectionTimeout'],'requestTimeout':_0xb8567f['requestTimeout'],'logLevel':this['getLogLevel'](_0xb8567f['logLevel']),'ssl':_0x52e5ae,'sasl':_0x2f44b8,'retry':{'initialRetryTime':_0xb8567f['retryDelay'],'retries':_0xb8567f[_0x54c35f(0xed)],'maxRetryTime':_0xb8567f['retryMaxDelay']}}),this[_0x54c35f(0x110)]=_0xfa2f20['groupId']||_0x54c35f(0x10e)+(process['env'][_0x54c35f(0xff)]||_0x5adec8[_0x54c35f(0xe1)])+'-consumer-group',this['consumer']=this['kafka'][_0x54c35f(0xe5)]({'groupId':this['groupId'],'sessionTimeout':_0xb8567f['sessionTimeout'],'heartbeatInterval':_0xb8567f['heartbeatInterval'],'maxBytesPerPartition':_0xb8567f[_0x54c35f(0x124)],'allowAutoTopicCreation':![]}),await this[_0x54c35f(0xe5)]['connect'](),this[_0x54c35f(0xd4)]=!![],console['log'](_0x54c35f(0x12d)+_0xb8567f['brokers'][_0x54c35f(0xfb)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x5ea40b(!![]);}catch(_0x393b01){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x393b01[_0x54c35f(0xd9)]),this[_0x54c35f(0xd4)]=![],_0x5ea40b(![]);}finally{this[_0x54c35f(0xfd)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x5a3a05=a0_0x8cc5d6,_0x23d29d={'hwnNf':'[KafkaConsumer]\x20Consumer\x20stopped','YISBv':_0x5a3a05(0x125),'bMSfo':'consumer.stop','UWAqp':_0x5a3a05(0xdf)};if(!this[_0x5a3a05(0xe5)])return;this[_0x5a3a05(0xe5)]['on'](_0x5a3a05(0x116),()=>{const _0x307aaa=_0x5a3a05;console['log'](_0x307aaa(0x147)),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x23d29d[_0x5a3a05(0x108)],()=>{console['log'](_0x23d29d['hwnNf']),this['isRunning']=![];}),this[_0x5a3a05(0xe5)]['on'](_0x5a3a05(0xf8),_0x427ffc=>{const _0x498eb4=_0x5a3a05;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x427ffc['payload'][_0x498eb4(0x103)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x23d29d[_0x5a3a05(0x102)],()=>{const _0x4154de=_0x5a3a05;console[_0x4154de(0x12f)](_0x23d29d['YISBv']);});}async['subscribe'](_0x4582e2,_0xfa8855=![]){const _0x869604=a0_0x8cc5d6,_0x2d91c9={'vFAiC':_0x869604(0x138)};if(!this[_0x869604(0xd4)])return console[_0x869604(0x103)](_0x2d91c9['vFAiC']),![];try{const _0x589ff8=Array[_0x869604(0x145)](_0x4582e2)?_0x4582e2:[_0x4582e2];for(const _0x4c1b1e of _0x589ff8){await this['consumer'][_0x869604(0xd1)]({'topic':_0x4c1b1e,'fromBeginning':_0xfa8855}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x4c1b1e+'\x20(fromBeginning:\x20'+_0xfa8855+')');}return this['subscribedTopics']=[...new Set([...this[_0x869604(0xe3)],..._0x589ff8])],!![];}catch(_0x14435a){return console['error'](_0x869604(0x115)+_0x14435a[_0x869604(0xd9)]),![];}}async['startConsuming'](_0x309986,_0x3193fc={}){const _0x24fa76=a0_0x8cc5d6,_0x36d461={'Dkpax':function(_0x2c1d28,_0x58cb19){return _0x2c1d28+_0x58cb19;},'GozDd':function(_0x1b2629,_0x422a18){return _0x1b2629>_0x422a18;}};if(!this[_0x24fa76(0xd4)])return console[_0x24fa76(0x103)](_0x24fa76(0x143)),![];if(this[_0x24fa76(0x13f)])return console['log'](_0x24fa76(0xd7)),!![];const _0x1ebce3=this[_0x24fa76(0x128)]();this[_0x24fa76(0xfe)]=_0x309986;try{return this[_0x24fa76(0x12b)]['startTime']=new Date(),await this[_0x24fa76(0xe5)]['run']({'autoCommit':_0x3193fc[_0x24fa76(0x131)]!==undefined?_0x3193fc['autoCommit']:_0x1ebce3[_0x24fa76(0x131)],'autoCommitInterval':_0x1ebce3[_0x24fa76(0x11a)],'eachMessage':async({topic:_0x46cf8b,partition:_0x45cd9b,message:_0x2a40ac,heartbeat:_0x11f17c})=>{const _0x311e31=_0x24fa76,_0x468996=Date['now']();this['metrics'][_0x311e31(0x140)]++,this['metrics'][_0x311e31(0x136)]=new Date();try{const _0x2ba2b3=_0x2a40ac[_0x311e31(0x11b)]?_0x2a40ac['value']['toString']():null;let _0x3b9adf=null;try{_0x3b9adf=_0x2ba2b3?JSON['parse'](_0x2ba2b3):null;}catch(_0x330622){_0x3b9adf=_0x2ba2b3;}const _0x2fb2b9={'topic':_0x46cf8b,'partition':_0x45cd9b,'offset':_0x2a40ac['offset'],'key':_0x2a40ac['key']?_0x2a40ac['key']['toString']():null,'headers':this['parseHeaders'](_0x2a40ac[_0x311e31(0x12e)]),'timestamp':_0x2a40ac[_0x311e31(0x111)],'value':_0x3b9adf,'raw':_0x2ba2b3};this['messageHandler']&&await this[_0x311e31(0xfe)](_0x2fb2b9);!_0x1ebce3['autoCommit']&&await this[_0x311e31(0xe5)]['commitOffsets']([{'topic':_0x46cf8b,'partition':_0x45cd9b,'offset':_0x36d461[_0x311e31(0x139)](parseInt(_0x2a40ac[_0x311e31(0x109)]),0x1)['toString']()}]);this[_0x311e31(0x12b)]['messagesProcessed']++;const _0x384531=Date['now']()-_0x468996;this[_0x311e31(0x12b)][_0x311e31(0x146)]['push'](_0x384531),_0x36d461['GozDd'](this[_0x311e31(0x12b)]['processingTimes'][_0x311e31(0x126)],0x64)&&this['metrics'][_0x311e31(0x146)][_0x311e31(0xdd)](),await _0x11f17c();}catch(_0x5047bd){this[_0x311e31(0x12b)]['messagesFailed']++,console[_0x311e31(0x103)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x5047bd[_0x311e31(0xd9)]);throw _0x5047bd;}}}),this['isRunning']=!![],console[_0x24fa76(0x12f)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x6691c8){return console[_0x24fa76(0x103)](_0x24fa76(0x105)+_0x6691c8[_0x24fa76(0xd9)]),![];}}[a0_0x8cc5d6(0xe7)](_0x525a1c){if(!_0x525a1c)return{};const _0x37945d={};for(const [_0x33b9ea,_0x1b5e09]of Object['entries'](_0x525a1c)){_0x37945d[_0x33b9ea]=_0x1b5e09?_0x1b5e09['toString']():null;}return _0x37945d;}async['pause'](){const _0x3bd15e=a0_0x8cc5d6,_0x9b0890={'OzcHQ':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'};if(!this[_0x3bd15e(0xd4)]||!this[_0x3bd15e(0x13f)])return console[_0x3bd15e(0x12f)](_0x9b0890[_0x3bd15e(0xf5)]),![];if(this[_0x3bd15e(0xd6)])return console['log'](_0x3bd15e(0x112)),!![];try{const _0x28c3b8=this[_0x3bd15e(0xe3)][_0x3bd15e(0x104)](_0x380f6e=>({'topic':_0x380f6e}));return this[_0x3bd15e(0xe5)]['pause'](_0x28c3b8),this[_0x3bd15e(0xd6)]=!![],console[_0x3bd15e(0x12f)](_0x3bd15e(0x113)),!![];}catch(_0x5c879f){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x5c879f[_0x3bd15e(0xd9)]),![];}}async['resume'](){const _0x4cf80e=a0_0x8cc5d6;if(!this[_0x4cf80e(0xd4)]||!this[_0x4cf80e(0x13f)])return console['log']('[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'),![];if(!this[_0x4cf80e(0xd6)])return console[_0x4cf80e(0x12f)](_0x4cf80e(0xf1)),!![];try{const _0x1e8b71=this[_0x4cf80e(0xe3)][_0x4cf80e(0x104)](_0x50e9ec=>({'topic':_0x50e9ec}));return this[_0x4cf80e(0xe5)]['resume'](_0x1e8b71),this[_0x4cf80e(0xd6)]=![],console['log'](_0x4cf80e(0x144)),!![];}catch(_0x182bef){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x182bef[_0x4cf80e(0xd9)]),![];}}async['stop'](){const _0x48b40c=a0_0x8cc5d6;if(!this['isConnected'])return console['log'](_0x48b40c(0x12a)),!![];try{return this['consumer']&&(await this[_0x48b40c(0xe5)]['stop'](),await this[_0x48b40c(0xe5)]['disconnect']()),this[_0x48b40c(0xd4)]=![],this['isRunning']=![],this[_0x48b40c(0xd6)]=![],console[_0x48b40c(0x12f)]('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'),!![];}catch(_0x24ab86){return console['error'](_0x48b40c(0xea)+_0x24ab86[_0x48b40c(0xd9)]),![];}}async[a0_0x8cc5d6(0xe4)](_0x4edf1e,_0x372893,_0x4879f8){const _0x1bc2a9=a0_0x8cc5d6;if(!this[_0x1bc2a9(0xd4)])return console[_0x1bc2a9(0x103)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x1bc2a9(0x114)]({'topic':_0x4edf1e,'partition':_0x372893,'offset':_0x4879f8[_0x1bc2a9(0x106)]()}),console['log'](_0x1bc2a9(0xee)+_0x4879f8+_0x1bc2a9(0xf7)+_0x4edf1e+':'+_0x372893),!![];}catch(_0x3c98b3){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3c98b3[_0x1bc2a9(0xd9)]),![];}}['getStatus'](){const _0x480aed=a0_0x8cc5d6,_0x347d35=this['getConfig']();return{'enabled':_0x347d35[_0x480aed(0x148)],'connected':this[_0x480aed(0xd4)],'running':this['isRunning'],'paused':this[_0x480aed(0xd6)],'brokers':_0x347d35['brokers'],'clientId':_0x347d35['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x10fe7b=a0_0x8cc5d6,_0x3ad719={'bfHhg':function(_0x2c1b5c,_0x214233){return _0x2c1b5c>_0x214233;},'RJpmr':function(_0x397ef5,_0x4dfa9){return _0x397ef5>_0x4dfa9;},'rhVEo':function(_0x1c2f67,_0x340fc2){return _0x1c2f67+_0x340fc2;},'DjmPr':function(_0x1f7fe1,_0x3ff887){return _0x1f7fe1*_0x3ff887;},'wETyM':function(_0x18de4c,_0x3a5880){return _0x18de4c/_0x3a5880;},'UKCiB':function(_0x3286b4,_0x39660b){return _0x3286b4-_0x39660b;},'MZYkN':function(_0x32d8c2,_0x3a6d04){return _0x32d8c2+_0x3a6d04;},'uszJL':function(_0x2ade55,_0x2ee5f9){return _0x2ade55+_0x2ee5f9;}},_0x593f9d=this[_0x10fe7b(0x12b)][_0x10fe7b(0x146)][_0x10fe7b(0x126)]>0x0?this['metrics'][_0x10fe7b(0x146)][_0x10fe7b(0xfa)]((_0x23b68d,_0x5c9dcf)=>_0x23b68d+_0x5c9dcf,0x0)/this[_0x10fe7b(0x12b)]['processingTimes'][_0x10fe7b(0x126)]:0x0,_0x3b1847=_0x3ad719[_0x10fe7b(0xe9)](this[_0x10fe7b(0x12b)][_0x10fe7b(0x146)]['length'],0x0)?Math[_0x10fe7b(0x13b)](...this['metrics']['processingTimes']):0x0,_0x49d9b5=_0x3ad719[_0x10fe7b(0x12c)](this[_0x10fe7b(0x12b)]['processingTimes'][_0x10fe7b(0x126)],0x0)?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x10fe7b(0x12b)][_0x10fe7b(0x10f)],'successRate':_0x3ad719[_0x10fe7b(0xe9)](this['metrics'][_0x10fe7b(0x140)],0x0)?_0x3ad719['rhVEo'](_0x3ad719['DjmPr'](this['metrics']['messagesProcessed']/this[_0x10fe7b(0x12b)][_0x10fe7b(0x140)],0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x10fe7b(0x12b)]['lastMessageTime'],'startTime':this['metrics'][_0x10fe7b(0xda)],'uptime':this['metrics'][_0x10fe7b(0xda)]?Math[_0x10fe7b(0x11d)](_0x3ad719['wETyM'](_0x3ad719[_0x10fe7b(0x122)](Date[_0x10fe7b(0xdb)](),this['metrics']['startTime'][_0x10fe7b(0xfc)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x3ad719['MZYkN'](Math['round'](_0x593f9d),'ms'),'min':_0x3b1847+'ms','max':_0x3ad719[_0x10fe7b(0x133)](_0x49d9b5,'ms')}};}['resetMetrics'](){const _0x5c7226=a0_0x8cc5d6,_0x23bab5={'eWPMU':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x23bab5[_0x5c7226(0x149)]);}async['close'](){const _0x22ec98=a0_0x8cc5d6;await this[_0x22ec98(0xde)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x8cc5d6(0xec)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x38cfaa=a0_0x255d;(function(_0x369691,_0x2cc9af){const _0x33efe6=a0_0x255d,_0x2a6186=_0x369691();while(!![]){try{const _0x178262=parseInt(_0x33efe6(0x1b4))/0x1+parseInt(_0x33efe6(0x210))/0x2*(parseInt(_0x33efe6(0x1cc))/0x3)+-parseInt(_0x33efe6(0x1e3))/0x4+parseInt(_0x33efe6(0x1fd))/0x5+parseInt(_0x33efe6(0x1b2))/0x6+parseInt(_0x33efe6(0x1d0))/0x7*(-parseInt(_0x33efe6(0x209))/0x8)+-parseInt(_0x33efe6(0x1e7))/0x9;if(_0x178262===_0x2cc9af)break;else _0x2a6186['push'](_0x2a6186['shift']());}catch(_0x250c19){_0x2a6186['push'](_0x2a6186['shift']());}}}(a0_0x5214,0xc4446));const {Kafka,logLevel,Partitioners}=require(a0_0x38cfaa(0x1d9)),{v7:uuidv7}=require('uuid');function a0_0x5214(){const _0x414da5=['Dg9WAwnqyxr0zxjU','C2vUza','ofvAr010CW','zgvMyxvSDa','tK5Nyw4','s0fgs0fFve9qsunFuefuvevstG','s3flD2W','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','icHRzxK6ia','mLLVuxDIEG','D2fYBG','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','qMXoqNC','nZaWndq2EKTjv25H','tK9useLorW','mZeWmJG0Afnfs1rn','ChvIBgLZAerLBgv0zq','ChvIBgLZAeLUC2vYDa','lxbYB2r1y2vY','zw5HyMXLza','z2v0u3rHDhvZ','uKvtvezpuKDflq','y3jLyxrLza','mZaWma','AxndB25Uzwn0zwq','CMvZDgzVCMDLlq','ChjVzhvJzxi','DxbKyxrLza','y2XPzw50swq','u1Ltvevn','CgfYDgL0Aw9U','AxnjBML0AwfSAxPPBMC','ms4W','z2v0tg9Ntgv2zwW','zM9YBwf0rgf0zvrPBwu','y2XVC2u','y29UBMvJDa','mJuWmda','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','mZK2ndq2mur2qKvhwq','E2fJDgLVBN0','s0fgs0fFq0Xjru5ux0Le','uK1lvfy','mZG2odqZogfuzgHeBq','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','zw5KCg9PBNq','zw52','ChjVzhvJzxiUzgLZy29UBMvJDa','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','CgfKu3rHCNq','DgfIBgvoyw1L','Dw5RBM93BG','A2fMA2fQCW','zxjYB3i','u2rny0m','yNjVA2vYCW','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','A3rywg8','z2v0u2vJB25KCW','A2v5rMLLBgq','zgLZy29UBMvJDa','ChvIBgLZAev2zw50','mtKZndG4me5zuKvwzW','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','revcvuC','y29YCMvSyxrPB25jza','nJqYnZaYnLv3sM5lEq','z2v0twLUDxrLCW','z2v0q29UzMLN','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ru5usvrzx0rftevuruq','CMvWBgfJzq','Dhj1zq','A2fMA2e','ru5usvrzx0nsrufuruq','y29YCI0','BwvZC2fNzq','su5gtW','s0fgs0fFq09otKvdveLptL9usu1ft1vu','Dg9WAwm','yNvPBgruB3bPy05HBwu','sxnKA2S','Dg9vChbLCKnHC2u','s0fgs0fFu0fttf9nruniqu5ju00','yNvPBgrfDMvUDe1LC3nHz2u','tgvNywn5ugfYDgL0Aw9Uzxi','Derfyu4','ndaYotmZmgrAtfrAvq','BuHND0e','Au9mtwe','C0LlzwC','Bw9KDwXL','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','s0fgs0fFru5bqKXfra','zgvSzxrLza','y29UBMvJDgLVBLbYB21PC2u','Bg9N'];a0_0x5214=function(){return _0x414da5;};return a0_0x5214();}function a0_0x255d(_0x28f1bc,_0xd5e61c){_0x28f1bc=_0x28f1bc-0x1b1;const _0x521484=a0_0x5214();let _0x255d8b=_0x521484[_0x28f1bc];if(a0_0x255d['LSHDPf']===undefined){var _0x109c90=function(_0x5c1d74){const _0x442125='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5c7984='',_0x25f3f5='';for(let _0x6f1dab=0x0,_0x582aab,_0x200e1c,_0x1b08eb=0x0;_0x200e1c=_0x5c1d74['charAt'](_0x1b08eb++);~_0x200e1c&&(_0x582aab=_0x6f1dab%0x4?_0x582aab*0x40+_0x200e1c:_0x200e1c,_0x6f1dab++%0x4)?_0x5c7984+=String['fromCharCode'](0xff&_0x582aab>>(-0x2*_0x6f1dab&0x6)):0x0){_0x200e1c=_0x442125['indexOf'](_0x200e1c);}for(let _0x204565=0x0,_0x265ce0=_0x5c7984['length'];_0x204565<_0x265ce0;_0x204565++){_0x25f3f5+='%'+('00'+_0x5c7984['charCodeAt'](_0x204565)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25f3f5);};a0_0x255d['iDPFgG']=_0x109c90,a0_0x255d['AlkYha']={},a0_0x255d['LSHDPf']=!![];}const _0x505e26=_0x521484[0x0],_0x407149=_0x28f1bc+_0x505e26,_0x3741bd=a0_0x255d['AlkYha'][_0x407149];return!_0x3741bd?(_0x255d8b=a0_0x255d['iDPFgG'](_0x255d8b),a0_0x255d['AlkYha'][_0x407149]=_0x255d8b):_0x255d8b=_0x3741bd,_0x255d8b;}class KafkaService{constructor(){const _0x3c7b45=a0_0x38cfaa;this[_0x3c7b45(0x1ef)]=null,this[_0x3c7b45(0x1bf)]=null,this[_0x3c7b45(0x1bd)]=![],this[_0x3c7b45(0x1c4)]=![],this['connectionPromise']=null;}[a0_0x38cfaa(0x1e9)](){const _0x110db5=a0_0x38cfaa,_0x13af14={'KqKwl':function(_0x282e34,_0x183776){return _0x282e34===_0x183776;},'Isdkk':_0x110db5(0x1ee),'tMeyc':'default','FmYYj':_0x110db5(0x1bc),'ktXXo':_0x110db5(0x1d1),'tnapY':function(_0x1e17d1,_0x11e5ad){return _0x1e17d1(_0x11e5ad);},'SdMcC':_0x110db5(0x211)};return{'enabled':_0x13af14[_0x110db5(0x20d)](process['env'][_0x110db5(0x203)],_0x13af14[_0x110db5(0x1f7)]),'brokers':(process[_0x110db5(0x1d3)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x110db5(0x1d3)][_0x110db5(0x1ce)]||_0x110db5(0x1be)+(process[_0x110db5(0x1d3)][_0x110db5(0x202)]||_0x13af14['tMeyc'])+_0x110db5(0x1b7),'connectionTimeout':parseInt(process[_0x110db5(0x1d3)][_0x110db5(0x1f4)]||_0x13af14['FmYYj']),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x110db5(0x1ca)),'topicPattern':process[_0x110db5(0x1d3)][_0x110db5(0x20c)]||_0x13af14[_0x110db5(0x1de)],'tenantId':process[_0x110db5(0x1d3)]['KAFKA_TENANT_ID']||_0x110db5(0x20a),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x13af14['tnapY'](parseInt,process['env']['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x13af14[_0x110db5(0x1db)]};}[a0_0x38cfaa(0x1c6)](_0x4b112a){const _0x3eb5a3=a0_0x38cfaa,_0x29cda9={'nothing':logLevel[_0x3eb5a3(0x1b3)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x3eb5a3(0x1f3)],'debug':logLevel[_0x3eb5a3(0x1e5)]};return _0x29cda9[_0x4b112a['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0x1bd2d5=a0_0x38cfaa,_0x5b9ebe={'NNgan':function(_0x46bc04,_0xcfe0cf){return _0x46bc04===_0xcfe0cf;},'tmpuL':_0x1bd2d5(0x1ee),'AOLBb':_0x1bd2d5(0x1ea)},_0x2c632c=this['getConfig']();if(!_0x2c632c[_0x1bd2d5(0x1b8)])return console[_0x1bd2d5(0x206)](_0x5b9ebe['AOLBb']),![];if(this[_0x1bd2d5(0x1bd)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x1bd2d5(0x205)]=new Promise(async _0x1eea69=>{const _0x3e409e=_0x1bd2d5;try{let _0x169f3b=undefined;_0x5b9ebe[_0x3e409e(0x20b)](process[_0x3e409e(0x1d3)]['KAFKA_SSL'],_0x5b9ebe['tmpuL'])&&(_0x169f3b=!![]);let _0x55bac0=undefined;process['env'][_0x3e409e(0x1f9)]&&(_0x55bac0={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x3e409e(0x1ef)]=new Kafka({'clientId':_0x2c632c[_0x3e409e(0x1c1)],'brokers':_0x2c632c['brokers'],'connectionTimeout':_0x2c632c['connectionTimeout'],'requestTimeout':_0x2c632c['requestTimeout'],'logLevel':this['getLogLevel'](_0x2c632c['logLevel']),'ssl':_0x169f3b,'sasl':_0x55bac0,'retry':{'initialRetryTime':_0x2c632c['retryDelay'],'retries':_0x2c632c['retryAttempts']}}),this[_0x3e409e(0x1bf)]=this[_0x3e409e(0x1ef)][_0x3e409e(0x1bf)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x3e409e(0x1fb)]}),await this[_0x3e409e(0x1bf)][_0x3e409e(0x1c9)](),this[_0x3e409e(0x1bd)]=!![],console[_0x3e409e(0x206)](_0x3e409e(0x212)+_0x2c632c['brokers']['join'](',\x20')),this[_0x3e409e(0x1bf)]['on'](_0x3e409e(0x1d4),()=>{console['log']('[Kafka]\x20Producer\x20disconnected'),this['isConnected']=![];}),_0x1eea69(!![]);}catch(_0x260ec5){console['error'](_0x3e409e(0x1eb)+_0x260ec5['message']),this['isConnected']=![],_0x1eea69(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['formatDateTime'](_0x2a5cf2){const _0x335290=a0_0x38cfaa,_0x2a90b7={'kBSku':function(_0x1b7d48,_0x53c50c){return _0x1b7d48(_0x53c50c);},'DmJby':function(_0x53dabd,_0x32b773){return _0x53dabd(_0x32b773);}},_0x4c5850=_0x2a5cf2||new Date(),_0x2108d8=_0x4c5850['getFullYear'](),_0x14cbbd=_0x2a90b7['kBSku'](String,_0x4c5850['getMonth']()+0x1)['padStart'](0x2,'0'),_0x5b0f07=_0x2a90b7['DmJby'](String,_0x4c5850['getDate']())[_0x335290(0x1d6)](0x2,'0'),_0x692927=_0x2a90b7['DmJby'](String,_0x4c5850['getHours']())[_0x335290(0x1d6)](0x2,'0'),_0x3c82c8=String(_0x4c5850[_0x335290(0x1e8)]())[_0x335290(0x1d6)](0x2,'0'),_0x1501e4=_0x2a90b7['kBSku'](String,_0x4c5850[_0x335290(0x1df)]())[_0x335290(0x1d6)](0x2,'0');return _0x2108d8+'-'+_0x14cbbd+'-'+_0x5b0f07+'\x20'+_0x692927+':'+_0x3c82c8+':'+_0x1501e4;}[a0_0x38cfaa(0x1f6)](_0x555396,_0x27dfa4,_0x24e4fe,_0x856244=null){const _0x3927f2=a0_0x38cfaa;if(_0x856244)return _0x856244;const _0x1aea4d=this[_0x3927f2(0x1e9)]()[_0x3927f2(0x207)];return _0x1aea4d[_0x3927f2(0x1ed)]('{module}',_0x555396)['replace']('{endpoint}',_0x27dfa4)[_0x3927f2(0x1ed)](_0x3927f2(0x1cd),_0x24e4fe);}[a0_0x38cfaa(0x1fa)](_0x1d814e,_0x1823b9,_0x1977f0,_0x504481={}){const _0x1444c9=a0_0x38cfaa,_0x55ccb9={'sIKeg':function(_0x504b2f){return _0x504b2f();},'iOLMa':'unknown'},_0x3042f7=new Date(),_0x5b9af3=this[_0x1444c9(0x1c7)](_0x3042f7),_0x3c8f61=_0x504481[_0x1444c9(0x1e6)]||_0x1444c9(0x1f1)+_0x55ccb9[_0x1444c9(0x200)](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x1d814e,'eventTime':_0x5b9af3,'eventVersion':_0x1444c9(0x1c5),'source':'restforge-'+(_0x504481[_0x1444c9(0x201)]||_0x55ccb9[_0x1444c9(0x1ff)]),'correlationId':_0x3c8f61,'newData':_0x1977f0,'oldData':_0x1823b9,'metadata':{'createdBy':_0x504481['createdBy']||_0x1444c9(0x1c2),'createdAt':_0x5b9af3,'systemId':_0x1444c9(0x1ba)+(_0x504481[_0x1444c9(0x201)]||_0x1444c9(0x1d8))[_0x1444c9(0x1f8)](),'tenantId':this[_0x1444c9(0x1e9)]()['tenantId'],'endpoint':_0x504481[_0x1444c9(0x1d2)]||null,'tableName':_0x504481['tableName']||null}};}async[a0_0x38cfaa(0x1e2)](_0x35d998,_0x4e629a,_0x8f9b94,_0x4c597d,_0x322c48={}){const _0x192a61=a0_0x38cfaa,_0x48af4d={'mHgwA':_0x192a61(0x1e4),'vspnZ':function(_0x1f0e9a){return _0x1f0e9a();}},_0x52520b=this['getConfig']();if(!_0x52520b[_0x192a61(0x1b8)])return{'success':![],'reason':_0x192a61(0x1d5),'published':![]};if(!this[_0x192a61(0x1bd)]){const _0x3fd490=await this['initialize']();if(!_0x3fd490)return{'success':![],'reason':_0x48af4d[_0x192a61(0x1fe)],'published':![]};}try{const _0x1b101f=this[_0x192a61(0x1fa)](_0x4e629a,_0x8f9b94,_0x4c597d,_0x322c48),_0x34171a=_0x322c48['keyField']||'id',_0x47c58b=_0x4c597d?.[_0x34171a]||_0x8f9b94?.[_0x34171a]||_0x48af4d['vspnZ'](uuidv7),_0x5657fe=await this['producer'][_0x192a61(0x208)]({'topic':_0x35d998,'messages':[{'key':String(_0x47c58b),'value':JSON['stringify'](_0x1b101f),'headers':{'event-type':_0x4e629a,'correlation-id':_0x1b101f['correlationId'],'source':_0x1b101f['source']}}]});return console[_0x192a61(0x206)](_0x192a61(0x1cb)+_0x35d998+':\x20'+_0x4e629a+_0x192a61(0x20f)+_0x47c58b+')'),{'success':!![],'correlationId':_0x1b101f['correlationId'],'topic':_0x35d998,'partition':_0x5657fe[0x0]?.[_0x192a61(0x1c3)],'offset':_0x5657fe[0x0]?.['baseOffset'],'published':!![]};}catch(_0x125a80){return console[_0x192a61(0x1da)](_0x192a61(0x1dd)+_0x35d998+':\x20'+_0x125a80[_0x192a61(0x1f2)]),{'success':![],'error':_0x125a80[_0x192a61(0x1f2)],'published':![]};}}async[a0_0x38cfaa(0x1b6)](_0x2c4782,_0x7bb47c,_0xfd6ecb,_0x446ae8={}){const _0x42c781=a0_0x38cfaa,_0x1d8af9={'BlNBw':_0x42c781(0x1bb)},_0x2c0129=this[_0x42c781(0x1f6)](_0x2c4782,_0x7bb47c,_0x1d8af9[_0x42c781(0x1b1)],_0x446ae8['topic']);return this['publishEvent'](_0x2c0129,_0x42c781(0x1f0),null,_0xfd6ecb,{'module':_0x2c4782,'endpoint':_0x7bb47c,'keyField':_0x446ae8['keyField'],'tableName':_0x446ae8['tableName'],'correlationId':_0x446ae8['correlationId']});}async['publishUpdate'](_0x31ae94,_0x26a1e2,_0x23bff3,_0x123c5e,_0x194f17={}){const _0x14324b=a0_0x38cfaa,_0x1df73e={'RMKTV':_0x14324b(0x1c0),'aMrVb':'ENTITY_UPDATED'},_0x15637e=this[_0x14324b(0x1f6)](_0x31ae94,_0x26a1e2,_0x1df73e[_0x14324b(0x1cf)],_0x194f17[_0x14324b(0x1f5)]);return this['publishEvent'](_0x15637e,_0x1df73e['aMrVb'],_0x23bff3,_0x123c5e,{'module':_0x31ae94,'endpoint':_0x26a1e2,'keyField':_0x194f17['keyField'],'tableName':_0x194f17[_0x14324b(0x1d7)],'correlationId':_0x194f17[_0x14324b(0x1e6)]});}async[a0_0x38cfaa(0x1b5)](_0x2baf9a,_0x312650,_0x6ebf2f,_0x605800={}){const _0x3a2598=a0_0x38cfaa,_0x3b01b0={'yRgTX':_0x3a2598(0x1ec)},_0xce95a5=this['buildTopicName'](_0x2baf9a,_0x312650,_0x3a2598(0x204),_0x605800[_0x3a2598(0x1f5)]);return this[_0x3a2598(0x1e2)](_0xce95a5,_0x3b01b0['yRgTX'],_0x6ebf2f,null,{'module':_0x2baf9a,'endpoint':_0x312650,'keyField':_0x605800[_0x3a2598(0x1e0)],'tableName':_0x605800['tableName'],'correlationId':_0x605800['correlationId']});}[a0_0x38cfaa(0x1b9)](){const _0xba26fa=a0_0x38cfaa,_0x135ae8=this[_0xba26fa(0x1e9)]();return{'enabled':_0x135ae8[_0xba26fa(0x1b8)],'connected':this['isConnected'],'brokers':_0x135ae8[_0xba26fa(0x1dc)],'clientId':_0x135ae8[_0xba26fa(0x1c1)],'topicPattern':_0x135ae8['topicPattern']};}async['close'](){const _0x4b2642=a0_0x38cfaa,_0x13f945={'tDEaN':'[Kafka]\x20Producer\x20disconnected\x20gracefully'};if(this['producer']&&this['isConnected'])try{await this[_0x4b2642(0x1bf)][_0x4b2642(0x1e1)](),this['isConnected']=![],console[_0x4b2642(0x206)](_0x13f945[_0x4b2642(0x1fc)]);}catch(_0x5ce447){console[_0x4b2642(0x1da)](_0x4b2642(0x20e)+_0x5ce447['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4447a3=a0_0x38cfaa;instance&&(instance[_0x4447a3(0x1c8)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x1c821d=a0_0xdf87;function a0_0x29b2(){const _0x4b581d=['zxjYB3i','wvrzsNO','s0fgs0fFuKvuuLLFrevmqvK','lxbYB2r1y2vY','Aw5PDgLHBgL6zq','zw5KCg9PBNq','yNjVA2vYCW','mJuWmda','ChjVzhvJzxi','mtaWma','DgfIBgvoyw1L','z2v0tg9Ntgv2zwW','s0fgs0fFru5bqKXfra','ChjVzhvJzxiUzgLZy29UBMvJDa','uKvtvezpuKDflq','s0fgs0fFu0fttf9nruniqu5ju00','zxz0lq','C3rYAw5NAwz5','s0fgs0fFu1nm','s29NBvu','Dhj1zq','zw52','Bg9N','s0fgs0fFuKvuuLLFqvruru1qvfm','AMfps2m','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','B2Xjt3m','y2XVC2u','Dg9vChbLCKnHC2u','z2v0sg91CNm','D2fYBG','zgrcqK0','y29UBMvJDgLVBLbYB21PC2u','Dg9WAwm','ndqWnte1mKDbtKLbBa','z2v0rgf0zq','CgfKu3rHCNq','ndm0mJi3oenlAKztAG','u1Ltvevn','C291CMnL','A2fMA2e','y29UBMvJDgLVBLrPBwvVDxq','mtm1mJy5nxLksvvvwq','z2v0q29UzMLN','z2v0tw9UDgG','AxndB25Uzwn0zwq','E2fJDgLVBN0','yNvPBgrfDMvUDe1LC3nHz2u','ntfOwwXJyMC','mZaWma','sfnWDhC','ntK1mJm0wNz1DxHv','C3bSAxq','D2TnuNO','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','CNfpAwy','zxHWB3j0CW','Bg9JywXOB3n0oJKWoti','v0fstG','s0fgs0fFu0fttf9vu0vstKfnrq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','AxnjBML0AwfSAxPPBMC','y2XPzw50swq','ru5usvrzx0nsrufuruq','ChvIBgLZAev2zw50','y29YCMvSyxrPB25jza','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','zgvSzxrLza','zgvMyxvSDa','A2v5rMLLBgq','CMvWBgfJzq','Dw5RBM93BG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','zM9YBwf0rgf0zvrPBwu','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','CMvXDwvZDfrPBwvVDxq','wgjft3G','BwvZC2fNzq','mZmXmJzJBMnQCfm','zgLZy29UBMvJDa','Dg9WAwnqyxr0zxjU','E2vUzhbVAw50Fq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','su5gtW','yNvPBgruB3bPy05HBwu','zw5HyMXLza','ChvIBgLZAerLBgv0zq','y3jLyxrLzej5','tK9useLorW','ru5usvrzx1vqrefuruq','s0fgs0fFte9hx0XfvKvm','mtiZmZi0mgzzrfn2yW','nJm1ndKZnMrqALDRyq','DgvUyw50swq','z2v0twLUDxrLCW'];a0_0x29b2=function(){return _0x4b581d;};return a0_0x29b2();}(function(_0x2fea31,_0x48bd81){const _0x1cabdb=a0_0xdf87,_0x518971=_0x2fea31();while(!![]){try{const _0x1266a9=parseInt(_0x1cabdb(0x22a))/0x1+parseInt(_0x1cabdb(0x245))/0x2*(-parseInt(_0x1cabdb(0x227))/0x3)+parseInt(_0x1cabdb(0x1f3))/0x4+-parseInt(_0x1cabdb(0x221))/0x5+parseInt(_0x1cabdb(0x21c))/0x6+-parseInt(_0x1cabdb(0x1f4))/0x7+parseInt(_0x1cabdb(0x219))/0x8;if(_0x1266a9===_0x48bd81)break;else _0x518971['push'](_0x518971['shift']());}catch(_0x39ad14){_0x518971['push'](_0x518971['shift']());}}}(a0_0x29b2,0xaf477));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0x34061b=a0_0xdf87;this[_0x34061b(0x21f)]=null,this['producer']=null,this[_0x34061b(0x224)]=![],this[_0x34061b(0x234)]=![],this['connectionPromise']=null;}[a0_0x1c821d(0x222)](){const _0x1b6f8f=a0_0x1c821d,_0x26663c={'PIwJP':function(_0x1d2f0c,_0x56c3f0){return _0x1d2f0c===_0x56c3f0;},'rqOif':_0x1b6f8f(0x20b),'jaOKc':'default','EInDK':function(_0x3f43f4,_0x3df693){return _0x3f43f4(_0x3df693);},'rWvBH':_0x1b6f8f(0x228),'KogmU':function(_0x1e05b4,_0x241780){return _0x1e05b4(_0x241780);},'itctP':_0x1b6f8f(0x1fe),'xZvZl':_0x1b6f8f(0x239),'UamMs':function(_0x3907a3,_0x1492fe){return _0x3907a3(_0x1492fe);},'PTRTC':function(_0x45a7b4,_0x541bcc){return _0x45a7b4(_0x541bcc);},'olIOs':_0x1b6f8f(0x200)};return{'enabled':_0x26663c['PIwJP'](process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x203)],_0x26663c[_0x1b6f8f(0x22e)]),'brokers':(process['env']['KAFKA_BROKERS']||_0x1b6f8f(0x230))[_0x1b6f8f(0x22b)](','),'clientId':process[_0x1b6f8f(0x20c)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x1b6f8f(0x20c)]['RESTFORGE_PROJECT_NAME']||_0x26663c[_0x1b6f8f(0x20f)])+_0x1b6f8f(0x1fa),'connectionTimeout':_0x26663c['EInDK'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x26663c['rWvBH']),'requestTimeout':_0x26663c[_0x1b6f8f(0x20a)](parseInt,process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x249)]||_0x26663c['itctP']),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x26663c['xZvZl'],'tenantId':process[_0x1b6f8f(0x20c)]['KAFKA_TENANT_ID']||_0x1b6f8f(0x23b),'retryAttempts':_0x26663c['UamMs'](parseInt,process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x20e)]||'3'),'retryDelay':_0x26663c['PTRTC'](parseInt,process['env'][_0x1b6f8f(0x1f9)]||_0x26663c[_0x1b6f8f(0x211)]),'logLevel':process[_0x1b6f8f(0x20c)][_0x1b6f8f(0x1f2)]||_0x1b6f8f(0x215)};}['getLogLevel'](_0x5cc12d){const _0x48bb36=a0_0x1c821d,_0x586fa9={'nothing':logLevel[_0x48bb36(0x1f0)],'error':logLevel['ERROR'],'warn':logLevel[_0x48bb36(0x231)],'info':logLevel[_0x48bb36(0x24a)],'debug':logLevel['DEBUG']};return _0x586fa9[_0x5cc12d['toLowerCase']()]||logLevel[_0x48bb36(0x231)];}async[a0_0x1c821d(0x1fb)](){const _0x410d4b=a0_0x1c821d,_0x25c6e8={'wmEko':'[Kafka]\x20Producer\x20disconnected','NJgAX':_0x410d4b(0x204),'atAOS':function(_0x3bce1a,_0x2704c3){return _0x3bce1a(_0x2704c3);},'DPQfu':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x78a2c=this[_0x410d4b(0x222)]();if(!_0x78a2c[_0x410d4b(0x24c)])return console['log'](_0x25c6e8['DPQfu']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x410d4b(0x217)])return this[_0x410d4b(0x217)];return this[_0x410d4b(0x234)]=!![],this[_0x410d4b(0x217)]=new Promise(async _0x16f4aa=>{const _0x527b3d=_0x410d4b;try{let _0x5a4e43=undefined;process['env'][_0x527b3d(0x209)]===_0x527b3d(0x20b)&&(_0x5a4e43=!![]);let _0x77d362=undefined;process['env'][_0x527b3d(0x206)]&&(_0x77d362={'mechanism':process['env'][_0x527b3d(0x206)],'username':process[_0x527b3d(0x20c)][_0x527b3d(0x232)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x78a2c[_0x527b3d(0x235)],'brokers':_0x78a2c['brokers'],'connectionTimeout':_0x78a2c[_0x527b3d(0x220)],'requestTimeout':_0x78a2c[_0x527b3d(0x242)],'logLevel':this[_0x527b3d(0x202)](_0x78a2c['logLevel']),'ssl':_0x5a4e43,'sasl':_0x77d362,'retry':{'initialRetryTime':_0x78a2c['retryDelay'],'retries':_0x78a2c['retryAttempts']}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x527b3d(0x1ff)]['connect'](),this[_0x527b3d(0x224)]=!![],console['log'](_0x527b3d(0x241)+_0x78a2c['brokers']['join'](',\x20')),this[_0x527b3d(0x1ff)]['on'](_0x25c6e8['NJgAX'],()=>{console['log'](_0x25c6e8['wmEko']),this['isConnected']=![];}),_0x16f4aa(!![]);}catch(_0x2c7b7c){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x2c7b7c['message']),this['isConnected']=![],_0x25c6e8['atAOS'](_0x16f4aa,![]);}finally{this[_0x527b3d(0x234)]=![];}}),this[_0x410d4b(0x217)];}[a0_0x1c821d(0x240)](_0x223dd4){const _0xb70857=a0_0x1c821d,_0x4a1b4b={'XbEOx':function(_0x4a63ff,_0xbda6be){return _0x4a63ff(_0xbda6be);}},_0xdcfe0b=_0x223dd4||new Date(),_0x442403=_0xdcfe0b['getFullYear'](),_0x158172=_0x4a1b4b[_0xb70857(0x243)](String,_0xdcfe0b[_0xb70857(0x223)]()+0x1)[_0xb70857(0x21b)](0x2,'0'),_0x2ba6a1=_0x4a1b4b['XbEOx'](String,_0xdcfe0b[_0xb70857(0x21a)]())['padStart'](0x2,'0'),_0x7fdfbb=String(_0xdcfe0b[_0xb70857(0x214)]())['padStart'](0x2,'0'),_0x3e1354=_0x4a1b4b[_0xb70857(0x243)](String,_0xdcfe0b[_0xb70857(0x1f6)]())['padStart'](0x2,'0'),_0x52bcbe=String(_0xdcfe0b['getSeconds']())['padStart'](0x2,'0');return _0x442403+'-'+_0x158172+'-'+_0x2ba6a1+'\x20'+_0x7fdfbb+':'+_0x3e1354+':'+_0x52bcbe;}[a0_0x1c821d(0x24b)](_0x4e18cb,_0xc2c052,_0x2501b6,_0x1d73c6=null){const _0x67f544=a0_0x1c821d,_0x1f188c={'aHCKc':'{module}','hHerc':_0x67f544(0x225)};if(_0x1d73c6)return _0x1d73c6;const _0x1a68a2=this['getConfig']()[_0x67f544(0x247)];return _0x1a68a2[_0x67f544(0x23d)](_0x1f188c['aHCKc'],_0x4e18cb)[_0x67f544(0x23d)](_0x67f544(0x248),_0xc2c052)['replace'](_0x1f188c['hHerc'],_0x2501b6);}[a0_0x1c821d(0x226)](_0x20baf6,_0x2e275d,_0x31b8ce,_0x59b52b={}){const _0x623f76=a0_0x1c821d,_0x9efaef={'ddBBM':function(_0x3024a7){return _0x3024a7();},'wkMRz':_0x623f76(0x21d)},_0x3c49c5=new Date(),_0x467c53=this[_0x623f76(0x240)](_0x3c49c5),_0x3eee6c=_0x59b52b['correlationId']||'corr-'+_0x9efaef[_0x623f76(0x216)](uuidv7);return{'eventId':_0x623f76(0x207)+uuidv7(),'eventType':_0x20baf6,'eventTime':_0x467c53,'eventVersion':'1.0','source':'restforge-'+(_0x59b52b['module']||_0x623f76(0x23e)),'correlationId':_0x3eee6c,'newData':_0x31b8ce,'oldData':_0x2e275d,'metadata':{'createdBy':_0x59b52b[_0x623f76(0x1ef)]||_0x9efaef[_0x623f76(0x22c)],'createdAt':_0x467c53,'systemId':_0x623f76(0x205)+(_0x59b52b['module']||'unknown')[_0x623f76(0x213)](),'tenantId':this['getConfig']()[_0x623f76(0x1f5)],'endpoint':_0x59b52b[_0x623f76(0x1fc)]||null,'tableName':_0x59b52b[_0x623f76(0x201)]||null}};}async['publishEvent'](_0x1779e7,_0x194431,_0x2128e3,_0x563518,_0x459e3d={}){const _0x503c9b=a0_0x1c821d,_0x3eb7ae={'HSptw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','CxAJd':function(_0x2a39a8,_0x220f2f){return _0x2a39a8(_0x220f2f);}},_0x157375=this[_0x503c9b(0x222)]();if(!_0x157375[_0x503c9b(0x24c)])return{'success':![],'reason':_0x503c9b(0x233),'published':![]};if(!this[_0x503c9b(0x224)]){const _0x3a7da4=await this[_0x503c9b(0x1fb)]();if(!_0x3a7da4)return{'success':![],'reason':_0x3eb7ae[_0x503c9b(0x229)],'published':![]};}try{const _0x107979=this['buildEventMessage'](_0x194431,_0x2128e3,_0x563518,_0x459e3d),_0x2d24ef=_0x459e3d['keyField']||'id',_0x4de1c3=_0x563518?.[_0x2d24ef]||_0x2128e3?.[_0x2d24ef]||uuidv7(),_0x504c9a=await this[_0x503c9b(0x1ff)]['send']({'topic':_0x1779e7,'messages':[{'key':_0x3eb7ae['CxAJd'](String,_0x4de1c3),'value':JSON[_0x503c9b(0x208)](_0x107979),'headers':{'event-type':_0x194431,'correlation-id':_0x107979['correlationId'],'source':_0x107979[_0x503c9b(0x21e)]}}]});return console[_0x503c9b(0x20d)](_0x503c9b(0x210)+_0x1779e7+':\x20'+_0x194431+'\x20(key:\x20'+_0x4de1c3+')'),{'success':!![],'correlationId':_0x107979[_0x503c9b(0x238)],'topic':_0x1779e7,'partition':_0x504c9a[0x0]?.['partition'],'offset':_0x504c9a[0x0]?.['baseOffset'],'published':!![]};}catch(_0x41fb1e){return console['error'](_0x503c9b(0x22d)+_0x1779e7+':\x20'+_0x41fb1e[_0x503c9b(0x244)]),{'success':![],'error':_0x41fb1e[_0x503c9b(0x244)],'published':![]};}}async['publishInsert'](_0x23383f,_0x1cd357,_0xd40ebf,_0x353baa={}){const _0x4c27fe=a0_0x1c821d,_0x5152cb={'aXFIY':'created','XWdhM':_0x4c27fe(0x236)},_0x2adac7=this['buildTopicName'](_0x23383f,_0x1cd357,_0x5152cb['aXFIY'],_0x353baa[_0x4c27fe(0x218)]);return this[_0x4c27fe(0x237)](_0x2adac7,_0x5152cb['XWdhM'],null,_0xd40ebf,{'module':_0x23383f,'endpoint':_0x1cd357,'keyField':_0x353baa[_0x4c27fe(0x23c)],'tableName':_0x353baa[_0x4c27fe(0x201)],'correlationId':_0x353baa[_0x4c27fe(0x238)]});}async['publishUpdate'](_0x43a917,_0x53fd86,_0x4b39ef,_0x2b9dad,_0x6a30ce={}){const _0x5de676=a0_0x1c821d,_0x4e5900=this[_0x5de676(0x24b)](_0x43a917,_0x53fd86,'updated',_0x6a30ce[_0x5de676(0x218)]);return this['publishEvent'](_0x4e5900,_0x5de676(0x1f1),_0x4b39ef,_0x2b9dad,{'module':_0x43a917,'endpoint':_0x53fd86,'keyField':_0x6a30ce[_0x5de676(0x23c)],'tableName':_0x6a30ce[_0x5de676(0x201)],'correlationId':_0x6a30ce[_0x5de676(0x238)]});}async[a0_0x1c821d(0x24d)](_0x1e2ad9,_0xe52561,_0x2f78c4,_0xe33d89={}){const _0x1be77f=a0_0x1c821d,_0x18343c={'YTYJz':'ENTITY_DELETED'},_0x5ebc5f=this['buildTopicName'](_0x1e2ad9,_0xe52561,_0x1be77f(0x23a),_0xe33d89['topic']);return this['publishEvent'](_0x5ebc5f,_0x18343c[_0x1be77f(0x1f8)],_0x2f78c4,null,{'module':_0x1e2ad9,'endpoint':_0xe52561,'keyField':_0xe33d89['keyField'],'tableName':_0xe33d89['tableName'],'correlationId':_0xe33d89[_0x1be77f(0x238)]});}['getStatus'](){const _0x2fea81=a0_0x1c821d,_0x410f14=this[_0x2fea81(0x222)]();return{'enabled':_0x410f14['enabled'],'connected':this[_0x2fea81(0x224)],'brokers':_0x410f14[_0x2fea81(0x1fd)],'clientId':_0x410f14[_0x2fea81(0x235)],'topicPattern':_0x410f14[_0x2fea81(0x247)]};}async[a0_0x1c821d(0x212)](){const _0x109dd1=a0_0x1c821d;if(this[_0x109dd1(0x1ff)]&&this[_0x109dd1(0x224)])try{await this[_0x109dd1(0x1ff)][_0x109dd1(0x246)](),this[_0x109dd1(0x224)]=![],console[_0x109dd1(0x20d)](_0x109dd1(0x23f));}catch(_0x5854c1){console[_0x109dd1(0x1f7)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x5854c1['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0xdf87(_0x101a41,_0x2e3e89){_0x101a41=_0x101a41-0x1ef;const _0x29b2fd=a0_0x29b2();let _0xdf87cc=_0x29b2fd[_0x101a41];if(a0_0xdf87['qwnwXk']===undefined){var _0xe34ca3=function(_0x3844f9){const _0x18485a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39b5fd='',_0x356dfa='';for(let _0x312462=0x0,_0x118beb,_0x8ae482,_0x33d58b=0x0;_0x8ae482=_0x3844f9['charAt'](_0x33d58b++);~_0x8ae482&&(_0x118beb=_0x312462%0x4?_0x118beb*0x40+_0x8ae482:_0x8ae482,_0x312462++%0x4)?_0x39b5fd+=String['fromCharCode'](0xff&_0x118beb>>(-0x2*_0x312462&0x6)):0x0){_0x8ae482=_0x18485a['indexOf'](_0x8ae482);}for(let _0x1ef883=0x0,_0x27fe32=_0x39b5fd['length'];_0x1ef883<_0x27fe32;_0x1ef883++){_0x356dfa+='%'+('00'+_0x39b5fd['charCodeAt'](_0x1ef883)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x356dfa);};a0_0xdf87['qgXZpI']=_0xe34ca3,a0_0xdf87['OzlBPW']={},a0_0xdf87['qwnwXk']=!![];}const _0x196a31=_0x29b2fd[0x0],_0x3d85ac=_0x101a41+_0x196a31,_0x1df6d7=a0_0xdf87['OzlBPW'][_0x3d85ac];return!_0x1df6d7?(_0xdf87cc=a0_0xdf87['qgXZpI'](_0xdf87cc),a0_0xdf87['OzlBPW'][_0x3d85ac]=_0xdf87cc):_0xdf87cc=_0x1df6d7,_0xdf87cc;}module[a0_0x1c821d(0x22f)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x8f479b=a0_0x435d;(function(_0x2aa3e8,_0x314e91){const _0x48004e=a0_0x435d,_0x2ca6af=_0x2aa3e8();while(!![]){try{const _0x160fdc=parseInt(_0x48004e(0x177))/0x1+-parseInt(_0x48004e(0x197))/0x2*(-parseInt(_0x48004e(0x14f))/0x3)+parseInt(_0x48004e(0x159))/0x4+parseInt(_0x48004e(0x164))/0x5*(parseInt(_0x48004e(0x145))/0x6)+parseInt(_0x48004e(0x13e))/0x7+-parseInt(_0x48004e(0x17d))/0x8*(parseInt(_0x48004e(0x18a))/0x9)+-parseInt(_0x48004e(0x184))/0xa;if(_0x160fdc===_0x314e91)break;else _0x2ca6af['push'](_0x2ca6af['shift']());}catch(_0x2ba8b6){_0x2ca6af['push'](_0x2ca6af['shift']());}}}(a0_0x5423,0xaabce));const dotenv=require(a0_0x8f479b(0x163)),path=require(a0_0x8f479b(0x16f)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();function a0_0x435d(_0x36f96d,_0x4c25b5){_0x36f96d=_0x36f96d-0x132;const _0x542384=a0_0x5423();let _0x435d13=_0x542384[_0x36f96d];if(a0_0x435d['DAfbKm']===undefined){var _0xc2bbd3=function(_0x38522b){const _0x2b22ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5267d9='',_0x141e8b='';for(let _0x6dd5d4=0x0,_0x347a74,_0x3d7669,_0x47761a=0x0;_0x3d7669=_0x38522b['charAt'](_0x47761a++);~_0x3d7669&&(_0x347a74=_0x6dd5d4%0x4?_0x347a74*0x40+_0x3d7669:_0x3d7669,_0x6dd5d4++%0x4)?_0x5267d9+=String['fromCharCode'](0xff&_0x347a74>>(-0x2*_0x6dd5d4&0x6)):0x0){_0x3d7669=_0x2b22ec['indexOf'](_0x3d7669);}for(let _0x423d14=0x0,_0x37ca5e=_0x5267d9['length'];_0x423d14<_0x37ca5e;_0x423d14++){_0x141e8b+='%'+('00'+_0x5267d9['charCodeAt'](_0x423d14)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x141e8b);};a0_0x435d['OgcobC']=_0xc2bbd3,a0_0x435d['hTtTFs']={},a0_0x435d['DAfbKm']=!![];}const _0x4aaba2=_0x542384[0x0],_0x17bb3f=_0x36f96d+_0x4aaba2,_0x3611f7=a0_0x435d['hTtTFs'][_0x17bb3f];return!_0x3611f7?(_0x435d13=a0_0x435d['OgcobC'](_0x435d13),a0_0x435d['hTtTFs'][_0x17bb3f]=_0x435d13):_0x435d13=_0x3611f7,_0x435d13;}let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x8f479b(0x143));if(fs[a0_0x8f479b(0x195)](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0x8f479b(0x176)+messagehubPath);}catch(a0_0x16b5ca){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x16b5ca['message']);throw a0_0x16b5ca;}function a0_0x5423(){const _0x23528d=['pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','tw9KztOGs29UzwTZAsboEwf0yq','rerzwvy','zxHPC3rZu3LUyW','zxHWB3j0CW','nJK0t2jyr1H3','DxnLCKLK','vLLNrfu','igrPDgvYAw1Hig9SzwGG','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','BvDwBhe','DgDnuhK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','y2HHBM5LBa','vgLKywSGzgLRzxrHAhvP','vxnIuuC','C29JA2v0','q2XPzw50ieLel1vZzxjjrdOG','mty0oty0mxrxAfPJCW','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','q2HHBM5LBcbuyxjNzxq6ia','zgLZy29UBMvJDgvK','lIbuB3rHBcbRB25MAxjTyxnPoIa','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','mZC3mJeYmLfyzLP1qG','ChvIBgLZAeTLEq','qvLvyui','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','B3jetNu','CMvZDgzVCMDLlq','CvDXqMO','ksbWywrHia','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','BePRyxa','mtiWnZHXEe1tvey','ywrKtgLZDgvUzxi','tezQEMm','u3vIC2nYAwjLieTLEtOG','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','tvnivujFufvcteLtsf9lrvK','CMvJzwL2zwrbDa','tvnivujFse9tva','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','mtaZnJiWnhjqDe1NBW','CMvJzwL2zxjjBMzV','Dg9WAwm','BwvZC2fNzq','zw52','BwvZC2fNzs1Zzw50','ALLOt08','Dg9mB2nHBgvuAw1Lu3rYAw5N','yNjVywrJyxn0','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','zg90zw52','nvrqwNPRyW','y29UzMLYBwf0Aw9Uq291BNq','Bfr4yxa','wvzPu28','CgLK','q29UBMvJDgLVBIb0Aw1LB3v0','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','wfbLt3G','tvnivujFqvvut19bq0Tot1Dmrurhrq','wLr5CLa','Efb4D0C','Cgf0Aa','z0LssuK','u3rHDhvZieXPC3rLBMvYoIa','y2f0zwDVCNK','y29TBxvUAwnHDgLVBLr5Cgu','rMLMtgu','Dhj1zq','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','mtK5mtm5wvv1ELLp','tvnivujFqvbjx1bpuLq','tvnivujFvvnfuL9jra','zgLZy29UBMvJDa','zxjYB3jezxrHAwW','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','mtuWnJrcwhvcve8','ChvIBgLZAa','qxHMufu','yLHosvi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zgvMyxvSDa','s29UzwTZAsb0zxjWDxr1CZOG','otKWmJe5mg5zvuHXuq','C3vIC2nYAwjLs2v5','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','uhbwvM8','zxjYB3i','ndKYm3LbC0HsCa','CgXHDgzVCM1dB25MAwC','s29UzMLNDxjHC2KGugXHDgzVCM06ia','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','tvnivujFq09ntvvosunbveLptL9uwvbf','whrdB2y','CMvXDwLYzufJAW'];a0_0x5423=function(){return _0x23528d;};return a0_0x5423();}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x8a268e){const _0x76a212=new Date()['toISOString']();console['log']('['+_0x76a212+']\x20'+_0x8a268e);}async function initMessageHub(){const _0x112280=a0_0x8f479b,_0x253b0f={'udVmn':'connected','XtCof':function(_0x3ff23d,_0x4a9fb5){return _0x3ff23d(_0x4a9fb5);},'VzFhF':'error','orDNu':function(_0x4e092a,_0x5d4d73){return _0x4e092a(_0x5d4d73);},'gIRII':_0x112280(0x14d),'DDYYV':_0x112280(0x161),'FifLe':_0x112280(0x175),'BArGY':function(_0x51005b,_0x48b6a7){return _0x51005b(_0x48b6a7);},'pfbAm':_0x112280(0x192),'ECNkr':function(_0x261317,_0x544fb2){return _0x261317(_0x544fb2);},'qWqBj':'========================================','vRMhh':function(_0x79a0d3,_0x3a20c1,_0x1c4243){return _0x79a0d3(_0x3a20c1,_0x1c4243);},'jYhOO':function(_0x441d82,_0x58921c){return _0x441d82(_0x58921c);},'AYUaB':_0x112280(0x186),'SICmD':function(_0x4f686f,_0x590c18){return _0x4f686f(_0x590c18);},'ovXuO':_0x112280(0x18d)};if(messagehub&&isConnected)return _0x253b0f['SICmD'](log,_0x112280(0x13f)),!![];if(connectionPromise)return log(_0x253b0f['ovXuO']),connectionPromise;return connectionPromise=new Promise(async(_0x356e7b,_0x24add2)=>{const _0x43540c=_0x112280,_0x1d2254={'mWVlq':function(_0xbf82cc,_0x2c67f0){return _0xbf82cc(_0x2c67f0);},'LFjzc':_0x253b0f['udVmn'],'lJkap':function(_0x105c3d,_0x5df977){return _0x253b0f['XtCof'](_0x105c3d,_0x5df977);},'xPxwG':function(_0x49216e,_0x3259e1){return _0x49216e(_0x3259e1);},'YViSo':function(_0x1c14da,_0x1d571b){return _0x1c14da===_0x1d571b;},'AxfPU':_0x43540c(0x141),'FtKkx':_0x43540c(0x13a),'dDasz':_0x253b0f['VzFhF'],'UGIwM':function(_0x1a262a,_0x552093){return _0x253b0f['XtCof'](_0x1a262a,_0x552093);},'lTxap':function(_0xeb9cc5,_0x403bef){return _0xeb9cc5(_0x403bef);},'XPeOx':function(_0x4779f1,_0x516caf){return _0x253b0f['orDNu'](_0x4779f1,_0x516caf);},'yHHcN':function(_0xd03c8e,_0x1d607f){const _0x312037=_0x43540c;return _0x253b0f[_0x312037(0x149)](_0xd03c8e,_0x1d607f);},'bXNIR':_0x43540c(0x169)};try{_0x253b0f[_0x43540c(0x190)](log,_0x253b0f[_0x43540c(0x170)]),_0x253b0f['orDNu'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x253b0f[_0x43540c(0x149)](log,_0x43540c(0x193));const _0x1afba9={'publishKey':process[_0x43540c(0x15d)][_0x43540c(0x154)],'subscribeKey':process[_0x43540c(0x15d)]['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x43540c(0x179)]||_0x43540c(0x14a)+(process[_0x43540c(0x15d)][_0x43540c(0x181)]||_0x43540c(0x182))+'-'+process[_0x43540c(0x168)],'communicationType':process[_0x43540c(0x15d)][_0x43540c(0x18f)]||_0x253b0f[_0x43540c(0x194)],'autoAcknowledge':process[_0x43540c(0x15d)][_0x43540c(0x16c)]===_0x253b0f[_0x43540c(0x174)],'acknowledgeMessages':process['env'][_0x43540c(0x158)]===_0x43540c(0x175),'platform':{'type':process['env'][_0x43540c(0x18f)]||'websocket','host':process[_0x43540c(0x15d)][_0x43540c(0x156)]||'localhost','api_port':parseInt(process['env'][_0x43540c(0x178)]||0xdf8),'service_port':parseInt(process[_0x43540c(0x15d)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1afba9),_0x253b0f['BArGY'](log,_0x253b0f['pfbAm']),log(_0x43540c(0x13d)+messagehub[_0x43540c(0x132)]),_0x253b0f[_0x43540c(0x190)](log,'Publish\x20Key:\x20'+messagehub[_0x43540c(0x146)]),log(_0x43540c(0x152)+messagehub[_0x43540c(0x185)]),_0x253b0f['ECNkr'](log,'Tipe\x20Komunikasi:\x20'+messagehub[_0x43540c(0x173)]),log(_0x43540c(0x18c)+JSON['stringify'](messagehub[_0x43540c(0x18b)])),log(_0x253b0f[_0x43540c(0x14b)]),messagehub[_0x43540c(0x150)]({'status':function(_0x3b58e4){const _0x5cc6c2=_0x43540c;_0x1d2254[_0x5cc6c2(0x136)](log,_0x5cc6c2(0x171)+_0x3b58e4['category']);if(_0x3b58e4['category']===_0x1d2254[_0x5cc6c2(0x151)])_0x1d2254[_0x5cc6c2(0x14e)](log,_0x5cc6c2(0x144)),isConnected=!![],timeoutHandler&&(_0x1d2254[_0x5cc6c2(0x16e)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x1d2254['lJkap'](_0x356e7b,!![]);else{if(_0x1d2254[_0x5cc6c2(0x167)](_0x3b58e4[_0x5cc6c2(0x172)],_0x1d2254[_0x5cc6c2(0x17f)])){const _0x197e53=_0x1d2254[_0x5cc6c2(0x167)](_0x3b58e4['isErrorRelated'],!![]);!_0x197e53&&(_0x1d2254[_0x5cc6c2(0x14e)](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x3b58e4['reason']||_0x5cc6c2(0x13a))),isConnected=![],connectionPromise&&(_0x1d2254[_0x5cc6c2(0x136)](_0x24add2,new Error(_0x5cc6c2(0x183)+(_0x3b58e4['reason']||_0x1d2254['FtKkx']))),connectionPromise=null));}else{if(_0x3b58e4[_0x5cc6c2(0x172)]===_0x1d2254['dDasz']){let _0x438111=_0x3b58e4[_0x5cc6c2(0x17b)]||_0x3b58e4[_0x5cc6c2(0x189)]||'Unknown\x20error';_0x1d2254['UGIwM'](log,'⚠️\x20Error:\x20'+_0x438111),isConnected=![],connectionPromise&&(_0x1d2254[_0x5cc6c2(0x166)](_0x24add2,new Error(_0x438111)),connectionPromise=null);}else{if(_0x3b58e4['category']===_0x5cc6c2(0x15e))log(_0x5cc6c2(0x157)+_0x3b58e4['requestId']);else{if(_0x1d2254[_0x5cc6c2(0x167)](_0x3b58e4[_0x5cc6c2(0x172)],'message-received')){const _0x357d2a=_0x3b58e4['receiverInfo']?.['name']||'Unknown',_0x11a004=_0x3b58e4[_0x5cc6c2(0x15a)]?.['id']||_0x3b58e4['receiverId'],_0x15d2ac=new Date(_0x3b58e4['receiverInfo']?.[_0x5cc6c2(0x155)]||_0x3b58e4['receivedAt']||new Date())[_0x5cc6c2(0x160)]();log(_0x5cc6c2(0x138)+_0x3b58e4['requestId']+_0x5cc6c2(0x134)+_0x357d2a+'\x20('+_0x11a004+_0x5cc6c2(0x14c)+_0x15d2ac+_0x5cc6c2(0x142)+(_0x3b58e4[_0x5cc6c2(0x165)]||0x1));}}}}}}}),timeoutHandler=_0x253b0f['vRMhh'](setTimeout,()=>{const _0x11bec1=_0x43540c;!isConnected&&connectionPromise&&(_0x1d2254[_0x11bec1(0x16b)](log,_0x11bec1(0x148)),_0x1d2254['yHHcN'](_0x24add2,new Error(_0x1d2254[_0x11bec1(0x180)])),connectionPromise=null);},0x2710);}catch(_0x4b6a69){_0x253b0f[_0x43540c(0x15f)](log,_0x43540c(0x18e)+_0x4b6a69['message']),console['error'](_0x253b0f[_0x43540c(0x147)],_0x4b6a69),connectionPromise=null,_0x24add2(_0x4b6a69);}}),connectionPromise;}async function publishMessage(_0x2232ce,_0x4d8f80,_0x3e3b2d,_0x2f201d={}){const _0x4f43d6=a0_0x8f479b,_0x52958e={'WKGEs':function(_0x3f770d){return _0x3f770d();},'UsbQG':function(_0x311ea3,_0x3fe24c){return _0x311ea3(_0x3fe24c);},'GTRIg':'================================','eFHcx':_0x4f43d6(0x187),'newaP':function(_0x4cb62b,_0x5727a8){return _0x4cb62b(_0x5727a8);},'rZZQw':_0x4f43d6(0x16a)};try{!isConnected&&await _0x52958e['WKGEs'](initMessageHub);const _0x41e4ed=messagehub[_0x4f43d6(0x139)](_0x2232ce);_0x52958e[_0x4f43d6(0x13b)](log,'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),_0x52958e['UsbQG'](log,_0x4f43d6(0x140)+_0x41e4ed[_0x4f43d6(0x15b)]),_0x52958e['UsbQG'](log,'Message\x20Type:\x20'+_0x4d8f80),_0x52958e['UsbQG'](log,_0x52958e['GTRIg']);const _0x44dbaa={'requireAck':_0x2f201d[_0x4f43d6(0x191)]!==undefined?_0x2f201d[_0x4f43d6(0x191)]:![],'clearCache':_0x2f201d['clearCache']!==undefined?_0x2f201d['clearCache']:!![],'senderId':messagehub[_0x4f43d6(0x13c)]?messagehub[_0x4f43d6(0x13c)]['id']:'restforge'};log(_0x4f43d6(0x162));const _0x5ab2c2={'type':_0x4d8f80,'content':_0x3e3b2d},_0xd88dec=await _0x41e4ed[_0x4f43d6(0x17e)](_0x5ab2c2,_0x44dbaa);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x2232ce),{'success':!![],'requestId':_0xd88dec['requestId'],'topic':_0x2232ce,'message':_0x52958e['eFHcx']};}catch(_0x2ad7c8){return _0x52958e['newaP'](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x2ad7c8[_0x4f43d6(0x15c)]),{'success':![],'error':_0x2ad7c8['message'],'topic':_0x2232ce,'message':_0x52958e['rZZQw']};}}async function closeConnection(){const _0x329de2=a0_0x8f479b,_0x1bd506={'tgMPy':function(_0x580643,_0x38b8b1){return _0x580643&&_0x38b8b1;},'PpVVo':'function','KvpCX':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','ZTyrP':function(_0x554eb6,_0x3afc11){return _0x554eb6===_0x3afc11;},'Fphee':function(_0x3cb16f,_0xb08b90){return _0x3cb16f(_0xb08b90);},'VYgDU':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x1bd506[_0x329de2(0x137)](isConnected,messagehub))try{if(typeof messagehub[_0x329de2(0x17a)]===_0x1bd506[_0x329de2(0x188)])await messagehub[_0x329de2(0x17a)](),log(_0x1bd506['KvpCX']);else{if(typeof messagehub['close']===_0x1bd506['PpVVo'])await messagehub['close'](),log(_0x329de2(0x17c));else messagehub['socket']&&_0x1bd506[_0x329de2(0x16d)](typeof messagehub[_0x329de2(0x13c)]['disconnect'],_0x1bd506['PpVVo'])?(messagehub[_0x329de2(0x13c)]['disconnect'](),_0x1bd506['Fphee'](log,_0x329de2(0x153))):log(_0x1bd506[_0x329de2(0x133)]);}isConnected=![],connectionPromise=null;}catch(_0x5d2f4b){log(_0x329de2(0x135)+_0x5d2f4b[_0x329de2(0x15c)]);}}module[a0_0x8f479b(0x196)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0xeb6e32=a0_0x5ded;(function(_0x3262d7,_0x187fa2){const _0x5e4c87=a0_0x5ded,_0x30330b=_0x3262d7();while(!![]){try{const _0x27ab70=parseInt(_0x5e4c87(0xe3))/0x1+parseInt(_0x5e4c87(0x11e))/0x2*(-parseInt(_0x5e4c87(0xf1))/0x3)+-parseInt(_0x5e4c87(0xca))/0x4*(parseInt(_0x5e4c87(0xdb))/0x5)+parseInt(_0x5e4c87(0xf0))/0x6*(-parseInt(_0x5e4c87(0x120))/0x7)+parseInt(_0x5e4c87(0xeb))/0x8+-parseInt(_0x5e4c87(0x11d))/0x9+-parseInt(_0x5e4c87(0x112))/0xa*(-parseInt(_0x5e4c87(0x106))/0xb);if(_0x27ab70===_0x187fa2)break;else _0x30330b['push'](_0x30330b['shift']());}catch(_0x5d3bb1){_0x30330b['push'](_0x30330b['shift']());}}}(a0_0x5d99,0x899b0));const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0xeb6e32(0x111));dotenv[a0_0xeb6e32(0xce)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x42eb6e){console[a0_0xeb6e32(0xd4)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x42eb6e['message']);throw a0_0x42eb6e;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x13dfe0){const _0x5d223c=a0_0xeb6e32,_0x2425b2=new Date()[_0x5d223c(0xfc)]();console[_0x5d223c(0x121)]('['+_0x2425b2+']\x20'+_0x13dfe0);}function a0_0x5ded(_0x3cf9dd,_0x26e7ea){_0x3cf9dd=_0x3cf9dd-0xbf;const _0x5d9937=a0_0x5d99();let _0x5ded5b=_0x5d9937[_0x3cf9dd];if(a0_0x5ded['NeOfSb']===undefined){var _0x5a8f23=function(_0x30bf13){const _0x33c38c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c2ca8='',_0x187d80='';for(let _0x26bb85=0x0,_0x588144,_0x4f5d92,_0x1fb170=0x0;_0x4f5d92=_0x30bf13['charAt'](_0x1fb170++);~_0x4f5d92&&(_0x588144=_0x26bb85%0x4?_0x588144*0x40+_0x4f5d92:_0x4f5d92,_0x26bb85++%0x4)?_0x4c2ca8+=String['fromCharCode'](0xff&_0x588144>>(-0x2*_0x26bb85&0x6)):0x0){_0x4f5d92=_0x33c38c['indexOf'](_0x4f5d92);}for(let _0x4f0140=0x0,_0x21111e=_0x4c2ca8['length'];_0x4f0140<_0x21111e;_0x4f0140++){_0x187d80+='%'+('00'+_0x4c2ca8['charCodeAt'](_0x4f0140)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x187d80);};a0_0x5ded['QSLWEv']=_0x5a8f23,a0_0x5ded['kLTXgk']={},a0_0x5ded['NeOfSb']=!![];}const _0x1f779b=_0x5d9937[0x0],_0x48a7d0=_0x3cf9dd+_0x1f779b,_0x16ee33=a0_0x5ded['kLTXgk'][_0x48a7d0];return!_0x16ee33?(_0x5ded5b=a0_0x5ded['QSLWEv'](_0x5ded5b),a0_0x5ded['kLTXgk'][_0x48a7d0]=_0x5ded5b):_0x5ded5b=_0x16ee33,_0x5ded5b;}function a0_0x5d99(){const _0x4bf292=['mJfStNLIvMi','Bg9N','tvnivujFu1vcu0nssujfx0Tfwq','y2f0zwDVCNK','Bvrkyw0','BML3AuW','A05JBhu','C3rYAw5NAwz5','tvnivujFq09ntvvosunbveLptL9uwvbf','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','igrPDgvYAw1Hig9SzwGG','DvLhBLe','mJbLA1nmCLm','zgLZy29UBMvJDgvK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','vu1Wu0S','y29UzMLN','CNPJs3m','zxDKvxG','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','vhD6q3u','zxjYB3i','tvnivujFqvbjx1bpuLq','qw5OC1G','y29TBxvUAwnHDgLVBLr5Cgu','EMDiCfe','BwvZC2fNzs1Zzw50','BvPiEfq','mta5mtG0mhbfsfLKua','tvnivujFse9tva','BMfTzq','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','zNvUy3rPB24','u1HdtxG','zw52','mJiZodK0wKn3yKPN','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','s29UzwTZAsb0zxjWDxr1CZOG','uM91wxu','t3DzD1u','AxnfCNjVCLjLBgf0zwq','D2Hdse8','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','nZK4ntC2oej6tMLyrG','s29UzMLNDxjHC2KGugXHDgzVCM06ia','y2XLyxjdywnOzq','zxjYB3jezxrHAwW','twvZC2fNzsbuExbLoIa','mtCZodq1mLvUz2v6Ca','m3rdt2HxuW','y0H0zey','DuPItfK','y2XVC2u','vw5RBM93BG','yNfLEMG','teDdvNi','y29UBMvJDgvK','thrbCfi','CMvJzwL2zxjjBMzV','t3rMrMO','Dg9ju09tDhjPBMC','q2HHBM5LBcbuyxjNzxq6ia','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','rejJwxe','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','lIbuB3rHBcbRB25MAxjTyxnPoIa','ksbWywrHia','DxnLCKLK','B0TQz0u','CwnNs2e','nZiZodbHAhj1Cxm','tvnivujFvvnfuL9jra','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','CMvJzwL2zwrbDa','ChvIBgLZAeTLEq','uhvIBgLZAcblzxK6ia','yNjVywrJyxn0','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C29JA2v0','BwvZC2fNzq','thHLtuq','DxvPza','mZu0meTWsuzwCa','zgLZy29UBMvJDa','ywrKtgLZDgvUzxi','vgLWzsblB211BMLRyxnPoIa','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','y2HHBM5LBa','vgvWuvK','BwvZC2fNzs1YzwnLAxzLza','wfvIBhm','CMvXDwvZDeLK','CMvHC29U','nJiYmtaYnuTJy3brwG','nJCXmdi0wg5HA29i','u3vIC2nYAwjLieTLEtOG'];a0_0x5d99=function(){return _0x4bf292;};return a0_0x5d99();}async function initMessageHub(){const _0x328dd8=a0_0xeb6e32,_0x4bc059={'uJbLY':function(_0x135075,_0x566caa){return _0x135075&&_0x566caa;},'zQaAD':_0x328dd8(0x100),'whCHO':'Connection\x20timeout','OtfFj':function(_0x1263b6,_0x207872){return _0x1263b6(_0x207872);},'LxeMD':_0x328dd8(0xd9),'kNclu':_0x328dd8(0xf5),'qcgKa':'default','cHtdF':function(_0x24b0fd,_0x16ae9c){return _0x24b0fd===_0x16ae9c;},'LtApR':'true','DIpeo':'websocket','gWowi':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','oPttX':function(_0x46eb0c,_0x429726){return _0x46eb0c(_0x429726);},'bQBtT':function(_0xd37d80,_0x5d768f){return _0xd37d80(_0x5d768f);},'SXCMx':'Error\x20inisialisasi\x20MessageHub:','oKjgE':function(_0x3666b8,_0x357e60){return _0x3666b8(_0x357e60);},'zgHpQ':function(_0xaa9b4e,_0x507a96){return _0xaa9b4e&&_0x507a96;},'OwYwU':_0x328dd8(0xd2),'niwiL':_0x328dd8(0xdf)};if(_0x4bc059[_0x328dd8(0xd8)](messagehub,isConnected))return log(_0x4bc059[_0x328dd8(0xe7)]),!![];if(connectionPromise)return log(_0x4bc059[_0x328dd8(0xc0)]),connectionPromise;return connectionPromise=new Promise(async(_0x182e33,_0x172f86)=>{const _0x247c5c=_0x328dd8,_0x1e3963={'hWGKi':function(_0x1d3e87,_0x55139f){return _0x1d3e87(_0x55139f);},'mZHxT':function(_0x54271a,_0x663016){return _0x54271a===_0x663016;},'ewdUx':function(_0x598801,_0xa775ac){const _0x1878e8=a0_0x5ded;return _0x4bc059[_0x1878e8(0xfb)](_0x598801,_0xa775ac);},'UMpSK':'Tidak\x20diketahui','DBcYq':function(_0x4a2028,_0x49804b){return _0x4a2028===_0x49804b;},'KkpiU':_0x4bc059[_0x247c5c(0x110)],'rEqST':function(_0x370a47,_0x260c14){const _0x1c5491=_0x247c5c;return _0x4bc059[_0x1c5491(0xfb)](_0x370a47,_0x260c14);},'dvqyt':function(_0x4bdd73,_0x20a29f){return _0x4bdd73===_0x20a29f;},'RouYu':_0x4bc059[_0x247c5c(0xc1)],'ocCdP':function(_0x56554d,_0x17b35f){return _0x56554d(_0x17b35f);}};try{_0x4bc059[_0x247c5c(0xfb)](log,'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0x4bc059['OtfFj'](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x4bc059['OtfFj'](log,'Mode:\x20Koneksi\x20Nyata');const _0x15480b={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0x247c5c(0x122)],'userId':process[_0x247c5c(0xe2)][_0x247c5c(0x107)]||'restforge-'+(process['env'][_0x247c5c(0x10d)]||_0x4bc059[_0x247c5c(0x105)])+'-'+process['pid'],'communicationType':process['env'][_0x247c5c(0xc3)]||_0x247c5c(0x10c),'autoAcknowledge':process[_0x247c5c(0xe2)]['MSHUB_AUTO_ACKNOWLEDGE']==='true','acknowledgeMessages':_0x4bc059[_0x247c5c(0xf2)](process['env'][_0x247c5c(0x108)],_0x4bc059[_0x247c5c(0xf9)]),'platform':{'type':process[_0x247c5c(0xe2)]['MSHUB_COMMUNICATION_TYPE']||_0x4bc059['DIpeo'],'host':process['env'][_0x247c5c(0xdc)]||'localhost','api_port':parseInt(process[_0x247c5c(0xe2)][_0x247c5c(0xd5)]||0xdf8),'service_port':_0x4bc059[_0x247c5c(0xfb)](parseInt,process[_0x247c5c(0xe2)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x15480b),log(_0x4bc059['gWowi']),_0x4bc059['oPttX'](log,'Client\x20ID/UserID:\x20'+messagehub[_0x247c5c(0x103)]),log(_0x247c5c(0x10b)+messagehub[_0x247c5c(0x10a)]),_0x4bc059['bQBtT'](log,_0x247c5c(0x11f)+messagehub['subscribeKey']),log(_0x247c5c(0x115)+messagehub[_0x247c5c(0xd7)]),_0x4bc059['oPttX'](log,_0x247c5c(0xec)+JSON[_0x247c5c(0xc2)](messagehub['platformConfig'])),log(_0x247c5c(0xe4)),messagehub[_0x247c5c(0x114)]({'status':function(_0x44cdc8){const _0x172bde=_0x247c5c;_0x1e3963['hWGKi'](log,'Status\x20Listener:\x20'+_0x44cdc8['category']);if(_0x1e3963[_0x172bde(0xda)](_0x44cdc8[_0x172bde(0x123)],_0x172bde(0xf8)))log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x182e33(!![]);else{if(_0x44cdc8[_0x172bde(0x123)]===_0x172bde(0xcb)){const _0x3ea28c=_0x1e3963['mZHxT'](_0x44cdc8[_0x172bde(0xe8)],!![]);!_0x3ea28c&&(_0x1e3963[_0x172bde(0xd0)](log,_0x172bde(0xde)+(_0x44cdc8[_0x172bde(0x11c)]||_0x1e3963[_0x172bde(0xcd)])),isConnected=![],connectionPromise&&(_0x172f86(new Error(_0x172bde(0xe5)+(_0x44cdc8['reason']||_0x1e3963['UMpSK']))),connectionPromise=null));}else{if(_0x44cdc8[_0x172bde(0x123)]==='error'){let _0x4d6b78=_0x44cdc8[_0x172bde(0xee)]||_0x44cdc8[_0x172bde(0xd4)]||'Unknown\x20error';_0x1e3963['hWGKi'](log,'⚠️\x20Error:\x20'+_0x4d6b78),isConnected=![],connectionPromise&&(_0x172f86(new Error(_0x4d6b78)),connectionPromise=null);}else{if(_0x1e3963[_0x172bde(0xff)](_0x44cdc8[_0x172bde(0x123)],_0x1e3963['KkpiU']))_0x1e3963['rEqST'](log,_0x172bde(0xc4)+_0x44cdc8[_0x172bde(0x11b)]);else{if(_0x1e3963['dvqyt'](_0x44cdc8[_0x172bde(0x123)],_0x172bde(0x119))){const _0x14b9fd=_0x44cdc8[_0x172bde(0xfa)]?.[_0x172bde(0xdd)]||_0x1e3963[_0x172bde(0xe6)],_0xbcd246=_0x44cdc8[_0x172bde(0xfa)]?.['id']||_0x44cdc8['receiverId'],_0x54c758=new Date(_0x44cdc8[_0x172bde(0xfa)]?.[_0x172bde(0x109)]||_0x44cdc8['receivedAt']||new Date())['toLocaleTimeString']();_0x1e3963['ocCdP'](log,_0x172bde(0xc6)+_0x44cdc8[_0x172bde(0x11b)]+_0x172bde(0xc8)+_0x14b9fd+'\x20('+_0xbcd246+_0x172bde(0x102)+_0x54c758+_0x172bde(0x101)+(_0x44cdc8['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x3e1b56=_0x247c5c;_0x4bc059[_0x3e1b56(0xf3)](!isConnected,connectionPromise)&&(log(_0x4bc059['zQaAD']),_0x172f86(new Error(_0x4bc059[_0x3e1b56(0xe9)])),connectionPromise=null);},0x2710);}catch(_0x13925d){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x13925d['message']),console[_0x247c5c(0xd4)](_0x4bc059[_0x247c5c(0xe1)],_0x13925d),connectionPromise=null,_0x4bc059[_0x247c5c(0x104)](_0x172f86,_0x13925d);}}),connectionPromise;}async function publishMessage(_0x2406be,_0x1be6c4,_0x4a9e1a,_0x3f2b19={}){const _0x10cc48=a0_0xeb6e32,_0x2c16f7={'uYGnQ':function(_0x2ac3f1,_0x51aae3){return _0x2ac3f1(_0x51aae3);},'QFvdd':function(_0xf9b40f,_0x10b7e3){return _0xf9b40f(_0x10b7e3);},'mTJam':_0x10cc48(0xcc),'bqezh':function(_0x3a942f,_0x548aea){return _0x3a942f!==_0x548aea;},'OjDtj':function(_0x5a7a10,_0x31222d){return _0x5a7a10(_0x31222d);},'TepQY':function(_0x5621ee,_0x52e0da){return _0x5621ee(_0x52e0da);},'vkcwD':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x42a2a8=messagehub[_0x10cc48(0x117)](_0x2406be);_0x2c16f7[_0x10cc48(0xc9)](log,_0x10cc48(0xd1)),log(_0x10cc48(0xfd)+_0x42a2a8['topic']),_0x2c16f7['QFvdd'](log,_0x10cc48(0xef)+_0x1be6c4),_0x2c16f7[_0x10cc48(0xc9)](log,_0x2c16f7[_0x10cc48(0xbf)]);const _0x4652a5={'requireAck':_0x2c16f7['bqezh'](_0x3f2b19['requireAck'],undefined)?_0x3f2b19['requireAck']:![],'clearCache':_0x2c16f7[_0x10cc48(0xf6)](_0x3f2b19[_0x10cc48(0xed)],undefined)?_0x3f2b19['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x10cc48(0x10e)]['id']:'restforge'};_0x2c16f7['OjDtj'](log,_0x10cc48(0x116));const _0x57f192={'type':_0x1be6c4,'content':_0x4a9e1a},_0x49b0bb=await _0x42a2a8['publish'](_0x57f192,_0x4652a5);return _0x2c16f7['uYGnQ'](log,_0x10cc48(0xc7)+_0x2406be),{'success':!![],'requestId':_0x49b0bb[_0x10cc48(0x11b)],'topic':_0x2406be,'message':_0x10cc48(0xea)};}catch(_0x303ea3){return _0x2c16f7[_0x10cc48(0x118)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x303ea3[_0x10cc48(0x10f)]),{'success':![],'error':_0x303ea3[_0x10cc48(0x10f)],'topic':_0x2406be,'message':_0x2c16f7['vkcwD']};}}async function closeConnection(){const _0x2772ed=a0_0xeb6e32,_0x519644={'TwzCu':function(_0x45fcc9,_0x1502b0){return _0x45fcc9(_0x1502b0);},'oTtNe':function(_0x3ad676,_0x17b71d){return _0x3ad676&&_0x17b71d;},'LGCVr':_0x2772ed(0xe0),'XUbls':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','rzcKs':_0x2772ed(0xc5),'AnhsX':_0x2772ed(0xfe)};timeoutHandler&&(_0x519644[_0x2772ed(0xd3)](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x519644['oTtNe'](isConnected,messagehub))try{if(typeof messagehub[_0x2772ed(0x113)]===_0x519644[_0x2772ed(0xf7)])await messagehub[_0x2772ed(0x113)](),_0x519644[_0x2772ed(0xd3)](log,_0x519644[_0x2772ed(0x11a)]);else{if(typeof messagehub['close']===_0x519644['LGCVr'])await messagehub[_0x2772ed(0xf4)](),log(_0x519644[_0x2772ed(0xcf)]);else messagehub[_0x2772ed(0x10e)]&&typeof messagehub['socket']['disconnect']===_0x2772ed(0xe0)?(messagehub['socket']['disconnect'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):log(_0x519644[_0x2772ed(0xd6)]);}isConnected=![],connectionPromise=null;}catch(_0xcf03a3){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0xcf03a3['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|