@restforgejs/platform 5.1.7 → 5.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/restforge-hwinfo-linux +0 -0
- package/bin/restforge-hwinfo.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/catalog/dbschema.js +2 -1
- package/generators/cli/endpoint/list.js +264 -0
- package/generators/cli/fast-track.js +395 -37
- package/generators/cli/payload/generate.js +10 -2
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +229 -0
- package/generators/cli/schema/apply.js +6 -1
- package/generators/cli/schema/diff.js +6 -1
- package/generators/cli/schema/introspect.js +32 -11
- package/generators/lib/data/db-executor.js +8 -8
- package/generators/lib/data/envelope.js +3 -3
- package/generators/lib/dbschema-kit/apply-engine.js +20 -0
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +4 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +5 -0
- package/generators/lib/dbschema-kit/diff-engine.js +22 -1
- package/generators/lib/dbschema-kit/diff-reporter.js +293 -272
- package/generators/lib/dbschema-kit/emitters/create-index.js +23 -1
- package/generators/lib/dbschema-kit/emitters/create-table.js +48 -0
- package/generators/lib/dbschema-kit/introspect-mapper.js +154 -2
- package/generators/lib/dbschema-kit/ir-builder.js +84 -1
- package/generators/lib/dbschema-kit/schema-printer.js +20 -0
- package/generators/lib/dbschema-kit/soft-delete-constants.js +111 -0
- package/generators/lib/dbschema-kit/validator/schema-validator.js +231 -0
- package/generators/lib/generators/dashboard-generator.js +5 -5
- package/generators/lib/generators/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +774 -1
- package/generators/lib/payload/schema-diff.js +7 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +48 -0
- package/generators/lib/utils/env-manager.js +4 -4
- package/generators/lib/utils/file-utils.js +6 -6
- package/generators/lib/utils/payload-processor.js +18 -2
- package/generators/lib/validators/argument-validator.js +2 -2
- package/generators/lib/validators/dashboard-validator.js +35 -1
- package/generators/lib/validators/payload-validator.js +460 -33
- package/integrity-manifest.json +20 -20
- package/package.json +2 -1
- package/scripts/check-install.js +8 -8
- 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 -0
- package/src/utils/sql-table-extractor.js +1 -0
- 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
- package/generators/lib/utils/sql-table-extractor.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x2323(_0x11d5aa,_0x1dce78){_0x11d5aa=_0x11d5aa-0xf2;const _0x5e246d=a0_0x5e24();let _0x2323c7=_0x5e246d[_0x11d5aa];if(a0_0x2323['dQbMeD']===undefined){var _0x2d9c54=function(_0xeee4ed){const _0x48ee3f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb85e50='',_0x594e6c='';for(let _0x3ecca8=0x0,_0x2c8f81,_0x39a2dd,_0x2134cf=0x0;_0x39a2dd=_0xeee4ed['charAt'](_0x2134cf++);~_0x39a2dd&&(_0x2c8f81=_0x3ecca8%0x4?_0x2c8f81*0x40+_0x39a2dd:_0x39a2dd,_0x3ecca8++%0x4)?_0xb85e50+=String['fromCharCode'](0xff&_0x2c8f81>>(-0x2*_0x3ecca8&0x6)):0x0){_0x39a2dd=_0x48ee3f['indexOf'](_0x39a2dd);}for(let _0x1ad143=0x0,_0x25ab7c=_0xb85e50['length'];_0x1ad143<_0x25ab7c;_0x1ad143++){_0x594e6c+='%'+('00'+_0xb85e50['charCodeAt'](_0x1ad143)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x594e6c);};a0_0x2323['McXukC']=_0x2d9c54,a0_0x2323['jEpxRq']={},a0_0x2323['dQbMeD']=!![];}const _0x3767c0=_0x5e246d[0x0],_0x1ec353=_0x11d5aa+_0x3767c0,_0x28198a=a0_0x2323['jEpxRq'][_0x1ec353];return!_0x28198a?(_0x2323c7=a0_0x2323['McXukC'](_0x2323c7),a0_0x2323['jEpxRq'][_0x1ec353]=_0x2323c7):_0x2323c7=_0x28198a,_0x2323c7;}const a0_0x580723=a0_0x2323;(function(_0x1b4788,_0x3cd6db){const _0x3aa5c4=a0_0x2323,_0x5125aa=_0x1b4788();while(!![]){try{const _0x1e631d=-parseInt(_0x3aa5c4(0x113))/0x1+-parseInt(_0x3aa5c4(0x111))/0x2*(parseInt(_0x3aa5c4(0xff))/0x3)+parseInt(_0x3aa5c4(0x105))/0x4+-parseInt(_0x3aa5c4(0xfd))/0x5*(parseInt(_0x3aa5c4(0x104))/0x6)+parseInt(_0x3aa5c4(0x122))/0x7*(-parseInt(_0x3aa5c4(0xf8))/0x8)+-parseInt(_0x3aa5c4(0x11d))/0x9+parseInt(_0x3aa5c4(0x125))/0xa*(parseInt(_0x3aa5c4(0x123))/0xb);if(_0x1e631d===_0x3cd6db)break;else _0x5125aa['push'](_0x5125aa['shift']());}catch(_0x39f04e){_0x5125aa['push'](_0x5125aa['shift']());}}}(a0_0x5e24,0x35a2f));function a0_0x5e24(){const _0x5e8870=['zMLSzxm','CMfUzg9TqNL0zxm','yxjYyxK','x2rLBgv0zvrLBxbgAwXL','rNHkzxC','zMXVB3i','A2v5','Bwf4rMLSzvnPEMu','Aw5JBhvKzxm','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','B3P6thu','zgLZA1n0B3jHz2u','zxHPC3rZu3LUyW','BeLuswC','ChjVDMLKzxjoyw1L','ndblsMnMwgW','DgvTCerPCG','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','x3bHCNnLrMLSzvnPEMu','zxHWB3j0CW','mZbOzhfbwhC','BNvTyMvY','mtm3n1vSALfuwq','B3jPz2LUywXUyw1L','Dg9mB3DLCKnHC2u','CMvWBgfJzq','Aenrzxi','mZKYmde2D2HtBKfH','mtCZmJu2ogjovuHNza','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','zw52','BwTKAxjtEw5J','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','z2vUzxjHDgvlzxK','BM93','BwvZC2fNzq','Cgf0Aa','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','ChjVBwLZzxm','BwLTzxr5Cgu','ndu0r1nfrKTQ','Exvwwxe','mJa0odG2DLHusxbb','zxH0BMfTzq','zw5KCg9PBNq','x3rLBxbeAxi','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','DxbSB2fKlq','AM9PBG','DxbSB2fKCW','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','Dg9vChbLCKnHC2u','mtK2otu2mfbtCeTIBa','y3j5ChrV','ChjVAMvJDa','EerJthO','BxvSDgvY','ndiXnJy2yxvwzwHT','mZy3nfblv0vAzq','vvbmt0fex1rftvbFreLs','mZaXnZbdvuLSBhG','DgvTCa'];a0_0x5e24=function(){return _0x5e8870;};return a0_0x5e24();}const multer=require(a0_0x580723(0x121)),path=require(a0_0x580723(0x10d)),crypto=require(a0_0x580723(0x11e)),fs=require('fs')[a0_0x580723(0x10f)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x47e3b5=a0_0x580723;this[_0x47e3b5(0x116)]=null;}get['tempDir'](){const _0x388fb3=a0_0x580723,_0x2fae48={'JIYuX':'default','FxJew':_0x388fb3(0x11a)};if(!this['_tempDir']){const _0x4ad192=process['env']['RESTFORGE_PROJECT_NAME']||_0x2fae48['JIYuX'];this['_tempDir']=process[_0x388fb3(0x107)][_0x388fb3(0x124)]||path[_0x388fb3(0x119)](process['cwd'](),_0x388fb3(0x126),_0x2fae48[_0x388fb3(0x12b)],_0x4ad192),!fsSync[_0x388fb3(0xf5)](this['_tempDir'])&&fsSync[_0x388fb3(0x108)](this[_0x388fb3(0x116)],{'recursive':!![]});}return this[_0x388fb3(0x116)];}[a0_0x580723(0xf2)](_0x4fd2f2={}){const _0x119ea1=a0_0x580723,_0x5286df={'XMAZu':function(_0x44c5ce,_0x1668ac,_0x4f0d8c){return _0x44c5ce(_0x1668ac,_0x4f0d8c);},'SjiSc':'hex','nGMHj':function(_0x393e7d,_0x513932){return _0x393e7d===_0x513932;},'xDcLz':function(_0x40c8fc,_0x4b1c23,_0x280adb){return _0x40c8fc(_0x4b1c23,_0x280adb);},'YhdAk':function(_0x27f925,_0x50fa26,_0x531bb2){return _0x27f925(_0x50fa26,_0x531bb2);},'ozzLu':_0x119ea1(0x127)},_0x1debca=_0x4fd2f2['maxFiles']||0x5,_0x258b01=this[_0x119ea1(0xfb)](_0x4fd2f2[_0x119ea1(0x12e)]||'10MB'),_0x430ef7=_0x4fd2f2['allowedTypes']||[],_0x34d668=multer[_0x119ea1(0xf4)]({'destination':(_0x20b5df,_0x2e130d,_0x3aa713)=>{const _0x447cc7=_0x119ea1;!fsSync['existsSync'](this[_0x447cc7(0xf9)])&&fsSync[_0x447cc7(0x108)](this[_0x447cc7(0xf9)],{'recursive':!![]}),_0x5286df['XMAZu'](_0x3aa713,null,this['tempDir']);},'filename':(_0x359604,_0x3dc38f,_0x588a09)=>{const _0x551e65=_0x119ea1,_0x52ea74=crypto[_0x551e65(0x128)](0x8)['toString'](_0x5286df['SjiSc']),_0x24c5a3=Date[_0x551e65(0x10b)](),_0x2585ff=path[_0x551e65(0x114)](_0x3dc38f['originalname']);_0x588a09(null,_0x551e65(0x118)+_0x24c5a3+'-'+_0x52ea74+_0x2585ff);}}),_0x5648b5=(_0x272d60,_0x5dc44d,_0x1efcbe)=>{const _0x5535e7=_0x119ea1;if(_0x5286df['nGMHj'](_0x430ef7['length'],0x0))return _0x5286df[_0x5535e7(0x120)](_0x1efcbe,null,!![]);const _0x16c1d3=path[_0x5535e7(0x114)](_0x5dc44d['originalname'])[_0x5535e7(0x101)]()[_0x5535e7(0x102)]('.','');_0x430ef7[_0x5535e7(0x12f)](_0x16c1d3)?_0x5286df['YhdAk'](_0x1efcbe,null,!![]):_0x1efcbe(new Error('File\x20type\x20\x22.'+_0x16c1d3+_0x5535e7(0x10e)+_0x430ef7['join'](',\x20')));};return multer({'storage':_0x34d668,'limits':{'fileSize':_0x258b01,'files':_0x1debca},'fileFilter':_0x5648b5})[_0x119ea1(0x129)](_0x5286df[_0x119ea1(0xf3)],_0x1debca);}async['processUploadedFiles'](_0x412e7e,_0x2c7c1c,_0x5d6558={}){const _0x44f21=a0_0x580723,_0x7b5042={'hCQer':function(_0x3ed94b,_0xb486aa){return _0x3ed94b(_0xb486aa);},'hJAay':_0x44f21(0x109)},{createFileMetadata:_0x3cd489}=_0x7b5042[_0x44f21(0x103)](require,_0x44f21(0x106)),_0xa842c0=[];for(const _0x4ce243 of _0x412e7e){try{const _0x3f49a3=_0x2c7c1c[_0x44f21(0x10a)](_0x4ce243[_0x44f21(0x100)],{'prefix':_0x5d6558['prefix']||'','project':_0x5d6558[_0x44f21(0x11f)]||'','module':_0x5d6558['module']||'','endpoint':_0x5d6558[_0x44f21(0x115)]||''}),_0x36b23d=fsSync['createReadStream'](_0x4ce243['path']),_0x1fb306=await _0x2c7c1c['upload'](_0x36b23d,_0x3f49a3,{'contentType':_0x4ce243['mimetype'],'fileSize':_0x4ce243['size']}),_0x181dc4=_0x3cd489({'key':_0x1fb306[_0x44f21(0x12d)],'originalName':_0x4ce243['originalname'],'fileName':path['basename'](_0x3f49a3),'contentType':_0x4ce243[_0x44f21(0x110)],'size':_0x4ce243['size'],'url':_0x1fb306['url'],'provider':_0x2c7c1c[_0x44f21(0xf7)],'bucket':_0x2c7c1c['bucket']||null,'uploadedBy':_0x5d6558['uploadedBy']||null});_0xa842c0['push'](_0x181dc4);}catch(_0x2aac0e){logger['error']({'event':_0x7b5042['hJAay'],'file':_0x4ce243['originalname'],'error':_0x2aac0e['message']},_0x44f21(0x11b)+_0x4ce243[_0x44f21(0x100)]);throw _0x2aac0e;}finally{await this[_0x44f21(0x12a)](_0x4ce243[_0x44f21(0x10d)]);}}return _0xa842c0;}async[a0_0x580723(0x12a)](_0x30b688){const _0x291629=a0_0x580723,_0xd92bf9={'yuVYq':_0x291629(0xfa),'lITIg':_0x291629(0x117)};try{await fs['unlink'](_0x30b688);}catch(_0x1dd1f3){logger['warn']({'event':_0xd92bf9[_0x291629(0x112)],'filePath':_0x30b688,'error':_0x1dd1f3[_0x291629(0x10c)]},_0xd92bf9[_0x291629(0xf6)]);}}['_parseFileSize'](_0x49154f){const _0x3510ed=a0_0x580723;if(typeof _0x49154f===_0x3510ed(0xfe))return _0x49154f;const _0x5c7624=String(_0x49154f)['trim']()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x5c7624)return 0xa*0x400*0x400;const _0x17e214=parseFloat(_0x5c7624[0x1]),_0x504d13=_0x5c7624[0x2][_0x3510ed(0x11c)](),_0x3205a6={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':0x400*0x400*0x400};return Math[_0x3510ed(0x12c)](_0x17e214*(_0x3205a6[_0x504d13]||0x1));}}module[a0_0x580723(0xfc)]=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0xa018b9=a0_0xd52e;(function(_0x5e53dc,_0x3f3659){const _0x785a01=a0_0xd52e,_0x306591=_0x5e53dc();while(!![]){try{const _0x366cf7=parseInt(_0x785a01(0x16e))/0x1*(-parseInt(_0x785a01(0x14e))/0x2)+-parseInt(_0x785a01(0x173))/0x3*(-parseInt(_0x785a01(0x149))/0x4)+parseInt(_0x785a01(0x16d))/0x5+parseInt(_0x785a01(0x16b))/0x6*(parseInt(_0x785a01(0x159))/0x7)+parseInt(_0x785a01(0x166))/0x8+parseInt(_0x785a01(0x156))/0x9+-parseInt(_0x785a01(0x164))/0xa*(parseInt(_0x785a01(0x169))/0xb);if(_0x366cf7===_0x3f3659)break;else _0x306591['push'](_0x306591['shift']());}catch(_0x4a2f27){_0x306591['push'](_0x306591['shift']());}}}(a0_0x4e33,0xdb581));const multer=require(a0_0xa018b9(0x152)),path=require(a0_0xa018b9(0x172)),crypto=require(a0_0xa018b9(0x175)),fs=require('fs')[a0_0xa018b9(0x15a)],fsSync=require('fs'),{logger}=require(a0_0xa018b9(0x15d));function a0_0xd52e(_0x38919e,_0x2aedb9){_0x38919e=_0x38919e-0x142;const _0x4e3347=a0_0x4e33();let _0xd52e87=_0x4e3347[_0x38919e];if(a0_0xd52e['OTwYyL']===undefined){var _0x10514a=function(_0x24bca1){const _0x374229='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f7ec1='',_0x523e1f='';for(let _0x1e79f5=0x0,_0x7b18bd,_0x41be6f,_0x16c59c=0x0;_0x41be6f=_0x24bca1['charAt'](_0x16c59c++);~_0x41be6f&&(_0x7b18bd=_0x1e79f5%0x4?_0x7b18bd*0x40+_0x41be6f:_0x41be6f,_0x1e79f5++%0x4)?_0x2f7ec1+=String['fromCharCode'](0xff&_0x7b18bd>>(-0x2*_0x1e79f5&0x6)):0x0){_0x41be6f=_0x374229['indexOf'](_0x41be6f);}for(let _0x27577d=0x0,_0x4f8aac=_0x2f7ec1['length'];_0x27577d<_0x4f8aac;_0x27577d++){_0x523e1f+='%'+('00'+_0x2f7ec1['charCodeAt'](_0x27577d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523e1f);};a0_0xd52e['JcWShg']=_0x10514a,a0_0xd52e['EoaCJx']={},a0_0xd52e['OTwYyL']=!![];}const _0x5bd7af=_0x4e3347[0x0],_0x436e46=_0x38919e+_0x5bd7af,_0x53f80a=a0_0xd52e['EoaCJx'][_0x436e46];return!_0x53f80a?(_0xd52e87=a0_0xd52e['JcWShg'](_0xd52e87),a0_0xd52e['EoaCJx'][_0x436e46]=_0xd52e87):_0xd52e87=_0x53f80a,_0xd52e87;}class UploadHandler{constructor(){const _0x1fec6b=a0_0xa018b9,_0x427859={'lyygf':function(_0x219ce5,_0x2df817){return _0x219ce5*_0x2df817;}};this[_0x1fec6b(0x158)]=null,this[_0x1fec6b(0x16f)]=_0x427859[_0x1fec6b(0x145)](0xa,0x400)*0x400;}get[a0_0xa018b9(0x16a)](){const _0x3fa9cd=a0_0xa018b9,_0x231c23={'jcZDD':_0x3fa9cd(0x163),'CfGpT':_0x3fa9cd(0x157),'LXZKw':_0x3fa9cd(0x155),'xcSLc':_0x3fa9cd(0x15c)};if(!this[_0x3fa9cd(0x158)]){const _0x2cb05d=process[_0x3fa9cd(0x147)][_0x3fa9cd(0x143)]||_0x231c23['jcZDD'];this['_uploadDir']=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x3fa9cd(0x14b)+_0x2cb05d);try{!fsSync['existsSync'](this[_0x3fa9cd(0x158)])&&fsSync[_0x3fa9cd(0x154)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x231c23['CfGpT'],'dir':this[_0x3fa9cd(0x158)]},'Upload\x20handler\x20initialized');}catch(_0x3d03c6){logger[_0x3fa9cd(0x14c)]({'event':_0x231c23['LXZKw'],'error':_0x3d03c6['message']},_0x231c23[_0x3fa9cd(0x151)]);}}return this['_uploadDir'];}[a0_0xa018b9(0x142)](){const _0x1595c2={'QzqHF':'hex'};return multer['diskStorage']({'destination':(_0x5b685f,_0x1cf14a,_0x46013e)=>{const _0x3228a5=a0_0xd52e;!fsSync['existsSync'](this[_0x3228a5(0x16a)])&&fsSync[_0x3228a5(0x154)](this['uploadDir'],{'recursive':!![]}),_0x46013e(null,this['uploadDir']);},'filename':(_0x3ee3f1,_0x32c850,_0x5adc6e)=>{const _0x266853=a0_0xd52e,_0x5cea2e=crypto[_0x266853(0x160)](0x8)['toString'](_0x1595c2[_0x266853(0x14f)]),_0x6c9b5=Date[_0x266853(0x162)](),_0x30c287=path['extname'](_0x32c850[_0x266853(0x14d)]);_0x5adc6e(null,_0x266853(0x153)+_0x6c9b5+'-'+_0x5cea2e+_0x30c287);}});}[a0_0xa018b9(0x144)](){const _0x33135a=a0_0xa018b9,_0x54f895={'JkPeR':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','EYGdZ':_0x33135a(0x15e),'vjhKv':'.xlsx','EfxYC':_0x33135a(0x14a),'NYVer':function(_0x195035,_0x11332a){return _0x195035(_0x11332a);},'yfKEV':_0x33135a(0x146),'sExIt':_0x33135a(0x165)};return multer({'storage':this[_0x33135a(0x142)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x291c25,_0x36a28a,_0x2d274d)=>{const _0x5497ab=_0x33135a,_0x5b3efe=[_0x54f895['JkPeR'],_0x54f895[_0x5497ab(0x16c)]],_0x33f84a=[_0x54f895['vjhKv'],_0x54f895[_0x5497ab(0x148)]],_0x2e3999=path['extname'](_0x36a28a['originalname'])['toLowerCase']();_0x5b3efe['includes'](_0x36a28a[_0x5497ab(0x171)])&&_0x33f84a[_0x5497ab(0x170)](_0x2e3999)?_0x2d274d(null,!![]):_0x54f895[_0x5497ab(0x15f)](_0x2d274d,new Error(_0x54f895[_0x5497ab(0x150)]));}})['single'](_0x54f895['sExIt']);}async['deleteFile'](_0x408a1c){const _0x172568=a0_0xa018b9,_0x5f5ba9={'IYHdy':'Uploaded\x20file\x20deleted','JegQE':_0x172568(0x161)};try{await fs[_0x172568(0x15b)](_0x408a1c),logger['info']({'event':_0x172568(0x168),'filePath':_0x408a1c},_0x5f5ba9['IYHdy']);}catch(_0x2cac48){logger['error']({'event':_0x5f5ba9[_0x172568(0x167)],'filePath':_0x408a1c,'error':_0x2cac48['message']},'Failed\x20to\x20delete\x20uploaded\x20file');}}}function a0_0x4e33(){const _0x3a73bc=['mtG2nJznBLH3vfm','Bwf4rMLSzvnPEMu','Aw5JBhvKzxm','BwLTzxr5Cgu','Cgf0Aa','mZG3m0PcwLLjDW','zxHWB3j0CW','y3j5ChrV','z2v0u3rVCMfNzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0vxbSB2fKtwLKzgXLD2fYzq','BhL5z2y','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zw52','rwz4wum','mJK4neniEhfJAa','lNHSCW','lI4VlI4VDgvTCc91CgXVywrZlW','zxjYB3i','B3jPz2LUywXUyw1L','mZrZqLzpBLa','uxPXsey','Ewzlrvy','Egnttgm','BxvSDgvY','DxbSB2fKlq','BwTKAxjtEw5J','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','mta1nZG3mtDQtLfJqLu','DxbSB2fKx2HHBMrSzxjFAw5PDa','x3vWBg9HzerPCG','mteYndKWrNHssLLR','ChjVBwLZzxm','Dw5SAw5R','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','lI9SB2DNzxi','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','tLLwzxi','CMfUzg9TqNL0zxm','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','BM93','zgvMyxvSDa','mZq3mteWBg1Lvwz4','zMLSzq','ndG0nJa5nLP1Cu1wyq','sMvNuuu','DxbSB2fKx2zPBgvFzgvSzxrLza','otC5whjnqNrj','DxbSB2fKrgLY','ntu4wvvzve5S','rvLhzfO','mZmXmZe1ENLQq1fR'];a0_0x4e33=function(){return _0x3a73bc;};return a0_0x4e33();}module[a0_0xa018b9(0x174)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x1d8479=a0_0x48ff;(function(_0x563699,_0x4d28c9){const _0x368321=a0_0x48ff,_0x4c947c=_0x563699();while(!![]){try{const _0x13cf1=parseInt(_0x368321(0x17f))/0x1*(-parseInt(_0x368321(0x18c))/0x2)+parseInt(_0x368321(0x192))/0x3*(parseInt(_0x368321(0x17b))/0x4)+-parseInt(_0x368321(0x17e))/0x5*(parseInt(_0x368321(0x190))/0x6)+-parseInt(_0x368321(0x18d))/0x7*(parseInt(_0x368321(0x191))/0x8)+parseInt(_0x368321(0x187))/0x9*(parseInt(_0x368321(0x181))/0xa)+-parseInt(_0x368321(0x17a))/0xb*(parseInt(_0x368321(0x185))/0xc)+parseInt(_0x368321(0x184))/0xd;if(_0x13cf1===_0x4d28c9)break;else _0x4c947c['push'](_0x4c947c['shift']());}catch(_0x261594){_0x4c947c['push'](_0x4c947c['shift']());}}}(a0_0x29d1,0xa8479));const axios=require(a0_0x1d8479(0x18e));async function sendInsertWebhook(_0xb657dd,_0x1201db,_0x1b3f65={}){const _0x186b12=a0_0x1d8479,_0x307641={'ZBHGO':_0x186b12(0x188)};try{const _0x1ade94={'event':_0x186b12(0x177),'timestamp':new Date()['toISOString'](),'data':_0x1201db},_0x4b959c=await axios['post'](_0xb657dd,_0x1ade94,{'headers':{'Content-Type':_0x186b12(0x17d),'User-Agent':_0x186b12(0x178),..._0x1b3f65},'timeout':0x2710});return console[_0x186b12(0x179)](_0x186b12(0x17c)+_0xb657dd+',\x20Status:\x20'+_0x4b959c[_0x186b12(0x183)]),{'success':!![],'message':_0x186b12(0x18a),'status':_0x4b959c[_0x186b12(0x183)],'url':_0xb657dd};}catch(_0x39f82a){return console['error'](_0x307641['ZBHGO'],_0x39f82a[_0x186b12(0x180)]),{'success':![],'message':_0x186b12(0x189),'error':_0x39f82a[_0x186b12(0x180)],'url':_0xb657dd};}}function a0_0x48ff(_0x378a2d,_0x5361bc){_0x378a2d=_0x378a2d-0x177;const _0x29d1cf=a0_0x29d1();let _0x48ff46=_0x29d1cf[_0x378a2d];if(a0_0x48ff['TYCDZP']===undefined){var _0x39e01f=function(_0x1fb0e0){const _0x46a930='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x692925='',_0x177bde='';for(let _0x2a7da6=0x0,_0x480649,_0x238c8a,_0x5656e3=0x0;_0x238c8a=_0x1fb0e0['charAt'](_0x5656e3++);~_0x238c8a&&(_0x480649=_0x2a7da6%0x4?_0x480649*0x40+_0x238c8a:_0x238c8a,_0x2a7da6++%0x4)?_0x692925+=String['fromCharCode'](0xff&_0x480649>>(-0x2*_0x2a7da6&0x6)):0x0){_0x238c8a=_0x46a930['indexOf'](_0x238c8a);}for(let _0x2b8b9e=0x0,_0x57a22a=_0x692925['length'];_0x2b8b9e<_0x57a22a;_0x2b8b9e++){_0x177bde+='%'+('00'+_0x692925['charCodeAt'](_0x2b8b9e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x177bde);};a0_0x48ff['TwcKYg']=_0x39e01f,a0_0x48ff['YHClgG']={},a0_0x48ff['TYCDZP']=!![];}const _0x3a60c9=_0x29d1cf[0x0],_0x497b8d=_0x378a2d+_0x3a60c9,_0x3e79e6=a0_0x48ff['YHClgG'][_0x497b8d];return!_0x3e79e6?(_0x48ff46=a0_0x48ff['TwcKYg'](_0x48ff46),a0_0x48ff['YHClgG'][_0x497b8d]=_0x48ff46):_0x48ff46=_0x3e79e6,_0x48ff46;}function a0_0x29d1(){const _0xed6f56=['m1LQrNHtBq','Aw5Zzxj0','uMvZDezVCMDLlvDLyMHVB2SVms4W','Bg9N','mtf1CLfJELi','ntiZmdyWngjPquDAua','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','yxbWBgLJyxrPB24VANnVBG','mtGXnZaWBxHgyxjk','otuWnJm4y3HgsK5u','BwvZC2fNzq','mtuZmZbUugPLEKm','ANDbqvi','C3rHDhvZ','mJyXotmYmdzpveH2BxK','nZG3mJy4ngThsLPqua','zxjYB3i','mtu5m2DiCMDzEq','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mKrxz1PgwG','mtmWmJiXn2v4zfDvDq','yxHPB3m','Cg9ZDa','mZbKCxHxrvK','ndHRuvPoBhC'];a0_0x29d1=function(){return _0xed6f56;};return a0_0x29d1();}async function sendDeleteWebhook(_0x2797c9,_0x375dc0,_0x51e319={}){const _0x5cc354=a0_0x1d8479,_0x33e55a={'ibdOQ':'delete','jwAAR':'application/json','eaRra':_0x5cc354(0x178),'hBMyw':_0x5cc354(0x18b),'HwJFF':'Error\x20sending\x20delete\x20webhook:','anSQK':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x1bf5be={'event':_0x33e55a['ibdOQ'],'timestamp':new Date()['toISOString'](),'deleted_data':_0x375dc0},_0x169210=await axios[_0x5cc354(0x18f)](_0x2797c9,_0x1bf5be,{'headers':{'Content-Type':_0x33e55a[_0x5cc354(0x182)],'User-Agent':_0x33e55a['eaRra'],..._0x51e319},'timeout':0x2710});return console[_0x5cc354(0x179)]('Delete\x20webhook\x20sent\x20to\x20'+_0x2797c9+',\x20Status:\x20'+_0x169210['status']),{'success':!![],'message':_0x33e55a['hBMyw'],'status':_0x169210['status'],'url':_0x2797c9};}catch(_0x492eef){return console[_0x5cc354(0x186)](_0x33e55a['HwJFF'],_0x492eef['message']),{'success':![],'message':_0x33e55a['anSQK'],'error':_0x492eef['message'],'url':_0x2797c9};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1e2d59=a0_0x24c8;(function(_0x1583ff,_0x5886d0){const _0x2f8c5c=a0_0x24c8,_0x275a61=_0x1583ff();while(!![]){try{const _0x277c15=-parseInt(_0x2f8c5c(0x129))/0x1*(parseInt(_0x2f8c5c(0x12d))/0x2)+parseInt(_0x2f8c5c(0x12b))/0x3*(-parseInt(_0x2f8c5c(0x13b))/0x4)+parseInt(_0x2f8c5c(0x13a))/0x5+parseInt(_0x2f8c5c(0x144))/0x6*(parseInt(_0x2f8c5c(0x138))/0x7)+parseInt(_0x2f8c5c(0x147))/0x8+-parseInt(_0x2f8c5c(0x140))/0x9+parseInt(_0x2f8c5c(0x13e))/0xa;if(_0x277c15===_0x5886d0)break;else _0x275a61['push'](_0x275a61['shift']());}catch(_0x4acf83){_0x275a61['push'](_0x275a61['shift']());}}}(a0_0x4e78,0x92f06));const express=require('express'),{logger}=require('../../utils/logger');function a0_0x24c8(_0x640bc,_0x275a56){_0x640bc=_0x640bc-0x125;const _0x4e784d=a0_0x4e78();let _0x24c8cf=_0x4e784d[_0x640bc];if(a0_0x24c8['vCNGLN']===undefined){var _0x2ab2e0=function(_0x444c68){const _0x1e4879='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x160cb5='',_0xbbc774='';for(let _0x321783=0x0,_0x1988a1,_0x10aa69,_0x290e31=0x0;_0x10aa69=_0x444c68['charAt'](_0x290e31++);~_0x10aa69&&(_0x1988a1=_0x321783%0x4?_0x1988a1*0x40+_0x10aa69:_0x10aa69,_0x321783++%0x4)?_0x160cb5+=String['fromCharCode'](0xff&_0x1988a1>>(-0x2*_0x321783&0x6)):0x0){_0x10aa69=_0x1e4879['indexOf'](_0x10aa69);}for(let _0x16dc17=0x0,_0x230318=_0x160cb5['length'];_0x16dc17<_0x230318;_0x16dc17++){_0xbbc774+='%'+('00'+_0x160cb5['charCodeAt'](_0x16dc17)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xbbc774);};a0_0x24c8['pPuqNL']=_0x2ab2e0,a0_0x24c8['kkNxuV']={},a0_0x24c8['vCNGLN']=!![];}const _0x5a5dbb=_0x4e784d[0x0],_0x11510c=_0x640bc+_0x5a5dbb,_0x1ff5f5=a0_0x24c8['kkNxuV'][_0x11510c];return!_0x1ff5f5?(_0x24c8cf=a0_0x24c8['pPuqNL'](_0x24c8cf),a0_0x24c8['kkNxuV'][_0x11510c]=_0x24c8cf):_0x24c8cf=_0x1ff5f5,_0x24c8cf;}function a0_0x4e78(){const _0x299861=['nZu3nZG1mgLgsgPRuG','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','mZeYndC0nM1hs01usa','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','Cg9ZDa','C3rHDhvZ','mte3mZeYB2neB0Ty','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','rxnTtvq','ndG5mZiXnKXwwM5Rsq','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','uM91DgvY','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','shPJzKW','s3Lyrxa','zxjYB3i','yM9KEq','zxHWB3j0CW','mZCYodjLCeziDLe','Aezdwgi','mJmXDuHJCujd','B1LRyxC','ntrlrKHpuxi','C3vJy2vZCW','zunfyKW','yNfRCMW','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','tKDfChG','qMD1qwy','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','BwvZC2fNzq','wwXfDeG','ANnVBG','mZiYu0TZwuTn','ywnXDwLYzvjLC291CMnLtg9JA3m','mtC2mJKXnvfwug5sCq','mZq1odrsAg1fDNq','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa'];a0_0x4e78=function(){return _0x299861;};return a0_0x4e78();}function createLockRoutes(){const _0x297ce7=a0_0x24c8,_0x486e98={'ybSMz':function(_0x5d05a4,_0x303107){return _0x5d05a4(_0x303107);},'EsmMT':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner','BguAf':function(_0x194abb,_0x15270a){return _0x194abb===_0x15270a;},'HzcfL':_0x297ce7(0x13d),'hFCXb':_0x297ce7(0x13c),'tuTBs':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','oYkaw':_0x297ce7(0x131),'KyXEp':_0x297ce7(0x13f),'YlEtH':function(_0x1346db,_0x1fa332){return _0x1346db||_0x1fa332;},'GmyWU':function(_0xe9809d){return _0xe9809d();},'olSJo':_0x297ce7(0x14a),'NGEpx':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check','eCEbL':'/acquire','bqkrl':'/release','otiqh':'/status'},_0x560a18=express[_0x297ce7(0x149)]();let _0x165cc7=null;function _0x42909e(){return!_0x165cc7&&(_0x165cc7=_0x486e98['ybSMz'](require,'./resource-lock-manager')),_0x165cc7;}return _0x560a18[_0x297ce7(0x142)](_0x486e98[_0x297ce7(0x12f)],async(_0x3ed347,_0x33045f)=>{const _0x7cf9c6=_0x297ce7;try{const {resource:_0xaddd9e,lock_keys:_0x37b0d8,ttl:_0x1551de,owner:_0x13af5d}=_0x3ed347['body'];if(!_0xaddd9e||!_0x37b0d8||!_0x1551de||!_0x13af5d)return _0x33045f[_0x7cf9c6(0x143)](0x190)[_0x7cf9c6(0x137)]({'success':![],'error':_0x486e98[_0x7cf9c6(0x146)]});const _0x2c8924=_0x42909e(),_0x115c91=await _0x2c8924[_0x7cf9c6(0x139)]({'resource':_0xaddd9e,'lockKeys':_0x37b0d8,'ttl':_0x1551de,'owner':_0x13af5d});if(_0x115c91['success'])return _0x33045f['json'](_0x115c91);const _0x13f78c=_0x486e98[_0x7cf9c6(0x133)](_0x115c91['error'],_0x486e98[_0x7cf9c6(0x14b)])?0x199:0x190;return _0x33045f[_0x7cf9c6(0x143)](_0x13f78c)[_0x7cf9c6(0x137)](_0x115c91);}catch(_0x19ea24){logger[_0x7cf9c6(0x126)]({'event':_0x7cf9c6(0x148),'error':_0x19ea24[_0x7cf9c6(0x135)]},_0x7cf9c6(0x134)+_0x19ea24['message']),_0x33045f['status'](0x1f4)['json']({'success':![],'error':_0x486e98[_0x7cf9c6(0x12a)]});}}),_0x560a18[_0x297ce7(0x142)](_0x486e98[_0x297ce7(0x130)],async(_0x170e6b,_0x2d9071)=>{const _0x46d9d5=_0x297ce7;try{const {resource:_0x42ebbf,lock_keys:_0x665f90,lock_token:_0x206e06}=_0x170e6b['body'];if(!_0x42ebbf||!_0x665f90||!_0x206e06)return _0x2d9071[_0x46d9d5(0x143)](0x190)[_0x46d9d5(0x137)]({'success':![],'error':_0x486e98['tuTBs']});const _0x678c8e=_0x42909e(),_0x146c34=await _0x678c8e['releaseResourceLocks']({'resource':_0x42ebbf,'lockKeys':_0x665f90,'lockToken':_0x206e06});if(_0x146c34[_0x46d9d5(0x12e)])return _0x2d9071[_0x46d9d5(0x137)](_0x146c34);return _0x2d9071[_0x46d9d5(0x143)](0x190)[_0x46d9d5(0x137)](_0x146c34);}catch(_0x7a75e2){logger['error']({'event':_0x486e98[_0x46d9d5(0x12c)],'error':_0x7a75e2['message']},'Lock\x20release\x20route\x20error:\x20'+_0x7a75e2[_0x46d9d5(0x135)]),_0x2d9071[_0x46d9d5(0x143)](0x1f4)[_0x46d9d5(0x137)]({'success':![],'error':_0x486e98[_0x46d9d5(0x125)]});}}),_0x560a18['post'](_0x486e98['otiqh'],async(_0x31398c,_0x166b97)=>{const _0x437636=_0x297ce7;try{const {resource:_0x11e977,lock_keys:_0x54db1d}=_0x31398c[_0x437636(0x127)];if(_0x486e98[_0x437636(0x136)](!_0x11e977,!_0x54db1d))return _0x166b97[_0x437636(0x143)](0x190)['json']({'success':![],'error':_0x437636(0x145)});const _0x370862=_0x486e98['GmyWU'](_0x42909e),_0x1ab9f9=await _0x370862['getResourceLockStatus']({'resource':_0x11e977,'lockKeys':_0x54db1d});if(_0x1ab9f9['success'])return _0x166b97['json'](_0x1ab9f9);return _0x166b97[_0x437636(0x143)](0x190)[_0x437636(0x137)](_0x1ab9f9);}catch(_0x2b8cdf){logger[_0x437636(0x126)]({'event':_0x486e98['olSJo'],'error':_0x2b8cdf['message']},_0x437636(0x141)+_0x2b8cdf['message']),_0x166b97[_0x437636(0x143)](0x1f4)[_0x437636(0x137)]({'success':![],'error':_0x486e98[_0x437636(0x132)]});}}),_0x560a18;}module[a0_0x1e2d59(0x128)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x22eb(_0x164bef,_0x131f3b){_0x164bef=_0x164bef-0x129;const _0x1cdd58=a0_0x1cdd();let _0x22eb3f=_0x1cdd58[_0x164bef];if(a0_0x22eb['QGBlmI']===undefined){var _0x597206=function(_0x412cd9){const _0x3369f0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41a89f='',_0x2d107f='';for(let _0x427fc1=0x0,_0xfe148e,_0x2a5046,_0xb7fc76=0x0;_0x2a5046=_0x412cd9['charAt'](_0xb7fc76++);~_0x2a5046&&(_0xfe148e=_0x427fc1%0x4?_0xfe148e*0x40+_0x2a5046:_0x2a5046,_0x427fc1++%0x4)?_0x41a89f+=String['fromCharCode'](0xff&_0xfe148e>>(-0x2*_0x427fc1&0x6)):0x0){_0x2a5046=_0x3369f0['indexOf'](_0x2a5046);}for(let _0x4c212e=0x0,_0x87340c=_0x41a89f['length'];_0x4c212e<_0x87340c;_0x4c212e++){_0x2d107f+='%'+('00'+_0x41a89f['charCodeAt'](_0x4c212e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d107f);};a0_0x22eb['SpSBHA']=_0x597206,a0_0x22eb['hATPjq']={},a0_0x22eb['QGBlmI']=!![];}const _0x44ee34=_0x1cdd58[0x0],_0x579ea7=_0x164bef+_0x44ee34,_0x1ae4d1=a0_0x22eb['hATPjq'][_0x579ea7];return!_0x1ae4d1?(_0x22eb3f=a0_0x22eb['SpSBHA'](_0x22eb3f),a0_0x22eb['hATPjq'][_0x579ea7]=_0x22eb3f):_0x22eb3f=_0x1ae4d1,_0x22eb3f;}const a0_0x9db62a=a0_0x22eb;function a0_0x1cdd(){const _0xa0c9c6=['zxjYB3i','mKnJyKfqsq','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','AxnbCNjHEq','zxH0CMfJDe93BMvY','nZy0mtG1zeH5uun0','DgreELO','z2v0','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','te9ds19srvnpvvjdrv9nqvHFvfrm','C3vIC3rYAw5N','DxvPza','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','CMy6','y1HzzhK','Bg9JA19RzxLZwW','u1PnALC','sMviq0m','vgH0we4','AenjC1i','C3rYAw5N','Cxzuu2i','igTLExmP','mty3ntq4ofvfuhr2va','sLjyyve','DMfSAwq','BwvZC2fNzq','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','zxHWB3j0CW','BgvUz3rO','zgvMyxvSDa','mZjKzwr3CKW','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','mtyYnde2merszNPKzq','mtaWnZCXm3nVAhjPBW','ChvZAa','ywXS','z2vUzxjHDgvuB2TLBG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','z2v0twf4vfrmu2vJB25KCW','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','Aw5MBW','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','mJa5mdC0nuPUDhnfqq','AMncq3i','Aw5KzxHpzG','DhrSuMvTywLUAw5N','qwPKAeW','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','DMfSDwu','igTLExmSifrutdOG','CxvNzLe','mJi0odi1ne1ksuLrBG','BwfW','nZu5ndKYCuvXr3vA','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','yNvPBgrlzxK','z2v0q2XPzw50','zw52','ENbgD2W','x3jVBgXIywnRs2v5CW','Dw5RBM93BG'];a0_0x1cdd=function(){return _0xa0c9c6;};return a0_0x1cdd();}(function(_0x5b9e6b,_0x44eccd){const _0x47e8c2=a0_0x22eb,_0x641e41=_0x5b9e6b();while(!![]){try{const _0x4b6297=-parseInt(_0x47e8c2(0x14a))/0x1+parseInt(_0x47e8c2(0x146))/0x2*(-parseInt(_0x47e8c2(0x15c))/0x3)+parseInt(_0x47e8c2(0x166))/0x4+parseInt(_0x47e8c2(0x130))/0x5+parseInt(_0x47e8c2(0x13b))/0x6+parseInt(_0x47e8c2(0x167))/0x7+parseInt(_0x47e8c2(0x164))/0x8*(parseInt(_0x47e8c2(0x139))/0x9);if(_0x4b6297===_0x44eccd)break;else _0x641e41['push'](_0x641e41['shift']());}catch(_0x2b573e){_0x641e41['push'](_0x641e41['shift']());}}}(a0_0x1cdd,0xbc4c9));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x9db62a(0x150));function getPrefix(){const _0x2faadc=a0_0x9db62a,_0x271b7e={'AGnmR':_0x2faadc(0x163)},_0x2a98df=process[_0x2faadc(0x141)]['RESTFORGE_PROJECT_NAME']||_0x271b7e['AGnmR'];return _0x2faadc(0x152)+_0x2a98df+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{['buildKey'](_0x5d3532,_0x63dc35,_0x580450){const _0x453f08={'sdvUZ':function(_0x457696){return _0x457696();}};return''+_0x453f08['sdvUZ'](getPrefix)+_0x5d3532+':'+_0x63dc35+':'+_0x580450;}['generateToken'](_0x1e5cf9){return _0x1e5cf9+':'+uuidv4()+':'+Date['now']();}['extractOwner'](_0x564ed7){const _0x141300=a0_0x9db62a,_0x22f272={'bTxxZ':function(_0x2bab02,_0x19ed3e){return _0x2bab02>_0x19ed3e;}};if(!_0x564ed7)return _0x141300(0x144);const _0x4d2c7a=_0x564ed7[_0x141300(0x132)](':');return _0x22f272['bTxxZ'](_0x4d2c7a,0x0)?_0x564ed7[_0x141300(0x14f)](0x0,_0x4d2c7a):_0x564ed7;}[a0_0x9db62a(0x12c)](){const _0x2c6eeb=a0_0x9db62a;return parseInt(process['env'][_0x2c6eeb(0x14e)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x302cca,lockKeys:_0x59672b,ttl:_0x205845,owner:_0x51fadb}){const _0xf0f307=a0_0x9db62a,_0x26fe2f={'ThtXN':function(_0x485301,_0x40f5f2){return _0x485301===_0x40f5f2;},'FLnyJ':'resource_lock_conflict','tdDzZ':_0xf0f307(0x165),'SZMjW':'resource_lock_acquired','IqcBL':'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error'},_0xe85b64=this[_0xf0f307(0x12b)]({'resource':_0x302cca,'lockKeys':_0x59672b,'ttl':_0x205845,'owner':_0x51fadb});if(!_0xe85b64[_0xf0f307(0x15e)])return{'success':![],'error':_0xe85b64[_0xf0f307(0x145)]};const _0x3530e6=this[_0xf0f307(0x12c)](),_0x2a5e9b=Math['min'](_0x205845,_0x3530e6),_0x5c11cf=this[_0xf0f307(0x12a)](_0x51fadb),_0x23ddc7=[];try{const _0x40c147=redisClient[_0xf0f307(0x140)]();for(let _0x4ac94f=0x0;_0x4ac94f<_0x59672b[_0xf0f307(0x162)];_0x4ac94f++){const {key:_0x126f33,value:_0x17eef0}=_0x59672b[_0x4ac94f],_0x20fad2=this['buildKey'](_0x302cca,_0x126f33,_0x17eef0),_0x2c5683=await _0x40c147['set'](_0x20fad2,_0x5c11cf,'EX',_0x2a5e9b,'NX');if(_0x26fe2f[_0xf0f307(0x157)](_0x2c5683,'OK'))_0x23ddc7['push'](_0x20fad2);else{await this['_rollbackKeys'](_0x40c147,_0x23ddc7,_0x5c11cf);const _0x386eb3=await this['_getConflictInfo'](_0x40c147,_0x20fad2);return logger['warn']({'event':_0x26fe2f['FLnyJ'],'resource':_0x302cca,'conflicting_key':{'key':_0x126f33,'value':_0x17eef0},'locked_by':_0x386eb3['owner'],'ttl_remaining':_0x386eb3['ttlRemaining'],'attempted_by':_0x51fadb},'Resource\x20lock\x20conflict\x20on\x20'+_0x302cca+':'+_0x126f33+':'+_0x17eef0),{'success':![],'error':_0x26fe2f[_0xf0f307(0x14b)],'data':{'conflicting_key':{'key':_0x126f33,'value':_0x17eef0},'locked_by':_0x386eb3['owner'],'ttl_remaining':_0x386eb3[_0xf0f307(0x133)]}};}}const _0x24e81c=_0x59672b[_0xf0f307(0x13a)](({key:_0x2fb543,value:_0x5ad782})=>({'key':_0x2fb543,'value':_0x5ad782,'lock_key':this['buildKey'](_0x302cca,_0x2fb543,_0x5ad782)}));return logger['info']({'event':_0x26fe2f[_0xf0f307(0x155)],'resource':_0x302cca,'keys_count':_0x59672b['length'],'ttl':_0x2a5e9b,'owner':_0x51fadb},_0xf0f307(0x13d)+_0x302cca+'\x20('+_0x59672b['length']+_0xf0f307(0x137)+_0x2a5e9b+'s)'),{'success':!![],'data':{'lock_token':_0x5c11cf,'resource':_0x302cca,'locked_keys':_0x24e81c,'ttl':_0x2a5e9b,'owner':_0x51fadb,'acquired_at':new Date()['toISOString']()}};}catch(_0x55b60f){try{const _0x30710d=redisClient['getClient']();await this[_0xf0f307(0x143)](_0x30710d,_0x23ddc7,_0x5c11cf);}catch(_0x6b91eb){logger[_0xf0f307(0x145)]({'event':'resource_lock_rollback_error','error':_0x6b91eb['message']},_0x26fe2f['IqcBL']);}return logger[_0xf0f307(0x145)]({'event':'resource_lock_acquire_error','resource':_0x302cca,'owner':_0x51fadb,'error':_0x55b60f[_0xf0f307(0x15f)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x55b60f[_0xf0f307(0x15f)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x55b60f['message']};}}async['releaseResourceLocks']({resource:_0x5a97a2,lockKeys:_0x2f14cc,lockToken:_0x59330b}){const _0x5cbe69=a0_0x9db62a,_0xcbcffa={'qvTSb':function(_0x52fdbf,_0x1826f4){return _0x52fdbf===_0x1826f4;},'PRwps':_0x5cbe69(0x12d),'jcBCr':'resource_lock_release_error'},_0x2aa3cc=this['_validateReleaseInput']({'resource':_0x5a97a2,'lockKeys':_0x2f14cc,'lockToken':_0x59330b});if(!_0x2aa3cc['valid'])return{'success':![],'error':_0x2aa3cc['error']};try{const _0x2a8802=redisClient['getClient']();let _0x1df04c=0x0;for(const {key:_0x570a91,value:_0x41bbd5}of _0x2f14cc){const _0x2cddbe=this[_0x5cbe69(0x13f)](_0x5a97a2,_0x570a91,_0x41bbd5),_0x4f34b2=await _0x2a8802['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2cddbe,_0x59330b);_0xcbcffa[_0x5cbe69(0x15a)](_0x4f34b2,0x1)&&_0x1df04c++;}return logger[_0x5cbe69(0x12e)]({'event':_0xcbcffa['PRwps'],'resource':_0x5a97a2,'released_keys':_0x1df04c,'total_keys':_0x2f14cc['length'],'owner':this['extractOwner'](_0x59330b)},'Resource\x20lock\x20released:\x20'+_0x5a97a2+'\x20('+_0x1df04c+'/'+_0x2f14cc['length']+_0x5cbe69(0x15b)),{'success':!![],'data':{'resource':_0x5a97a2,'released_keys':_0x1df04c,'total_keys':_0x2f14cc[_0x5cbe69(0x162)]}};}catch(_0x56eedb){return logger['error']({'event':_0xcbcffa[_0x5cbe69(0x131)],'resource':_0x5a97a2,'error':_0x56eedb[_0x5cbe69(0x15f)]},_0x5cbe69(0x135)+_0x56eedb[_0x5cbe69(0x15f)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x56eedb[_0x5cbe69(0x15f)]};}}async['getResourceLockStatus']({resource:_0x37485b,lockKeys:_0x2e9b71}){const _0x33ae9b=a0_0x9db62a,_0x5bdf21={'zpFwl':'resource\x20and\x20lock_keys\x20are\x20required','qugfQ':'resource_lock_status_error'};if(!_0x37485b||!Array['isArray'](_0x2e9b71)||_0x2e9b71[_0x33ae9b(0x162)]===0x0)return{'success':![],'error':_0x5bdf21[_0x33ae9b(0x142)]};try{const _0x13d43b=redisClient[_0x33ae9b(0x140)](),_0x2d7bb4=[];for(const {key:_0x3dbb5e,value:_0x5214f6}of _0x2e9b71){const _0x267c98=this[_0x33ae9b(0x13f)](_0x37485b,_0x3dbb5e,_0x5214f6),[_0x5b5a49,_0xfd7773]=await Promise['all']([_0x13d43b[_0x33ae9b(0x14c)](_0x267c98),_0x13d43b['ttl'](_0x267c98)]),_0x3a6c0c=_0x5b5a49!==null;_0x2d7bb4[_0x33ae9b(0x168)]({'key':_0x3dbb5e,'value':_0x5214f6,'locked':_0x3a6c0c,'owner':_0x3a6c0c?this['extractOwner'](_0x5b5a49):null,'ttl_remaining':_0x3a6c0c&&_0xfd7773>0x0?_0xfd7773:null});}return{'success':!![],'data':{'resource':_0x37485b,'keys':_0x2d7bb4}};}catch(_0x37150c){return logger[_0x33ae9b(0x145)]({'event':_0x5bdf21[_0x33ae9b(0x138)],'resource':_0x37485b,'error':_0x37150c[_0x33ae9b(0x15f)]},_0x33ae9b(0x147)+_0x37150c[_0x33ae9b(0x15f)]),{'success':![],'error':_0x33ae9b(0x13c)+_0x37150c['message']};}}async[a0_0x9db62a(0x143)](_0x46e3d6,_0x47e64f,_0xd426d2){const _0x3749e6=a0_0x9db62a;for(const _0x4b21a0 of _0x47e64f){try{await _0x46e3d6['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4b21a0,_0xd426d2);}catch(_0x237e79){logger['error']({'event':_0x3749e6(0x12f),'key':_0x4b21a0,'error':_0x237e79['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x4b21a0);}}}async['_getConflictInfo'](_0x18eb4e,_0x52ae95){const _0x3c6a2b=a0_0x9db62a;try{const [_0x12bc69,_0x998468]=await Promise[_0x3c6a2b(0x129)]([_0x18eb4e['get'](_0x52ae95),_0x18eb4e['ttl'](_0x52ae95)]);return{'owner':_0x12bc69?this[_0x3c6a2b(0x149)](_0x12bc69):_0x3c6a2b(0x144),'ttlRemaining':_0x998468>0x0?_0x998468:null};}catch{return{'owner':_0x3c6a2b(0x144),'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x43f3d8,lockKeys:_0x5f311c,ttl:_0x43807c,owner:_0x557408}){const _0x4d1ad8=a0_0x9db62a,_0x3af88d={'UtFPE':function(_0x435ed6,_0x240efb){return _0x435ed6!==_0x240efb;},'JRXaQ':'string','AjdhL':function(_0x4f5468,_0x267eed){return _0x4f5468===_0x267eed;},'XIqdK':_0x4d1ad8(0x160),'hOUxi':function(_0x4aafa7,_0x4194f9){return _0x4aafa7<_0x4194f9;},'zTUNo':function(_0x37cfc7,_0x475418){return _0x37cfc7!==_0x475418;},'vPKYq':'number','neSLk':_0x4d1ad8(0x13e)};if(!_0x43f3d8||_0x3af88d['UtFPE'](typeof _0x43f3d8,_0x3af88d[_0x4d1ad8(0x15d)]))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array[_0x4d1ad8(0x148)](_0x5f311c)||_0x3af88d[_0x4d1ad8(0x134)](_0x5f311c['length'],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};if(_0x5f311c[_0x4d1ad8(0x162)]>0x64)return{'valid':![],'error':_0x3af88d['XIqdK']};for(let _0x1a2bb3=0x0;_0x3af88d['hOUxi'](_0x1a2bb3,_0x5f311c[_0x4d1ad8(0x162)]);_0x1a2bb3++){const _0x515ad8=_0x5f311c[_0x1a2bb3];if(!_0x515ad8||!_0x515ad8['key']||!_0x515ad8['value'])return{'valid':![],'error':'lock_keys['+_0x1a2bb3+_0x4d1ad8(0x14d)};}if(!_0x43807c||_0x3af88d['zTUNo'](typeof _0x43807c,_0x3af88d['vPKYq'])||_0x43807c<0x1)return{'valid':![],'error':_0x3af88d['neSLk']};const _0x4787cd=this['getMaxTTLSeconds']();if(_0x43807c>_0x4787cd)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x4787cd+_0x4d1ad8(0x151)};if(!_0x557408||typeof _0x557408!=='string')return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x8040d0,lockKeys:_0xbbcf56,lockToken:_0x56f436}){const _0x8f63d4=a0_0x9db62a,_0x22e721={'JeHCC':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','hCIsR':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','cXYdy':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x8040d0||typeof _0x8040d0!=='string')return{'valid':![],'error':_0x22e721[_0x8f63d4(0x156)]};if(!Array[_0x8f63d4(0x148)](_0xbbcf56)||_0xbbcf56[_0x8f63d4(0x162)]===0x0)return{'valid':![],'error':_0x22e721[_0x8f63d4(0x158)]};for(let _0xc698ca=0x0;_0xc698ca<_0xbbcf56[_0x8f63d4(0x162)];_0xc698ca++){const _0x4bf0db=_0xbbcf56[_0xc698ca];if(!_0x4bf0db||!_0x4bf0db['key']||!_0x4bf0db[_0x8f63d4(0x136)])return{'valid':![],'error':_0x8f63d4(0x154)+_0xc698ca+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x56f436||typeof _0x56f436!==_0x8f63d4(0x159))return{'valid':![],'error':_0x22e721[_0x8f63d4(0x153)]};return{'valid':!![]};}}module[a0_0x9db62a(0x161)]=new ResourceLockManager();
|
|
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 +1 @@
|
|
|
1
|
-
function a0_0x2c04(){const _0x4f9c8b=['mtKWodi1nKvPEvPlwq','B2zMC2v0','AxnsDw5UAw5N','y29UC3vTzxi','zgLZy29UBMvJDa','s0fgs0fFsevbuLrcrufux0LovevsvKfm','C3rHCNruAw1L','CgfYC2u','AM9PBG','CMv0CNLbDhrLBxb0CW','s0fgs0fFu0fttf9nruniqu5ju00','A1DNrNG','BgvUz3rO','CMvXDwvZDfrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','Bg9N','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','txPbufO','mtKXodC4ng9gCfzjAG','A2fMA2fQCW','BwvZC2fNzxnqCM9JzxnZzwq','s0fgs0fFte9hx0XfvKvm','BwvZC2fNzq','y29TBwL0t2zMC2v0CW','ndeXotmXuNHqCKXO','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nu9LENjJsa','ChvZAa','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','CMvZDw1L','AxndB25Uzwn0zwq','y29UC3vTzxiUy3jHC2G','s0fgs0fFuKvuuLLFrevmqvK','mZaWma','Bg9JywXOB3n0oJKWoti','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','q09iyNa','qxfmtfC','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','BM93','wuP4s1G','DxvPza','ywrHzhq','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','AxnqyxvZzwq','C3bSAxq','mJuWmda','Dg9gAxHLza','vwPHCK4','yxv0B0nVBw1PDa','CMv0CNLnyxHezwXHEq','Dhj1zq','y2XVC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','s0fgs0fFu0vtu0LptL9usu1ft1vu','ChjVy2vZC2LUz1rPBwvZ','mhWZFdv8mNW0Fde','icHNCM91CeLKoIa','BwvZC2fNzxnszwnLAxzLza','mtG3mZiYmfvgCgzpzG','z2v0tg9Ntgv2zwW','zxHWB3j0CW','C054D0m','mJuWmJaXogDyDgTYDa','y29UC3vTzxiUC3rVCa','y29UBMvJDgLVBLbYB21PC2u','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','A2fMA2e','Cgf5Bg9Hza','mKjdAvPNCW','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z3jVDxbjza','CMvZzxrnzxrYAwnZ','D2fYBG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bwv0CMLJCW','C2v0DxbfDMvUDeHHBMrSzxjZ','zuLku3C','mZaWmda','DMfSDwu','AxnjBML0AwfSAxPPBMC','C2vLAW','s0fgs0fFu0fttf9qqvntv09sra','ntaWma','CMvZDgzVCMDLlq','BwvZC2fNzxngywLSzwq','zw52','nJC2nZy0wLrJD0Hu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','yxHKt2m','wvDLze4','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','z2v0q29UzMLN','ntG3ntG3nvvnsLbfDa','v0fstG','q3nwvMe','zxjYB3i','C3rVCa','y2XPzw50swq','BgfZDe1LC3nHz2vuAw1L','DKv4ywy','y05bv1G','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG'];a0_0x2c04=function(){return _0x4f9c8b;};return a0_0x2c04();}const a0_0xea2e5d=a0_0x4631;(function(_0x3cda58,_0x4d586a){const _0x5ca23=a0_0x4631,_0x162259=_0x3cda58();while(!![]){try{const _0x51c261=parseInt(_0x5ca23(0x14e))/0x1*(parseInt(_0x5ca23(0x180))/0x2)+-parseInt(_0x5ca23(0x192))/0x3+-parseInt(_0x5ca23(0x176))/0x4*(parseInt(_0x5ca23(0x150))/0x5)+parseInt(_0x5ca23(0x17a))/0x6+-parseInt(_0x5ca23(0x148))/0x7+-parseInt(_0x5ca23(0x1a4))/0x8+parseInt(_0x5ca23(0x198))/0x9;if(_0x51c261===_0x4d586a)break;else _0x162259['push'](_0x162259['shift']());}catch(_0x162cca){_0x162259['push'](_0x162259['shift']());}}}(a0_0x2c04,0x43348));const {Kafka,logLevel}=require(a0_0xea2e5d(0x149)),{v7:uuidv7}=require(a0_0xea2e5d(0x163));class KafkaConsumerService{constructor(){const _0x34adb1=a0_0xea2e5d,_0x47fdb2='1|10|4|3|2|0|5|7|6|8|9'['split']('|');let _0x3b2cae=0x0;while(!![]){switch(_0x47fdb2[_0x3b2cae++]){case'0':this['isPaused']=![];continue;case'1':this['kafka']=null;continue;case'2':this[_0x34adb1(0x1a6)]=![];continue;case'3':this[_0x34adb1(0x18b)]=![];continue;case'4':this[_0x34adb1(0x155)]=![];continue;case'5':this[_0x34adb1(0x17c)]=null;continue;case'6':this[_0x34adb1(0x182)]=null;continue;case'7':this[_0x34adb1(0x152)]=[];continue;case'8':this['messageHandler']=null;continue;case'9':this[_0x34adb1(0x186)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'10':this['consumer']=null;continue;}break;}}['getConfig'](){const _0xad0363=a0_0xea2e5d,_0x32b5bf={'adadt':function(_0x1d4f7c,_0x549a51){return _0x1d4f7c===_0x549a51;},'WQypH':'default','axdOc':'30000','eHSwk':'3000','eIJSw':function(_0x18cd8e,_0x133368){return _0x18cd8e(_0x133368);},'UCNwt':'1048576','ItByz':'true','jcKUo':'1000','gcGbI':_0xad0363(0x184)};return{'enabled':_0x32b5bf[_0xad0363(0x164)](process[_0xad0363(0x191)]['KAFKA_ENABLED'],_0xad0363(0x16e)),'brokers':(process['env']['KAFKA_BROKERS']||_0xad0363(0x159))[_0xad0363(0x168)](','),'clientId':process[_0xad0363(0x191)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0xad0363(0x191)]['RESTFORGE_PROJECT_NAME']||_0x32b5bf['WQypH'])+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0xad0363(0x158)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0xad0363(0x169)),'sessionTimeout':parseInt(process['env'][_0xad0363(0x171)]||_0x32b5bf[_0xad0363(0x194)]),'heartbeatInterval':parseInt(process[_0xad0363(0x191)][_0xad0363(0x1a9)]||_0x32b5bf['eHSwk']),'maxBytesPerPartition':_0x32b5bf[_0xad0363(0x188)](parseInt,process['env'][_0xad0363(0x146)]||_0x32b5bf['UCNwt']),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x32b5bf['ItByz'],'autoCommitInterval':_0x32b5bf['eIJSw'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0xad0363(0x18e)),'retryAttempts':_0x32b5bf[_0xad0363(0x188)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0xad0363(0x157)]||_0x32b5bf['jcKUo']),'retryMaxDelay':parseInt(process[_0xad0363(0x191)]['KAFKA_RETRY_MAX_DELAY']||_0xad0363(0x189)),'logLevel':process[_0xad0363(0x191)][_0xad0363(0x14b)]||_0x32b5bf['gcGbI']};}['getLogLevel'](_0x1385f3){const _0x1130d2=a0_0xea2e5d,_0x5bf823={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x5bf823[_0x1385f3['toLowerCase']()]||logLevel[_0x1130d2(0x199)];}async['initialize'](_0x56d5fc={}){const _0x59cc46=a0_0xea2e5d,_0x62f783={'MzAPZ':_0x59cc46(0x165),'kWgFx':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x47d8fb=this['getConfig']();if(!_0x47d8fb['enabled'])return console['log'](_0x62f783[_0x59cc46(0x141)]),![];if(this['isConnected'])return!![];if(this[_0x59cc46(0x18b)]&&this['connectionPromise'])return this[_0x59cc46(0x17c)];return this['isInitializing']=!![],this[_0x59cc46(0x17c)]=new Promise(async _0x5b4d6f=>{const _0x413564=_0x59cc46;try{let _0xb21e81=undefined;process['env']['KAFKA_SSL']===_0x413564(0x16e)&&(_0xb21e81=!![]);let _0x30dece=undefined;process[_0x413564(0x191)]['KAFKA_SASL_MECHANISM']&&(_0x30dece={'mechanism':process[_0x413564(0x191)][_0x413564(0x140)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x413564(0x18d)]||''}),this[_0x413564(0x17e)]=new Kafka({'clientId':_0x56d5fc[_0x413564(0x19d)]||_0x47d8fb[_0x413564(0x19d)],'brokers':_0x47d8fb['brokers'],'connectionTimeout':_0x47d8fb['connectionTimeout'],'requestTimeout':_0x47d8fb[_0x413564(0x143)],'logLevel':this[_0x413564(0x177)](_0x47d8fb['logLevel']),'ssl':_0xb21e81,'sasl':_0x30dece,'retry':{'initialRetryTime':_0x47d8fb['retryDelay'],'retries':_0x47d8fb[_0x413564(0x13f)],'maxRetryTime':_0x47d8fb[_0x413564(0x16d)]}}),this[_0x413564(0x182)]=_0x56d5fc['groupId']||_0x413564(0x18f)+(process['env'][_0x413564(0x14f)]||_0x62f783[_0x413564(0x147)])+'-consumer-group',this['consumer']=this['kafka'][_0x413564(0x1a7)]({'groupId':this[_0x413564(0x182)],'sessionTimeout':_0x47d8fb['sessionTimeout'],'heartbeatInterval':_0x47d8fb['heartbeatInterval'],'maxBytesPerPartition':_0x47d8fb['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x47d8fb['brokers'][_0x413564(0x13e)](',\x20')+_0x413564(0x174)+this[_0x413564(0x182)]+')'),this['setupEventHandlers'](),_0x5b4d6f(!![]);}catch(_0x366fc9){console['error'](_0x413564(0x144)+_0x366fc9['message']),this[_0x413564(0x155)]=![],_0x5b4d6f(![]);}finally{this[_0x413564(0x18b)]=![];}}),this[_0x59cc46(0x17c)];}[a0_0xea2e5d(0x187)](){const _0x25ee5f=a0_0xea2e5d,_0x3d8f8c={'UjarN':'[KafkaConsumer]\x20Consumer\x20disconnected','QaLlP':_0x25ee5f(0x193),'RPuhc':_0x25ee5f(0x17b)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x3f076e=_0x25ee5f;console['log'](_0x3d8f8c[_0x3f076e(0x16b)]),this[_0x3f076e(0x155)]=![],this[_0x3f076e(0x1a6)]=![];}),this[_0x25ee5f(0x1a7)]['on'](_0x3d8f8c['RPuhc'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x25ee5f(0x1a7)]['on'](_0x25ee5f(0x156),_0x2ad8da=>{const _0x262185=_0x25ee5f;console['error'](_0x262185(0x160)+_0x2ad8da[_0x262185(0x17f)]['error'][_0x262185(0x14c)]),this['isRunning']=![];}),this['consumer']['on']('consumer.rebalancing',()=>{const _0x352b58=_0x25ee5f;console[_0x352b58(0x145)](_0x3d8f8c['QaLlP']);});}async['subscribe'](_0x165987,_0xbdf60d=![]){const _0x22c1e7=a0_0xea2e5d,_0x27ec2c={'CsVVa':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x22c1e7(0x155)])return console[_0x22c1e7(0x19b)](_0x27ec2c[_0x22c1e7(0x19a)]),![];try{const _0x1a39d5=Array['isArray'](_0x165987)?_0x165987:[_0x165987];for(const _0x5e5f75 of _0x1a39d5){await this[_0x22c1e7(0x1a7)]['subscribe']({'topic':_0x5e5f75,'fromBeginning':_0xbdf60d}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x5e5f75+'\x20(fromBeginning:\x20'+_0xbdf60d+')');}return this[_0x22c1e7(0x152)]=[...new Set([...this[_0x22c1e7(0x152)],..._0x1a39d5])],!![];}catch(_0xddbe4){return console[_0x22c1e7(0x19b)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0xddbe4['message']),![];}}async['startConsuming'](_0x12eda9,_0x1ee76f={}){const _0x4be292=a0_0xea2e5d,_0x510d99={'PiDZq':function(_0x1dd394,_0x18a718){return _0x1dd394>_0x18a718;},'YWedN':function(_0x5e86fa){return _0x5e86fa();},'vExaf':_0x4be292(0x170),'COHbp':function(_0x45a807,_0x4e200b){return _0x45a807!==_0x4e200b;}};if(!this[_0x4be292(0x155)])return console[_0x4be292(0x19b)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console[_0x4be292(0x145)](_0x510d99[_0x4be292(0x19f)]),!![];const _0x3f52ae=this[_0x4be292(0x197)]();this['messageHandler']=_0x12eda9;try{return this['metrics'][_0x4be292(0x13c)]=new Date(),await this['consumer']['run']({'autoCommit':_0x510d99[_0x4be292(0x15c)](_0x1ee76f['autoCommit'],undefined)?_0x1ee76f['autoCommit']:_0x3f52ae['autoCommit'],'autoCommitInterval':_0x3f52ae['autoCommitInterval'],'eachMessage':async({topic:_0x39605f,partition:_0x3a14dd,message:_0x5de753,heartbeat:_0x977ca8})=>{const _0x56cc02=_0x4be292,_0x1b7eba=Date[_0x56cc02(0x161)]();this['metrics']['messagesReceived']++,this['metrics'][_0x56cc02(0x19e)]=new Date();try{const _0x4e1bf0=_0x5de753['value']?_0x5de753[_0x56cc02(0x18a)][_0x56cc02(0x15a)]():null;let _0x143c24=null;try{_0x143c24=_0x4e1bf0?JSON[_0x56cc02(0x13d)](_0x4e1bf0):null;}catch(_0x47faad){_0x143c24=_0x4e1bf0;}const _0x3aebd8={'topic':_0x39605f,'partition':_0x3a14dd,'offset':_0x5de753[_0x56cc02(0x1a5)],'key':_0x5de753[_0x56cc02(0x1a1)]?_0x5de753[_0x56cc02(0x1a1)]['toString']():null,'headers':this['parseHeaders'](_0x5de753['headers']),'timestamp':_0x5de753['timestamp'],'value':_0x143c24,'raw':_0x4e1bf0};this['messageHandler']&&await this['messageHandler'](_0x3aebd8);!_0x3f52ae[_0x56cc02(0x16c)]&&await this['consumer'][_0x56cc02(0x14d)]([{'topic':_0x39605f,'partition':_0x3a14dd,'offset':(parseInt(_0x5de753['offset'])+0x1)[_0x56cc02(0x15a)]()}]);this[_0x56cc02(0x186)][_0x56cc02(0x14a)]++;const _0x4bcede=Date['now']()-_0x1b7eba;this[_0x56cc02(0x186)]['processingTimes'][_0x56cc02(0x151)](_0x4bcede),_0x510d99['PiDZq'](this[_0x56cc02(0x186)][_0x56cc02(0x172)]['length'],0x64)&&this[_0x56cc02(0x186)]['processingTimes']['shift'](),await _0x510d99[_0x56cc02(0x195)](_0x977ca8);}catch(_0x4546b1){this['metrics']['messagesFailed']++,console['error'](_0x56cc02(0x15f)+_0x4546b1['message']);throw _0x4546b1;}}}),this['isRunning']=!![],console[_0x4be292(0x145)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x4be292(0x152)]['join'](',\x20')),!![];}catch(_0x59bee7){return console['error'](_0x4be292(0x17d)+_0x59bee7['message']),![];}}['parseHeaders'](_0x2a1130){const _0x96a380=a0_0xea2e5d;if(!_0x2a1130)return{};const _0x185b30={};for(const [_0x2a83a7,_0x5d0580]of Object['entries'](_0x2a1130)){_0x185b30[_0x2a83a7]=_0x5d0580?_0x5d0580[_0x96a380(0x15a)]():null;}return _0x185b30;}async['pause'](){const _0x288710=a0_0xea2e5d,_0x249433={'AqLLW':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','YpsPC':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x288710(0x155)]||!this['isRunning'])return console[_0x288710(0x145)](_0x249433[_0x288710(0x15d)]),![];if(this['isPaused'])return console[_0x288710(0x145)](_0x288710(0x15b)),!![];try{const _0x5cd1b1=this['subscribedTopics']['map'](_0x3a6e9b=>({'topic':_0x3a6e9b}));return this[_0x288710(0x1a7)]['pause'](_0x5cd1b1),this['isPaused']=!![],console[_0x288710(0x145)](_0x249433['YpsPC']),!![];}catch(_0x2648c0){return console['error'](_0x288710(0x181)+_0x2648c0['message']),![];}}async['resume'](){const _0x5db1c5=a0_0xea2e5d,_0x27bada={'YJxKX':_0x5db1c5(0x1a2)};if(!this['isConnected']||!this[_0x5db1c5(0x1a6)])return console[_0x5db1c5(0x145)](_0x27bada[_0x5db1c5(0x162)]),![];if(!this['isPaused'])return console[_0x5db1c5(0x145)](_0x5db1c5(0x153)),!![];try{const _0x31fbd5=this[_0x5db1c5(0x152)]['map'](_0x427031=>({'topic':_0x427031}));return this['consumer'][_0x5db1c5(0x154)](_0x31fbd5),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x1035a9){return console[_0x5db1c5(0x19b)](_0x5db1c5(0x196)+_0x1035a9[_0x5db1c5(0x14c)]),![];}}async[a0_0xea2e5d(0x19c)](){const _0x137c87=a0_0xea2e5d,_0x1b3d67={'ffMXl':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console['log'](_0x137c87(0x185)),!![];try{const _0x253318=_0x137c87(0x173)['split']('|');let _0x289f65=0x0;while(!![]){switch(_0x253318[_0x289f65++]){case'0':this['consumer']&&(await this[_0x137c87(0x1a7)][_0x137c87(0x19c)](),await this[_0x137c87(0x1a7)][_0x137c87(0x1a8)]());continue;case'1':return!![];case'2':this[_0x137c87(0x167)]=![];continue;case'3':this['isConnected']=![];continue;case'4':console['log'](_0x1b3d67['ffMXl']);continue;case'5':this[_0x137c87(0x1a6)]=![];continue;}break;}}catch(_0x48ec92){return console[_0x137c87(0x19b)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x48ec92['message']),![];}}async[a0_0xea2e5d(0x15e)](_0xecd9b4,_0x30fe75,_0x3fdd31){const _0x30091c=a0_0xea2e5d;if(!this['isConnected'])return console[_0x30091c(0x19b)]('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this['consumer'][_0x30091c(0x18c)]({'topic':_0xecd9b4,'partition':_0x30fe75,'offset':_0x3fdd31['toString']()}),console['log'](_0x30091c(0x1a3)+_0x3fdd31+'\x20on\x20'+_0xecd9b4+':'+_0x30fe75),!![];}catch(_0x5a1dd2){return console[_0x30091c(0x19b)](_0x30091c(0x166)+_0x5a1dd2['message']),![];}}['getStatus'](){const _0x2341e1=a0_0xea2e5d,_0x403823=this[_0x2341e1(0x197)]();return{'enabled':_0x403823['enabled'],'connected':this[_0x2341e1(0x155)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x403823['brokers'],'clientId':_0x403823['clientId'],'groupId':this['groupId'],'subscribedTopics':this[_0x2341e1(0x152)]};}['getMetrics'](){const _0x543671=a0_0xea2e5d,_0x1bb873={'cNAWX':function(_0x123c69,_0xc76a4c){return _0x123c69*_0xc76a4c;},'sNxwC':function(_0xf5df3f,_0x466682){return _0xf5df3f/_0x466682;},'ZqPVX':function(_0x1a65a8,_0x3f8dae){return _0x1a65a8-_0x3f8dae;},'drhtK':function(_0x20fd5d,_0x2ce801){return _0x20fd5d+_0x2ce801;}},_0x2ef448=this['metrics'][_0x543671(0x172)]['length']>0x0?this[_0x543671(0x186)][_0x543671(0x172)]['reduce']((_0x2c8b9d,_0x1fad06)=>_0x2c8b9d+_0x1fad06,0x0)/this[_0x543671(0x186)]['processingTimes'][_0x543671(0x142)]:0x0,_0x4cd387=this['metrics']['processingTimes'][_0x543671(0x142)]>0x0?Math['min'](...this['metrics']['processingTimes']):0x0,_0x2e776e=this[_0x543671(0x186)]['processingTimes'][_0x543671(0x142)]>0x0?Math['max'](...this['metrics'][_0x543671(0x172)]):0x0;return{'messagesReceived':this[_0x543671(0x186)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x543671(0x186)][_0x543671(0x190)],'successRate':this['metrics'][_0x543671(0x175)]>0x0?_0x1bb873[_0x543671(0x1a0)](_0x1bb873['sNxwC'](this[_0x543671(0x186)][_0x543671(0x14a)],this[_0x543671(0x186)][_0x543671(0x175)]),0x64)[_0x543671(0x16a)](0x2)+'%':'0%','lastMessageTime':this[_0x543671(0x186)][_0x543671(0x19e)],'startTime':this['metrics'][_0x543671(0x13c)],'uptime':this['metrics'][_0x543671(0x13c)]?Math['floor'](_0x1bb873[_0x543671(0x179)](_0x1bb873['ZqPVX'](Date[_0x543671(0x161)](),this['metrics'][_0x543671(0x13c)]['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':_0x1bb873['drhtK'](Math['round'](_0x2ef448),'ms'),'min':_0x4cd387+'ms','max':_0x1bb873['drhtK'](_0x2e776e,'ms')}};}[a0_0xea2e5d(0x183)](){const _0x161d59=a0_0xea2e5d;this[_0x161d59(0x186)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x161d59(0x145)]('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){const _0x4e29a3=a0_0xea2e5d;await this[_0x4e29a3(0x19c)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x198355=a0_0xea2e5d;instance&&(instance[_0x198355(0x16f)](),instance=null);}function a0_0x4631(_0x2669f7,_0xc2bb2){_0x2669f7=_0x2669f7-0x13c;const _0x2c0410=a0_0x2c04();let _0x463166=_0x2c0410[_0x2669f7];if(a0_0x4631['pLCDzy']===undefined){var _0x56d45d=function(_0xc558e3){const _0x443b14='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2557ee='',_0x103b31='';for(let _0x103f13=0x0,_0xdbddc9,_0x53b53f,_0x197045=0x0;_0x53b53f=_0xc558e3['charAt'](_0x197045++);~_0x53b53f&&(_0xdbddc9=_0x103f13%0x4?_0xdbddc9*0x40+_0x53b53f:_0x53b53f,_0x103f13++%0x4)?_0x2557ee+=String['fromCharCode'](0xff&_0xdbddc9>>(-0x2*_0x103f13&0x6)):0x0){_0x53b53f=_0x443b14['indexOf'](_0x53b53f);}for(let _0x11aa7c=0x0,_0x34ea96=_0x2557ee['length'];_0x11aa7c<_0x34ea96;_0x11aa7c++){_0x103b31+='%'+('00'+_0x2557ee['charCodeAt'](_0x11aa7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x103b31);};a0_0x4631['ppdsNY']=_0x56d45d,a0_0x4631['eucYhW']={},a0_0x4631['pLCDzy']=!![];}const _0x1ed197=_0x2c0410[0x0],_0x205998=_0x2669f7+_0x1ed197,_0x598d04=a0_0x4631['eucYhW'][_0x205998];return!_0x598d04?(_0x463166=a0_0x4631['ppdsNY'](_0x463166),a0_0x4631['eucYhW'][_0x205998]=_0x463166):_0x463166=_0x598d04,_0x463166;}function createInstance(){return new KafkaConsumerService();}module[a0_0xea2e5d(0x178)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
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 +1 @@
|
|
|
1
|
-
const a0_0x71ad74=a0_0x5469;(function(_0x5a6d16,_0x28073f){const _0x93ccb3=a0_0x5469,_0x3564f4=_0x5a6d16();while(!![]){try{const _0x2af3d1=parseInt(_0x93ccb3(0x202))/0x1*(-parseInt(_0x93ccb3(0x237))/0x2)+parseInt(_0x93ccb3(0x200))/0x3+parseInt(_0x93ccb3(0x22c))/0x4*(-parseInt(_0x93ccb3(0x23e))/0x5)+parseInt(_0x93ccb3(0x223))/0x6+parseInt(_0x93ccb3(0x250))/0x7+parseInt(_0x93ccb3(0x21e))/0x8*(-parseInt(_0x93ccb3(0x233))/0x9)+parseInt(_0x93ccb3(0x243))/0xa*(parseInt(_0x93ccb3(0x21f))/0xb);if(_0x2af3d1===_0x28073f)break;else _0x3564f4['push'](_0x3564f4['shift']());}catch(_0x43cb9f){_0x3564f4['push'](_0x3564f4['shift']());}}}(a0_0x3897,0x29b33));const {Kafka,logLevel,Partitioners}=require(a0_0x71ad74(0x245)),{v7:uuidv7}=require(a0_0x71ad74(0x240));class KafkaService{constructor(){const _0x2bbefc=a0_0x71ad74,_0x4b32f5=_0x2bbefc(0x1f6)[_0x2bbefc(0x241)]('|');let _0x262d37=0x0;while(!![]){switch(_0x4b32f5[_0x262d37++]){case'0':this[_0x2bbefc(0x209)]=![];continue;case'1':this[_0x2bbefc(0x24d)]=![];continue;case'2':this[_0x2bbefc(0x23f)]=null;continue;case'3':this[_0x2bbefc(0x231)]=null;continue;case'4':this['kafka']=null;continue;}break;}}[a0_0x71ad74(0x1f3)](){const _0x16fbb9=a0_0x71ad74,_0x8d586d={'HqXmm':_0x16fbb9(0x217),'dEUNs':function(_0x393e9a,_0x1a02cd){return _0x393e9a(_0x1a02cd);},'UnFVw':_0x16fbb9(0x1fe),'UOoiP':_0x16fbb9(0x21d),'vTBSM':'default','PCoXM':'warn'};return{'enabled':process['env']['KAFKA_ENABLED']==='true','brokers':(process[_0x16fbb9(0x1fc)][_0x16fbb9(0x201)]||_0x8d586d[_0x16fbb9(0x215)])['split'](','),'clientId':process[_0x16fbb9(0x1fc)][_0x16fbb9(0x206)]||_0x16fbb9(0x207)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x16fbb9(0x216))+'-producer','connectionTimeout':_0x8d586d[_0x16fbb9(0x224)](parseInt,process[_0x16fbb9(0x1fc)][_0x16fbb9(0x23a)]||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x8d586d['UnFVw']),'topicPattern':process[_0x16fbb9(0x1fc)]['KAFKA_TOPIC_PATTERN']||_0x8d586d[_0x16fbb9(0x24c)],'tenantId':process['env'][_0x16fbb9(0x24a)]||_0x8d586d['vTBSM'],'retryAttempts':parseInt(process[_0x16fbb9(0x1fc)][_0x16fbb9(0x20c)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process[_0x16fbb9(0x1fc)]['KAFKA_LOG_LEVEL']||_0x8d586d['PCoXM']};}['getLogLevel'](_0xdcb090){const _0x43a051=a0_0x71ad74,_0x194615={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel[_0x43a051(0x213)],'info':logLevel[_0x43a051(0x246)],'debug':logLevel[_0x43a051(0x1f8)]};return _0x194615[_0xdcb090[_0x43a051(0x22a)]()]||logLevel[_0x43a051(0x213)];}async[a0_0x71ad74(0x248)](){const _0x24de98=a0_0x71ad74,_0x5cb38f={'nFyCl':'[Kafka]\x20Producer\x20disconnected','rCNzR':_0x24de98(0x1fd),'yqwWW':function(_0x788d6,_0x12ba94){return _0x788d6(_0x12ba94);},'mMqZx':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x557097=this['getConfig']();if(!_0x557097[_0x24de98(0x23b)])return console[_0x24de98(0x1fa)](_0x5cb38f['mMqZx']),![];if(this['isConnected'])return!![];if(this[_0x24de98(0x24d)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x24de98(0x231)]=new Promise(async _0x288add=>{const _0x17bc7a=_0x24de98;try{let _0x4df103=undefined;process[_0x17bc7a(0x1fc)]['KAFKA_SSL']===_0x5cb38f[_0x17bc7a(0x218)]&&(_0x4df103=!![]);let _0x51779e=undefined;process[_0x17bc7a(0x1fc)]['KAFKA_SASL_MECHANISM']&&(_0x51779e={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x17bc7a(0x1fc)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x17bc7a(0x236)]=new Kafka({'clientId':_0x557097[_0x17bc7a(0x1f5)],'brokers':_0x557097['brokers'],'connectionTimeout':_0x557097[_0x17bc7a(0x230)],'requestTimeout':_0x557097['requestTimeout'],'logLevel':this['getLogLevel'](_0x557097[_0x17bc7a(0x220)]),'ssl':_0x4df103,'sasl':_0x51779e,'retry':{'initialRetryTime':_0x557097['retryDelay'],'retries':_0x557097[_0x17bc7a(0x203)]}}),this[_0x17bc7a(0x23f)]=this['kafka'][_0x17bc7a(0x23f)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x17bc7a(0x229)](),this[_0x17bc7a(0x209)]=!![],console[_0x17bc7a(0x1fa)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x557097[_0x17bc7a(0x21c)]['join'](',\x20')),this['producer']['on'](_0x17bc7a(0x225),()=>{const _0x1a7db2=_0x17bc7a;console['log'](_0x5cb38f['nFyCl']),this[_0x1a7db2(0x209)]=![];}),_0x5cb38f[_0x17bc7a(0x204)](_0x288add,!![]);}catch(_0x36adb4){console[_0x17bc7a(0x211)](_0x17bc7a(0x20e)+_0x36adb4[_0x17bc7a(0x219)]),this['isConnected']=![],_0x5cb38f[_0x17bc7a(0x204)](_0x288add,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['formatDateTime'](_0x4ea524){const _0x2faa48=a0_0x71ad74,_0x30b910={'iUrcs':function(_0x37a017,_0x298708){return _0x37a017+_0x298708;},'AZGse':function(_0x4d305a,_0x291d0d){return _0x4d305a(_0x291d0d);}},_0x17503a=_0x4ea524||new Date(),_0x56accd=_0x17503a[_0x2faa48(0x227)](),_0xa0f377=String(_0x30b910['iUrcs'](_0x17503a['getMonth'](),0x1))['padStart'](0x2,'0'),_0x27fe73=String(_0x17503a[_0x2faa48(0x22b)]())[_0x2faa48(0x23d)](0x2,'0'),_0x30dc7b=_0x30b910['AZGse'](String,_0x17503a[_0x2faa48(0x249)]())[_0x2faa48(0x23d)](0x2,'0'),_0x20fc4b=String(_0x17503a[_0x2faa48(0x20f)]())['padStart'](0x2,'0'),_0x17f986=_0x30b910[_0x2faa48(0x221)](String,_0x17503a[_0x2faa48(0x24b)]())['padStart'](0x2,'0');return _0x56accd+'-'+_0xa0f377+'-'+_0x27fe73+'\x20'+_0x30dc7b+':'+_0x20fc4b+':'+_0x17f986;}['buildTopicName'](_0x2de0fe,_0xa711bc,_0x8957cc,_0x4ad863=null){const _0x4c8f13=a0_0x71ad74,_0x532452={'AFaoM':'{module}','QxXWc':_0x4c8f13(0x232),'Ysjcx':_0x4c8f13(0x1f4)};if(_0x4ad863)return _0x4ad863;const _0x3b87ed=this['getConfig']()['topicPattern'];return _0x3b87ed['replace'](_0x532452[_0x4c8f13(0x22e)],_0x2de0fe)[_0x4c8f13(0x238)](_0x532452['QxXWc'],_0xa711bc)['replace'](_0x532452[_0x4c8f13(0x20d)],_0x8957cc);}[a0_0x71ad74(0x1fb)](_0x24bfac,_0xbdd6d1,_0x4b2930,_0x3d4b86={}){const _0x17854a=a0_0x71ad74,_0x4e93fd={'oWVMv':function(_0x206f67){return _0x206f67();},'JJgOJ':function(_0x2484d2){return _0x2484d2();},'FDKPF':_0x17854a(0x1f7)},_0x29ab99=new Date(),_0x403812=this[_0x17854a(0x21b)](_0x29ab99),_0x1b8c69=_0x3d4b86['correlationId']||'corr-'+_0x4e93fd[_0x17854a(0x210)](uuidv7);return{'eventId':_0x17854a(0x22f)+_0x4e93fd['JJgOJ'](uuidv7),'eventType':_0x24bfac,'eventTime':_0x403812,'eventVersion':'1.0','source':'restforge-'+(_0x3d4b86['module']||_0x4e93fd[_0x17854a(0x234)]),'correlationId':_0x1b8c69,'newData':_0x4b2930,'oldData':_0xbdd6d1,'metadata':{'createdBy':_0x3d4b86[_0x17854a(0x1f2)]||_0x17854a(0x23c),'createdAt':_0x403812,'systemId':'RESTFORGE-'+(_0x3d4b86['module']||_0x4e93fd[_0x17854a(0x234)])['toUpperCase'](),'tenantId':this[_0x17854a(0x1f3)]()[_0x17854a(0x244)],'endpoint':_0x3d4b86[_0x17854a(0x222)]||null,'tableName':_0x3d4b86[_0x17854a(0x235)]||null}};}async['publishEvent'](_0x33b34f,_0x10912e,_0x25f586,_0x4ca958,_0x4557b2={}){const _0x5d2067=a0_0x71ad74,_0x5f424c=this[_0x5d2067(0x1f3)]();if(!_0x5f424c[_0x5d2067(0x23b)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x5d2067(0x209)]){const _0x5b5a10=await this['initialize']();if(!_0x5b5a10)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x284333=this[_0x5d2067(0x1fb)](_0x10912e,_0x25f586,_0x4ca958,_0x4557b2),_0x48c0e1=_0x4557b2['keyField']||'id',_0x1433c7=_0x4ca958?.[_0x48c0e1]||_0x25f586?.[_0x48c0e1]||uuidv7(),_0x4e0773=await this[_0x5d2067(0x23f)]['send']({'topic':_0x33b34f,'messages':[{'key':String(_0x1433c7),'value':JSON['stringify'](_0x284333),'headers':{'event-type':_0x10912e,'correlation-id':_0x284333[_0x5d2067(0x208)],'source':_0x284333['source']}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x33b34f+':\x20'+_0x10912e+_0x5d2067(0x214)+_0x1433c7+')'),{'success':!![],'correlationId':_0x284333['correlationId'],'topic':_0x33b34f,'partition':_0x4e0773[0x0]?.[_0x5d2067(0x212)],'offset':_0x4e0773[0x0]?.['baseOffset'],'published':!![]};}catch(_0x11e700){return console[_0x5d2067(0x211)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x33b34f+':\x20'+_0x11e700[_0x5d2067(0x219)]),{'success':![],'error':_0x11e700[_0x5d2067(0x219)],'published':![]};}}async[a0_0x71ad74(0x228)](_0x32a1b5,_0x465409,_0xbd87e4,_0x354fdf={}){const _0x523374=a0_0x71ad74,_0x287ef2={'zwomP':_0x523374(0x21a),'cGfYL':_0x523374(0x22d)},_0x3dfa92=this[_0x523374(0x20a)](_0x32a1b5,_0x465409,_0x287ef2['zwomP'],_0x354fdf[_0x523374(0x242)]);return this['publishEvent'](_0x3dfa92,_0x287ef2['cGfYL'],null,_0xbd87e4,{'module':_0x32a1b5,'endpoint':_0x465409,'keyField':_0x354fdf['keyField'],'tableName':_0x354fdf['tableName'],'correlationId':_0x354fdf[_0x523374(0x208)]});}async['publishUpdate'](_0x3bfbe9,_0x433943,_0x4f3f85,_0x4eb2e8,_0x321042={}){const _0x5d8b18=a0_0x71ad74,_0x2dfc6a=this['buildTopicName'](_0x3bfbe9,_0x433943,'updated',_0x321042['topic']);return this['publishEvent'](_0x2dfc6a,_0x5d8b18(0x226),_0x4f3f85,_0x4eb2e8,{'module':_0x3bfbe9,'endpoint':_0x433943,'keyField':_0x321042[_0x5d8b18(0x1f9)],'tableName':_0x321042['tableName'],'correlationId':_0x321042[_0x5d8b18(0x208)]});}async[a0_0x71ad74(0x247)](_0x24cfb0,_0xf9636f,_0x1477ed,_0x364795={}){const _0x2c9ea2=a0_0x71ad74,_0x19300b={'pxMFR':_0x2c9ea2(0x1ff),'lpqyj':_0x2c9ea2(0x20b)},_0x4cbfb9=this['buildTopicName'](_0x24cfb0,_0xf9636f,_0x19300b['pxMFR'],_0x364795['topic']);return this['publishEvent'](_0x4cbfb9,_0x19300b['lpqyj'],_0x1477ed,null,{'module':_0x24cfb0,'endpoint':_0xf9636f,'keyField':_0x364795[_0x2c9ea2(0x1f9)],'tableName':_0x364795[_0x2c9ea2(0x235)],'correlationId':_0x364795['correlationId']});}[a0_0x71ad74(0x24e)](){const _0x3b53c3=a0_0x71ad74,_0x1926eb=this[_0x3b53c3(0x1f3)]();return{'enabled':_0x1926eb[_0x3b53c3(0x23b)],'connected':this['isConnected'],'brokers':_0x1926eb[_0x3b53c3(0x21c)],'clientId':_0x1926eb[_0x3b53c3(0x1f5)],'topicPattern':_0x1926eb['topicPattern']};}async[a0_0x71ad74(0x24f)](){const _0x21304f=a0_0x71ad74;if(this[_0x21304f(0x23f)]&&this['isConnected'])try{await this[_0x21304f(0x23f)]['disconnect'](),this[_0x21304f(0x209)]=![],console['log'](_0x21304f(0x239));}catch(_0x2f4ec0){console[_0x21304f(0x211)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2f4ec0[_0x21304f(0x219)]);}}}let instance=null;function a0_0x5469(_0x3c672e,_0x3c64d0){_0x3c672e=_0x3c672e-0x1f2;const _0x389704=a0_0x3897();let _0x5469d9=_0x389704[_0x3c672e];if(a0_0x5469['WjiGzX']===undefined){var _0x2701a4=function(_0x46bb3a){const _0x2c669f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe29553='',_0x16e92f='';for(let _0xf7ce9b=0x0,_0x33924b,_0x1536f7,_0x5234c7=0x0;_0x1536f7=_0x46bb3a['charAt'](_0x5234c7++);~_0x1536f7&&(_0x33924b=_0xf7ce9b%0x4?_0x33924b*0x40+_0x1536f7:_0x1536f7,_0xf7ce9b++%0x4)?_0xe29553+=String['fromCharCode'](0xff&_0x33924b>>(-0x2*_0xf7ce9b&0x6)):0x0){_0x1536f7=_0x2c669f['indexOf'](_0x1536f7);}for(let _0x50ee22=0x0,_0x4a82e9=_0xe29553['length'];_0x50ee22<_0x4a82e9;_0x50ee22++){_0x16e92f+='%'+('00'+_0xe29553['charCodeAt'](_0x50ee22)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16e92f);};a0_0x5469['QoLwfc']=_0x2701a4,a0_0x5469['DkGScA']={},a0_0x5469['WjiGzX']=!![];}const _0x558a4d=_0x389704[0x0],_0x31a93d=_0x3c672e+_0x558a4d,_0x3257ff=a0_0x5469['DkGScA'][_0x31a93d];return!_0x3257ff?(_0x5469d9=a0_0x5469['QoLwfc'](_0x5469d9),a0_0x5469['DkGScA'][_0x31a93d]=_0x5469d9):_0x5469d9=_0x3257ff,_0x5469d9;}function a0_0x3897(){const _0x250b60=['ru5usvrzx0nsrufuruq','quzHB00','zxz0lq','y29UBMvJDgLVBLrPBwvVDxq','y29UBMvJDgLVBLbYB21PC2u','E2vUzhbVAw50Fq','oxP0yKvVsa','rKrluey','DgfIBgvoyw1L','A2fMA2e','mZmYodeYs1zSyNrR','CMvWBgfJzq','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','zw5HyMXLza','u1Ltvevn','CgfKu3rHCNq','nvrODhzeta','ChjVzhvJzxi','DxvPza','C3bSAxq','Dg9WAwm','mtbkELroqKO','DgvUyw50swq','A2fMA2fQCW','su5gtW','ChvIBgLZAerLBgv0zq','Aw5PDgLHBgL6zq','z2v0sg91CNm','s0fgs0fFvevoqu5ux0Le','z2v0u2vJB25KCW','vu9VAva','AxnjBML0AwfSAxPPBMC','z2v0u3rHDhvZ','y2XVC2u','odu4odu4DfL1C1vP','y3jLyxrLzej5','z2v0q29UzMLN','E2fJDgLVBN0','y2XPzw50swq','nhWYFdb8mxWZ','Dw5RBM93BG','revcvuC','A2v5rMLLBgq','Bg9N','yNvPBgrfDMvUDe1LC3nHz2u','zw52','Dhj1zq','mJuWmda','zgvSzxrLza','mZCZoti2rLHHzhnM','s0fgs0fFqLjps0vsuW','mLjxELvcvG','CMv0CNLbDhrLBxb0CW','Exf3v1C','zxHWB3j0CW','s0fgs0fFq0Xjru5ux0Le','CMvZDgzVCMDLlq','y29YCMvSyxrPB25jza','AxndB25Uzwn0zwq','yNvPBgruB3bPy05HBwu','ru5usvrzx0rftevuruq','s0fgs0fFuKvuuLLFqvruru1qvfm','wxnQy3G','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','z2v0twLUDxrLCW','B1Dwtxy','zxjYB3i','CgfYDgL0Aw9U','v0fstG','icHRzxK6ia','shfyBw0','zgvMyxvSDa','Bg9JywXOB3n0oJKWoti','CKnoELi','BwvZC2fNzq','y3jLyxrLza','zM9YBwf0rgf0zvrPBwu','yNjVA2vYCW','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','mtmWmZG1nK9Tt1vhBq','ntqXmJGZnLzxy0X0AW','Bg9Ntgv2zwW','qvPhC2u','zw5KCg9PBNq','otu5mJuWzgXkBgPz','zevvtNm','ChjVzhvJzxiUzgLZy29UBMvJDa','ru5usvrzx1vqrefuruq','z2v0rNvSBfLLyxi','ChvIBgLZAeLUC2vYDa','y29UBMvJDa','Dg9mB3DLCKnHC2u','z2v0rgf0zq','otmWnZyWEgLlBNnH'];a0_0x3897=function(){return _0x250b60;};return a0_0x3897();}function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x71ad74(0x205)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
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 +1 @@
|
|
|
1
|
-
const a0_0x32062c=a0_0x4e41;(function(_0x28de16,_0x492d7a){const _0x15290e=a0_0x4e41,_0x3eafcf=_0x28de16();while(!![]){try{const _0x319ce1=parseInt(_0x15290e(0x1f3))/0x1+parseInt(_0x15290e(0x206))/0x2+parseInt(_0x15290e(0x1e0))/0x3+-parseInt(_0x15290e(0x1f2))/0x4*(parseInt(_0x15290e(0x1f7))/0x5)+-parseInt(_0x15290e(0x1e4))/0x6+parseInt(_0x15290e(0x1c3))/0x7+-parseInt(_0x15290e(0x1de))/0x8;if(_0x319ce1===_0x492d7a)break;else _0x3eafcf['push'](_0x3eafcf['shift']());}catch(_0x28b508){_0x3eafcf['push'](_0x3eafcf['shift']());}}}(a0_0x1c04,0xd4746));function a0_0x1c04(){const _0x5d1686=['rNzTAeW','4PQG77IpievYCM9YoIa','y2HHBM5LBa','BMfTzq','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','y29UBMvJDgvK','y2f0zwDVCNK','CMvJzwL2zxjjza','CMvXDwvZDeLK','C3rYAw5NAwz5','tvnivujFqvbjx1bpuLq','mtaYndCXnLrjAKjjAq','Dhj1zq','y2XVC2u','z3PTyuu','AujACeO','zxjYB3jezxrHAwW','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','q2HHBM5LBcbuyxjNzxq6ia','zxHPC3rZu3LUyW','CMvXDwLYzufJAW','Dg9mB2nHBgvuAw1Lu3rYAw5N','zw52','CgLK','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CMvJzwL2zxjjBMzV','uMfiquK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','BfLvvLO','mJmXntK5mMfswNr5qq','uhvIBgLZAcblzxK6ia','BwvZC2fNzq','sg9vwNi','q2XPzw50ieLel1vZzxjjrdOG','Avjove0','qMTLEfi','CMvZDgzVCMDLlq','y29TBxvUAwnHDgLVBLr5Cgu','tvnivujFu0vsvKLdrv9qt1ju','Dg9ju09tDhjPBMC','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','zxLtzfG','u3rHDhvZieXPC3rLBMvYoIa','vgLWzsblB211BMLRyxnPoIa','AKrdBum','CMvJzwL2zwrbDa','Bg9N','y2XLyxjdywnOzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','CujWze4','Bg9JywXOB3n0','DxnLCKLK','s29UzwTZAsb0zxjWDxr1CZOG','zwDYzeu','tvnivujFufvcteLtsf9lrvK','s29UzMLNDxjHC2KGugXHDgzVCM06ia','nJm2ndm2me5tDLjuzq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','mZm1mtK3ofjqELfNua','zNvUy3rPB24','DxvPza','Au5bs0q','mta0otu1nKXKrhDmCq','CgXHDgzVCM1dB25MAwC','tw9KztOGs29UzwTZAsboEwf0yq','vw5RBM93BG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','Dg9WAwm','zgLZy29UBMvJDa','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','D2vIC29JA2v0','tvnivujFq09ntvvosunbveLptL9uwvbf','wM1yBue','Dg9mB2nHBgvtDhjPBMC','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','ywrKtgLZDgvUzxi','mJu5otaWtvHPzeXS','mtuWnduYmerMCw1evq','tMTQtNu','C3vIC2nYAwjLs2v5','zxHWB3j0CW','mti1z2ntBKPL','C29JA2v0','Bg9mwK0','zgLZy29UBMvJDgvK'];a0_0x1c04=function(){return _0x5d1686;};return a0_0x1c04();}const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x32062c(0x1e2));dotenv['config']();let MessageHub;function a0_0x4e41(_0x543050,_0xd960de){_0x543050=_0x543050-0x1b8;const _0x1c040b=a0_0x1c04();let _0x4e4188=_0x1c040b[_0x543050];if(a0_0x4e41['FLWUMx']===undefined){var _0x597c92=function(_0x5d93aa){const _0x4a23ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f4684='',_0x4bc0e0='';for(let _0x4e1a22=0x0,_0xf3fb19,_0x2a1b41,_0x166aca=0x0;_0x2a1b41=_0x5d93aa['charAt'](_0x166aca++);~_0x2a1b41&&(_0xf3fb19=_0x4e1a22%0x4?_0xf3fb19*0x40+_0x2a1b41:_0x2a1b41,_0x4e1a22++%0x4)?_0x4f4684+=String['fromCharCode'](0xff&_0xf3fb19>>(-0x2*_0x4e1a22&0x6)):0x0){_0x2a1b41=_0x4a23ec['indexOf'](_0x2a1b41);}for(let _0x7c98b7=0x0,_0x58517f=_0x4f4684['length'];_0x7c98b7<_0x58517f;_0x7c98b7++){_0x4bc0e0+='%'+('00'+_0x4f4684['charCodeAt'](_0x7c98b7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bc0e0);};a0_0x4e41['oaOwDn']=_0x597c92,a0_0x4e41['uaSULo']={},a0_0x4e41['FLWUMx']=!![];}const _0x477d04=_0x1c040b[0x0],_0x29cede=_0x543050+_0x477d04,_0x5e1c6c=a0_0x4e41['uaSULo'][_0x29cede];return!_0x5e1c6c?(_0x4e4188=a0_0x4e41['oaOwDn'](_0x4e4188),a0_0x4e41['uaSULo'][_0x29cede]=_0x4e4188):_0x4e4188=_0x5e1c6c,_0x4e4188;}try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0x32062c(0x1b9)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x32062c(0x1d4)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x3454ba){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x3454ba['message']);throw a0_0x3454ba;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0xcc9435){const _0x4d2936=a0_0x32062c,_0x51f85f=new Date()[_0x4d2936(0x1cd)]();console[_0x4d2936(0x1d4)]('['+_0x51f85f+']\x20'+_0xcc9435);}async function initMessageHub(){const _0x3c4ba0=a0_0x32062c,_0x1a1026={'BkexR':function(_0x151788,_0x93da3a){return _0x151788&&_0x93da3a;},'gzmaE':function(_0x4c4cf5,_0x3de33f){return _0x4c4cf5(_0x3de33f);},'lbMNw':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','QICYO':'Connection\x20timeout','NkjNu':function(_0x3c4bf3,_0x3912aa){return _0x3c4bf3===_0x3912aa;},'FsBPX':'error','egrdE':function(_0x7abdd8,_0x3442a7){return _0x7abdd8(_0x3442a7);},'GcuZE':_0x3c4ba0(0x1be),'jDCmC':function(_0x3de2e1,_0x310437){return _0x3de2e1===_0x310437;},'iRNTM':'true','WASmK':function(_0x4fa54c,_0x1d90dd){return _0x4fa54c(_0x1d90dd);},'JXklO':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','sLcmi':function(_0x3546c0,_0x3f9ac4){return _0x3546c0(_0x3f9ac4);},'ZmXmA':function(_0xf7685f,_0x439c2a){return _0xf7685f(_0x439c2a);},'upkrB':function(_0x114283,_0x193492){return _0x114283(_0x193492);},'qZCdQ':'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'};if(_0x1a1026[_0x3c4ba0(0x1c9)](messagehub,isConnected))return log(_0x3c4ba0(0x20c)),!![];if(connectionPromise)return log(_0x1a1026['qZCdQ']),connectionPromise;return connectionPromise=new Promise(async(_0x3a3a94,_0x139d24)=>{const _0x295a95=_0x3c4ba0,_0x256a74={'FvmhL':function(_0x6a55d4,_0x570cdd){return _0x6a55d4(_0x570cdd);},'Rfyxl':function(_0x5a98ca,_0x62b49e){const _0x35d607=a0_0x4e41;return _0x1a1026[_0x35d607(0x1f4)](_0x5a98ca,_0x62b49e);},'ZfDNv':function(_0x3ae388,_0x3716c9){return _0x3ae388(_0x3716c9);},'iBZpJ':'Tidak\x20diketahui','lYUVZ':_0x1a1026['FsBPX'],'RaHAI':function(_0x5b0e41,_0x19c8d1){return _0x1a1026['gzmaE'](_0x5b0e41,_0x19c8d1);}};try{_0x1a1026[_0x295a95(0x1db)](log,_0x1a1026['GcuZE']),_0x1a1026['gzmaE'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x295a95(0x1ef)]()),_0x1a1026[_0x295a95(0x209)](log,_0x295a95(0x1e6));const _0x3c790b={'publishKey':process['env'][_0x295a95(0x1dc)],'subscribeKey':process[_0x295a95(0x1bc)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x295a95(0x1bc)]['MSHUB_USER_ID']||_0x295a95(0x1ca)+(process[_0x295a95(0x1bc)]['RESTFORGE_PROJECT_NAME']||'default')+'-'+process[_0x295a95(0x1bd)],'communicationType':process[_0x295a95(0x1bc)]['MSHUB_COMMUNICATION_TYPE']||'broadcast','autoAcknowledge':_0x1a1026[_0x295a95(0x1d2)](process['env']['MSHUB_AUTO_ACKNOWLEDGE'],_0x1a1026[_0x295a95(0x1c8)]),'acknowledgeMessages':_0x1a1026['jDCmC'](process['env']['MSHUB_ACKNOWLEDGE_MESSAGES'],_0x295a95(0x207)),'platform':{'type':process['env'][_0x295a95(0x1ed)]||_0x295a95(0x1ec),'host':process[_0x295a95(0x1bc)]['MSHUB_HOST']||_0x295a95(0x1d8),'api_port':parseInt(process[_0x295a95(0x1bc)][_0x295a95(0x205)]||0xdf8),'service_port':parseInt(process[_0x295a95(0x1bc)][_0x295a95(0x1cc)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x3c790b),_0x1a1026['WASmK'](log,_0x1a1026['JXklO']),log(_0x295a95(0x1c7)+messagehub[_0x295a95(0x1d9)]),log(_0x295a95(0x1c4)+messagehub['publishKey']),_0x1a1026['sLcmi'](log,'Subscribe\x20Key:\x20'+messagehub[_0x295a95(0x1f5)]),_0x1a1026[_0x295a95(0x1ee)](log,_0x295a95(0x1d1)+messagehub[_0x295a95(0x1cb)]),_0x1a1026['upkrB'](log,_0x295a95(0x1dd)+JSON[_0x295a95(0x204)](messagehub[_0x295a95(0x1e5)])),log('========================================'),messagehub[_0x295a95(0x1f1)]({'status':function(_0x153dbd){const _0xff8ccb=_0x295a95;_0x256a74[_0xff8ccb(0x1fb)](log,_0xff8ccb(0x1d0)+_0x153dbd['category']);if(_0x256a74['Rfyxl'](_0x153dbd[_0xff8ccb(0x201)],_0xff8ccb(0x200)))log(_0xff8ccb(0x1ff)),isConnected=!![],timeoutHandler&&(_0x256a74[_0xff8ccb(0x1fb)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x256a74['ZfDNv'](_0x3a3a94,!![]);else{if(_0x153dbd[_0xff8ccb(0x201)]===_0xff8ccb(0x1fa)){const _0x1236fe=_0x153dbd['isErrorRelated']===!![];!_0x1236fe&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x153dbd['reason']||_0x256a74[_0xff8ccb(0x20a)])),isConnected=![],connectionPromise&&(_0x139d24(new Error(_0xff8ccb(0x1da)+(_0x153dbd['reason']||_0x256a74['iBZpJ']))),connectionPromise=null));}else{if(_0x153dbd[_0xff8ccb(0x201)]===_0x256a74[_0xff8ccb(0x1c2)]){let _0x7751db=_0x153dbd[_0xff8ccb(0x20b)]||_0x153dbd['error']||'Unknown\x20error';log(_0xff8ccb(0x1fc)+_0x7751db),isConnected=![],connectionPromise&&(_0x139d24(new Error(_0x7751db)),connectionPromise=null);}else{if(_0x153dbd['category']==='message-sent')_0x256a74[_0xff8ccb(0x1c0)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x153dbd[_0xff8ccb(0x203)]);else{if(_0x153dbd['category']==='message-received'){const _0x5b6ba7=_0x153dbd['receiverInfo']?.[_0xff8ccb(0x1fe)]||_0xff8ccb(0x1e7),_0x460d9c=_0x153dbd[_0xff8ccb(0x1bf)]?.['id']||_0x153dbd[_0xff8ccb(0x202)],_0x621a7b=new Date(_0x153dbd[_0xff8ccb(0x1bf)]?.['receivedAt']||_0x153dbd[_0xff8ccb(0x1d3)]||new Date())[_0xff8ccb(0x1bb)]();_0x256a74[_0xff8ccb(0x1c0)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x153dbd['requestId']+'\x20diterima\x20oleh\x20'+_0x5b6ba7+'\x20('+_0x460d9c+')\x20pada\x20'+_0x621a7b+'.\x20Total\x20konfirmasi:\x20'+(_0x153dbd['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x3cd7da=_0x295a95;_0x1a1026[_0x3cd7da(0x1c9)](!isConnected,connectionPromise)&&(_0x1a1026[_0x3cd7da(0x209)](log,_0x1a1026['lbMNw']),_0x1a1026[_0x3cd7da(0x209)](_0x139d24,new Error(_0x1a1026['QICYO'])),connectionPromise=null);},0x2710);}catch(_0x58fe28){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x58fe28[_0x295a95(0x1c5)]),console['error'](_0x295a95(0x1ce),_0x58fe28),connectionPromise=null,_0x139d24(_0x58fe28);}}),connectionPromise;}async function publishMessage(_0x37906,_0x30bb0b,_0x5ea599,_0x5965e6={}){const _0x6b94e9=a0_0x32062c,_0x4e902a={'unGbu':function(_0x24d886){return _0x24d886();},'iNAKD':function(_0x3a9003,_0x5248ae){return _0x3a9003(_0x5248ae);},'eySdX':'restforge','qBpdN':_0x6b94e9(0x1c1),'lRKLz':'Message\x20sent\x20successfully','loLZM':function(_0x32906e,_0x597cf5){return _0x32906e(_0x597cf5);}};try{!isConnected&&await _0x4e902a['unGbu'](initMessageHub);const _0x4fe481=messagehub[_0x6b94e9(0x1fd)](_0x37906);log('======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),log(_0x6b94e9(0x1b8)+_0x4fe481[_0x6b94e9(0x1e9)]),_0x4e902a['iNAKD'](log,'Message\x20Type:\x20'+_0x30bb0b),log(_0x6b94e9(0x1e8));const _0x130699={'requireAck':_0x5965e6['requireAck']!==undefined?_0x5965e6[_0x6b94e9(0x1ba)]:![],'clearCache':_0x5965e6[_0x6b94e9(0x1d5)]!==undefined?_0x5965e6['clearCache']:!![],'senderId':messagehub[_0x6b94e9(0x1f8)]?messagehub[_0x6b94e9(0x1f8)]['id']:_0x4e902a[_0x6b94e9(0x1cf)]};_0x4e902a['iNAKD'](log,_0x4e902a[_0x6b94e9(0x1d7)]);const _0x2f8912={'type':_0x30bb0b,'content':_0x5ea599},_0x47b8d4=await _0x4fe481['publish'](_0x2f8912,_0x130699);return _0x4e902a[_0x6b94e9(0x1e3)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x37906),{'success':!![],'requestId':_0x47b8d4['requestId'],'topic':_0x37906,'message':_0x4e902a['lRKLz']};}catch(_0x4f8b2a){return _0x4e902a[_0x6b94e9(0x1f9)](log,_0x6b94e9(0x1eb)+_0x4f8b2a[_0x6b94e9(0x1c5)]),{'success':![],'error':_0x4f8b2a['message'],'topic':_0x37906,'message':_0x6b94e9(0x1f0)};}}async function closeConnection(){const _0x3e15cd=a0_0x32062c,_0x37bfe8={'HoUZr':function(_0xba8042,_0x2a5553){return _0xba8042(_0x2a5553);},'CtCiI':function(_0x26fe13,_0x219e78){return _0x26fe13===_0x219e78;},'kHKmJ':'function','uBjTU':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(_0x37bfe8[_0x3e15cd(0x1c6)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x37bfe8['CtCiI'](typeof messagehub[_0x3e15cd(0x1ea)],_0x37bfe8['kHKmJ']))await messagehub['disconnect'](),log(_0x3e15cd(0x1df));else{if(typeof messagehub[_0x3e15cd(0x208)]===_0x3e15cd(0x1e1))await messagehub[_0x3e15cd(0x208)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x3e15cd(0x1f8)]&&typeof messagehub['socket'][_0x3e15cd(0x1ea)]==='function'?(messagehub['socket'][_0x3e15cd(0x1ea)](),_0x37bfe8[_0x3e15cd(0x1c6)](log,_0x3e15cd(0x1d6))):log(_0x37bfe8['uBjTU']);}isConnected=![],connectionPromise=null;}catch(_0x720dce){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x720dce[_0x3e15cd(0x1c5)]);}}module[a0_0x32062c(0x1f6)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
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};
|