@restforgejs/platform 5.1.7 → 5.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/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/payload/generate.js +10 -2
- 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/processor-validation-generator.js +16 -16
- package/generators/lib/payload/payload-runner.js +711 -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/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';const a0_0x2b50ff=a0_0x94e1;function a0_0xd8c8(){const _0x2ac5c2=['mJiWnMHLANrNrG','DxbSB2fKlq','zw52','C2L6zq','mta5nJyWmJbkrxnLCxm','mtjruxPUy2i','zxH0BMfTzq','CMvWBgfJzq','DgvTCerPCG','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','B3jPz2LUywXUyw1L','x3rLBxbeAxi','CuDsEfC','AM9PBG','BM93','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','DxbSB2fKCW','BwTywha','Bwf0y2G','mtuYowTosuj2CW','x2rLBgv0zvrLBxbgAwXL','DhjPBq','ChjVDMLKzxjoyw1L','mtqZodqZEfP3vKn1','ndyZmJa2mervrLjdua','rMLSzsb0ExbLiciU','Cgf0Aa','yMfZzw5HBwu','Bwf4rMLSzvnPEMu','y3jLyxrLuMvHzfn0CMvHBq','mti5nJG4nhvYwLLYqq','BwLTzxr5Cgu','Aw5JBhvKzxm','DxbSB2fK','oeTyELnfuG','mta2mte0mtrtrLzxANm','Bw9KDwXL','yNvJA2v0','nvrMDw1sAG','Dg9mB3DLCKnHC2u','zw5KCg9PBNq','BwvZC2fNzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zgLZA1n0B3jHz2u','ndK1mJC2CufZr01e','CMfUzg9TqNL0zxm','mta2nvbiBgfbva','x3bHCNnLrMLSzvnPEMu','vvbmt0fex1rftvbFreLs','Bwf4rMLSzxm'];a0_0xd8c8=function(){return _0x2ac5c2;};return a0_0xd8c8();}function a0_0x94e1(_0x210da8,_0x1e245c){_0x210da8=_0x210da8-0x17b;const _0xd8c89e=a0_0xd8c8();let _0x94e1a9=_0xd8c89e[_0x210da8];if(a0_0x94e1['jHfMPS']===undefined){var _0x3bc56a=function(_0x1197d5){const _0x10298d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x135225='',_0x41ff9e='';for(let _0x98ba48=0x0,_0x3ea6dc,_0x1ff6e0,_0x5577a=0x0;_0x1ff6e0=_0x1197d5['charAt'](_0x5577a++);~_0x1ff6e0&&(_0x3ea6dc=_0x98ba48%0x4?_0x3ea6dc*0x40+_0x1ff6e0:_0x1ff6e0,_0x98ba48++%0x4)?_0x135225+=String['fromCharCode'](0xff&_0x3ea6dc>>(-0x2*_0x98ba48&0x6)):0x0){_0x1ff6e0=_0x10298d['indexOf'](_0x1ff6e0);}for(let _0x25bfb5=0x0,_0x2ca5af=_0x135225['length'];_0x25bfb5<_0x2ca5af;_0x25bfb5++){_0x41ff9e+='%'+('00'+_0x135225['charCodeAt'](_0x25bfb5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x41ff9e);};a0_0x94e1['nuomOk']=_0x3bc56a,a0_0x94e1['HNToRq']={},a0_0x94e1['jHfMPS']=!![];}const _0x44eaa4=_0xd8c89e[0x0],_0xb271c1=_0x210da8+_0x44eaa4,_0x3a5ceb=a0_0x94e1['HNToRq'][_0xb271c1];return!_0x3a5ceb?(_0x94e1a9=a0_0x94e1['nuomOk'](_0x94e1a9),a0_0x94e1['HNToRq'][_0xb271c1]=_0x94e1a9):_0x94e1a9=_0x3a5ceb,_0x94e1a9;}(function(_0x4432f4,_0x5e2477){const _0x2441ff=a0_0x94e1,_0x51efa2=_0x4432f4();while(!![]){try{const _0x31b878=-parseInt(_0x2441ff(0x18e))/0x1+-parseInt(_0x2441ff(0x1a2))/0x2*(parseInt(_0x2441ff(0x19e))/0x3)+-parseInt(_0x2441ff(0x188))/0x4*(parseInt(_0x2441ff(0x196))/0x5)+parseInt(_0x2441ff(0x1a7))/0x6*(parseInt(_0x2441ff(0x187))/0x7)+parseInt(_0x2441ff(0x192))/0x8*(-parseInt(_0x2441ff(0x193))/0x9)+-parseInt(_0x2441ff(0x1a6))/0xa+-parseInt(_0x2441ff(0x183))/0xb*(-parseInt(_0x2441ff(0x19c))/0xc);if(_0x31b878===_0x5e2477)break;else _0x51efa2['push'](_0x51efa2['shift']());}catch(_0x478039){_0x51efa2['push'](_0x51efa2['shift']());}}}(a0_0xd8c8,0xa023d));const multer=require('multer'),path=require(a0_0x2b50ff(0x18a)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x13165e=a0_0x2b50ff,_0x3b2809={'cCKhH':'temp'};if(!this[_0x13165e(0x1ad)]){const _0x59b95a=process[_0x13165e(0x1a4)][_0x13165e(0x19a)]||'default';this[_0x13165e(0x1ad)]=process['env'][_0x13165e(0x1a0)]||path['join'](process['cwd'](),_0x3b2809['cCKhH'],_0x13165e(0x180),_0x59b95a),!fsSync['existsSync'](this[_0x13165e(0x1ad)])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x47450c={}){const _0x2f7d49=a0_0x2b50ff,_0x3cba60={'mkXXp':'hex','opvzr':function(_0x1472d7,_0x27bc7d,_0x448908){return _0x1472d7(_0x27bc7d,_0x448908);}},_0x7b6d23=_0x47450c[_0x2f7d49(0x1a1)]||0x5,_0xc11509=this['_parseFileSize'](_0x47450c[_0x2f7d49(0x18c)]||'10MB'),_0x53b305=_0x47450c['allowedTypes']||[],_0x5c2b3a=multer[_0x2f7d49(0x19b)]({'destination':(_0x819e17,_0xeec4e6,_0x463a31)=>{const _0x1340cf=_0x2f7d49;!fsSync['existsSync'](this['tempDir'])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x463a31(null,this[_0x1340cf(0x1aa)]);},'filename':(_0x516bfa,_0x1c8448,_0x35101e)=>{const _0x2820f1=_0x2f7d49,_0x9552af=crypto[_0x2820f1(0x19d)](0x8)['toString'](_0x3cba60[_0x2820f1(0x181)]),_0x217d2d=Date[_0x2820f1(0x17d)](),_0x2124f6=path['extname'](_0x1c8448['originalname']);_0x3cba60['opvzr'](_0x35101e,null,_0x2820f1(0x1a3)+_0x217d2d+'-'+_0x9552af+_0x2124f6);}}),_0xbf5ac1=(_0x557a17,_0x206363,_0x412eef)=>{const _0x2d0ce8=_0x2f7d49;if(_0x53b305['length']===0x0)return _0x412eef(null,!![]);const _0x443305=path[_0x2d0ce8(0x1a8)](_0x206363[_0x2d0ce8(0x1ac)])[_0x2d0ce8(0x197)]()[_0x2d0ce8(0x1a9)]('.','');_0x53b305[_0x2d0ce8(0x190)](_0x443305)?_0x3cba60['opvzr'](_0x412eef,null,!![]):_0x412eef(new Error(_0x2d0ce8(0x189)+_0x443305+_0x2d0ce8(0x17f)+_0x53b305[_0x2d0ce8(0x17c)](',\x20')));};return multer({'storage':_0x5c2b3a,'limits':{'fileSize':_0xc11509,'files':_0x7b6d23},'fileFilter':_0xbf5ac1})['array']('files',_0x7b6d23);}async['processUploadedFiles'](_0x2c3089,_0x3f5174,_0x27dae7={}){const _0x20cdf0=a0_0x2b50ff,_0x1dfe27={'lOISp':_0x20cdf0(0x1ab),'iyHxP':function(_0x4cd9c1,_0x596aca){return _0x4cd9c1(_0x596aca);}},{createFileMetadata:_0xd902f5}=require(_0x1dfe27['lOISp']),_0x4049f3=[];for(const _0x2818a2 of _0x2c3089){try{const _0x4a6ced=_0x3f5174['generateKey'](_0x2818a2[_0x20cdf0(0x1ac)],{'prefix':_0x27dae7['prefix']||'','project':_0x27dae7['project']||'','module':_0x27dae7[_0x20cdf0(0x194)]||'','endpoint':_0x27dae7[_0x20cdf0(0x198)]||''}),_0x5dca06=fsSync[_0x20cdf0(0x18d)](_0x2818a2[_0x20cdf0(0x18a)]),_0x4d6653=await _0x3f5174[_0x20cdf0(0x191)](_0x5dca06,_0x4a6ced,{'contentType':_0x2818a2['mimetype'],'fileSize':_0x2818a2[_0x20cdf0(0x1a5)]}),_0x5571a6=_0x1dfe27['iyHxP'](_0xd902f5,{'key':_0x4d6653['key'],'originalName':_0x2818a2['originalname'],'fileName':path[_0x20cdf0(0x18b)](_0x4a6ced),'contentType':_0x2818a2[_0x20cdf0(0x18f)],'size':_0x2818a2['size'],'url':_0x4d6653['url'],'provider':_0x3f5174[_0x20cdf0(0x186)],'bucket':_0x3f5174[_0x20cdf0(0x195)]||null,'uploadedBy':_0x27dae7['uploadedBy']||null});_0x4049f3['push'](_0x5571a6);}catch(_0x2cd21a){logger['error']({'event':'upload_v2_process_error','file':_0x2818a2['originalname'],'error':_0x2cd21a[_0x20cdf0(0x199)]},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x2818a2[_0x20cdf0(0x1ac)]);throw _0x2cd21a;}finally{await this[_0x20cdf0(0x184)](_0x2818a2[_0x20cdf0(0x18a)]);}}return _0x4049f3;}async[a0_0x2b50ff(0x184)](_0x142d83){const _0xe3b70b=a0_0x2b50ff,_0x32a13b={'IRhYh':'upload_v2_temp_delete_warn','duWvL':_0xe3b70b(0x17e)};try{await fs['unlink'](_0x142d83);}catch(_0x2458ed){logger['warn']({'event':_0x32a13b['IRhYh'],'filePath':_0x142d83,'error':_0x2458ed['message']},_0x32a13b['duWvL']);}}[a0_0x2b50ff(0x19f)](_0x2b7610){const _0x418ec0=a0_0x2b50ff,_0x2d516d={'pkSZE':function(_0x67f93d,_0x1ee212){return _0x67f93d===_0x1ee212;},'qGRxW':function(_0x476761,_0x206b25){return _0x476761*_0x206b25;},'gVxKG':function(_0x158224,_0x13da12){return _0x158224(_0x13da12);}};if(_0x2d516d['pkSZE'](typeof _0x2b7610,'number'))return _0x2b7610;const _0x35bee3=String(_0x2b7610)[_0x418ec0(0x185)]()[_0x418ec0(0x182)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x35bee3)return _0x2d516d[_0x418ec0(0x17b)](0xa,0x400)*0x400;const _0x1591f4=_0x2d516d['gVxKG'](parseFloat,_0x35bee3[0x1]),_0x3d2371=_0x35bee3[0x2]['toUpperCase'](),_0x4a6e0b={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':0x400*0x400*0x400};return Math['floor'](_0x2d516d[_0x418ec0(0x17b)](_0x1591f4,_0x4a6e0b[_0x3d2371]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x2e7338=a0_0x1e70;function a0_0x1142(){const _0x3d41d2=['zgLZA1n0B3jHz2u','nde1nKfmq0Duwq','mZqZody0ohHvs1Ltra','vvbmt0fex0rjuG','lNHSC3G','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','Dw5SAw5R','B3jPz2LUywXUyw1L','zxH0BMfTzq','n29yzw1IuG','BwLTzxr5Cgu','ChjVBwLZzxm','mJaWDg9ZsMHk','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zMLSzq','BxvSDgvY','Aw5MBW','mZy1mJC0t3HbBufo','zxjYB3i','DxbSB2fKx2HHBMrSzxjFAw5PDa','y2HVC3C','BwvZC2fNzq','ntKXEuvwsKfJ','q1DbyKy','zxHPC3rZu3LUyW','nta3nJb6CLLOsK4','mtK0oty1mKjXsNjbCa','ntGZwKnlBevn','BLLYyKO','DxbSB2fKrgLY','x3vWBg9HzerPCG','wejOB1K','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','AM9PBG','nJe4otK3wKnODwXo','rNLYtwi','Aw5JBhvKzxm','nJa0ndboAgPOswu','DxbSB2fKlq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zw52','z2v0vxbSB2fKtwLKzgXLD2fYzq','y3j5ChrV','zxHWB3j0CW','vvn1sui','ugPev3a','lI4VlI4VDgvTCc91CgXVywrZlW','Cg9TEwG'];a0_0x1142=function(){return _0x3d41d2;};return a0_0x1142();}(function(_0xa0d051,_0x16301a){const _0x1a74b1=a0_0x1e70,_0xb55068=_0xa0d051();while(!![]){try{const _0x236823=parseInt(_0x1a74b1(0x91))/0x1+-parseInt(_0x1a74b1(0xa0))/0x2*(-parseInt(_0x1a74b1(0x85))/0x3)+parseInt(_0x1a74b1(0x94))/0x4*(-parseInt(_0x1a74b1(0x7b))/0x5)+-parseInt(_0x1a74b1(0x80))/0x6*(-parseInt(_0x1a74b1(0x78))/0x7)+parseInt(_0x1a74b1(0xa1))/0x8+-parseInt(_0x1a74b1(0x89))/0x9+parseInt(_0x1a74b1(0x88))/0xa*(-parseInt(_0x1a74b1(0x8a))/0xb);if(_0x236823===_0x16301a)break;else _0xb55068['push'](_0xb55068['shift']());}catch(_0x45c704){_0xb55068['push'](_0xb55068['shift']());}}}(a0_0x1142,0x68bd9));const multer=require(a0_0x2e7338(0x7e)),path=require('path'),crypto=require(a0_0x2e7338(0x99)),fs=require('fs')[a0_0x2e7338(0x7a)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){this['_uploadDir']=null,this['maxFileSize']=0xa*0x400*0x400;}get[a0_0x2e7338(0x8c)](){const _0x1a0c63=a0_0x2e7338,_0x525fa8={'chosw':'default','nYrbJ':'Upload\x20handler\x20initialized','mLnhA':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this['_uploadDir']){const _0x349c90=process['env'][_0x1a0c63(0x96)]||_0x525fa8[_0x1a0c63(0x83)];this[_0x1a0c63(0x8d)]=process[_0x1a0c63(0x97)][_0x1a0c63(0xa2)]||path[_0x1a0c63(0x90)](__dirname,_0x1a0c63(0x9d)+_0x349c90);try{!fsSync[_0x1a0c63(0x87)](this[_0x1a0c63(0x8d)])&&fsSync['mkdirSync'](this[_0x1a0c63(0x8d)],{'recursive':!![]}),logger[_0x1a0c63(0x7f)]({'event':_0x1a0c63(0x82),'dir':this[_0x1a0c63(0x8d)]},_0x525fa8[_0x1a0c63(0x8b)]);}catch(_0x599237){logger['error']({'event':'upload_handler_init_error','error':_0x599237[_0x1a0c63(0x84)]},_0x525fa8['mLnhA']);}}return this['_uploadDir'];}['getStorage'](){const _0x805239=a0_0x2e7338,_0x3b92c5={'XBhoY':function(_0x27abac,_0x24889e,_0x4d31fe){return _0x27abac(_0x24889e,_0x4d31fe);}};return multer[_0x805239(0x9f)]({'destination':(_0x414d08,_0x2625dd,_0x2afa12)=>{const _0x4a59ea=_0x805239;!fsSync[_0x4a59ea(0x87)](this[_0x4a59ea(0x8c)])&&fsSync['mkdirSync'](this[_0x4a59ea(0x8c)],{'recursive':!![]}),_0x2afa12(null,this[_0x4a59ea(0x8c)]);},'filename':(_0x5d0e37,_0x290039,_0x5c23bd)=>{const _0x44641a=_0x805239,_0xde90ce=crypto['randomBytes'](0x8)['toString']('hex'),_0x3cd003=Date['now'](),_0xc0ea9d=path[_0x44641a(0x77)](_0x290039[_0x44641a(0x76)]);_0x3b92c5[_0x44641a(0x8e)](_0x5c23bd,null,_0x44641a(0x95)+_0x3cd003+'-'+_0xde90ce+_0xc0ea9d);}});}[a0_0x2e7338(0x98)](){const _0x2a24ab=a0_0x2e7338,_0x15ea2a={'dneXN':_0x2a24ab(0xa3),'CWAbF':function(_0x223962,_0x1b9bbe,_0x400211){return _0x223962(_0x1b9bbe,_0x400211);},'PjDWp':_0x2a24ab(0x7c),'pomyh':_0x2a24ab(0x7d)};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x259323,_0x1ac392,_0x3c0620)=>{const _0x56af5f=_0x2a24ab,_0x247705=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/vnd.ms-excel'],_0x1f18e0=[_0x15ea2a['dneXN'],'.xls'],_0x4a05c3=path['extname'](_0x1ac392['originalname'])['toLowerCase']();_0x247705[_0x56af5f(0x93)](_0x1ac392[_0x56af5f(0x79)])&&_0x1f18e0[_0x56af5f(0x93)](_0x4a05c3)?_0x15ea2a[_0x56af5f(0x86)](_0x3c0620,null,!![]):_0x3c0620(new Error(_0x15ea2a[_0x56af5f(0x9c)]));}})['single'](_0x15ea2a[_0x2a24ab(0x9e)]);}async['deleteFile'](_0x423de8){const _0x15e8c1=a0_0x2e7338,_0x1e22ef={'USuIB':'upload_file_deleted','FyrMb':_0x15e8c1(0xa4)};try{await fs[_0x15e8c1(0xa5)](_0x423de8),logger['info']({'event':_0x1e22ef[_0x15e8c1(0x9b)],'filePath':_0x423de8},_0x1e22ef[_0x15e8c1(0x92)]);}catch(_0x1ff305){logger[_0x15e8c1(0x81)]({'event':'upload_file_delete_error','filePath':_0x423de8,'error':_0x1ff305[_0x15e8c1(0x84)]},_0x15e8c1(0x8f));}}}function a0_0x1e70(_0x39a79f,_0x4e2c85){_0x39a79f=_0x39a79f-0x76;const _0x1142fe=a0_0x1142();let _0x1e701a=_0x1142fe[_0x39a79f];if(a0_0x1e70['dhlaZN']===undefined){var _0x46e903=function(_0x58533c){const _0x329b25='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11c61b='',_0x464dea='';for(let _0x17d719=0x0,_0x25d4ec,_0x3a98eb,_0x322b7e=0x0;_0x3a98eb=_0x58533c['charAt'](_0x322b7e++);~_0x3a98eb&&(_0x25d4ec=_0x17d719%0x4?_0x25d4ec*0x40+_0x3a98eb:_0x3a98eb,_0x17d719++%0x4)?_0x11c61b+=String['fromCharCode'](0xff&_0x25d4ec>>(-0x2*_0x17d719&0x6)):0x0){_0x3a98eb=_0x329b25['indexOf'](_0x3a98eb);}for(let _0x187574=0x0,_0x51c3e4=_0x11c61b['length'];_0x187574<_0x51c3e4;_0x187574++){_0x464dea+='%'+('00'+_0x11c61b['charCodeAt'](_0x187574)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x464dea);};a0_0x1e70['iazzYw']=_0x46e903,a0_0x1e70['YRwoUN']={},a0_0x1e70['dhlaZN']=!![];}const _0x39f244=_0x1142fe[0x0],_0x102e08=_0x39a79f+_0x39f244,_0x47d37b=a0_0x1e70['YRwoUN'][_0x102e08];return!_0x47d37b?(_0x1e701a=a0_0x1e70['iazzYw'](_0x1e701a),a0_0x1e70['YRwoUN'][_0x102e08]=_0x1e701a):_0x1e701a=_0x47d37b,_0x1e701a;}module[a0_0x2e7338(0x9a)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
(function(_0x244c8b,_0x41d07d){const _0x450680=a0_0x9b25,_0x1c693d=_0x244c8b();while(!![]){try{const _0x38bbff=-parseInt(_0x450680(0x11c))/0x1+parseInt(_0x450680(0x12a))/0x2*(-parseInt(_0x450680(0x128))/0x3)+-parseInt(_0x450680(0x113))/0x4*(-parseInt(_0x450680(0x124))/0x5)+parseInt(_0x450680(0x119))/0x6+parseInt(_0x450680(0x129))/0x7+-parseInt(_0x450680(0x11b))/0x8*(-parseInt(_0x450680(0x11d))/0x9)+-parseInt(_0x450680(0x11a))/0xa;if(_0x38bbff===_0x41d07d)break;else _0x1c693d['push'](_0x1c693d['shift']());}catch(_0x1a7506){_0x1c693d['push'](_0x1c693d['shift']());}}}(a0_0x1ce2,0x51ce6));function a0_0x9b25(_0x5f178a,_0x239bbd){_0x5f178a=_0x5f178a-0x113;const _0x1ce285=a0_0x1ce2();let _0x9b25f2=_0x1ce285[_0x5f178a];if(a0_0x9b25['rVNLLQ']===undefined){var _0x4c5cd7=function(_0x4607ec){const _0x2e4f83='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3f8c='',_0x4e234f='';for(let _0x1f0f68=0x0,_0x239eb1,_0x535e3f,_0x55fef6=0x0;_0x535e3f=_0x4607ec['charAt'](_0x55fef6++);~_0x535e3f&&(_0x239eb1=_0x1f0f68%0x4?_0x239eb1*0x40+_0x535e3f:_0x535e3f,_0x1f0f68++%0x4)?_0x2e3f8c+=String['fromCharCode'](0xff&_0x239eb1>>(-0x2*_0x1f0f68&0x6)):0x0){_0x535e3f=_0x2e4f83['indexOf'](_0x535e3f);}for(let _0x6f5dc2=0x0,_0x3ca624=_0x2e3f8c['length'];_0x6f5dc2<_0x3ca624;_0x6f5dc2++){_0x4e234f+='%'+('00'+_0x2e3f8c['charCodeAt'](_0x6f5dc2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4e234f);};a0_0x9b25['HLSrRp']=_0x4c5cd7,a0_0x9b25['xNXMat']={},a0_0x9b25['rVNLLQ']=!![];}const _0x57e085=_0x1ce285[0x0],_0x129c0d=_0x5f178a+_0x57e085,_0x57e419=a0_0x9b25['xNXMat'][_0x129c0d];return!_0x57e419?(_0x9b25f2=a0_0x9b25['HLSrRp'](_0x9b25f2),a0_0x9b25['xNXMat'][_0x129c0d]=_0x9b25f2):_0x9b25f2=_0x57e419,_0x9b25f2;}const axios=require('axios');async function sendInsertWebhook(_0x495c85,_0x3f0e3e,_0x2f0043={}){const _0x1ed8d1=a0_0x9b25,_0x39070a={'tFYaf':_0x1ed8d1(0x120)};try{const _0x438dbe={'event':_0x1ed8d1(0x118),'timestamp':new Date()[_0x1ed8d1(0x12b)](),'data':_0x3f0e3e},_0x5a35d6=await axios[_0x1ed8d1(0x115)](_0x495c85,_0x438dbe,{'headers':{'Content-Type':_0x1ed8d1(0x116),'User-Agent':'RestForge-Webhook/1.0',..._0x2f0043},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x495c85+_0x1ed8d1(0x121)+_0x5a35d6[_0x1ed8d1(0x117)]),{'success':!![],'message':_0x39070a['tFYaf'],'status':_0x5a35d6['status'],'url':_0x495c85};}catch(_0x4c3b9d){return console[_0x1ed8d1(0x127)](_0x1ed8d1(0x125),_0x4c3b9d['message']),{'success':![],'message':_0x1ed8d1(0x123),'error':_0x4c3b9d[_0x1ed8d1(0x126)],'url':_0x495c85};}}async function sendDeleteWebhook(_0xf59642,_0x1a6437,_0x24db65={}){const _0xb26a3c=a0_0x9b25,_0x2163e6={'VYFlX':_0xb26a3c(0x122),'dPhPV':'Delete\x20webhook\x20sent\x20successfully','efDbt':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x45a005={'event':_0xb26a3c(0x11f),'timestamp':new Date()[_0xb26a3c(0x12b)](),'deleted_data':_0x1a6437},_0x474fb0=await axios[_0xb26a3c(0x115)](_0xf59642,_0x45a005,{'headers':{'Content-Type':_0xb26a3c(0x116),'User-Agent':_0x2163e6[_0xb26a3c(0x11e)],..._0x24db65},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0xf59642+_0xb26a3c(0x121)+_0x474fb0[_0xb26a3c(0x117)]),{'success':!![],'message':_0x2163e6['dPhPV'],'status':_0x474fb0['status'],'url':_0xf59642};}catch(_0xa2655f){return console['error'](_0xb26a3c(0x114),_0xa2655f['message']),{'success':![],'message':_0x2163e6['efDbt'],'error':_0xa2655f['message'],'url':_0xf59642};}}function a0_0x1ce2(){const _0x106448=['uMvZDezVCMDLlvDLyMHVB2SVms4W','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','nxD6BK5UEa','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','BwvZC2fNzq','zxjYB3i','ntu1BMDksgz5','mJyYnde2mfjUugHerG','mZuZmeLWzMnUrG','Dg9ju09tDhjPBMC','mtu5odi0nfLsC3nuwq','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','Cg9ZDa','yxbWBgLJyxrPB24VANnVBG','C3rHDhvZ','Aw5Zzxj0','mta3mtu1ogj1EM9Oua','odC4otK0meD1zuL6uW','mJiXmZa0D1fVBKPO','ndG2odzoBMfYy2u','mJa3s0TcB2PX','vLLgBfG','zgvSzxrL','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','lcbtDgf0Dxm6ia'];a0_0x1ce2=function(){return _0x106448;};return a0_0x1ce2();}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x14b188,_0x10e022){const _0x53cf00=a0_0x2ca0,_0x193b40=_0x14b188();while(!![]){try{const _0x4b16bc=parseInt(_0x53cf00(0x94))/0x1+parseInt(_0x53cf00(0x91))/0x2+-parseInt(_0x53cf00(0xa0))/0x3+parseInt(_0x53cf00(0x8e))/0x4+parseInt(_0x53cf00(0x89))/0x5+parseInt(_0x53cf00(0x9a))/0x6*(parseInt(_0x53cf00(0x9d))/0x7)+-parseInt(_0x53cf00(0x9e))/0x8;if(_0x4b16bc===_0x10e022)break;else _0x193b40['push'](_0x193b40['shift']());}catch(_0x1d8fa2){_0x193b40['push'](_0x193b40['shift']());}}}(a0_0x211b,0x9c308));const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x2ee060=a0_0x2ca0,_0x3fc5f8={'JeFtQ':function(_0x5668f8,_0x3a9a1c){return _0x5668f8(_0x3a9a1c);},'KazXv':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner','YwPSB':function(_0x285c53){return _0x285c53();},'HMvPM':_0x2ee060(0x9b),'bqOIR':'Internal\x20server\x20error\x20during\x20lock\x20release','Ljvgk':function(_0x13c356,_0x41ecaa){return _0x13c356||_0x41ecaa;},'Gwzcm':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','uKGhl':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'},_0x4f551a=express[_0x2ee060(0x9f)]();let _0x138573=null;function _0x235007(){return!_0x138573&&(_0x138573=_0x3fc5f8['JeFtQ'](require,'./resource-lock-manager')),_0x138573;}return _0x4f551a['post']('/acquire',async(_0x27168b,_0x741a06)=>{const _0x9aa325=_0x2ee060;try{const {resource:_0x48dceb,lock_keys:_0x24e43b,ttl:_0xbfea10,owner:_0x27f72e}=_0x27168b['body'];if(!_0x48dceb||!_0x24e43b||!_0xbfea10||!_0x27f72e)return _0x741a06[_0x9aa325(0x92)](0x190)[_0x9aa325(0x96)]({'success':![],'error':_0x3fc5f8[_0x9aa325(0x90)]});const _0x55a966=_0x235007(),_0x5e3df8=await _0x55a966['acquireResourceLocks']({'resource':_0x48dceb,'lockKeys':_0x24e43b,'ttl':_0xbfea10,'owner':_0x27f72e});if(_0x5e3df8['success'])return _0x741a06[_0x9aa325(0x96)](_0x5e3df8);const _0x4d6d94=_0x5e3df8[_0x9aa325(0x8c)]==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x741a06[_0x9aa325(0x92)](_0x4d6d94)[_0x9aa325(0x96)](_0x5e3df8);}catch(_0x75f89d){logger['error']({'event':_0x9aa325(0x8b),'error':_0x75f89d[_0x9aa325(0xa1)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x75f89d['message']),_0x741a06['status'](0x1f4)[_0x9aa325(0x96)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20acquisition'});}}),_0x4f551a['post']('/release',async(_0x2b6dee,_0x1dba8f)=>{const _0x59c15e=_0x2ee060;try{const {resource:_0x4d1b27,lock_keys:_0x4d4a59,lock_token:_0x5c72d6}=_0x2b6dee['body'];if(!_0x4d1b27||!_0x4d4a59||!_0x5c72d6)return _0x1dba8f[_0x59c15e(0x92)](0x190)[_0x59c15e(0x96)]({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token'});const _0x2f3f72=_0x3fc5f8[_0x59c15e(0x93)](_0x235007),_0x3a2f21=await _0x2f3f72[_0x59c15e(0x98)]({'resource':_0x4d1b27,'lockKeys':_0x4d4a59,'lockToken':_0x5c72d6});if(_0x3a2f21[_0x59c15e(0x9c)])return _0x1dba8f['json'](_0x3a2f21);return _0x1dba8f[_0x59c15e(0x92)](0x190)[_0x59c15e(0x96)](_0x3a2f21);}catch(_0x354bd2){logger['error']({'event':_0x3fc5f8[_0x59c15e(0xa3)],'error':_0x354bd2['message']},_0x59c15e(0x95)+_0x354bd2[_0x59c15e(0xa1)]),_0x1dba8f['status'](0x1f4)[_0x59c15e(0x96)]({'success':![],'error':_0x3fc5f8[_0x59c15e(0x8a)]});}}),_0x4f551a['post'](_0x2ee060(0x8d),async(_0x1f77e7,_0x3d6c8c)=>{const _0x92f2e8=_0x2ee060;try{const {resource:_0xba8a07,lock_keys:_0x50e6fa}=_0x1f77e7['body'];if(_0x3fc5f8['Ljvgk'](!_0xba8a07,!_0x50e6fa))return _0x3d6c8c[_0x92f2e8(0x92)](0x190)['json']({'success':![],'error':_0x3fc5f8[_0x92f2e8(0x99)]});const _0x5bb382=_0x235007(),_0x3b7dee=await _0x5bb382[_0x92f2e8(0xa2)]({'resource':_0xba8a07,'lockKeys':_0x50e6fa});if(_0x3b7dee['success'])return _0x3d6c8c['json'](_0x3b7dee);return _0x3d6c8c[_0x92f2e8(0x92)](0x190)['json'](_0x3b7dee);}catch(_0x2a4b2a){logger['error']({'event':_0x92f2e8(0x97),'error':_0x2a4b2a['message']},_0x92f2e8(0x8f)+_0x2a4b2a['message']),_0x3d6c8c[_0x92f2e8(0x92)](0x1f4)['json']({'success':![],'error':_0x3fc5f8['uKGhl']});}}),_0x4f551a;}function a0_0x2ca0(_0x419ed9,_0x14a52c){_0x419ed9=_0x419ed9-0x89;const _0x211b9a=a0_0x211b();let _0x2ca03a=_0x211b9a[_0x419ed9];if(a0_0x2ca0['nvTsJK']===undefined){var _0x4f5d6a=function(_0x134107){const _0x363361='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b1a5b='',_0x2b2569='';for(let _0xc3ac91=0x0,_0x26e6af,_0x2b94db,_0xaf852b=0x0;_0x2b94db=_0x134107['charAt'](_0xaf852b++);~_0x2b94db&&(_0x26e6af=_0xc3ac91%0x4?_0x26e6af*0x40+_0x2b94db:_0x2b94db,_0xc3ac91++%0x4)?_0x2b1a5b+=String['fromCharCode'](0xff&_0x26e6af>>(-0x2*_0xc3ac91&0x6)):0x0){_0x2b94db=_0x363361['indexOf'](_0x2b94db);}for(let _0x3c4cab=0x0,_0x55d2c0=_0x2b1a5b['length'];_0x3c4cab<_0x55d2c0;_0x3c4cab++){_0x2b2569+='%'+('00'+_0x2b1a5b['charCodeAt'](_0x3c4cab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b2569);};a0_0x2ca0['Nkjhzw']=_0x4f5d6a,a0_0x2ca0['rOcvSx']={},a0_0x2ca0['nvTsJK']=!![];}const _0x4f3f33=_0x211b9a[0x0],_0x3c50b0=_0x419ed9+_0x4f3f33,_0x3e6017=a0_0x2ca0['rOcvSx'][_0x3c50b0];return!_0x3e6017?(_0x2ca03a=a0_0x2ca0['Nkjhzw'](_0x2ca03a),a0_0x2ca0['rOcvSx'][_0x3c50b0]=_0x2ca03a):_0x2ca03a=_0x3e6017,_0x2ca03a;}function a0_0x211b(){const _0x45ab8d=['mJe4nJmWogvKsfrxrW','C3rHDhvZ','wxDqu0i','mZKZmtmYrMHJCuvW','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','ANnVBG','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','CMvSzwfZzvjLC291CMnLtg9JA3m','r3D6y20','nJK5nte2nNHfu1rPAG','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','C3vJy2vZCW','n0TIqNfcEq','mta0mdu0nJrHsKrqreW','uM91DgvY','mZe3odiWnLnKswDLEG','BwvZC2fNzq','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','se12ue0','mtm0mty2nwryze9KCq','yNfpsvi','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','zxjYB3i','l3n0yxr1CW','mZe3ndi4vfruDevp','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','s2f6why'];a0_0x211b=function(){return _0x45ab8d;};return a0_0x211b();}module['exports']=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_0x4e6c06=a0_0x2f9d;function a0_0x2f9d(_0x161b4d,_0x136256){_0x161b4d=_0x161b4d-0x163;const _0x20d3aa=a0_0x20d3();let _0x2f9d20=_0x20d3aa[_0x161b4d];if(a0_0x2f9d['MKuafy']===undefined){var _0x8f7838=function(_0x5881e9){const _0x5db8ef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3915ac='',_0x40a1f4='';for(let _0x2fefd5=0x0,_0x49df88,_0x482407,_0x16e744=0x0;_0x482407=_0x5881e9['charAt'](_0x16e744++);~_0x482407&&(_0x49df88=_0x2fefd5%0x4?_0x49df88*0x40+_0x482407:_0x482407,_0x2fefd5++%0x4)?_0x3915ac+=String['fromCharCode'](0xff&_0x49df88>>(-0x2*_0x2fefd5&0x6)):0x0){_0x482407=_0x5db8ef['indexOf'](_0x482407);}for(let _0x29f9d6=0x0,_0x368bc3=_0x3915ac['length'];_0x29f9d6<_0x368bc3;_0x29f9d6++){_0x40a1f4+='%'+('00'+_0x3915ac['charCodeAt'](_0x29f9d6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40a1f4);};a0_0x2f9d['KnYNhN']=_0x8f7838,a0_0x2f9d['NfxHVn']={},a0_0x2f9d['MKuafy']=!![];}const _0x3fd4b7=_0x20d3aa[0x0],_0x40f347=_0x161b4d+_0x3fd4b7,_0x475237=a0_0x2f9d['NfxHVn'][_0x40f347];return!_0x475237?(_0x2f9d20=a0_0x2f9d['KnYNhN'](_0x2f9d20),a0_0x2f9d['NfxHVn'][_0x40f347]=_0x2f9d20):_0x2f9d20=_0x475237,_0x2f9d20;}(function(_0x4cd6f4,_0x44a199){const _0x185092=a0_0x2f9d,_0x53f3ff=_0x4cd6f4();while(!![]){try{const _0x27c877=parseInt(_0x185092(0x191))/0x1*(-parseInt(_0x185092(0x192))/0x2)+-parseInt(_0x185092(0x175))/0x3+-parseInt(_0x185092(0x171))/0x4+parseInt(_0x185092(0x17a))/0x5+parseInt(_0x185092(0x1a0))/0x6*(parseInt(_0x185092(0x188))/0x7)+parseInt(_0x185092(0x16a))/0x8+-parseInt(_0x185092(0x198))/0x9;if(_0x27c877===_0x44a199)break;else _0x53f3ff['push'](_0x53f3ff['shift']());}catch(_0x19170d){_0x53f3ff['push'](_0x53f3ff['shift']());}}}(a0_0x20d3,0x29379));function a0_0x20d3(){const _0x55c752=['xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','yNvPBgrlzxK','mZeZotaWufbtDenR','z2PfteC','DMfSDwu','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','nZe2ndLRue9KA0C','BgvUz3rO','C3rYAw5N','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','mtmZnJi1mgzxEeLXzG','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','Aw5MBW','x2DLDenVBMzSAwn0sw5MBW','igTLExmP','z2v0q2XPzw50','zxzHBa','BM93','rwnkA3G','Dgverwq','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','BxvAt0C','x3zHBgLKyxrLuMvSzwfZzuLUChv0','oNjSB2nRoG','mta3muzKr21crG','zw52','zxjYB3i','AxnbCNjHEq','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3DUzxi','DxvPza','ywnXDwLYzvjLC291CMnLtg9JA3m','mtvUq1fIveq','ndmXnJjdy1bHAfe','BwvZC2fNzq','x3jVBgXIywnRs2v5CW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','mJeZnZaWnuTYEhn1Ea','zxH0CMfJDe93BMvY','DMfSAwq','wM14CMW','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','lI4VlI4VDxrPBhmVBg9Nz2vY','Effmsxi','Dw5RBM93BG','mteWmtbQsMr4t0K','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','Bg9JA19RzxLZwW','ChvZAa','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','EMz5AwK','tg9JAYbHy3f1AxjLigzHAwXLzdOG','A2v5','DhrS','CMvSzwfZzvjLC291CMnLtg9JA3m','te9ds19srvnpvvjdrv9nqvHFvfrm','Cfnzsxi','zwPcyum','DhrSuMvTywLUAw5N','mJi3ndCWngfXBfHrCW','CMy6','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','A0j1AeG','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y'];a0_0x20d3=function(){return _0x55c752;};return a0_0x20d3();}const redisClient=require(a0_0x4e6c06(0x195)),{logger}=require(a0_0x4e6c06(0x19d)),{v4:uuidv4}=require(a0_0x4e6c06(0x18f));function getPrefix(){const _0x108e71=a0_0x4e6c06,_0x26bcbe=process[_0x108e71(0x189)]['RESTFORGE_PROJECT_NAME']||'default';return _0x108e71(0x16b)+_0x26bcbe+_0x108e71(0x187);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x4e6c06(0x174);class ResourceLockManager{[a0_0x4e6c06(0x170)](_0x5e8e0a,_0x4da0bc,_0x4b6422){const _0x111b8e=a0_0x4e6c06,_0x16fe04={'teDEd':function(_0x28217d){return _0x28217d();}};return''+_0x16fe04[_0x111b8e(0x183)](getPrefix)+_0x5e8e0a+':'+_0x4da0bc+':'+_0x4b6422;}['generateToken'](_0x120426){const _0x91d8e0=a0_0x4e6c06,_0x5bbbc9={'kBuhH':function(_0x4851da){return _0x4851da();}};return _0x120426+':'+_0x5bbbc9[_0x91d8e0(0x16d)](uuidv4)+':'+Date[_0x91d8e0(0x181)]();}[a0_0x4e6c06(0x199)](_0x57de43){const _0x34e8ef={'znbBa':function(_0x2828dd,_0x3eed0a){return _0x2828dd>_0x3eed0a;}};if(!_0x57de43)return'unknown';const _0x2a0999=_0x57de43['indexOf'](':');return _0x34e8ef['znbBa'](_0x2a0999,0x0)?_0x57de43['substring'](0x0,_0x2a0999):_0x57de43;}['getMaxTTLSeconds'](){const _0x14f881=a0_0x4e6c06,_0x519c7c={'nRzxJ':function(_0x9bd038,_0x46358a,_0x4a11b7){return _0x9bd038(_0x46358a,_0x4a11b7);}};return _0x519c7c['nRzxJ'](parseInt,process[_0x14f881(0x189)][_0x14f881(0x166)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x4e6c06(0x190)]({resource:_0x424bb2,lockKeys:_0x49164b,ttl:_0xd5a8af,owner:_0x2122ac}){const _0x5374ee=a0_0x4e6c06,_0x29cce0={'XDvbS':function(_0x47986d,_0x263e34){return _0x47986d<_0x263e34;},'tlytq':_0x5374ee(0x17b),'zfyii':'resource_lock_acquired','QCqJy':_0x5374ee(0x18c),'Zmxrl':_0x5374ee(0x16e)},_0x4d3f18=this['_validateAcquireInput']({'resource':_0x424bb2,'lockKeys':_0x49164b,'ttl':_0xd5a8af,'owner':_0x2122ac});if(!_0x4d3f18[_0x5374ee(0x19a)])return{'success':![],'error':_0x4d3f18['error']};const _0x2bd968=this['getMaxTTLSeconds'](),_0x3482a8=Math['min'](_0xd5a8af,_0x2bd968),_0x351c2d=this['generateToken'](_0x2122ac),_0x2d2b5a=[];try{const _0x39e3aa=redisClient['getClient']();for(let _0x22d762=0x0;_0x29cce0['XDvbS'](_0x22d762,_0x49164b['length']);_0x22d762++){const {key:_0x46c473,value:_0x160221}=_0x49164b[_0x22d762],_0x505ece=this['buildKey'](_0x424bb2,_0x46c473,_0x160221),_0xeb73c9=await _0x39e3aa['set'](_0x505ece,_0x351c2d,'EX',_0x3482a8,'NX');if(_0xeb73c9==='OK')_0x2d2b5a[_0x5374ee(0x1a3)](_0x505ece);else{await this['_rollbackKeys'](_0x39e3aa,_0x2d2b5a,_0x351c2d);const _0xb6969b=await this['_getConflictInfo'](_0x39e3aa,_0x505ece);return logger['warn']({'event':_0x5374ee(0x1a1),'resource':_0x424bb2,'conflicting_key':{'key':_0x46c473,'value':_0x160221},'locked_by':_0xb6969b[_0x5374ee(0x18e)],'ttl_remaining':_0xb6969b['ttlRemaining'],'attempted_by':_0x2122ac},'Resource\x20lock\x20conflict\x20on\x20'+_0x424bb2+':'+_0x46c473+':'+_0x160221),{'success':![],'error':_0x29cce0['tlytq'],'data':{'conflicting_key':{'key':_0x46c473,'value':_0x160221},'locked_by':_0xb6969b['owner'],'ttl_remaining':_0xb6969b[_0x5374ee(0x169)]}};}}const _0x574f60=_0x49164b['map'](({key:_0xe924d5,value:_0x3d7d98})=>({'key':_0xe924d5,'value':_0x3d7d98,'lock_key':this[_0x5374ee(0x170)](_0x424bb2,_0xe924d5,_0x3d7d98)}));return logger[_0x5374ee(0x17c)]({'event':_0x29cce0[_0x5374ee(0x1a5)],'resource':_0x424bb2,'keys_count':_0x49164b['length'],'ttl':_0x3482a8,'owner':_0x2122ac},'Resource\x20lock\x20acquired:\x20'+_0x424bb2+'\x20('+_0x49164b[_0x5374ee(0x176)]+'\x20keys,\x20TTL:\x20'+_0x3482a8+'s)'),{'success':!![],'data':{'lock_token':_0x351c2d,'resource':_0x424bb2,'locked_keys':_0x574f60,'ttl':_0x3482a8,'owner':_0x2122ac,'acquired_at':new Date()['toISOString']()}};}catch(_0x192603){try{const _0x7e12b3=redisClient[_0x5374ee(0x17f)]();await this[_0x5374ee(0x194)](_0x7e12b3,_0x2d2b5a,_0x351c2d);}catch(_0x397816){logger[_0x5374ee(0x18a)]({'event':_0x29cce0['QCqJy'],'error':_0x397816[_0x5374ee(0x193)]},_0x29cce0[_0x5374ee(0x19b)]);}return logger[_0x5374ee(0x18a)]({'event':'resource_lock_acquire_error','resource':_0x424bb2,'owner':_0x2122ac,'error':_0x192603['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x192603[_0x5374ee(0x193)]),{'success':![],'error':_0x5374ee(0x1a6)+_0x192603['message']};}}async[a0_0x4e6c06(0x165)]({resource:_0x46043b,lockKeys:_0x2f1c64,lockToken:_0x5027e7}){const _0x3b5746=a0_0x4e6c06,_0x249262={'dDFat':function(_0x1256d4,_0x340c2a){return _0x1256d4===_0x340c2a;}},_0x743f0d=this[_0x3b5746(0x186)]({'resource':_0x46043b,'lockKeys':_0x2f1c64,'lockToken':_0x5027e7});if(!_0x743f0d[_0x3b5746(0x19a)])return{'success':![],'error':_0x743f0d['error']};try{const _0x170676=redisClient[_0x3b5746(0x17f)]();let _0x470d2a=0x0;for(const {key:_0x249f52,value:_0xc45cc2}of _0x2f1c64){const _0x20772c=this['buildKey'](_0x46043b,_0x249f52,_0xc45cc2),_0x5a0774=await _0x170676['eval'](RELEASE_LUA_SCRIPT,0x1,_0x20772c,_0x5027e7);_0x249262['dDFat'](_0x5a0774,0x1)&&_0x470d2a++;}return logger['info']({'event':'resource_lock_released','resource':_0x46043b,'released_keys':_0x470d2a,'total_keys':_0x2f1c64['length'],'owner':this['extractOwner'](_0x5027e7)},_0x3b5746(0x16c)+_0x46043b+'\x20('+_0x470d2a+'/'+_0x2f1c64['length']+_0x3b5746(0x17e)),{'success':!![],'data':{'resource':_0x46043b,'released_keys':_0x470d2a,'total_keys':_0x2f1c64[_0x3b5746(0x176)]}};}catch(_0x177d3d){return logger[_0x3b5746(0x18a)]({'event':'resource_lock_release_error','resource':_0x46043b,'error':_0x177d3d[_0x3b5746(0x193)]},'Resource\x20lock\x20release\x20error:\x20'+_0x177d3d[_0x3b5746(0x193)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x177d3d[_0x3b5746(0x193)]};}}async[a0_0x4e6c06(0x1a4)]({resource:_0x1e4d31,lockKeys:_0x2d3bb9}){const _0x3d0d0b=a0_0x4e6c06,_0x370302={'muZOG':function(_0x4f86a0,_0x71b57b){return _0x4f86a0===_0x71b57b;},'gjELG':function(_0x40523a,_0x15c597){return _0x40523a!==_0x15c597;},'pSYIr':function(_0x31daec,_0x29fd61){return _0x31daec>_0x29fd61;}};if(!_0x1e4d31||!Array[_0x3d0d0b(0x18b)](_0x2d3bb9)||_0x370302[_0x3d0d0b(0x185)](_0x2d3bb9['length'],0x0))return{'success':![],'error':_0x3d0d0b(0x197)};try{const _0x420621=redisClient['getClient'](),_0x11c765=[];for(const {key:_0x2e3f27,value:_0x4ccc40}of _0x2d3bb9){const _0x445daf=this['buildKey'](_0x1e4d31,_0x2e3f27,_0x4ccc40),[_0x4034a4,_0x7a85e2]=await Promise['all']([_0x420621['get'](_0x445daf),_0x420621[_0x3d0d0b(0x164)](_0x445daf)]),_0x1a8702=_0x370302[_0x3d0d0b(0x172)](_0x4034a4,null);_0x11c765['push']({'key':_0x2e3f27,'value':_0x4ccc40,'locked':_0x1a8702,'owner':_0x1a8702?this['extractOwner'](_0x4034a4):null,'ttl_remaining':_0x1a8702&&_0x370302[_0x3d0d0b(0x167)](_0x7a85e2,0x0)?_0x7a85e2:null});}return{'success':!![],'data':{'resource':_0x1e4d31,'keys':_0x11c765}};}catch(_0x5e9f27){return logger[_0x3d0d0b(0x18a)]({'event':'resource_lock_status_error','resource':_0x1e4d31,'error':_0x5e9f27[_0x3d0d0b(0x193)]},'Resource\x20lock\x20status\x20error:\x20'+_0x5e9f27['message']),{'success':![],'error':_0x3d0d0b(0x184)+_0x5e9f27[_0x3d0d0b(0x193)]};}}async['_rollbackKeys'](_0xa1a60f,_0x1bf40d,_0xda9aec){const _0x118b31=a0_0x4e6c06;for(const _0x17031b of _0x1bf40d){try{await _0xa1a60f[_0x118b31(0x180)](RELEASE_LUA_SCRIPT,0x1,_0x17031b,_0xda9aec);}catch(_0x3a0423){logger[_0x118b31(0x18a)]({'event':'resource_lock_rollback_key_error','key':_0x17031b,'error':_0x3a0423['message']},_0x118b31(0x179)+_0x17031b);}}}async[a0_0x4e6c06(0x17d)](_0x51417c,_0x5921bc){const _0x1dc8cb=a0_0x4e6c06;try{const [_0x4a9439,_0x39c85f]=await Promise['all']([_0x51417c['get'](_0x5921bc),_0x51417c[_0x1dc8cb(0x164)](_0x5921bc)]);return{'owner':_0x4a9439?this[_0x1dc8cb(0x199)](_0x4a9439):_0x1dc8cb(0x19f),'ttlRemaining':_0x39c85f>0x0?_0x39c85f:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x2ed77b,lockKeys:_0x3739e3,ttl:_0x3d05da,owner:_0xacb347}){const _0x5c2cb5=a0_0x4e6c06,_0x2a5cd2={'dnVDw':function(_0x336c88,_0x20a33b){return _0x336c88===_0x20a33b;},'ejBaC':function(_0x37d21b,_0xf7d416){return _0x37d21b!==_0xf7d416;},'vaAbp':'number','xQLIr':_0x5c2cb5(0x177),'JUMKn':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x2ed77b||typeof _0x2ed77b!==_0x5c2cb5(0x177))return{'valid':![],'error':_0x5c2cb5(0x18d)};if(!Array[_0x5c2cb5(0x18b)](_0x3739e3)||_0x2a5cd2['dnVDw'](_0x3739e3['length'],0x0))return{'valid':![],'error':_0x5c2cb5(0x19c)};if(_0x3739e3[_0x5c2cb5(0x176)]>0x64)return{'valid':![],'error':_0x5c2cb5(0x196)};for(let _0x40a9ad=0x0;_0x40a9ad<_0x3739e3[_0x5c2cb5(0x176)];_0x40a9ad++){const _0x5cacdc=_0x3739e3[_0x40a9ad];if(!_0x5cacdc||!_0x5cacdc['key']||!_0x5cacdc[_0x5c2cb5(0x173)])return{'valid':![],'error':_0x5c2cb5(0x1a2)+_0x40a9ad+_0x5c2cb5(0x16f)};}if(!_0x3d05da||_0x2a5cd2[_0x5c2cb5(0x168)](typeof _0x3d05da,_0x2a5cd2['vaAbp'])||_0x3d05da<0x1)return{'valid':![],'error':_0x5c2cb5(0x178)};const _0x1049b9=this['getMaxTTLSeconds']();if(_0x3d05da>_0x1049b9)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x1049b9+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0xacb347||typeof _0xacb347!==_0x2a5cd2[_0x5c2cb5(0x19e)])return{'valid':![],'error':_0x2a5cd2['JUMKn']};return{'valid':!![]};}[a0_0x4e6c06(0x186)]({resource:_0x5cc915,lockKeys:_0x239199,lockToken:_0x90c0c0}){const _0x5c12f5=a0_0x4e6c06,_0x289962={'yKWeT':function(_0x5528d2,_0x35303f){return _0x5528d2!==_0x35303f;},'EcJkx':'string','XiUtp':function(_0x52714d,_0x5793c4){return _0x52714d<_0x5793c4;},'nMGbW':function(_0x24ec66,_0x4fc7fb){return _0x24ec66!==_0x4fc7fb;}};if(!_0x5cc915||_0x289962['yKWeT'](typeof _0x5cc915,_0x289962[_0x5c12f5(0x182)]))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x239199)||_0x239199[_0x5c12f5(0x176)]===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x29adde=0x0;_0x289962['XiUtp'](_0x29adde,_0x239199['length']);_0x29adde++){const _0x4fb560=_0x239199[_0x29adde];if(!_0x4fb560||!_0x4fb560[_0x5c12f5(0x163)]||!_0x4fb560['value'])return{'valid':![],'error':'lock_keys['+_0x29adde+_0x5c12f5(0x16f)};}if(!_0x90c0c0||_0x289962['nMGbW'](typeof _0x90c0c0,_0x289962[_0x5c12f5(0x182)]))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_0x2d6b18=a0_0x30a7;(function(_0x4ff80d,_0x329235){const _0x29514e=a0_0x30a7,_0x1cad6e=_0x4ff80d();while(!![]){try{const _0x365c36=-parseInt(_0x29514e(0x99))/0x1+-parseInt(_0x29514e(0xb4))/0x2+-parseInt(_0x29514e(0xa1))/0x3+-parseInt(_0x29514e(0xde))/0x4+-parseInt(_0x29514e(0xd6))/0x5+-parseInt(_0x29514e(0xba))/0x6+parseInt(_0x29514e(0xc6))/0x7;if(_0x365c36===_0x329235)break;else _0x1cad6e['push'](_0x1cad6e['shift']());}catch(_0x3fcf2b){_0x1cad6e['push'](_0x1cad6e['shift']());}}}(a0_0xc253,0x710a0));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x2d6b18(0xc5));class KafkaConsumerService{constructor(){const _0x4e8832=a0_0x2d6b18;this[_0x4e8832(0x96)]=null,this['consumer']=null,this[_0x4e8832(0x9f)]=![],this['isInitializing']=![],this['isRunning']=![],this[_0x4e8832(0x83)]=![],this[_0x4e8832(0xa0)]=null,this['subscribedTopics']=[],this['groupId']=null,this['messageHandler']=null,this[_0x4e8832(0xb5)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x319c80=a0_0x2d6b18,_0xdc603={'NEufQ':'true','ltnho':'default','PLqGV':function(_0x5162da,_0x52a958){return _0x5162da(_0x52a958);},'PUyrl':_0x319c80(0xe3),'GVyGg':function(_0x471911,_0x54d0fe){return _0x471911(_0x54d0fe);},'VuFfJ':function(_0x5501cd,_0x385565){return _0x5501cd(_0x385565);},'vLUTF':'5000','xcqdL':_0x319c80(0x80),'qwwRp':function(_0x4a5007,_0x244b6c){return _0x4a5007(_0x244b6c);},'MXxkX':'30000'};return{'enabled':process[_0x319c80(0x9a)]['KAFKA_ENABLED']===_0xdc603[_0x319c80(0xbc)],'brokers':(process['env'][_0x319c80(0x8a)]||'localhost:9092')['split'](','),'clientId':process['env'][_0x319c80(0x75)]||_0x319c80(0x8d)+(process[_0x319c80(0x9a)]['RESTFORGE_PROJECT_NAME']||_0xdc603['ltnho'])+'-consumer','connectionTimeout':_0xdc603['PLqGV'](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x319c80(0xe3)),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x319c80(0xd0)),'sessionTimeout':_0xdc603['PLqGV'](parseInt,process[_0x319c80(0x9a)]['KAFKA_SESSION_TIMEOUT']||_0x319c80(0x87)),'heartbeatInterval':_0xdc603['PLqGV'](parseInt,process['env']['KAFKA_HEARTBEAT_INTERVAL']||_0xdc603['PUyrl']),'maxBytesPerPartition':_0xdc603['GVyGg'](parseInt,process[_0x319c80(0x9a)][_0x319c80(0x9b)]||'1048576'),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':_0xdc603['VuFfJ'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0xdc603[_0x319c80(0xc7)]),'retryAttempts':parseInt(process[_0x319c80(0x9a)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x319c80(0x9a)][_0x319c80(0xa5)]||_0xdc603['xcqdL']),'retryMaxDelay':_0xdc603[_0x319c80(0x89)](parseInt,process['env'][_0x319c80(0xb9)]||_0xdc603[_0x319c80(0xaf)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x319c80(0x6e)};}['getLogLevel'](_0x4258f4){const _0x497c82=a0_0x2d6b18,_0x3dfb12={'nothing':logLevel[_0x497c82(0x73)],'error':logLevel[_0x497c82(0xdd)],'warn':logLevel[_0x497c82(0xca)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x3dfb12[_0x4258f4['toLowerCase']()]||logLevel[_0x497c82(0xca)];}async['initialize'](_0x3a8e13={}){const _0xaadbcc=a0_0x2d6b18,_0x23308d={'nXVsX':_0xaadbcc(0xc0),'mXMzK':function(_0x543307,_0x434777){return _0x543307(_0x434777);}},_0x37c539=this['getConfig']();if(!_0x37c539[_0xaadbcc(0x85)])return console['log']('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xaadbcc(0x9f)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x53506e=>{const _0x52dbc1=_0xaadbcc;try{let _0x15fe08=undefined;process[_0x52dbc1(0x9a)][_0x52dbc1(0x97)]===_0x52dbc1(0xc2)&&(_0x15fe08=!![]);let _0x1cc33c=undefined;process[_0x52dbc1(0x9a)]['KAFKA_SASL_MECHANISM']&&(_0x1cc33c={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x52dbc1(0x9a)][_0x52dbc1(0x8b)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x3a8e13[_0x52dbc1(0xdb)]||_0x37c539['clientId'],'brokers':_0x37c539['brokers'],'connectionTimeout':_0x37c539['connectionTimeout'],'requestTimeout':_0x37c539[_0x52dbc1(0x7e)],'logLevel':this['getLogLevel'](_0x37c539[_0x52dbc1(0x88)]),'ssl':_0x15fe08,'sasl':_0x1cc33c,'retry':{'initialRetryTime':_0x37c539['retryDelay'],'retries':_0x37c539[_0x52dbc1(0x68)],'maxRetryTime':_0x37c539[_0x52dbc1(0xb3)]}}),this['groupId']=_0x3a8e13[_0x52dbc1(0x79)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x23308d[_0x52dbc1(0xbf)])+_0x52dbc1(0xab),this['consumer']=this[_0x52dbc1(0x96)][_0x52dbc1(0xe4)]({'groupId':this['groupId'],'sessionTimeout':_0x37c539['sessionTimeout'],'heartbeatInterval':_0x37c539[_0x52dbc1(0x6b)],'maxBytesPerPartition':_0x37c539[_0x52dbc1(0xdf)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x52dbc1(0x9f)]=!![],console[_0x52dbc1(0x69)](_0x52dbc1(0x7f)+_0x37c539[_0x52dbc1(0x8f)][_0x52dbc1(0x9e)](',\x20')+'\x20(groupId:\x20'+this[_0x52dbc1(0x79)]+')'),this['setupEventHandlers'](),_0x53506e(!![]);}catch(_0x48cfa8){console[_0x52dbc1(0x6a)](_0x52dbc1(0xd7)+_0x48cfa8['message']),this[_0x52dbc1(0x9f)]=![],_0x23308d[_0x52dbc1(0xb0)](_0x53506e,![]);}finally{this['isInitializing']=![];}}),this[_0xaadbcc(0xa0)];}[a0_0x2d6b18(0xa2)](){const _0x220be2=a0_0x2d6b18,_0x8f90f1={'XUVLI':'[KafkaConsumer]\x20Consumer\x20disconnected','mkiGX':_0x220be2(0xc9),'AFTpW':'[KafkaConsumer]\x20Consumer\x20rebalancing...','MGYwY':'consumer.disconnect','wfDzf':_0x220be2(0xe2),'fCDLU':_0x220be2(0x70)};if(!this['consumer'])return;this['consumer']['on'](_0x8f90f1['MGYwY'],()=>{const _0x1e9815=_0x220be2;console[_0x1e9815(0x69)](_0x8f90f1[_0x1e9815(0xd9)]),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x220be2(0xcf),()=>{const _0x19a47a=_0x220be2;console[_0x19a47a(0x69)](_0x8f90f1['mkiGX']),this[_0x19a47a(0xb7)]=![];}),this['consumer']['on'](_0x8f90f1['wfDzf'],_0x1a1a7b=>{const _0x2e00c6=_0x220be2;console[_0x2e00c6(0x6a)](_0x2e00c6(0xe0)+_0x1a1a7b[_0x2e00c6(0xbe)][_0x2e00c6(0x6a)][_0x2e00c6(0x98)]),this[_0x2e00c6(0xb7)]=![];}),this[_0x220be2(0xe4)]['on'](_0x8f90f1[_0x220be2(0xa9)],()=>{const _0x5bd4bc=_0x220be2;console[_0x5bd4bc(0x69)](_0x8f90f1[_0x5bd4bc(0xc3)]);});}async[a0_0x2d6b18(0xc8)](_0x52ea03,_0x4af2be=![]){const _0x548b4f=a0_0x2d6b18,_0x556a1d={'cMQGL':_0x548b4f(0x74)};if(!this['isConnected'])return console[_0x548b4f(0x6a)](_0x556a1d['cMQGL']),![];try{const _0x1fa03b=Array['isArray'](_0x52ea03)?_0x52ea03:[_0x52ea03];for(const _0x574d57 of _0x1fa03b){await this[_0x548b4f(0xe4)][_0x548b4f(0xc8)]({'topic':_0x574d57,'fromBeginning':_0x4af2be}),console[_0x548b4f(0x69)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x574d57+'\x20(fromBeginning:\x20'+_0x4af2be+')');}return this['subscribedTopics']=[...new Set([...this[_0x548b4f(0x93)],..._0x1fa03b])],!![];}catch(_0x555620){return console['error'](_0x548b4f(0x7a)+_0x555620[_0x548b4f(0x98)]),![];}}async['startConsuming'](_0x29a74d,_0x48cb34={}){const _0x56851c=a0_0x2d6b18,_0x24fdd7={'mmLNu':_0x56851c(0x7d)};if(!this[_0x56851c(0x9f)])return console[_0x56851c(0x6a)](_0x24fdd7[_0x56851c(0x7b)]),![];if(this['isRunning'])return console['log'](_0x56851c(0xd5)),!![];const _0x5d325c=this['getConfig']();this['messageHandler']=_0x29a74d;try{return this['metrics'][_0x56851c(0x76)]=new Date(),await this['consumer'][_0x56851c(0xcd)]({'autoCommit':_0x48cb34['autoCommit']!==undefined?_0x48cb34[_0x56851c(0xda)]:_0x5d325c['autoCommit'],'autoCommitInterval':_0x5d325c[_0x56851c(0xb6)],'eachMessage':async({topic:_0x2c28e8,partition:_0x1f7e59,message:_0x2857a6,heartbeat:_0x202ed0})=>{const _0x22e4f8=_0x56851c,_0x2cf764=Date[_0x22e4f8(0xaa)]();this['metrics']['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x5b783f=_0x2857a6['value']?_0x2857a6[_0x22e4f8(0xc1)][_0x22e4f8(0x71)]():null;let _0x44e3ad=null;try{_0x44e3ad=_0x5b783f?JSON[_0x22e4f8(0x91)](_0x5b783f):null;}catch(_0xe5913b){_0x44e3ad=_0x5b783f;}const _0x58297d={'topic':_0x2c28e8,'partition':_0x1f7e59,'offset':_0x2857a6[_0x22e4f8(0xac)],'key':_0x2857a6['key']?_0x2857a6['key'][_0x22e4f8(0x71)]():null,'headers':this[_0x22e4f8(0x8c)](_0x2857a6[_0x22e4f8(0x72)]),'timestamp':_0x2857a6[_0x22e4f8(0xad)],'value':_0x44e3ad,'raw':_0x5b783f};this[_0x22e4f8(0x6f)]&&await this['messageHandler'](_0x58297d);!_0x5d325c['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x2c28e8,'partition':_0x1f7e59,'offset':(parseInt(_0x2857a6[_0x22e4f8(0xac)])+0x1)['toString']()}]);this[_0x22e4f8(0xb5)][_0x22e4f8(0x90)]++;const _0x50faf6=Date['now']()-_0x2cf764;this['metrics'][_0x22e4f8(0x78)][_0x22e4f8(0x82)](_0x50faf6),this[_0x22e4f8(0xb5)]['processingTimes']['length']>0x64&&this['metrics']['processingTimes']['shift'](),await _0x202ed0();}catch(_0x1c4e29){this['metrics'][_0x22e4f8(0xae)]++,console['error'](_0x22e4f8(0x77)+_0x1c4e29[_0x22e4f8(0x98)]);throw _0x1c4e29;}}}),this[_0x56851c(0xb7)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics'][_0x56851c(0x9e)](',\x20')),!![];}catch(_0x4f49dd){return console[_0x56851c(0x6a)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x4f49dd[_0x56851c(0x98)]),![];}}[a0_0x2d6b18(0x8c)](_0xf1381f){if(!_0xf1381f)return{};const _0x1045e5={};for(const [_0x20597c,_0x1d2270]of Object['entries'](_0xf1381f)){_0x1045e5[_0x20597c]=_0x1d2270?_0x1d2270['toString']():null;}return _0x1045e5;}async[a0_0x2d6b18(0x84)](){const _0x333804=a0_0x2d6b18,_0x14aaa7={'eGQRg':_0x333804(0xa8),'JUztI':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x333804(0x9f)]||!this['isRunning'])return console['log'](_0x333804(0xdc)),![];if(this[_0x333804(0x83)])return console[_0x333804(0x69)](_0x14aaa7['eGQRg']),!![];try{const _0x585015=this['subscribedTopics'][_0x333804(0x9d)](_0x33c8a7=>({'topic':_0x33c8a7}));return this['consumer'][_0x333804(0x84)](_0x585015),this[_0x333804(0x83)]=!![],console[_0x333804(0x69)](_0x14aaa7[_0x333804(0xb2)]),!![];}catch(_0x1b0b58){return console[_0x333804(0x6a)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x1b0b58['message']),![];}}async[a0_0x2d6b18(0xa7)](){const _0x5da323=a0_0x2d6b18,_0x32d39c={'GxmSM':_0x5da323(0x7c)};if(!this[_0x5da323(0x9f)]||!this['isRunning'])return console['log'](_0x5da323(0xe1)),![];if(!this[_0x5da323(0x83)])return console[_0x5da323(0x69)](_0x32d39c[_0x5da323(0xbb)]),!![];try{const _0x64c71f=this['subscribedTopics']['map'](_0x313fac=>({'topic':_0x313fac}));return this[_0x5da323(0xe4)]['resume'](_0x64c71f),this['isPaused']=![],console[_0x5da323(0x69)](_0x5da323(0x9c)),!![];}catch(_0x426f61){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x426f61[_0x5da323(0x98)]),![];}}async[a0_0x2d6b18(0xcb)](){const _0x2e964a=a0_0x2d6b18,_0x33ccb8={'rwaPs':_0x2e964a(0xb8)};if(!this[_0x2e964a(0x9f)])return console[_0x2e964a(0x69)](_0x33ccb8[_0x2e964a(0xbd)]),!![];try{return this[_0x2e964a(0xe4)]&&(await this[_0x2e964a(0xe4)][_0x2e964a(0xcb)](),await this['consumer'][_0x2e964a(0xd8)]()),this[_0x2e964a(0x9f)]=![],this['isRunning']=![],this[_0x2e964a(0x83)]=![],console['log'](_0x2e964a(0xcc)),!![];}catch(_0x1aea5a){return console[_0x2e964a(0x6a)](_0x2e964a(0x6c)+_0x1aea5a[_0x2e964a(0x98)]),![];}}async[a0_0x2d6b18(0xc4)](_0x3dc2d6,_0x10150d,_0x438476){const _0x3b8465=a0_0x2d6b18,_0x3bb2be={'KXXgO':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x3b8465(0x9f)])return console['error'](_0x3bb2be[_0x3b8465(0x86)]),![];try{return this[_0x3b8465(0xe4)][_0x3b8465(0x6d)]({'topic':_0x3dc2d6,'partition':_0x10150d,'offset':_0x438476[_0x3b8465(0x71)]()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x438476+_0x3b8465(0xb1)+_0x3dc2d6+':'+_0x10150d),!![];}catch(_0x3cb613){return console[_0x3b8465(0x6a)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3cb613[_0x3b8465(0x98)]),![];}}[a0_0x2d6b18(0x8e)](){const _0x34be1a=a0_0x2d6b18,_0x567eea=this['getConfig']();return{'enabled':_0x567eea['enabled'],'connected':this[_0x34be1a(0x9f)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x567eea['brokers'],'clientId':_0x567eea[_0x34be1a(0xdb)],'groupId':this[_0x34be1a(0x79)],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0x4a059a=a0_0x2d6b18,_0x40620d={'ufssR':function(_0xb77c8c,_0x34151f){return _0xb77c8c>_0x34151f;},'xhdBo':function(_0x1caca2,_0xb0a8b7){return _0x1caca2+_0xb0a8b7;},'uJdoR':function(_0x352bbb,_0x15f372){return _0x352bbb/_0x15f372;},'IULAP':function(_0x20e127,_0x40b6c4){return _0x20e127/_0x40b6c4;},'qNdqi':function(_0x3cae0c,_0x3d32e6){return _0x3cae0c-_0x3d32e6;},'SbFsk':function(_0x519766,_0x412044){return _0x519766+_0x412044;}},_0x504685=this['metrics']['processingTimes'][_0x4a059a(0xa6)]>0x0?this[_0x4a059a(0xb5)][_0x4a059a(0x78)][_0x4a059a(0xd2)]((_0x18dc54,_0x48a2f9)=>_0x18dc54+_0x48a2f9,0x0)/this['metrics']['processingTimes'][_0x4a059a(0xa6)]:0x0,_0x221b00=this[_0x4a059a(0xb5)]['processingTimes'][_0x4a059a(0xa6)]>0x0?Math['min'](...this['metrics'][_0x4a059a(0x78)]):0x0,_0x9489c=_0x40620d['ufssR'](this[_0x4a059a(0xb5)][_0x4a059a(0x78)][_0x4a059a(0xa6)],0x0)?Math[_0x4a059a(0x94)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x4a059a(0xb5)][_0x4a059a(0xd3)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this[_0x4a059a(0xb5)]['messagesFailed'],'successRate':_0x40620d['ufssR'](this['metrics'][_0x4a059a(0xd3)],0x0)?_0x40620d['xhdBo']((_0x40620d['uJdoR'](this[_0x4a059a(0xb5)][_0x4a059a(0x90)],this[_0x4a059a(0xb5)]['messagesReceived'])*0x64)[_0x4a059a(0xa3)](0x2),'%'):'0%','lastMessageTime':this[_0x4a059a(0xb5)][_0x4a059a(0x92)],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0x40620d[_0x4a059a(0xce)](Math[_0x4a059a(0xd4)](_0x40620d[_0x4a059a(0xd1)](_0x40620d[_0x4a059a(0x81)](Date['now'](),this['metrics']['startTime'][_0x4a059a(0x95)]()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x40620d['SbFsk'](Math['round'](_0x504685),'ms'),'min':_0x221b00+'ms','max':_0x40620d[_0x4a059a(0xce)](_0x9489c,'ms')}};}['resetMetrics'](){this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async[a0_0x2d6b18(0xa4)](){const _0x2f6139=a0_0x2d6b18;await this[_0x2f6139(0xcb)]();}}function a0_0xc253(){const _0x153013=['DgLTzxn0yw1W','BwvZC2fNzxngywLSzwq','tvH4A1G','BvHnEKS','ig9Uia','sLv6DeK','CMv0CNLnyxHezwXHEq','odq2nZK2C0XIB0jL','Bwv0CMLJCW','yxv0B0nVBw1PDeLUDgvYDMfS','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','s0fgs0fFuKvuuLLFtufyx0rftefz','mJC1ndC1mgrMqwrcwa','r3HTu00','tKv1zLe','CNDHuhm','Cgf5Bg9Hza','BLHwC1G','zgvMyxvSDa','DMfSDwu','Dhj1zq','quzuCfC','C2vLA1rVt2zMC2v0','DxvPza','mJm2nZK0nZriqxjsvfy','DKXvvey','C3vIC2nYAwjL','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','v0fstG','C3rVCa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','CNvU','EgHKqM8','y29UC3vTzxiUC3rVCa','mJuWmda','svvmqva','CMvKDwnL','BwvZC2fNzxnszwnLAxzLza','zMXVB3i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','mJaZnJeWnufJvwLvCG','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','zgLZy29UBMvJDa','wfvwteK','yxv0B0nVBw1PDa','y2XPzw50swq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','rvjst1i','mJaYmtCXmLDkAMjXEa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','y29UC3vTzxiUy3jHC2G','mZaWma','y29UC3vTzxi','CMv0CNLbDhrLBxb0CW','Bg9N','zxjYB3i','AgvHCNrIzwf0sw50zxj2ywW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','C2vLAW','D2fYBG','BwvZC2fNzuHHBMrSzxi','y29UC3vTzxiUCMvIywXHBMnPBMC','Dg9tDhjPBMC','AgvHzgvYCW','tK9useLorW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','s0fgs0fFq0Xjru5ux0Le','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','ChjVy2vZC2LUz1rPBwvZ','z3jVDxbjza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','Bw1mtNu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CMvXDwvZDfrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','mtaWma','Cu5KCwK','ChvZAa','AxnqyxvZzwq','Cgf1C2u','zw5HyMXLza','s1Hyz08','mZaWmda','Bg9Ntgv2zwW','CxD3uNa','s0fgs0fFqLjps0vsuW','s0fgs0fFu0fttf9vu0vstKfnrq','CgfYC2vizwfKzxjZ','CMvZDgzVCMDLlq','z2v0u3rHDhvZ','yNjVA2vYCW','BwvZC2fNzxnqCM9JzxnZzwq','CgfYC2u','BgfZDe1LC3nHz2vuAw1L','C3vIC2nYAwjLzfrVCgLJCW','Bwf4','z2v0vgLTzq','A2fMA2e','s0fgs0fFu1nm','BwvZC2fNzq','nJq0ndGYDeXyBu9q','zw52','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','BwfW','AM9PBG','AxndB25Uzwn0zwq','y29UBMvJDgLVBLbYB21PC2u','mtq0mdm2mePjDNfqEa','C2v0DxbfDMvUDeHHBMrSzxjZ','Dg9gAxHLza','y2XVC2u','s0fgs0fFuKvuuLLFrevmqvK','BgvUz3rO','CMvZDw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','zKnetfu','BM93','lwnVBNn1BwvYlwDYB3vW','B2zMC2v0'];a0_0xc253=function(){return _0x153013;};return a0_0xc253();}let instance=null;function a0_0x30a7(_0x49511f,_0x5b54cf){_0x49511f=_0x49511f-0x68;const _0xc2530b=a0_0xc253();let _0x30a768=_0xc2530b[_0x49511f];if(a0_0x30a7['CWGaWe']===undefined){var _0x1c2214=function(_0x54e35c){const _0x14d2fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47276b='',_0x6e7fbf='';for(let _0x4d9d67=0x0,_0x5239ce,_0x30b562,_0x534f5b=0x0;_0x30b562=_0x54e35c['charAt'](_0x534f5b++);~_0x30b562&&(_0x5239ce=_0x4d9d67%0x4?_0x5239ce*0x40+_0x30b562:_0x30b562,_0x4d9d67++%0x4)?_0x47276b+=String['fromCharCode'](0xff&_0x5239ce>>(-0x2*_0x4d9d67&0x6)):0x0){_0x30b562=_0x14d2fe['indexOf'](_0x30b562);}for(let _0x45e186=0x0,_0x507abe=_0x47276b['length'];_0x45e186<_0x507abe;_0x45e186++){_0x6e7fbf+='%'+('00'+_0x47276b['charCodeAt'](_0x45e186)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x6e7fbf);};a0_0x30a7['bcDIjV']=_0x1c2214,a0_0x30a7['ZQofuf']={},a0_0x30a7['CWGaWe']=!![];}const _0x353c59=_0xc2530b[0x0],_0x18451b=_0x49511f+_0x353c59,_0x2acf40=a0_0x30a7['ZQofuf'][_0x18451b];return!_0x2acf40?(_0x30a768=a0_0x30a7['bcDIjV'](_0x30a768),a0_0x30a7['ZQofuf'][_0x18451b]=_0x30a768):_0x30a768=_0x2acf40,_0x30a768;}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_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_0x303be9=a0_0x84de;(function(_0x490691,_0xd29ea2){const _0x5e5071=a0_0x84de,_0x11d1c7=_0x490691();while(!![]){try{const _0xde7284=parseInt(_0x5e5071(0x21b))/0x1+parseInt(_0x5e5071(0x221))/0x2+-parseInt(_0x5e5071(0x225))/0x3+-parseInt(_0x5e5071(0x1f3))/0x4*(parseInt(_0x5e5071(0x218))/0x5)+-parseInt(_0x5e5071(0x1fd))/0x6+-parseInt(_0x5e5071(0x202))/0x7*(-parseInt(_0x5e5071(0x21f))/0x8)+-parseInt(_0x5e5071(0x1fe))/0x9*(parseInt(_0x5e5071(0x1d4))/0xa);if(_0xde7284===_0xd29ea2)break;else _0x11d1c7['push'](_0x11d1c7['shift']());}catch(_0x553202){_0x11d1c7['push'](_0x11d1c7['shift']());}}}(a0_0x4806,0x5f798));function a0_0x4806(){const _0x2a7ed8=['C291CMnL','nZC0ntq2AKvHruXT','ndvQsKTYAvq','y29UBMvJDa','Dg9mB3DLCKnHC2u','A2v5rMLLBgq','nJe2ENn1C25f','y29UBMvJDgLVBLbYB21PC2u','Dg9WAwm','z2v0sg91CNm','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','AM9PBG','yNvPBgrfDMvUDe1LC3nHz2u','Aw5PDgLHBgL6zq','BwvZC2fNzq','zM9YBwf0rgf0zvrPBwu','y29YCMvSyxrPB25jza','su5gtW','Dw5RBM93BG','zw52','s0fgs0fFve9qsunFuefuvevstG','s0fgs0fFu0fttf9vu0vstKfnrq','v2Pkr1q','ChvIBgLZAfvWzgf0zq','CMvWBgfJzq','CMv0CNLbDhrLBxb0CW','Bg9Ntgv2zwW','s0fgs0fFu1nm','nunYrNrSuq','C3rYAw5NAwz5','Bg9N','nZy4mdi5Au5YzKHi','zw5HyMXLza','CMvXDwvZDfrPBwvVDxq','zw5KCg9PBNq','ntCYmJrpq2DKs0e','z2v0twLUDxrLCW','nJe2mJG4A3nqtMnS','ChvIBgLZAeLUC2vYDa','Dg9WAwnqyxr0zxjU','ChvIBgLZAerLBgv0zq','otG4otGZCKreDfzJ','s0fgs0fFqLjps0vsuW','AxnjBML0AwfSAxPPBMC','ChjVzhvJzxi','E2fJDgLVBN0','ChjVzhvJzxiUzgLZy29UBMvJDa','y3jLyxrLza','z2v0q29UzMLN','s0fgs0fFvevoqu5ux0Le','ntuYmduWCxPlExPz','lxbYB2r1y2vY','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','zgvMyxvSDa','s0fgs0fFuKvuuLLFrevmqvK','zgvSzxrLza','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','A2fMA2e','y29YCI0','CgfYDgL0Aw9U','DxvPza','C3bSAxq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxndB25Uzwn0zwq','zgLZy29UBMvJDa','AhD3tfa','z2v0tg9Ntgv2zwW','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','DgfIBgvoyw1L','yNvPBgruB3bPy05HBwu','s0fgs0fFru5bqKXfra','Dg9vChbLCKnHC2u','tgvNywn5ugfYDgL0Aw9Uzxi','z2v0rgf0zq','Bg9JywXOB3n0oJKWoti','wuPnseK','z2v0rNvSBfLLyxi','tMn4uuK','zxjYB3i','yNjVA2vYCW','u1Ltvevn','mJmXote4nhvmDfbABq','y2XVC2u','z2v0tw9UDgG','CgfKu3rHCNq','mJuWmda','ChvIBgLZAev2zw50','sNrgq2y','Dhj1zq','yLfOzLG'];a0_0x4806=function(){return _0x2a7ed8;};return a0_0x4806();}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x303be9(0x1de));class KafkaService{constructor(){const _0x41ad72=a0_0x303be9;this[_0x41ad72(0x1db)]=null,this['producer']=null,this[_0x41ad72(0x1e1)]=![],this[_0x41ad72(0x227)]=![],this['connectionPromise']=null;}['getConfig'](){const _0x34f54c=a0_0x303be9,_0x2ed3dc={'TKDEY':_0x34f54c(0x1fa),'hwwLP':'3000','NcxQI':function(_0x36a6aa,_0x9aac67){return _0x36a6aa(_0x9aac67);},'cIsdP':_0x34f54c(0x1f7),'NkkRK':'warn'};return{'enabled':process['env'][_0x34f54c(0x1e8)]===_0x2ed3dc['TKDEY'],'brokers':(process['env'][_0x34f54c(0x226)]||_0x34f54c(0x1ec))[_0x34f54c(0x1df)](','),'clientId':process[_0x34f54c(0x20f)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x34f54c(0x20f)]['RESTFORGE_PROJECT_NAME']||_0x34f54c(0x1d7))+_0x34f54c(0x1d5),'connectionTimeout':parseInt(process[_0x34f54c(0x20f)][_0x34f54c(0x1e0)]||_0x2ed3dc[_0x34f54c(0x1e3)]),'requestTimeout':_0x2ed3dc['NcxQI'](parseInt,process[_0x34f54c(0x20f)]['KAFKA_REQUEST_TIMEOUT']||_0x2ed3dc['cIsdP']),'topicPattern':process[_0x34f54c(0x20f)][_0x34f54c(0x210)]||'{module}.{endpoint}.events','tenantId':process[_0x34f54c(0x20f)][_0x34f54c(0x1d3)]||_0x34f54c(0x1d7),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x2ed3dc[_0x34f54c(0x1ef)](parseInt,process['env'][_0x34f54c(0x1d8)]||'1000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x2ed3dc['NkkRK']};}[a0_0x303be9(0x1e4)](_0x38fc0e){const _0x21e019=a0_0x303be9,_0x347bc3={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x21e019(0x20d)],'debug':logLevel['DEBUG']};return _0x347bc3[_0x38fc0e[_0x21e019(0x200)]()]||logLevel['WARN'];}async[a0_0x303be9(0x209)](){const _0x3503cd=a0_0x303be9,_0x4a4271=this[_0x3503cd(0x1d2)]();if(!_0x4a4271['enabled'])return console['log']('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x3503cd(0x1e1)])return!![];if(this['isInitializing']&&this[_0x3503cd(0x203)])return this[_0x3503cd(0x203)];return this['isInitializing']=!![],this[_0x3503cd(0x203)]=new Promise(async _0x3fd7a4=>{const _0x19dbfc=_0x3503cd;try{let _0x58de13=undefined;process['env'][_0x19dbfc(0x217)]==='true'&&(_0x58de13=!![]);let _0x596cc9=undefined;process[_0x19dbfc(0x20f)]['KAFKA_SASL_MECHANISM']&&(_0x596cc9={'mechanism':process[_0x19dbfc(0x20f)]['KAFKA_SASL_MECHANISM'],'username':process[_0x19dbfc(0x20f)][_0x19dbfc(0x211)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4a4271['clientId'],'brokers':_0x4a4271['brokers'],'connectionTimeout':_0x4a4271['connectionTimeout'],'requestTimeout':_0x4a4271[_0x19dbfc(0x21d)],'logLevel':this[_0x19dbfc(0x1e4)](_0x4a4271[_0x19dbfc(0x216)]),'ssl':_0x58de13,'sasl':_0x596cc9,'retry':{'initialRetryTime':_0x4a4271['retryDelay'],'retries':_0x4a4271[_0x19dbfc(0x215)]}}),this['producer']=this['kafka'][_0x19dbfc(0x228)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x19dbfc(0x1ea)]}),await this['producer'][_0x19dbfc(0x1ff)](),this['isConnected']=!![],console['log'](_0x19dbfc(0x1e5)+_0x4a4271[_0x19dbfc(0x1f1)][_0x19dbfc(0x207)](',\x20')),this[_0x19dbfc(0x228)]['on'](_0x19dbfc(0x22a),()=>{const _0x253dd6=_0x19dbfc;console[_0x253dd6(0x21a)]('[Kafka]\x20Producer\x20disconnected'),this['isConnected']=![];}),_0x3fd7a4(!![]);}catch(_0x4586e9){console[_0x19dbfc(0x1f0)]('[Kafka]\x20Connection\x20failed:\x20'+_0x4586e9[_0x19dbfc(0x20a)]),this['isConnected']=![],_0x3fd7a4(![]);}finally{this[_0x19dbfc(0x227)]=![];}}),this[_0x3503cd(0x203)];}[a0_0x303be9(0x20b)](_0xa4f14a){const _0x5dcaa9=a0_0x303be9,_0x569ccc={'YJMHI':function(_0x1a5860,_0x379117){return _0x1a5860(_0x379117);},'bQhfX':function(_0x333c2c,_0x5057b9){return _0x333c2c(_0x5057b9);}},_0x495dca=_0xa4f14a||new Date(),_0x4413e3=_0x495dca[_0x5dcaa9(0x1ee)](),_0x390670=_0x569ccc[_0x5dcaa9(0x1ed)](String,_0x495dca[_0x5dcaa9(0x1f5)]()+0x1)[_0x5dcaa9(0x1f6)](0x2,'0'),_0x59159e=String(_0x495dca[_0x5dcaa9(0x1eb)]())[_0x5dcaa9(0x1f6)](0x2,'0'),_0x361f11=_0x569ccc[_0x5dcaa9(0x1ed)](String,_0x495dca[_0x5dcaa9(0x205)]())['padStart'](0x2,'0'),_0x20a184=_0x569ccc[_0x5dcaa9(0x1fb)](String,_0x495dca[_0x5dcaa9(0x220)]())[_0x5dcaa9(0x1f6)](0x2,'0'),_0x591e23=_0x569ccc[_0x5dcaa9(0x1fb)](String,_0x495dca['getSeconds']())['padStart'](0x2,'0');return _0x4413e3+'-'+_0x390670+'-'+_0x59159e+'\x20'+_0x361f11+':'+_0x20a184+':'+_0x591e23;}['buildTopicName'](_0x141523,_0x54bba0,_0x196bd9,_0x146a16=null){const _0x459087=a0_0x303be9,_0x5baa2c={'abpqZ':_0x459087(0x229)};if(_0x146a16)return _0x146a16;const _0x4aab96=this[_0x459087(0x1d2)]()['topicPattern'];return _0x4aab96[_0x459087(0x214)]('{module}',_0x141523)['replace']('{endpoint}',_0x54bba0)[_0x459087(0x214)](_0x5baa2c['abpqZ'],_0x196bd9);}['buildEventMessage'](_0x75337c,_0x4960b0,_0x4d2f2b,_0x2fa4ed={}){const _0x323b71=a0_0x303be9,_0x126111={'qjTDI':'unknown','OzHGh':_0x323b71(0x1f2)},_0x464d7e=new Date(),_0xb9f8da=this['formatDateTime'](_0x464d7e),_0x4fb8b7=_0x2fa4ed[_0x323b71(0x20c)]||_0x323b71(0x1dc)+uuidv7();return{'eventId':'evt-'+uuidv7(),'eventType':_0x75337c,'eventTime':_0xb9f8da,'eventVersion':'1.0','source':'restforge-'+(_0x2fa4ed['module']||_0x126111['qjTDI']),'correlationId':_0x4fb8b7,'newData':_0x4d2f2b,'oldData':_0x4960b0,'metadata':{'createdBy':_0x2fa4ed['createdBy']||_0x126111['OzHGh'],'createdAt':_0xb9f8da,'systemId':'RESTFORGE-'+(_0x2fa4ed['module']||_0x323b71(0x20e))[_0x323b71(0x1e9)](),'tenantId':this[_0x323b71(0x1d2)]()['tenantId'],'endpoint':_0x2fa4ed[_0x323b71(0x21e)]||null,'tableName':_0x2fa4ed['tableName']||null}};}async[a0_0x303be9(0x1f8)](_0xe678,_0x5e841c,_0x16c4e6,_0x27e5fb,_0x49bd71={}){const _0x52b5cf=a0_0x303be9,_0x366177={'WXEXP':'Kafka\x20producer\x20is\x20disabled','sDBLw':function(_0x41884d,_0x1c2250){return _0x41884d(_0x1c2250);}},_0x46db8f=this[_0x52b5cf(0x1d2)]();if(!_0x46db8f['enabled'])return{'success':![],'reason':_0x366177['WXEXP'],'published':![]};if(!this[_0x52b5cf(0x1e1)]){const _0x5487ad=await this['initialize']();if(!_0x5487ad)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x4c22b3=this[_0x52b5cf(0x208)](_0x5e841c,_0x16c4e6,_0x27e5fb,_0x49bd71),_0x51f0f1=_0x49bd71[_0x52b5cf(0x201)]||'id',_0x3297c2=_0x27e5fb?.[_0x51f0f1]||_0x16c4e6?.[_0x51f0f1]||uuidv7(),_0xc869a2=await this[_0x52b5cf(0x228)]['send']({'topic':_0xe678,'messages':[{'key':_0x366177['sDBLw'](String,_0x3297c2),'value':JSON[_0x52b5cf(0x219)](_0x4c22b3),'headers':{'event-type':_0x5e841c,'correlation-id':_0x4c22b3['correlationId'],'source':_0x4c22b3[_0x52b5cf(0x1fc)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0xe678+':\x20'+_0x5e841c+'\x20(key:\x20'+_0x3297c2+')'),{'success':!![],'correlationId':_0x4c22b3[_0x52b5cf(0x20c)],'topic':_0xe678,'partition':_0xc869a2[0x0]?.[_0x52b5cf(0x1dd)],'offset':_0xc869a2[0x0]?.['baseOffset'],'published':!![]};}catch(_0x31ff8d){return console[_0x52b5cf(0x1f0)](_0x52b5cf(0x1d6)+_0xe678+':\x20'+_0x31ff8d['message']),{'success':![],'error':_0x31ff8d[_0x52b5cf(0x20a)],'published':![]};}}async[a0_0x303be9(0x222)](_0x2c3532,_0x131b05,_0x5b0c48,_0x4ee360={}){const _0x24a39a=a0_0x303be9,_0xf39714=this['buildTopicName'](_0x2c3532,_0x131b05,_0x24a39a(0x22b),_0x4ee360['topic']);return this[_0x24a39a(0x1f8)](_0xf39714,'ENTITY_CREATED',null,_0x5b0c48,{'module':_0x2c3532,'endpoint':_0x131b05,'keyField':_0x4ee360[_0x24a39a(0x201)],'tableName':_0x4ee360['tableName'],'correlationId':_0x4ee360['correlationId']});}async[a0_0x303be9(0x213)](_0x2888a6,_0x1b9824,_0x3dde29,_0x3d8a12,_0x26bac7={}){const _0x4b8b35=a0_0x303be9,_0x40d70c=this[_0x4b8b35(0x1e7)](_0x2888a6,_0x1b9824,'updated',_0x26bac7[_0x4b8b35(0x204)]);return this['publishEvent'](_0x40d70c,'ENTITY_UPDATED',_0x3dde29,_0x3d8a12,{'module':_0x2888a6,'endpoint':_0x1b9824,'keyField':_0x26bac7['keyField'],'tableName':_0x26bac7[_0x4b8b35(0x1e6)],'correlationId':_0x26bac7['correlationId']});}async[a0_0x303be9(0x224)](_0x560a7b,_0x582b2c,_0x2aef34,_0x33b4f5={}){const _0x120592=a0_0x303be9,_0x3d4740={'WjJGT':_0x120592(0x1d9),'JtFCf':'ENTITY_DELETED'},_0x10e604=this[_0x120592(0x1e7)](_0x560a7b,_0x582b2c,_0x3d4740[_0x120592(0x212)],_0x33b4f5[_0x120592(0x204)]);return this[_0x120592(0x1f8)](_0x10e604,_0x3d4740[_0x120592(0x1f9)],_0x2aef34,null,{'module':_0x560a7b,'endpoint':_0x582b2c,'keyField':_0x33b4f5['keyField'],'tableName':_0x33b4f5[_0x120592(0x1e6)],'correlationId':_0x33b4f5['correlationId']});}['getStatus'](){const _0x268f86=a0_0x303be9,_0x2c5027=this[_0x268f86(0x1d2)]();return{'enabled':_0x2c5027[_0x268f86(0x21c)],'connected':this[_0x268f86(0x1e1)],'brokers':_0x2c5027['brokers'],'clientId':_0x2c5027['clientId'],'topicPattern':_0x2c5027[_0x268f86(0x223)]};}async[a0_0x303be9(0x1f4)](){const _0x29afa3=a0_0x303be9;if(this[_0x29afa3(0x228)]&&this['isConnected'])try{await this[_0x29afa3(0x228)][_0x29afa3(0x1e2)](),this[_0x29afa3(0x1e1)]=![],console[_0x29afa3(0x21a)](_0x29afa3(0x206));}catch(_0x2b44ad){console['error'](_0x29afa3(0x1da)+_0x2b44ad[_0x29afa3(0x20a)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function a0_0x84de(_0x44f91c,_0x34e84c){_0x44f91c=_0x44f91c-0x1d2;const _0x48061b=a0_0x4806();let _0x84de78=_0x48061b[_0x44f91c];if(a0_0x84de['DVjQRN']===undefined){var _0x27ae5d=function(_0x16ce9e){const _0x5edae7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3130f1='',_0x95f560='';for(let _0x3386b5=0x0,_0x52e840,_0x4fe185,_0x39c5f4=0x0;_0x4fe185=_0x16ce9e['charAt'](_0x39c5f4++);~_0x4fe185&&(_0x52e840=_0x3386b5%0x4?_0x52e840*0x40+_0x4fe185:_0x4fe185,_0x3386b5++%0x4)?_0x3130f1+=String['fromCharCode'](0xff&_0x52e840>>(-0x2*_0x3386b5&0x6)):0x0){_0x4fe185=_0x5edae7['indexOf'](_0x4fe185);}for(let _0x4d0c28=0x0,_0x430909=_0x3130f1['length'];_0x4d0c28<_0x430909;_0x4d0c28++){_0x95f560+='%'+('00'+_0x3130f1['charCodeAt'](_0x4d0c28)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x95f560);};a0_0x84de['JiICHe']=_0x27ae5d,a0_0x84de['jSTJkI']={},a0_0x84de['DVjQRN']=!![];}const _0x13a036=_0x48061b[0x0],_0x4db25c=_0x44f91c+_0x13a036,_0x4a26ea=a0_0x84de['jSTJkI'][_0x4db25c];return!_0x4a26ea?(_0x84de78=a0_0x84de['JiICHe'](_0x84de78),a0_0x84de['jSTJkI'][_0x4db25c]=_0x84de78):_0x84de78=_0x4a26ea,_0x84de78;}function resetInstance(){const _0x5dbca3=a0_0x303be9;instance&&(instance[_0x5dbca3(0x1f4)](),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
|
+
function a0_0x5b67(_0x1c43e4,_0x58f7c5){_0x1c43e4=_0x1c43e4-0x146;const _0x233494=a0_0x2334();let _0x5b677d=_0x233494[_0x1c43e4];if(a0_0x5b67['yqEQaG']===undefined){var _0x3f0a23=function(_0x3abb15){const _0x2f3d72='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x38ea01='',_0x3b81d4='';for(let _0x109a02=0x0,_0x4c93cf,_0x8d32a3,_0x3e8869=0x0;_0x8d32a3=_0x3abb15['charAt'](_0x3e8869++);~_0x8d32a3&&(_0x4c93cf=_0x109a02%0x4?_0x4c93cf*0x40+_0x8d32a3:_0x8d32a3,_0x109a02++%0x4)?_0x38ea01+=String['fromCharCode'](0xff&_0x4c93cf>>(-0x2*_0x109a02&0x6)):0x0){_0x8d32a3=_0x2f3d72['indexOf'](_0x8d32a3);}for(let _0x5a2ac8=0x0,_0x2a6cdd=_0x38ea01['length'];_0x5a2ac8<_0x2a6cdd;_0x5a2ac8++){_0x3b81d4+='%'+('00'+_0x38ea01['charCodeAt'](_0x5a2ac8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b81d4);};a0_0x5b67['kXZddf']=_0x3f0a23,a0_0x5b67['RbfWrF']={},a0_0x5b67['yqEQaG']=!![];}const _0x85bf70=_0x233494[0x0],_0x1cb7e5=_0x1c43e4+_0x85bf70,_0x6717f0=a0_0x5b67['RbfWrF'][_0x1cb7e5];return!_0x6717f0?(_0x5b677d=a0_0x5b67['kXZddf'](_0x5b677d),a0_0x5b67['RbfWrF'][_0x1cb7e5]=_0x5b677d):_0x5b677d=_0x6717f0,_0x5b677d;}const a0_0x538a83=a0_0x5b67;function a0_0x2334(){const _0x8c33a4=['tw9KztOGs29UzwTZAsboEwf0yq','nJmWmdm5mhDXuwLSEa','DxnLCKLK','CMvXDwvZDeLK','Dg9ju09tDhjPBMC','CMvJzwL2zxjjza','y2f0zwDVCNK','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','y29UBMvJDgvK','s29UzMLNDxjHC2KGugXHDgzVCM06ia','zxHPC3rZu3LUyW','y29UzMLN','zgLZy29UBMvJDa','A3zHq0K','Dg9WAwm','vw5RBM93BIbLCNjVCG','tvnivujFu0vsvKLdrv9qt1ju','CMvZB2X2zq','vMnLt0C','mtKYnZu4nwLjrwPkrW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','CuzuAe8','tK54D0O','CMvXDwLYzufJAW','C3vIC2nYAwjLs2v5','DfvbqM8','CMvHC29U','mtaYmJKZodjTvevAqMK','rePSthC','vw5RBM93BG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','AujIwNm','zfLorhG','ChvIBgLZAa','q2HHBM5LBcbuyxjNzxq6ia','zNvUy3rPB24','CMvJzwL2zwrbDa','tKnpq3i','mtiWodDKD09SBxm','ntu2otbVB21OyLG','twvZC2fNzsbuExbLoIa','AKXyv0S','tvnivujFqvbjx1bpuLq','D2vIC29JA2v0','mJHUA2zPtLm','y1HpAhu','suvsDxi','mta1odqXotbdzffcwxK','ofbODxfbuG','uNfHswK','y2XLyxjdywnOzq','C29JA2v0','DM9iswq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','y2vyDLe','Bg9N','zw52','u3vIC2nYAwjLieTLEtOG','y2HHBM5LBa','DuX5Ahi','mte2z2vYDgr3','q2n4Ce8','CMvJzwL2zxjjBMzV','BwvZC2fNzq','r01Ou0G','twj2AuS','BwvZC2fNzs1YzwnLAxzLza','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','C3rYAw5NAwz5','BMfTzq','v3Leruq','y2XVC2u','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','q29UBMvJDgLVBIb0Aw1LB3v0','y29UzMLYBwf0Aw9Uq291BNq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','tvnivujFufvcteLtsf9lrvK','Cgf0Aa','EurVz2K','CgXHDgzVCM1dB25MAwC','t2rLBxq','C0TKveu','igrPDgvYAw1Hig9SzwGG','Be9RAeW','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','vgLKywSGzgLRzxrHAhvP','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','uxjkqNu','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','mteWntyYne5sCNb0Bq'];a0_0x2334=function(){return _0x8c33a4;};return a0_0x2334();}(function(_0x2e3c22,_0x16b1f5){const _0xd99fc8=a0_0x5b67,_0x9f81bd=_0x2e3c22();while(!![]){try{const _0x242347=-parseInt(_0xd99fc8(0x179))/0x1*(parseInt(_0xd99fc8(0x170))/0x2)+parseInt(_0xd99fc8(0x16f))/0x3*(-parseInt(_0xd99fc8(0x185))/0x4)+parseInt(_0xd99fc8(0x15b))/0x5+parseInt(_0xd99fc8(0x149))/0x6+-parseInt(_0xd99fc8(0x175))/0x7*(parseInt(_0xd99fc8(0x147))/0x8)+parseInt(_0xd99fc8(0x164))/0x9+-parseInt(_0xd99fc8(0x178))/0xa;if(_0x242347===_0x16b1f5)break;else _0x9f81bd['push'](_0x9f81bd['shift']());}catch(_0x3a0693){_0x9f81bd['push'](_0x9f81bd['shift']());}}}(a0_0x2334,0x97b24));const dotenv=require('dotenv'),path=require(a0_0x538a83(0x197)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x538a83(0x153)]();let MessageHub;try{const messagehubPath=path[a0_0x538a83(0x159)](__dirname,'../../js/messagehub.js');if(fs[a0_0x538a83(0x152)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x538a83(0x180)](a0_0x538a83(0x1a0)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x321ef6){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x321ef6['message']);throw a0_0x321ef6;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x382e03){const _0x4eace4=a0_0x538a83,_0x56b104=new Date()[_0x4eace4(0x14c)]();console['log']('['+_0x56b104+']\x20'+_0x382e03);}async function initMessageHub(){const _0x10f794=a0_0x538a83,_0x151070={'Odemt':function(_0xbe15a4,_0x34e6f4){return _0xbe15a4&&_0x34e6f4;},'Wmqhw':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','voHId':function(_0x243694,_0x4e805f){return _0x243694(_0x4e805f);},'tUABo':function(_0x4e921b,_0x5aba32){return _0x4e921b===_0x5aba32;},'yDogi':_0x10f794(0x19f),'qFThO':_0x10f794(0x157),'CBzIu':_0x10f794(0x18b),'WyDED':function(_0x414cab,_0x19abe2){return _0x414cab(_0x19abe2);},'VceOG':'broadcast','Oqhfw':function(_0x3b6d13,_0x8dba0a){return _0x3b6d13===_0x8dba0a;},'AaWcY':'true','BCKAe':'localhost','esXRS':_0x10f794(0x15c),'cXOhu':function(_0x570eb5,_0x2127f3){return _0x570eb5(_0x2127f3);},'wfRLv':function(_0x4aeb7c,_0x1a1f4c){return _0x4aeb7c(_0x1a1f4c);},'uLyhr':function(_0x511e23,_0x41467c){return _0x511e23(_0x41467c);},'IERur':'========================================','GMhSH':function(_0x59f8f6,_0xf7859a,_0x22248a){return _0x59f8f6(_0xf7859a,_0x22248a);},'OTwzD':function(_0x2a9954,_0x548e07){return _0x2a9954(_0x548e07);},'wTZzj':_0x10f794(0x146),'gEDJt':_0x10f794(0x167)};if(messagehub&&isConnected)return log(_0x151070['wTZzj']),!![];if(connectionPromise)return log(_0x151070['gEDJt']),connectionPromise;return connectionPromise=new Promise(async(_0x2bcf40,_0x509600)=>{const _0x5ded2b=_0x10f794,_0x551d3b={'NNxwJ':function(_0x46141a,_0x1f948c){return _0x46141a(_0x1f948c);},'AxuaZ':function(_0x330e19,_0x133186){const _0x2f5a68=a0_0x5b67;return _0x151070[_0x2f5a68(0x17d)](_0x330e19,_0x133186);},'NCOCr':function(_0x443a14,_0x31ba97){const _0x3f3b89=a0_0x5b67;return _0x151070[_0x3f3b89(0x162)](_0x443a14,_0x31ba97);},'ceXvQ':_0x151070[_0x5ded2b(0x198)],'upgZf':_0x151070[_0x5ded2b(0x15e)],'QrJBu':function(_0x2159c3,_0x269695){return _0x2159c3(_0x269695);},'MbviK':function(_0x533f22,_0x3e2abe){return _0x533f22(_0x3e2abe);},'CcxpO':_0x151070['CBzIu'],'oBYck':function(_0x100f10,_0x5f20d1){const _0x447f2b=_0x5ded2b;return _0x151070[_0x447f2b(0x18f)](_0x100f10,_0x5f20d1);}};try{_0x151070['WyDED'](log,_0x5ded2b(0x17e)),log('Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),_0x151070['WyDED'](log,_0x5ded2b(0x148));const _0x20e8e9={'publishKey':process[_0x5ded2b(0x181)][_0x5ded2b(0x196)],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process['env']['MSHUB_USER_ID']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+'-'+process['pid'],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x151070[_0x5ded2b(0x15a)],'autoAcknowledge':process[_0x5ded2b(0x181)]['MSHUB_AUTO_ACKNOWLEDGE']==='true','acknowledgeMessages':_0x151070['Oqhfw'](process[_0x5ded2b(0x181)]['MSHUB_ACKNOWLEDGE_MESSAGES'],_0x151070['AaWcY']),'platform':{'type':process[_0x5ded2b(0x181)]['MSHUB_COMMUNICATION_TYPE']||_0x5ded2b(0x174),'host':process['env']['MSHUB_HOST']||_0x151070['BCKAe'],'api_port':_0x151070['WyDED'](parseInt,process[_0x5ded2b(0x181)][_0x5ded2b(0x173)]||0xdf8),'service_port':parseInt(process[_0x5ded2b(0x181)][_0x5ded2b(0x158)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x20e8e9),log(_0x151070['esXRS']),_0x151070['cXOhu'](log,'Client\x20ID/UserID:\x20'+messagehub[_0x5ded2b(0x14a)]),_0x151070['wfRLv'](log,'Publish\x20Key:\x20'+messagehub['publishKey']),_0x151070['wfRLv'](log,_0x5ded2b(0x182)+messagehub[_0x5ded2b(0x161)]),_0x151070[_0x5ded2b(0x17d)](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x151070[_0x5ded2b(0x176)](log,_0x5ded2b(0x151)+JSON[_0x5ded2b(0x18d)](messagehub[_0x5ded2b(0x199)])),_0x151070[_0x5ded2b(0x184)](log,_0x151070[_0x5ded2b(0x177)]),messagehub['addListener']({'status':function(_0x330994){const _0x7c61ce=_0x5ded2b;log('Status\x20Listener:\x20'+_0x330994[_0x7c61ce(0x14e)]);if(_0x330994['category']===_0x7c61ce(0x150))log('Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x551d3b[_0x7c61ce(0x15f)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x551d3b['AxuaZ'](_0x2bcf40,!![]);else{if(_0x551d3b[_0x7c61ce(0x16e)](_0x330994['category'],'disconnected')){const _0x275aec=_0x330994['isErrorRelated']===!![];!_0x275aec&&(_0x551d3b['NNxwJ'](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x330994[_0x7c61ce(0x163)]||_0x551d3b[_0x7c61ce(0x17f)])),isConnected=![],connectionPromise&&(_0x509600(new Error('Koneksi\x20terputus:\x20'+(_0x330994['reason']||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x330994['category']==='error'){let _0x25db3f=_0x330994['errorDetail']||_0x330994['error']||_0x551d3b['upgZf'];log('⚠️\x20Error:\x20'+_0x25db3f),isConnected=![],connectionPromise&&(_0x551d3b[_0x7c61ce(0x1a1)](_0x509600,new Error(_0x25db3f)),connectionPromise=null);}else{if(_0x551d3b[_0x7c61ce(0x16e)](_0x330994['category'],'message-sent'))_0x551d3b[_0x7c61ce(0x18a)](log,_0x7c61ce(0x18c)+_0x330994['requestId']);else{if(_0x330994['category']===_0x551d3b[_0x7c61ce(0x186)]){const _0x4a2aaa=_0x330994[_0x7c61ce(0x187)]?.[_0x7c61ce(0x18e)]||_0x7c61ce(0x166),_0x4bfdde=_0x330994['receiverInfo']?.['id']||_0x330994[_0x7c61ce(0x14d)],_0x1de4d3=new Date(_0x330994['receiverInfo']?.[_0x7c61ce(0x16d)]||_0x330994[_0x7c61ce(0x16d)]||new Date())['toLocaleTimeString']();_0x551d3b['oBYck'](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x330994[_0x7c61ce(0x14b)]+_0x7c61ce(0x19c)+_0x4a2aaa+'\x20('+_0x4bfdde+')\x20pada\x20'+_0x1de4d3+'.\x20Total\x20konfirmasi:\x20'+(_0x330994[_0x7c61ce(0x194)]||0x1));}}}}}}}),timeoutHandler=_0x151070[_0x5ded2b(0x189)](setTimeout,()=>{const _0x665275=_0x5ded2b;_0x151070[_0x665275(0x19a)](!isConnected,connectionPromise)&&(log(_0x151070['Wmqhw']),_0x509600(new Error(_0x665275(0x193))),connectionPromise=null);},0x2710);}catch(_0x1670e9){_0x151070['OTwzD'](log,_0x5ded2b(0x14f)+_0x1670e9[_0x5ded2b(0x188)]),console['error'](_0x5ded2b(0x19e),_0x1670e9),connectionPromise=null,_0x509600(_0x1670e9);}}),connectionPromise;}async function publishMessage(_0x1a0466,_0x5d5325,_0x344ee2,_0x127922={}){const _0x3601c1=a0_0x538a83,_0x441344={'jLXWK':function(_0x5b7604){return _0x5b7604();},'lOkhL':function(_0xa1e19d,_0x447e75){return _0xa1e19d(_0x447e75);},'IniSb':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','dcCtE':_0x3601c1(0x15d),'kvaCI':function(_0x5c0404,_0xae95e5){return _0x5c0404!==_0xae95e5;},'iBbZs':function(_0x2cebcb,_0x1c64af){return _0x2cebcb!==_0x1c64af;},'dCjlC':'restforge','YrMfK':'Mengirim\x20pesan\x20ke\x20server...','klDpR':function(_0xcf0a54,_0x59dc2e){return _0xcf0a54(_0x59dc2e);},'dYNDx':_0x3601c1(0x192)};try{!isConnected&&await _0x441344[_0x3601c1(0x172)](initMessageHub);const _0x24b145=messagehub[_0x3601c1(0x183)](_0x1a0466);_0x441344[_0x3601c1(0x19d)](log,_0x441344['IniSb']),_0x441344[_0x3601c1(0x19d)](log,_0x3601c1(0x16b)+_0x24b145[_0x3601c1(0x156)]),log(_0x3601c1(0x171)+_0x5d5325),log(_0x441344['dcCtE']);const _0x42ac13={'requireAck':_0x441344[_0x3601c1(0x155)](_0x127922['requireAck'],undefined)?_0x127922[_0x3601c1(0x160)]:![],'clearCache':_0x441344[_0x3601c1(0x168)](_0x127922[_0x3601c1(0x17b)],undefined)?_0x127922[_0x3601c1(0x17b)]:!![],'senderId':messagehub['socket']?messagehub[_0x3601c1(0x17c)]['id']:_0x441344['dCjlC']};log(_0x441344['YrMfK']);const _0x28bfa9={'type':_0x5d5325,'content':_0x344ee2},_0x391d79=await _0x24b145[_0x3601c1(0x16a)](_0x28bfa9,_0x42ac13);return _0x441344[_0x3601c1(0x19d)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x1a0466),{'success':!![],'requestId':_0x391d79[_0x3601c1(0x14b)],'topic':_0x1a0466,'message':'Message\x20sent\x20successfully'};}catch(_0x203068){return _0x441344['klDpR'](log,_0x3601c1(0x191)+_0x203068[_0x3601c1(0x188)]),{'success':![],'error':_0x203068['message'],'topic':_0x1a0466,'message':_0x441344[_0x3601c1(0x169)]};}}async function closeConnection(){const _0x11b96c=a0_0x538a83,_0x4ecca6={'Frhnf':_0x11b96c(0x16c),'DJlLw':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','ZbmBM':function(_0x3bf2bc,_0x2ba33f){return _0x3bf2bc===_0x2ba33f;},'RqaIi':function(_0x110265,_0x460370){return _0x110265(_0x460370);},'sKdTE':function(_0x1306a1,_0x157514){return _0x1306a1(_0x157514);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub['disconnect']==='function')await messagehub[_0x11b96c(0x154)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub[_0x11b96c(0x190)]===_0x4ecca6['Frhnf'])await messagehub[_0x11b96c(0x190)](),log(_0x4ecca6[_0x11b96c(0x165)]);else messagehub['socket']&&_0x4ecca6['ZbmBM'](typeof messagehub['socket']['disconnect'],_0x11b96c(0x16c))?(messagehub['socket']['disconnect'](),log(_0x11b96c(0x195))):_0x4ecca6[_0x11b96c(0x17a)](log,'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub');}isConnected=![],connectionPromise=null;}catch(_0x2f539a){_0x4ecca6[_0x11b96c(0x19b)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x2f539a['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|