@restforgejs/platform 4.3.5 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/payload/migrate.js +96 -0
- package/generators/lib/dbschema-kit/apply-engine.js +211 -46
- package/generators/lib/dbschema-kit/diff-engine.js +14 -2
- package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
- package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
- package/generators/lib/migrate/backend-payload-migrator.js +221 -0
- package/generators/lib/migrate/field-type-resolver.js +319 -0
- package/generators/lib/migrate/label-generator.js +38 -0
- package/generators/lib/migrate/migrate-runner.js +187 -0
- package/generators/lib/migrate/naming.js +43 -0
- package/generators/lib/migrate/sql-parser.js +124 -0
- package/generators/lib/payload/payload-runner.js +106 -11
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/node_modules/brace-expansion/index.js +1 -1
- package/node_modules/brace-expansion/package.json +1 -1
- package/node_modules/dayjs/CHANGELOG.md +7 -0
- package/node_modules/dayjs/README.md +12 -10
- package/node_modules/dayjs/dayjs.min.js +1 -1
- package/node_modules/dayjs/esm/constant.js +1 -1
- package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
- package/node_modules/dayjs/locale.json +1 -1
- package/node_modules/dayjs/package.json +2 -2
- package/node_modules/dayjs/plugin/duration.js +1 -1
- package/node_modules/tmp/lib/tmp.js +37 -7
- package/node_modules/tmp/package.json +4 -16
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x6d20(){const _0x4afa4b=['ChjVDMLKzxjoyw1L','zgvMyxvSDa','yMfZzw5HBwu','mtG2nNrfuvnhrq','s2Dzuxy','DxbSB2fKCW','zw5KCg9PBNq','ote5ndqWzvPzBvvQ','Dg9mB3DLCKnHC2u','DxbSB2fKlq','y3j5ChrV','mtuWnZy0DM1dvKDI','mtq5mta3nu1QqvLcAa','ndC3mdaWtgrOuuXo','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','zxjYB3i','tejUzg4','CMfUzg9TqNL0zxm','z2vUzxjHDgvlzxK','mxjUzNzzEa','DgvTCa','ChjLzML4','yxjYyxK','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','nty3uxn2uKTq','BwLTzxr5Cgu','nhLZuuXQEq','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','lI9SB2DNzxi','Cgf0Aa','ChvZAa','zMLSzxm','nZy2otm2vKXgCu5v','B3jPz2LUywXUyw1L','BxvSDgvY','ntm2nZuWyK1Tshbt','zw52','rLrsDLm','x3bHCNnLrMLSzvnPEMu','DhjPBq','mtbnqG','A3zruhe','BwTKAxjtEw5J','x3rLBxbeAxi','DgvTCerPCG','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','Dw5SAw5R','zxHWB3j0CW','CMvWBgfJzq','yM56B1G','D2fYBG','ywXSB3DLzfr5CgvZ','Bwf4rMLSzxm','vvH4thG','zerrz00','Bwf0y2G'];a0_0x6d20=function(){return _0x4afa4b;};return a0_0x6d20();}const a0_0x372c4f=a0_0x5d3e;(function(_0x41863c,_0x3d22d9){const _0x25e4fa=a0_0x5d3e,_0x3fc867=_0x41863c();while(!![]){try{const _0x1dca89=parseInt(_0x25e4fa(0xbd))/0x1*(parseInt(_0x25e4fa(0xed))/0x2)+-parseInt(_0x25e4fa(0xef))/0x3+-parseInt(_0x25e4fa(0xc4))/0x4*(-parseInt(_0x25e4fa(0xcd))/0x5)+-parseInt(_0x25e4fa(0xe5))/0x6*(-parseInt(_0x25e4fa(0xc2))/0x7)+parseInt(_0x25e4fa(0xca))/0x8+parseInt(_0x25e4fa(0xee))/0x9+-parseInt(_0x25e4fa(0xe9))/0xa;if(_0x1dca89===_0x3d22d9)break;else _0x3fc867['push'](_0x3fc867['shift']());}catch(_0x348033){_0x3fc867['push'](_0x3fc867['shift']());}}}(a0_0x6d20,0x35599));function a0_0x5d3e(_0x2bd154,_0xc0071){_0x2bd154=_0x2bd154-0xbd;const _0x6d208=a0_0x6d20();let _0x5d3ee5=_0x6d208[_0x2bd154];if(a0_0x5d3e['ovbGyu']===undefined){var _0x5ae275=function(_0xac1fde){const _0x2e0bc0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4733e8='',_0x1c8249='';for(let _0xed6443=0x0,_0xda1749,_0x5c3e68,_0x45325c=0x0;_0x5c3e68=_0xac1fde['charAt'](_0x45325c++);~_0x5c3e68&&(_0xda1749=_0xed6443%0x4?_0xda1749*0x40+_0x5c3e68:_0x5c3e68,_0xed6443++%0x4)?_0x4733e8+=String['fromCharCode'](0xff&_0xda1749>>(-0x2*_0xed6443&0x6)):0x0){_0x5c3e68=_0x2e0bc0['indexOf'](_0x5c3e68);}for(let _0x44c1ff=0x0,_0x4bf5a6=_0x4733e8['length'];_0x44c1ff<_0x4bf5a6;_0x44c1ff++){_0x1c8249+='%'+('00'+_0x4733e8['charCodeAt'](_0x44c1ff)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c8249);};a0_0x5d3e['FpoUAi']=_0x5ae275,a0_0x5d3e['dAhSlN']={},a0_0x5d3e['ovbGyu']=!![];}const _0x301a58=_0x6d208[0x0],_0x3d39db=_0x2bd154+_0x301a58,_0x54fe72=a0_0x5d3e['dAhSlN'][_0x3d39db];return!_0x54fe72?(_0x5d3ee5=a0_0x5d3e['FpoUAi'](_0x5d3ee5),a0_0x5d3e['dAhSlN'][_0x3d39db]=_0x5d3ee5):_0x5d3ee5=_0x54fe72,_0x5d3ee5;}const multer=require(a0_0x372c4f(0xcc)),path=require(a0_0x372c4f(0xc7)),crypto=require(a0_0x372c4f(0xec)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x372c4f(0xc6));class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x46e4cf=a0_0x372c4f,_0x12373b={'LBndn':_0x46e4cf(0xbe)};if(!this[_0x46e4cf(0xd5)]){const _0x3ef8a1=process['env']['RESTFORGE_PROJECT_NAME']||_0x46e4cf(0xe3);this['_tempDir']=process[_0x46e4cf(0xce)]['UPLOAD_TEMP_DIR']||path['join'](process['cwd'](),_0x12373b[_0x46e4cf(0xf2)],_0x46e4cf(0xe7),_0x3ef8a1),!fsSync['existsSync'](this[_0x46e4cf(0xd5)])&&fsSync[_0x46e4cf(0xd4)](this[_0x46e4cf(0xd5)],{'recursive':!![]});}return this['_tempDir'];}[a0_0x372c4f(0xc1)](_0x24112d={}){const _0x1df397=a0_0x372c4f,_0x2ff211={'mWjtE':'hex','bnzoX':function(_0x53a90f,_0x577cde,_0x3a12ef){return _0x53a90f(_0x577cde,_0x3a12ef);},'kvQPq':function(_0x18ae66,_0x3a77e2){return _0x18ae66(_0x3a77e2);}},_0x394883=_0x24112d[_0x1df397(0xde)]||0x5,_0x18acaf=this[_0x1df397(0xd0)](_0x24112d['maxFileSize']||_0x1df397(0xd2)),_0x45453c=_0x24112d[_0x1df397(0xdd)]||[],_0x5b852f=multer['diskStorage']({'destination':(_0x428f50,_0xf3e211,_0x2032c8)=>{const _0x1eb46f=_0x1df397;!fsSync['existsSync'](this[_0x1eb46f(0xd6)])&&fsSync['mkdirSync'](this[_0x1eb46f(0xd6)],{'recursive':!![]}),_0x2032c8(null,this['tempDir']);},'filename':(_0x44021a,_0x51b503,_0x5cb9fd)=>{const _0x560b23=_0x1df397,_0x3b20f4=crypto[_0x560b23(0xf3)](0x8)['toString'](_0x2ff211['mWjtE']),_0x3fcac0=Date['now'](),_0x54c704=path['extname'](_0x51b503[_0x560b23(0xcb)]);_0x5cb9fd(null,_0x560b23(0xeb)+_0x3fcac0+'-'+_0x3b20f4+_0x54c704);}}),_0x3f2bb0=(_0x464922,_0x42f80e,_0x1858c7)=>{const _0x45a406=_0x1df397;if(_0x45453c['length']===0x0)return _0x2ff211[_0x45a406(0xdb)](_0x1858c7,null,!![]);const _0x3b5f2c=path['extname'](_0x42f80e['originalname'])[_0x45a406(0xea)]()[_0x45a406(0xda)]('.','');_0x45453c['includes'](_0x3b5f2c)?_0x1858c7(null,!![]):_0x2ff211[_0x45a406(0xd3)](_0x1858c7,new Error('File\x20type\x20\x22.'+_0x3b5f2c+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x45453c['join'](',\x20')));};return multer({'storage':_0x5b852f,'limits':{'fileSize':_0x18acaf,'files':_0x394883},'fileFilter':_0x3f2bb0})[_0x1df397(0xc0)](_0x1df397(0xc9),_0x394883);}async['processUploadedFiles'](_0xcc32f3,_0x4a7d9f,_0x43a7c2={}){const _0x357da2=a0_0x372c4f,_0x37209b={'FTRvS':function(_0xa28044,_0x3506a2){return _0xa28044(_0x3506a2);},'ezFrz':function(_0x48f900,_0x1129bf){return _0x48f900(_0x1129bf);}},{createFileMetadata:_0x410909}=_0x37209b[_0x357da2(0xcf)](require,'../storage/file-metadata-helper'),_0x3418d0=[];for(const _0x106671 of _0xcc32f3){try{const _0x2c19fa=_0x4a7d9f[_0x357da2(0xf4)](_0x106671[_0x357da2(0xcb)],{'prefix':_0x43a7c2[_0x357da2(0xbf)]||'','project':_0x43a7c2['project']||'','module':_0x43a7c2['module']||'','endpoint':_0x43a7c2[_0x357da2(0xe8)]||''}),_0x119172=fsSync['createReadStream'](_0x106671['path']),_0x2f1faa=await _0x4a7d9f['upload'](_0x119172,_0x2c19fa,{'contentType':_0x106671[_0x357da2(0xc3)],'fileSize':_0x106671['size']}),_0x9447aa=_0x37209b['ezFrz'](_0x410909,{'key':_0x2f1faa['key'],'originalName':_0x106671[_0x357da2(0xcb)],'fileName':path[_0x357da2(0xe4)](_0x2c19fa),'contentType':_0x106671[_0x357da2(0xc3)],'size':_0x106671['size'],'url':_0x2f1faa['url'],'provider':_0x4a7d9f[_0x357da2(0xe2)],'bucket':_0x4a7d9f['bucket']||null,'uploadedBy':_0x43a7c2['uploadedBy']||null});_0x3418d0[_0x357da2(0xc8)](_0x9447aa);}catch(_0x338ca9){logger[_0x357da2(0xf1)]({'event':_0x357da2(0xd7),'file':_0x106671[_0x357da2(0xcb)],'error':_0x338ca9['message']},_0x357da2(0xf0)+_0x106671[_0x357da2(0xcb)]);throw _0x338ca9;}finally{await this['_deleteTempFile'](_0x106671['path']);}}return _0x3418d0;}async['_deleteTempFile'](_0x1934da){const _0x32c259=a0_0x372c4f;try{await fs[_0x32c259(0xd8)](_0x1934da);}catch(_0x27846a){logger[_0x32c259(0xdc)]({'event':'upload_v2_temp_delete_warn','filePath':_0x1934da,'error':_0x27846a['message']},_0x32c259(0xc5));}}['_parseFileSize'](_0xf57526){const _0x7a9a8=a0_0x372c4f,_0xaee0c1={'UXxLx':function(_0x275987,_0x73e592){return _0x275987===_0x73e592;},'KgYQv':'number','zMBEH':function(_0x1e7a92,_0x438bc5){return _0x1e7a92(_0x438bc5);},'dDQgM':function(_0x1b564c,_0x15e109){return _0x1b564c*_0x15e109;}};if(_0xaee0c1[_0x7a9a8(0xdf)](typeof _0xf57526,_0xaee0c1[_0x7a9a8(0xe6)]))return _0xf57526;const _0x524a7c=String(_0xf57526)[_0x7a9a8(0xd1)]()[_0x7a9a8(0xe1)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x524a7c)return 0xa*0x400*0x400;const _0x5bfc8a=_0xaee0c1['zMBEH'](parseFloat,_0x524a7c[0x1]),_0x5ed9ee=_0x524a7c[0x2]['toUpperCase'](),_0x3b16c9={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0xaee0c1[_0x7a9a8(0xe0)](0x400*0x400,0x400)};return Math['floor'](_0x5bfc8a*(_0x3b16c9[_0x5ed9ee]||0x1));}}module[a0_0x372c4f(0xd9)]=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x41a420=a0_0x254b;function a0_0x584a(){const _0x2646e5=['yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','lNHSC3G','m3vTwK95uq','zKXtD0m','Dg9mB3DLCKnHC2u','Aw5MBW','zxHWB3j0CW','zMLSzq','s1LPtvy','r0TSuxm','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','ntuYnJe4v1v2DvzP','z2v0vxbSB2fKtwLKzgXLD2fYzq','zxH0BMfTzq','lNHSCW','Bwf4rMLSzvnPEMu','BwLTzxr5Cgu','DxbSB2fKx2zPBgvFzgvSzxrLza','mZG3mtjwEwvxuw4','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','nJK4nJKWAgXiu3LH','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','zgLZA1n0B3jHz2u','mJffq3Pnqwy','ogz4BKrcCq','AM9PBG','odHzuwXJsu0','ChjVBwLZzxm','B3jPz2LUywXUyw1L','zw52','BxvSDgvY','vvbmt0fex0rjuG','CvLhwKW','z2v0u3rVCMfNzq','BwTKAxjtEw5J','mJmWnZq2ve1WBNfT','CMfUzg9TqNL0zxm','zxHPC3rZu3LUyW','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','nZa0otiWBvLwBLDt','mJeXodK3ogzMsuPdAq','Agv4','x3vWBg9HzerPCG','qKrwAgK','lI9SB2DNzxi','DxbSB2fKrgLY','nZaYnZu2vxfjzvfQ','DxbSB2fKx2HHBMrSzxjFAw5PDa','BNv4wNG'];a0_0x584a=function(){return _0x2646e5;};return a0_0x584a();}function a0_0x254b(_0x25926c,_0x46ff4f){_0x25926c=_0x25926c-0x135;const _0x584a1d=a0_0x584a();let _0x254b75=_0x584a1d[_0x25926c];if(a0_0x254b['XrXLXM']===undefined){var _0x470678=function(_0x2ac4cc){const _0x4bcc2d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34a3f5='',_0x1df9fa='';for(let _0x4858cc=0x0,_0x18b29e,_0xd409fb,_0x13b8a5=0x0;_0xd409fb=_0x2ac4cc['charAt'](_0x13b8a5++);~_0xd409fb&&(_0x18b29e=_0x4858cc%0x4?_0x18b29e*0x40+_0xd409fb:_0xd409fb,_0x4858cc++%0x4)?_0x34a3f5+=String['fromCharCode'](0xff&_0x18b29e>>(-0x2*_0x4858cc&0x6)):0x0){_0xd409fb=_0x4bcc2d['indexOf'](_0xd409fb);}for(let _0x20fa04=0x0,_0x5bd84d=_0x34a3f5['length'];_0x20fa04<_0x5bd84d;_0x20fa04++){_0x1df9fa+='%'+('00'+_0x34a3f5['charCodeAt'](_0x20fa04)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1df9fa);};a0_0x254b['APxOuv']=_0x470678,a0_0x254b['ndIstn']={},a0_0x254b['XrXLXM']=!![];}const _0x138012=_0x584a1d[0x0],_0x3f8c3a=_0x25926c+_0x138012,_0x5a8a51=a0_0x254b['ndIstn'][_0x3f8c3a];return!_0x5a8a51?(_0x254b75=a0_0x254b['APxOuv'](_0x254b75),a0_0x254b['ndIstn'][_0x3f8c3a]=_0x254b75):_0x254b75=_0x5a8a51,_0x254b75;}(function(_0x1a6c11,_0x3b5706){const _0x473fa3=a0_0x254b,_0xe847e3=_0x1a6c11();while(!![]){try{const _0x29aa2b=parseInt(_0x473fa3(0x151))/0x1*(parseInt(_0x473fa3(0x141))/0x2)+-parseInt(_0x473fa3(0x15a))/0x3+-parseInt(_0x473fa3(0x136))/0x4*(parseInt(_0x473fa3(0x145))/0x5)+-parseInt(_0x473fa3(0x146))/0x6+parseInt(_0x473fa3(0x135))/0x7*(parseInt(_0x473fa3(0x161))/0x8)+parseInt(_0x473fa3(0x14c))/0x9+parseInt(_0x473fa3(0x163))/0xa*(parseInt(_0x473fa3(0x138))/0xb);if(_0x29aa2b===_0x3b5706)break;else _0xe847e3['push'](_0xe847e3['shift']());}catch(_0x2a478f){_0xe847e3['push'](_0xe847e3['shift']());}}}(a0_0x584a,0x2b89f));const multer=require(a0_0x41a420(0x13c)),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x41a420(0x139)],fsSync=require('fs'),{logger}=require(a0_0x41a420(0x14a));class UploadHandler{constructor(){const _0x4f2a3c=a0_0x41a420;this[_0x4f2a3c(0x148)]=null,this[_0x4f2a3c(0x15e)]=0xa*0x400*0x400;}get['uploadDir'](){const _0x36bd68=a0_0x41a420,_0x5ac678={'BDVhi':'default','MKQux':_0x36bd68(0x14d)};if(!this[_0x36bd68(0x148)]){const _0x5461c0=process[_0x36bd68(0x13b)]['RESTFORGE_PROJECT_NAME']||_0x5ac678[_0x36bd68(0x149)];this[_0x36bd68(0x148)]=process[_0x36bd68(0x13b)][_0x36bd68(0x13d)]||path[_0x36bd68(0x137)](__dirname,'../../temp/uploads/'+_0x5461c0);try{!fsSync['existsSync'](this[_0x36bd68(0x148)])&&fsSync[_0x36bd68(0x140)](this['_uploadDir'],{'recursive':!![]}),logger[_0x36bd68(0x154)]({'event':_0x5ac678['MKQux'],'dir':this[_0x36bd68(0x148)]},'Upload\x20handler\x20initialized');}catch(_0x376f0a){logger['error']({'event':'upload_handler_init_error','error':_0x376f0a['message']},_0x36bd68(0x164));}}return this['_uploadDir'];}['getStorage'](){const _0x133d00=a0_0x41a420;return multer[_0x133d00(0x165)]({'destination':(_0x52a93e,_0x3ca81f,_0x2f8177)=>{const _0x3d32a7=_0x133d00;!fsSync[_0x3d32a7(0x143)](this[_0x3d32a7(0x14b)])&&fsSync[_0x3d32a7(0x140)](this[_0x3d32a7(0x14b)],{'recursive':!![]}),_0x2f8177(null,this[_0x3d32a7(0x14b)]);},'filename':(_0x2ce893,_0x17e9d3,_0x3e88d6)=>{const _0x41b7d0=_0x133d00,_0xf4a4e7=crypto[_0x41b7d0(0x142)](0x8)['toString'](_0x41b7d0(0x147)),_0x3bba5a=Date['now'](),_0x2c4872=path['extname'](_0x17e9d3['originalname']);_0x3e88d6(null,'upload-'+_0x3bba5a+'-'+_0xf4a4e7+_0x2c4872);}});}[a0_0x41a420(0x15b)](){const _0x32e0c5=a0_0x41a420,_0x53d97d={'jKSNo':_0x32e0c5(0x14f),'fLSwC':'application/vnd.ms-excel','nuxZx':_0x32e0c5(0x15d),'qYGZL':function(_0x29f222,_0x279e76,_0x2ad016){return _0x29f222(_0x279e76,_0x2ad016);},'GKlQs':function(_0x4ee30e,_0x3d9f71){return _0x4ee30e(_0x3d9f71);},'nCrGz':_0x32e0c5(0x144),'KYiMV':_0x32e0c5(0x156)};return multer({'storage':this[_0x32e0c5(0x13f)](),'limits':{'fileSize':this[_0x32e0c5(0x15e)],'files':0x1},'fileFilter':(_0x3762ad,_0x562063,_0x361488)=>{const _0x3c5a22=_0x32e0c5,_0x15989b=[_0x53d97d['jKSNo'],_0x53d97d[_0x3c5a22(0x152)]],_0x2e41f6=[_0x3c5a22(0x150),_0x53d97d[_0x3c5a22(0x14e)]],_0x35c6dc=path[_0x3c5a22(0x15c)](_0x562063[_0x3c5a22(0x13a)])[_0x3c5a22(0x153)]();_0x15989b['includes'](_0x562063[_0x3c5a22(0x15f)])&&_0x2e41f6['includes'](_0x35c6dc)?_0x53d97d[_0x3c5a22(0x13e)](_0x361488,null,!![]):_0x53d97d[_0x3c5a22(0x158)](_0x361488,new Error(_0x53d97d['nCrGz']));}})['single'](_0x53d97d[_0x32e0c5(0x157)]);}async['deleteFile'](_0x1c6908){const _0x2b2104=a0_0x41a420,_0xeccd8={'SjZCH':_0x2b2104(0x160),'qaZZI':_0x2b2104(0x162)};try{await fs['unlink'](_0x1c6908),logger[_0x2b2104(0x154)]({'event':_0xeccd8['SjZCH'],'filePath':_0x1c6908},_0xeccd8['qaZZI']);}catch(_0x49690d){logger['error']({'event':'upload_file_delete_error','filePath':_0x1c6908,'error':_0x49690d['message']},_0x2b2104(0x159));}}}module[a0_0x41a420(0x155)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2696e3=a0_0x1d35;(function(_0x229487,_0x25dc52){const _0x24a215=a0_0x1d35,_0x72de02=_0x229487();while(!![]){try{const _0xd10bb8=parseInt(_0x24a215(0xbb))/0x1*(parseInt(_0x24a215(0xb1))/0x2)+parseInt(_0x24a215(0xbd))/0x3+parseInt(_0x24a215(0xc5))/0x4*(-parseInt(_0x24a215(0xb4))/0x5)+-parseInt(_0x24a215(0xbf))/0x6+parseInt(_0x24a215(0xaf))/0x7*(-parseInt(_0x24a215(0xb7))/0x8)+parseInt(_0x24a215(0xc4))/0x9*(-parseInt(_0x24a215(0xbe))/0xa)+-parseInt(_0x24a215(0xc6))/0xb*(-parseInt(_0x24a215(0xb5))/0xc);if(_0xd10bb8===_0x25dc52)break;else _0x72de02['push'](_0x72de02['shift']());}catch(_0x56e48c){_0x72de02['push'](_0x72de02['shift']());}}}(a0_0x13a4,0xb455c));function a0_0x13a4(){const _0x5df917=['rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','mteYCvLisgrw','C3rHDhvZ','BwvZC2fNzq','Cg9ZDa','mJiXmtrLt0nJrvG','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mJC3mtK3m0fsve9wEG','mJmXntyZmfjqwfnRtq','mZeZndG4mhLprezdua','Aw5Zzxj0','uMvZDezVCMDLlvDLyMHVB2SVms4W','v2jNzfq','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mZzJDMrpu0O','mtjuqLnUEha','nJzeAuPbyxe','Bg9N','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','lcbtDgf0Dxm6ia','DwXXyva','yxbWBgLJyxrPB24VANnVBG','mtqXmtLeswzMwei','tK1Hwhe','ndzyA3bAqvG','zgvSzxrL','zxHWB3j0CW','mZuWmtu1t2j0wvrr','mtK4nJiWnhnpr2jWEq'];a0_0x13a4=function(){return _0x5df917;};return a0_0x13a4();}const axios=require('axios');async function sendInsertWebhook(_0x4da8da,_0x1925ec,_0x5e1bb9={}){const _0x5aaa37=a0_0x1d35,_0x1a59f9={'DWmFJ':_0x5aaa37(0xae),'WbgdT':_0x5aaa37(0xbc)};try{const _0x1b6e34={'event':_0x5aaa37(0xc0),'timestamp':new Date()['toISOString'](),'data':_0x1925ec},_0x37bd0c=await axios[_0x5aaa37(0xba)](_0x4da8da,_0x1b6e34,{'headers':{'Content-Type':_0x1a59f9['DWmFJ'],'User-Agent':'RestForge-Webhook/1.0',..._0x5e1bb9},'timeout':0x2710});return console[_0x5aaa37(0xc7)]('Insert\x20webhook\x20sent\x20to\x20'+_0x4da8da+',\x20Status:\x20'+_0x37bd0c['status']),{'success':!![],'message':_0x1a59f9[_0x5aaa37(0xc2)],'status':_0x37bd0c[_0x5aaa37(0xb8)],'url':_0x4da8da};}catch(_0x2ca718){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x2ca718['message']),{'success':![],'message':_0x5aaa37(0xb6),'error':_0x2ca718[_0x5aaa37(0xb9)],'url':_0x4da8da};}}async function sendDeleteWebhook(_0x2cdeef,_0x1c4546,_0x1ead78={}){const _0x26b7f2=a0_0x1d35,_0x53bca7={'NMaXq':_0x26b7f2(0xb2),'ulqaP':'application/json','oVqhL':_0x26b7f2(0xc1),'ZiPfF':_0x26b7f2(0xc8)};try{const _0x5fb68a={'event':_0x53bca7[_0x26b7f2(0xb0)],'timestamp':new Date()['toISOString'](),'deleted_data':_0x1c4546},_0x4a033a=await axios['post'](_0x2cdeef,_0x5fb68a,{'headers':{'Content-Type':_0x53bca7[_0x26b7f2(0xad)],'User-Agent':_0x53bca7['oVqhL'],..._0x1ead78},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x2cdeef+_0x26b7f2(0xac)+_0x4a033a[_0x26b7f2(0xb8)]),{'success':!![],'message':_0x26b7f2(0xc3),'status':_0x4a033a['status'],'url':_0x2cdeef};}catch(_0x538d2e){return console['error']('Error\x20sending\x20delete\x20webhook:',_0x538d2e[_0x26b7f2(0xb9)]),{'success':![],'message':_0x53bca7['ZiPfF'],'error':_0x538d2e[_0x26b7f2(0xb9)],'url':_0x2cdeef};}}function a0_0x1d35(_0xa2d017,_0x228f37){_0xa2d017=_0xa2d017-0xac;const _0x13a403=a0_0x13a4();let _0x1d35a8=_0x13a403[_0xa2d017];if(a0_0x1d35['dxRnCn']===undefined){var _0x263abf=function(_0x8f51d6){const _0x563800='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x525b67='',_0x40b93b='';for(let _0x303c6e=0x0,_0x4c0813,_0x5ba934,_0x56af09=0x0;_0x5ba934=_0x8f51d6['charAt'](_0x56af09++);~_0x5ba934&&(_0x4c0813=_0x303c6e%0x4?_0x4c0813*0x40+_0x5ba934:_0x5ba934,_0x303c6e++%0x4)?_0x525b67+=String['fromCharCode'](0xff&_0x4c0813>>(-0x2*_0x303c6e&0x6)):0x0){_0x5ba934=_0x563800['indexOf'](_0x5ba934);}for(let _0x4d5a23=0x0,_0x2ad5c7=_0x525b67['length'];_0x4d5a23<_0x2ad5c7;_0x4d5a23++){_0x40b93b+='%'+('00'+_0x525b67['charCodeAt'](_0x4d5a23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40b93b);};a0_0x1d35['sAnTpU']=_0x263abf,a0_0x1d35['BjwOxj']={},a0_0x1d35['dxRnCn']=!![];}const _0x2008ec=_0x13a403[0x0],_0x366fa9=_0xa2d017+_0x2008ec,_0x58b34f=a0_0x1d35['BjwOxj'][_0x366fa9];return!_0x58b34f?(_0x1d35a8=a0_0x1d35['sAnTpU'](_0x1d35a8),a0_0x1d35['BjwOxj'][_0x366fa9]=_0x1d35a8):_0x1d35a8=_0x58b34f,_0x1d35a8;}module[a0_0x2696e3(0xb3)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x21f2(_0x538a40,_0x52edb3){_0x538a40=_0x538a40-0x1d6;const _0x3aeb1a=a0_0x3aeb();let _0x21f254=_0x3aeb1a[_0x538a40];if(a0_0x21f2['poUHbm']===undefined){var _0x45de7c=function(_0x51a7a4){const _0xcd4a4f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb0aa57='',_0x346a87='';for(let _0x2c617d=0x0,_0x218893,_0x11388b,_0x526037=0x0;_0x11388b=_0x51a7a4['charAt'](_0x526037++);~_0x11388b&&(_0x218893=_0x2c617d%0x4?_0x218893*0x40+_0x11388b:_0x11388b,_0x2c617d++%0x4)?_0xb0aa57+=String['fromCharCode'](0xff&_0x218893>>(-0x2*_0x2c617d&0x6)):0x0){_0x11388b=_0xcd4a4f['indexOf'](_0x11388b);}for(let _0xd07f32=0x0,_0x81cf90=_0xb0aa57['length'];_0xd07f32<_0x81cf90;_0xd07f32++){_0x346a87+='%'+('00'+_0xb0aa57['charCodeAt'](_0xd07f32)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x346a87);};a0_0x21f2['dRCkFy']=_0x45de7c,a0_0x21f2['sjWiSU']={},a0_0x21f2['poUHbm']=!![];}const _0x58eb20=_0x3aeb1a[0x0],_0x40b885=_0x538a40+_0x58eb20,_0x72f233=a0_0x21f2['sjWiSU'][_0x40b885];return!_0x72f233?(_0x21f254=a0_0x21f2['dRCkFy'](_0x21f254),a0_0x21f2['sjWiSU'][_0x40b885]=_0x21f254):_0x21f254=_0x72f233,_0x21f254;}const a0_0x5df13e=a0_0x21f2;(function(_0x331297,_0x45fe8a){const _0x174c69=a0_0x21f2,_0x18d4d3=_0x331297();while(!![]){try{const _0x1369c8=-parseInt(_0x174c69(0x1f0))/0x1+-parseInt(_0x174c69(0x1e5))/0x2*(parseInt(_0x174c69(0x1e2))/0x3)+parseInt(_0x174c69(0x1eb))/0x4+parseInt(_0x174c69(0x1f1))/0x5+parseInt(_0x174c69(0x1e1))/0x6+-parseInt(_0x174c69(0x1e7))/0x7+parseInt(_0x174c69(0x1e6))/0x8;if(_0x1369c8===_0x45fe8a)break;else _0x18d4d3['push'](_0x18d4d3['shift']());}catch(_0x4738bb){_0x18d4d3['push'](_0x18d4d3['shift']());}}}(a0_0x3aeb,0xae56e));const express=require(a0_0x5df13e(0x1e9)),{logger}=require(a0_0x5df13e(0x1d9));function createLockRoutes(){const _0xd264e=a0_0x5df13e,_0x4f9e57={'PRhAO':function(_0xb6e652,_0x2fec24){return _0xb6e652(_0x2fec24);},'SxQFd':function(_0x5ede1f){return _0x5ede1f();},'OQGtc':'lock_acquire_route_error','yhUmo':_0xd264e(0x1ee),'mewsV':function(_0x3d241b,_0x14108){return _0x3d241b||_0x14108;},'PNrmD':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','jBHvo':'lock_release_route_error','PofIf':'Internal\x20server\x20error\x20during\x20lock\x20release','ujPkh':'/acquire','TnIVJ':'/release','MhyCA':_0xd264e(0x1ea)},_0x3ec6ee=express['Router']();let _0x3cc37d=null;function _0x113356(){const _0x1bc721=_0xd264e;return!_0x3cc37d&&(_0x3cc37d=_0x4f9e57[_0x1bc721(0x1ed)](require,_0x1bc721(0x1e4))),_0x3cc37d;}return _0x3ec6ee[_0xd264e(0x1f6)](_0x4f9e57[_0xd264e(0x1f8)],async(_0x354762,_0x3570a6)=>{const _0x1fe66f=_0xd264e;try{const {resource:_0x3a9edc,lock_keys:_0x3cec22,ttl:_0x4afc99,owner:_0xc2f6dd}=_0x354762[_0x1fe66f(0x1f3)];if(!_0x3a9edc||!_0x3cec22||!_0x4afc99||!_0xc2f6dd)return _0x3570a6['status'](0x190)[_0x1fe66f(0x1d7)]({'success':![],'error':_0x1fe66f(0x1e0)});const _0x3333b0=_0x4f9e57[_0x1fe66f(0x1ef)](_0x113356),_0x132137=await _0x3333b0[_0x1fe66f(0x1df)]({'resource':_0x3a9edc,'lockKeys':_0x3cec22,'ttl':_0x4afc99,'owner':_0xc2f6dd});if(_0x132137[_0x1fe66f(0x1f2)])return _0x3570a6[_0x1fe66f(0x1d7)](_0x132137);const _0x5a8148=_0x132137[_0x1fe66f(0x1f7)]===_0x1fe66f(0x1de)?0x199:0x190;return _0x3570a6['status'](_0x5a8148)[_0x1fe66f(0x1d7)](_0x132137);}catch(_0x345688){logger[_0x1fe66f(0x1f7)]({'event':_0x4f9e57[_0x1fe66f(0x1db)],'error':_0x345688['message']},'Lock\x20acquire\x20route\x20error:\x20'+_0x345688[_0x1fe66f(0x1dd)]),_0x3570a6['status'](0x1f4)['json']({'success':![],'error':_0x4f9e57[_0x1fe66f(0x1e8)]});}}),_0x3ec6ee['post'](_0x4f9e57['TnIVJ'],async(_0x156575,_0x3fe979)=>{const _0xb0b636=_0xd264e;try{const {resource:_0x392d34,lock_keys:_0xd633ae,lock_token:_0xff2af1}=_0x156575['body'];if(_0x4f9e57[_0xb0b636(0x1d8)](!_0x392d34,!_0xd633ae)||!_0xff2af1)return _0x3fe979[_0xb0b636(0x1f5)](0x190)['json']({'success':![],'error':_0x4f9e57['PNrmD']});const _0x8b4edc=_0x113356(),_0x5b13ae=await _0x8b4edc[_0xb0b636(0x1e3)]({'resource':_0x392d34,'lockKeys':_0xd633ae,'lockToken':_0xff2af1});if(_0x5b13ae[_0xb0b636(0x1f2)])return _0x3fe979['json'](_0x5b13ae);return _0x3fe979[_0xb0b636(0x1f5)](0x190)['json'](_0x5b13ae);}catch(_0x4b45f1){logger[_0xb0b636(0x1f7)]({'event':_0x4f9e57['jBHvo'],'error':_0x4b45f1['message']},_0xb0b636(0x1f9)+_0x4b45f1['message']),_0x3fe979['status'](0x1f4)[_0xb0b636(0x1d7)]({'success':![],'error':_0x4f9e57['PofIf']});}}),_0x3ec6ee['post'](_0x4f9e57['MhyCA'],async(_0x599e14,_0x2d5388)=>{const _0x56994e=_0xd264e;try{const {resource:_0x225678,lock_keys:_0x43d2f6}=_0x599e14[_0x56994e(0x1f3)];if(_0x4f9e57[_0x56994e(0x1d8)](!_0x225678,!_0x43d2f6))return _0x2d5388['status'](0x190)[_0x56994e(0x1d7)]({'success':![],'error':_0x56994e(0x1da)});const _0x32a383=_0x113356(),_0x20b1a3=await _0x32a383[_0x56994e(0x1ec)]({'resource':_0x225678,'lockKeys':_0x43d2f6});if(_0x20b1a3[_0x56994e(0x1f2)])return _0x2d5388[_0x56994e(0x1d7)](_0x20b1a3);return _0x2d5388['status'](0x190)[_0x56994e(0x1d7)](_0x20b1a3);}catch(_0x30e6d0){logger['error']({'event':'lock_status_route_error','error':_0x30e6d0[_0x56994e(0x1dd)]},_0x56994e(0x1dc)+_0x30e6d0[_0x56994e(0x1dd)]),_0x2d5388['status'](0x1f4)['json']({'success':![],'error':_0x56994e(0x1d6)});}}),_0x3ec6ee;}function a0_0x3aeb(){const _0x35d94e=['sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','u3HrrMq','mZeWmZKXEMHbueTp','ndqWntuZmefSug9eBq','C3vJy2vZCW','yM9KEq','zxHWB3j0CW','C3rHDhvZ','Cg9ZDa','zxjYB3i','DwPqA2G','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','ANnVBG','Bwv3C1y','lI4VlI4VDxrPBhmVBg9Nz2vY','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','t1fhDgm','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','BwvZC2fNzq','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','ywnXDwLYzvjLC291CMnLtg9JA3m','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','mJKZoduWtfncruLb','m1jdvxPltG','CMvSzwfZzvjLC291CMnLtg9JA3m','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','mtu1nZGWnMjRuNHjtq','mta3mZu3ndrYyvDSr0S','nta0nZK2nMjMt0r0AG','EwHvBw8','zxHWCMvZCW','l3n0yxr1CW','mtaWotKWog5IEfz1DW','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','ufjOqu8'];a0_0x3aeb=function(){return _0x35d94e;};return a0_0x3aeb();}module[a0_0x5df13e(0x1f4)]=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x47433e=a0_0x5766;(function(_0x14e73b,_0x29cfe4){const _0x5e206c=a0_0x5766,_0x172165=_0x14e73b();while(!![]){try{const _0x2ce473=-parseInt(_0x5e206c(0x1d3))/0x1+-parseInt(_0x5e206c(0x1e5))/0x2+-parseInt(_0x5e206c(0x1f5))/0x3+parseInt(_0x5e206c(0x1fb))/0x4+parseInt(_0x5e206c(0x1f8))/0x5*(parseInt(_0x5e206c(0x1fa))/0x6)+-parseInt(_0x5e206c(0x20c))/0x7+-parseInt(_0x5e206c(0x1cb))/0x8;if(_0x2ce473===_0x29cfe4)break;else _0x172165['push'](_0x172165['shift']());}catch(_0x1af581){_0x172165['push'](_0x172165['shift']());}}}(a0_0x1a49,0x4a6be));function a0_0x5766(_0xc9575b,_0x1e51f6){_0xc9575b=_0xc9575b-0x1c8;const _0x1a49dc=a0_0x1a49();let _0x576601=_0x1a49dc[_0xc9575b];if(a0_0x5766['TRWITr']===undefined){var _0x3f7c5c=function(_0x4c445b){const _0x2c5067='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e2b14='',_0x3055c7='';for(let _0x7b2057=0x0,_0x17bb71,_0x320b2f,_0x36db29=0x0;_0x320b2f=_0x4c445b['charAt'](_0x36db29++);~_0x320b2f&&(_0x17bb71=_0x7b2057%0x4?_0x17bb71*0x40+_0x320b2f:_0x320b2f,_0x7b2057++%0x4)?_0x3e2b14+=String['fromCharCode'](0xff&_0x17bb71>>(-0x2*_0x7b2057&0x6)):0x0){_0x320b2f=_0x2c5067['indexOf'](_0x320b2f);}for(let _0x30420c=0x0,_0x383a4f=_0x3e2b14['length'];_0x30420c<_0x383a4f;_0x30420c++){_0x3055c7+='%'+('00'+_0x3e2b14['charCodeAt'](_0x30420c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3055c7);};a0_0x5766['orjCPm']=_0x3f7c5c,a0_0x5766['uBDRMu']={},a0_0x5766['TRWITr']=!![];}const _0x458e09=_0x1a49dc[0x0],_0x3ffda7=_0xc9575b+_0x458e09,_0x643719=a0_0x5766['uBDRMu'][_0x3ffda7];return!_0x643719?(_0x576601=a0_0x5766['orjCPm'](_0x576601),a0_0x5766['uBDRMu'][_0x3ffda7]=_0x576601):_0x576601=_0x643719,_0x576601;}const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x47433e(0x1f3));function getPrefix(){const _0x20149d=a0_0x47433e,_0x29c9c1=process[_0x20149d(0x1f6)][_0x20149d(0x1e7)]||_0x20149d(0x1e0);return'rf:'+_0x29c9c1+':rlock:';}function a0_0x1a49(){const _0xa46114=['Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','zxjYB3i','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','qvnbEvq','z2v0q2XPzw50','Dg9ju09tDhjPBMC','BgvUz3rO','zgvMyxvSDa','zxzHBa','B3DUzxi','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','DMfSAwq','mJG0ndq0vwHlvwHR','DgjzCxi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','z2v0','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','CMvSzwfZzvjLC291CMnLtg9JA3m','te9ds19srvnpvvjdrv9nqvHFvfrm','x3zHBgLKyxrLqwnXDwLYzuLUChv0','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','BwvZC2fNzq','twTdwMO','DxvPza','z2v0twf4vfrmu2vJB25KCW','nZmYmtCXwgrIuNfr','zw52','CwvIDMi','mtvUzMPOwe8','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mte2mtyXohHIu3DMvW','mJiXotyYofbywuzmra','CNHryKG','ufvmrNq','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','x3jVBgXIywnRs2v5CW','DhrS','BM93','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','yNvPBgrlzxK','x3zHBgLKyxrLuMvSzwfZzuLUChv0','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','BwfW','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BNvTyMvY','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','mJiXmde4mgLTsgH5uW','igTLExmP','z2vUzxjHDgvuB2TLBG','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','Dw5RBM93BG','ALrYEMK','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','mZiYody0qwHwwKzf','AvLtvKq','C2v0','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','zxHWB3j0CW','zKnICxq','AxnbCNjHEq','CfDyq3e','odG1mdL3s05jsxe','q1bbzMG','zxH0CMfJDe93BMvY','C3rYAw5N','igTLExmSifrutdOG','B2njvKe'];a0_0x1a49=function(){return _0xa46114;};return a0_0x1a49();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x47433e(0x208);class ResourceLockManager{['buildKey'](_0x24f804,_0x1a7008,_0x442c40){const _0x2a2cdd={'ZnEYC':function(_0x23308b){return _0x23308b();}};return''+_0x2a2cdd['ZnEYC'](getPrefix)+_0x24f804+':'+_0x1a7008+':'+_0x442c40;}[a0_0x47433e(0x20e)](_0x59a640){const _0x4400ff=a0_0x47433e;return _0x59a640+':'+uuidv4()+':'+Date[_0x4400ff(0x201)]();}[a0_0x47433e(0x1d5)](_0x24ac81){const _0x4a0519=a0_0x47433e,_0xc69992={'tbYqr':function(_0xe1a88c,_0x11453b){return _0xe1a88c>_0x11453b;}};if(!_0x24ac81)return'unknown';const _0x2dd4ba=_0x24ac81['indexOf'](':');return _0xc69992[_0x4a0519(0x1e6)](_0x2dd4ba,0x0)?_0x24ac81['substring'](0x0,_0x2dd4ba):_0x24ac81;}['getMaxTTLSeconds'](){const _0x5e1d25=a0_0x47433e;return parseInt(process[_0x5e1d25(0x1f6)][_0x5e1d25(0x1ee)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x5564d0,lockKeys:_0x235df7,ttl:_0x184c26,owner:_0x153ab2}){const _0x408413=a0_0x47433e,_0x140823={'rxQbH':_0x408413(0x209),'NfWQv':_0x408413(0x1ce)},_0x54b95c=this['_validateAcquireInput']({'resource':_0x5564d0,'lockKeys':_0x235df7,'ttl':_0x184c26,'owner':_0x153ab2});if(!_0x54b95c[_0x408413(0x1e4)])return{'success':![],'error':_0x54b95c['error']};const _0x65688a=this[_0x408413(0x1f4)](),_0xfd7d07=Math['min'](_0x184c26,_0x65688a),_0x40483d=this['generateToken'](_0x153ab2),_0x109ba0=[];try{const _0x10c988=redisClient['getClient']();for(let _0x252dd3=0x0;_0x252dd3<_0x235df7['length'];_0x252dd3++){const {key:_0x147666,value:_0x44e544}=_0x235df7[_0x252dd3],_0x4aacce=this[_0x408413(0x204)](_0x5564d0,_0x147666,_0x44e544),_0x24e7cd=await _0x10c988[_0x408413(0x1cd)](_0x4aacce,_0x40483d,'EX',_0xfd7d07,'NX');if(_0x24e7cd==='OK')_0x109ba0['push'](_0x4aacce);else{await this['_rollbackKeys'](_0x10c988,_0x109ba0,_0x40483d);const _0x217c06=await this['_getConflictInfo'](_0x10c988,_0x4aacce);return logger['warn']({'event':_0x140823[_0x408413(0x1fc)],'resource':_0x5564d0,'conflicting_key':{'key':_0x147666,'value':_0x44e544},'locked_by':_0x217c06[_0x408413(0x1e2)],'ttl_remaining':_0x217c06['ttlRemaining'],'attempted_by':_0x153ab2},'Resource\x20lock\x20conflict\x20on\x20'+_0x5564d0+':'+_0x147666+':'+_0x44e544),{'success':![],'error':_0x408413(0x1ca),'data':{'conflicting_key':{'key':_0x147666,'value':_0x44e544},'locked_by':_0x217c06[_0x408413(0x1e2)],'ttl_remaining':_0x217c06['ttlRemaining']}};}}const _0x4b13e3=_0x235df7[_0x408413(0x207)](({key:_0x37ac1c,value:_0x39bd7b})=>({'key':_0x37ac1c,'value':_0x39bd7b,'lock_key':this[_0x408413(0x204)](_0x5564d0,_0x37ac1c,_0x39bd7b)}));return logger['info']({'event':_0x408413(0x1eb),'resource':_0x5564d0,'keys_count':_0x235df7[_0x408413(0x1df)],'ttl':_0xfd7d07,'owner':_0x153ab2},_0x408413(0x20f)+_0x5564d0+'\x20('+_0x235df7[_0x408413(0x1df)]+_0x408413(0x1d7)+_0xfd7d07+'s)'),{'success':!![],'data':{'lock_token':_0x40483d,'resource':_0x5564d0,'locked_keys':_0x4b13e3,'ttl':_0xfd7d07,'owner':_0x153ab2,'acquired_at':new Date()[_0x408413(0x1de)]()}};}catch(_0x184a53){try{const _0x21f752=redisClient[_0x408413(0x1dd)]();await this['_rollbackKeys'](_0x21f752,_0x109ba0,_0x40483d);}catch(_0x2a851d){logger[_0x408413(0x1da)]({'event':_0x140823['NfWQv'],'error':_0x2a851d['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x408413(0x1da)]({'event':'resource_lock_acquire_error','resource':_0x5564d0,'owner':_0x153ab2,'error':_0x184a53[_0x408413(0x1f1)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x184a53[_0x408413(0x1f1)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x184a53['message']};}}async[a0_0x47433e(0x1ed)]({resource:_0x5ec8f8,lockKeys:_0x48cb12,lockToken:_0x566615}){const _0x51224a=a0_0x47433e,_0x449757={'DzgYI':function(_0x5da199,_0x1b4ce5){return _0x5da199===_0x1b4ce5;},'bIyBm':_0x51224a(0x1fe)},_0x44db0f=this['_validateReleaseInput']({'resource':_0x5ec8f8,'lockKeys':_0x48cb12,'lockToken':_0x566615});if(!_0x44db0f[_0x51224a(0x1e4)])return{'success':![],'error':_0x44db0f[_0x51224a(0x1da)]};try{const _0x124bc5=redisClient[_0x51224a(0x1dd)]();let _0x54ffaa=0x0;for(const {key:_0x2ecae2,value:_0x552082}of _0x48cb12){const _0x26e634=this[_0x51224a(0x204)](_0x5ec8f8,_0x2ecae2,_0x552082),_0x1fc5ce=await _0x124bc5[_0x51224a(0x1e1)](RELEASE_LUA_SCRIPT,0x1,_0x26e634,_0x566615);_0x449757['DzgYI'](_0x1fc5ce,0x1)&&_0x54ffaa++;}return logger['info']({'event':_0x449757['bIyBm'],'resource':_0x5ec8f8,'released_keys':_0x54ffaa,'total_keys':_0x48cb12[_0x51224a(0x1df)],'owner':this['extractOwner'](_0x566615)},_0x51224a(0x1f0)+_0x5ec8f8+'\x20('+_0x54ffaa+'/'+_0x48cb12['length']+_0x51224a(0x20d)),{'success':!![],'data':{'resource':_0x5ec8f8,'released_keys':_0x54ffaa,'total_keys':_0x48cb12[_0x51224a(0x1df)]}};}catch(_0x47bd56){return logger[_0x51224a(0x1da)]({'event':'resource_lock_release_error','resource':_0x5ec8f8,'error':_0x47bd56['message']},_0x51224a(0x1ec)+_0x47bd56['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x47bd56[_0x51224a(0x1f1)]};}}async['getResourceLockStatus']({resource:_0x16bf31,lockKeys:_0x46d503}){const _0x5c315f=a0_0x47433e,_0x5b5739={'pWXCq':_0x5c315f(0x206),'iYSVD':function(_0x30d17d,_0x80edd5){return _0x30d17d!==_0x80edd5;},'lpOlb':function(_0x2c300c,_0xb723f3){return _0x2c300c>_0xb723f3;},'PBFrK':_0x5c315f(0x1e3)};if(!_0x16bf31||!Array[_0x5c315f(0x1d1)](_0x46d503)||_0x46d503['length']===0x0)return{'success':![],'error':_0x5b5739[_0x5c315f(0x1d2)]};try{const _0x1f0ce7=redisClient[_0x5c315f(0x1dd)](),_0x51fc17=[];for(const {key:_0x187b61,value:_0x5bc725}of _0x46d503){const _0x57fae0=this['buildKey'](_0x16bf31,_0x187b61,_0x5bc725),[_0x45d5ec,_0x19e26f]=await Promise['all']([_0x1f0ce7['get'](_0x57fae0),_0x1f0ce7[_0x5c315f(0x200)](_0x57fae0)]),_0x5ee21f=_0x5b5739[_0x5c315f(0x1cc)](_0x45d5ec,null);_0x51fc17['push']({'key':_0x187b61,'value':_0x5bc725,'locked':_0x5ee21f,'owner':_0x5ee21f?this[_0x5c315f(0x1d5)](_0x45d5ec):null,'ttl_remaining':_0x5ee21f&&_0x5b5739['lpOlb'](_0x19e26f,0x0)?_0x19e26f:null});}return{'success':!![],'data':{'resource':_0x16bf31,'keys':_0x51fc17}};}catch(_0x50eda8){return logger['error']({'event':_0x5b5739['PBFrK'],'resource':_0x16bf31,'error':_0x50eda8[_0x5c315f(0x1f1)]},'Resource\x20lock\x20status\x20error:\x20'+_0x50eda8[_0x5c315f(0x1f1)]),{'success':![],'error':_0x5c315f(0x1ea)+_0x50eda8['message']};}}async[a0_0x47433e(0x1ff)](_0x4548c5,_0x3ccfab,_0x1e739b){const _0x15286c=a0_0x47433e;for(const _0x4dd2f3 of _0x3ccfab){try{await _0x4548c5[_0x15286c(0x1e1)](RELEASE_LUA_SCRIPT,0x1,_0x4dd2f3,_0x1e739b);}catch(_0x328535){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x4dd2f3,'error':_0x328535[_0x15286c(0x1f1)]},_0x15286c(0x20b)+_0x4dd2f3);}}}async['_getConflictInfo'](_0x4ade56,_0x6d4bf3){const _0x323172=a0_0x47433e,_0x3d91c4={'ASAyT':'unknown'};try{const [_0x6806bb,_0x3d6c8b]=await Promise['all']([_0x4ade56[_0x323172(0x1e8)](_0x6d4bf3),_0x4ade56['ttl'](_0x6d4bf3)]);return{'owner':_0x6806bb?this['extractOwner'](_0x6806bb):_0x3d91c4[_0x323172(0x1dc)],'ttlRemaining':_0x3d6c8b>0x0?_0x3d6c8b:null};}catch{return{'owner':_0x323172(0x1c8),'ttlRemaining':null};}}[a0_0x47433e(0x1ef)]({resource:_0x55d9c3,lockKeys:_0x46dad4,ttl:_0x4282c6,owner:_0x214cb9}){const _0x17e8d0=a0_0x47433e,_0x39fe51={'fCbqt':_0x17e8d0(0x1d6),'PULFt':function(_0x2ef126,_0x120427){return _0x2ef126<_0x120427;},'jeFqS':function(_0x5d61c3,_0x13832a){return _0x5d61c3!==_0x13832a;},'hkKWO':_0x17e8d0(0x20a),'Cuijr':function(_0x571ddf,_0x3ca0f0){return _0x571ddf>_0x3ca0f0;},'CPAfh':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x55d9c3||typeof _0x55d9c3!==_0x39fe51['fCbqt'])return{'valid':![],'error':_0x17e8d0(0x1e9)};if(!Array['isArray'](_0x46dad4)||_0x46dad4['length']===0x0)return{'valid':![],'error':_0x17e8d0(0x202)};if(_0x46dad4['length']>0x64)return{'valid':![],'error':_0x17e8d0(0x1d9)};for(let _0x377359=0x0;_0x39fe51['PULFt'](_0x377359,_0x46dad4['length']);_0x377359++){const _0x161ad2=_0x46dad4[_0x377359];if(!_0x161ad2||!_0x161ad2['key']||!_0x161ad2['value'])return{'valid':![],'error':'lock_keys['+_0x377359+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4282c6||_0x39fe51['jeFqS'](typeof _0x4282c6,_0x39fe51['hkKWO'])||_0x39fe51[_0x17e8d0(0x1fd)](_0x4282c6,0x1))return{'valid':![],'error':_0x17e8d0(0x203)};const _0x188500=this[_0x17e8d0(0x1f4)]();if(_0x39fe51['Cuijr'](_0x4282c6,_0x188500))return{'valid':![],'error':_0x17e8d0(0x1db)+_0x188500+_0x17e8d0(0x1f9)};if(!_0x214cb9||_0x39fe51['jeFqS'](typeof _0x214cb9,_0x39fe51[_0x17e8d0(0x1d0)]))return{'valid':![],'error':_0x39fe51[_0x17e8d0(0x1d4)]};return{'valid':!![]};}[a0_0x47433e(0x205)]({resource:_0x203442,lockKeys:_0x132e07,lockToken:_0x4db0be}){const _0x520cf7=a0_0x47433e,_0x29713c={'ZZgtV':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','MkCZj':function(_0x2c9f5c,_0x404b9c){return _0x2c9f5c===_0x404b9c;},'qebvb':_0x520cf7(0x202),'ocIVA':function(_0x251db0,_0x56e834){return _0x251db0<_0x56e834;},'jTrzi':function(_0x2228f8,_0x142059){return _0x2228f8!==_0x142059;},'SGUGy':'string','NxDox':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x203442||typeof _0x203442!==_0x520cf7(0x1d6))return{'valid':![],'error':_0x29713c['ZZgtV']};if(!Array[_0x520cf7(0x1d1)](_0x132e07)||_0x29713c[_0x520cf7(0x1f2)](_0x132e07[_0x520cf7(0x1df)],0x0))return{'valid':![],'error':_0x29713c[_0x520cf7(0x1f7)]};for(let _0x2a4b27=0x0;_0x29713c[_0x520cf7(0x1d8)](_0x2a4b27,_0x132e07['length']);_0x2a4b27++){const _0x1c7002=_0x132e07[_0x2a4b27];if(!_0x1c7002||!_0x1c7002['key']||!_0x1c7002['value'])return{'valid':![],'error':'lock_keys['+_0x2a4b27+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x4db0be||_0x29713c[_0x520cf7(0x1c9)](typeof _0x4db0be,_0x29713c['SGUGy']))return{'valid':![],'error':_0x29713c['NxDox']};return{'valid':!![]};}}module[a0_0x47433e(0x1cf)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x47243a=a0_0x20a6;(function(_0x5c0a72,_0x3ed6f5){const _0x373e92=a0_0x20a6,_0x282b08=_0x5c0a72();while(!![]){try{const _0x12f0c2=-parseInt(_0x373e92(0x10d))/0x1*(parseInt(_0x373e92(0xff))/0x2)+parseInt(_0x373e92(0x120))/0x3*(parseInt(_0x373e92(0x110))/0x4)+parseInt(_0x373e92(0x12f))/0x5+parseInt(_0x373e92(0xf9))/0x6*(parseInt(_0x373e92(0x11b))/0x7)+-parseInt(_0x373e92(0xf5))/0x8+parseInt(_0x373e92(0x129))/0x9+-parseInt(_0x373e92(0xf2))/0xa;if(_0x12f0c2===_0x3ed6f5)break;else _0x282b08['push'](_0x282b08['shift']());}catch(_0x1315a2){_0x282b08['push'](_0x282b08['shift']());}}}(a0_0x1e6a,0x2d49d));function a0_0x20a6(_0x5775a7,_0x1a0279){_0x5775a7=_0x5775a7-0xeb;const _0x1e6adf=a0_0x1e6a();let _0x20a631=_0x1e6adf[_0x5775a7];if(a0_0x20a6['lnPzAl']===undefined){var _0x14a189=function(_0x2a519f){const _0xf14811='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a80c1='',_0x392568='';for(let _0x560d0b=0x0,_0x687bd3,_0x274085,_0x30682f=0x0;_0x274085=_0x2a519f['charAt'](_0x30682f++);~_0x274085&&(_0x687bd3=_0x560d0b%0x4?_0x687bd3*0x40+_0x274085:_0x274085,_0x560d0b++%0x4)?_0x4a80c1+=String['fromCharCode'](0xff&_0x687bd3>>(-0x2*_0x560d0b&0x6)):0x0){_0x274085=_0xf14811['indexOf'](_0x274085);}for(let _0x46137b=0x0,_0x3d448c=_0x4a80c1['length'];_0x46137b<_0x3d448c;_0x46137b++){_0x392568+='%'+('00'+_0x4a80c1['charCodeAt'](_0x46137b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x392568);};a0_0x20a6['ONAJyK']=_0x14a189,a0_0x20a6['nhCgcm']={},a0_0x20a6['lnPzAl']=!![];}const _0x1fd9e1=_0x1e6adf[0x0],_0x2e3fae=_0x5775a7+_0x1fd9e1,_0x51d5b1=a0_0x20a6['nhCgcm'][_0x2e3fae];return!_0x51d5b1?(_0x20a631=a0_0x20a6['ONAJyK'](_0x20a631),a0_0x20a6['nhCgcm'][_0x2e3fae]=_0x20a631):_0x20a631=_0x51d5b1,_0x20a631;}function a0_0x1e6a(){const _0x3e3e8f=['BgvUz3rO','z2v0','x3zHBgLKyxrLuMvSzwfZzuLUChv0','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','n1njB2jVyq','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','yNvPBgrlzxK','C2v0','y2jsuKK','mtaXmZa3m0nHB3rYrq','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','D2fYBG','y1jbt0O','C3vIC3rYAw5N','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','q3H4Exe','zxHWB3j0CW','zxjYB3i','nZq0odmXAvbMD2rr','z2v0q2XPzw50','BvHvyva','DhrSuMvTywLUAw5N','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','BwfW','nZK0mdy1qKTYD0PR','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','zxH0CMfJDe93BMvY','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','Dw5RBM93BG','AxDIveW','AxnbCNjHEq','BwvZC2fNzq','nJC5otyWB1HYC1Pb','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','nZeXotC2sKD6rwre','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','ywnXDwLYzvjLC291CMnLtg9JA3m','ChvZAa','mZm4nJe2twnLyMvo','x3jVBgXIywnRs2v5CW','z2v0twf4vfrmu2vJB25KCW','tezZBMW','B3DUzxi','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mteWEevMthzW','x2DLDenVBMzSAwn0sw5MBW','z2vUzxjHDgvuB2TLBG','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','DMfSAwq','BM93','zw52','CMy6','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','DfLjufa','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','ywXS','D1DIuw0','ntmZmwzUDwfAsq','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','seLzBhi','nhvbtNvVsa','A2j4u3u','DMfSDwu','DhrS','zxzHBa','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','x3zHBgLKyxrLqwnXDwLYzuLUChv0'];a0_0x1e6a=function(){return _0x3e3e8f;};return a0_0x1e6a();}const redisClient=require(a0_0x47243a(0x107)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x351bcc=a0_0x47243a,_0x10ff39={'LFsnl':'default'},_0x4b1daa=process['env'][_0x351bcc(0xfe)]||_0x10ff39[_0x351bcc(0xfc)];return _0x351bcc(0x106)+_0x4b1daa+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x47243a(0xed);class ResourceLockManager{[a0_0x47243a(0x11d)](_0xb66d3d,_0x13fa4f,_0x3a03c8){return''+getPrefix()+_0xb66d3d+':'+_0x13fa4f+':'+_0x3a03c8;}[a0_0x47243a(0x101)](_0x5025ad){const _0x565307=a0_0x47243a,_0x6f118c={'exGPb':function(_0x323c45){return _0x323c45();}};return _0x5025ad+':'+_0x6f118c['exGPb'](uuidv4)+':'+Date[_0x565307(0x104)]();}['extractOwner'](_0x3099fe){const _0x2f2e94=a0_0x47243a,_0x147f6d={'YKnDa':function(_0x27f96b,_0x14e536){return _0x27f96b>_0x14e536;}};if(!_0x3099fe)return _0x2f2e94(0xee);const _0x42065b=_0x3099fe['indexOf'](':');return _0x147f6d['YKnDa'](_0x42065b,0x0)?_0x3099fe[_0x2f2e94(0x124)](0x0,_0x42065b):_0x3099fe;}[a0_0x47243a(0xfb)](){const _0x3f0f29=a0_0x47243a;return parseInt(process[_0x3f0f29(0x105)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x47243a(0xf7)]({resource:_0x1af9bc,lockKeys:_0x1f7db1,ttl:_0x3fdd68,owner:_0x22df69}){const _0xa30742=a0_0x47243a,_0x2cae5c={'cbRRI':function(_0x41a8e8,_0x47429a){return _0x41a8e8===_0x47429a;},'YGznZ':_0xa30742(0xeb),'HIYlr':'Resource\x20lock\x20conflict'},_0x49fec1=this[_0xa30742(0x116)]({'resource':_0x1af9bc,'lockKeys':_0x1f7db1,'ttl':_0x3fdd68,'owner':_0x22df69});if(!_0x49fec1['valid'])return{'success':![],'error':_0x49fec1['error']};const _0x2201e7=this['getMaxTTLSeconds'](),_0x5f4e37=Math['min'](_0x3fdd68,_0x2201e7),_0x1ea494=this['generateToken'](_0x22df69),_0x273eab=[];try{const _0x32f5f7=redisClient[_0xa30742(0x12a)]();for(let _0x16050a=0x0;_0x16050a<_0x1f7db1['length'];_0x16050a++){const {key:_0x382214,value:_0x221ac7}=_0x1f7db1[_0x16050a],_0x42ab62=this['buildKey'](_0x1af9bc,_0x382214,_0x221ac7),_0x36161b=await _0x32f5f7[_0xa30742(0x11e)](_0x42ab62,_0x1ea494,'EX',_0x5f4e37,'NX');if(_0x2cae5c[_0xa30742(0x11f)](_0x36161b,'OK'))_0x273eab[_0xa30742(0xf8)](_0x42ab62);else{await this[_0xa30742(0xfa)](_0x32f5f7,_0x273eab,_0x1ea494);const _0x5b88cd=await this[_0xa30742(0x100)](_0x32f5f7,_0x42ab62);return logger[_0xa30742(0x122)]({'event':_0x2cae5c['YGznZ'],'resource':_0x1af9bc,'conflicting_key':{'key':_0x382214,'value':_0x221ac7},'locked_by':_0x5b88cd[_0xa30742(0xfd)],'ttl_remaining':_0x5b88cd[_0xa30742(0x12c)],'attempted_by':_0x22df69},_0xa30742(0x115)+_0x1af9bc+':'+_0x382214+':'+_0x221ac7),{'success':![],'error':_0x2cae5c[_0xa30742(0x10f)],'data':{'conflicting_key':{'key':_0x382214,'value':_0x221ac7},'locked_by':_0x5b88cd[_0xa30742(0xfd)],'ttl_remaining':_0x5b88cd[_0xa30742(0x12c)]}};}}const _0x384620=_0x1f7db1[_0xa30742(0x12e)](({key:_0x581d3c,value:_0x56b8c4})=>({'key':_0x581d3c,'value':_0x56b8c4,'lock_key':this['buildKey'](_0x1af9bc,_0x581d3c,_0x56b8c4)}));return logger['info']({'event':'resource_lock_acquired','resource':_0x1af9bc,'keys_count':_0x1f7db1['length'],'ttl':_0x5f4e37,'owner':_0x22df69},_0xa30742(0x10e)+_0x1af9bc+'\x20('+_0x1f7db1[_0xa30742(0x117)]+'\x20keys,\x20TTL:\x20'+_0x5f4e37+'s)'),{'success':!![],'data':{'lock_token':_0x1ea494,'resource':_0x1af9bc,'locked_keys':_0x384620,'ttl':_0x5f4e37,'owner':_0x22df69,'acquired_at':new Date()['toISOString']()}};}catch(_0xea6c18){try{const _0x1242a6=redisClient[_0xa30742(0x12a)]();await this[_0xa30742(0xfa)](_0x1242a6,_0x273eab,_0x1ea494);}catch(_0x36f187){logger['error']({'event':_0xa30742(0x11c),'error':_0x36f187[_0xa30742(0xf1)]},_0xa30742(0x102));}return logger[_0xa30742(0x128)]({'event':'resource_lock_acquire_error','resource':_0x1af9bc,'owner':_0x22df69,'error':_0xea6c18['message']},_0xa30742(0xf3)+_0xea6c18['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0xea6c18[_0xa30742(0xf1)]};}}async['releaseResourceLocks']({resource:_0x4ab108,lockKeys:_0x6ee07f,lockToken:_0x5bfaf2}){const _0x4a8001=a0_0x47243a,_0x3e9c69={'WUUXP':function(_0x3bf0eb,_0x20d409){return _0x3bf0eb===_0x20d409;}},_0x2557df=this[_0x4a8001(0x119)]({'resource':_0x4ab108,'lockKeys':_0x6ee07f,'lockToken':_0x5bfaf2});if(!_0x2557df[_0x4a8001(0x103)])return{'success':![],'error':_0x2557df['error']};try{const _0x24032e=redisClient['getClient']();let _0x1050fe=0x0;for(const {key:_0x2b4908,value:_0x5be560}of _0x6ee07f){const _0x4e69d3=this['buildKey'](_0x4ab108,_0x2b4908,_0x5be560),_0x287b75=await _0x24032e[_0x4a8001(0x114)](RELEASE_LUA_SCRIPT,0x1,_0x4e69d3,_0x5bfaf2);_0x3e9c69['WUUXP'](_0x287b75,0x1)&&_0x1050fe++;}return logger['info']({'event':'resource_lock_released','resource':_0x4ab108,'released_keys':_0x1050fe,'total_keys':_0x6ee07f['length'],'owner':this[_0x4a8001(0xec)](_0x5bfaf2)},_0x4a8001(0x11a)+_0x4ab108+'\x20('+_0x1050fe+'/'+_0x6ee07f[_0x4a8001(0x117)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x4ab108,'released_keys':_0x1050fe,'total_keys':_0x6ee07f[_0x4a8001(0x117)]}};}catch(_0x1bcf13){return logger['error']({'event':'resource_lock_release_error','resource':_0x4ab108,'error':_0x1bcf13[_0x4a8001(0xf1)]},'Resource\x20lock\x20release\x20error:\x20'+_0x1bcf13['message']),{'success':![],'error':_0x4a8001(0x130)+_0x1bcf13['message']};}}async['getResourceLockStatus']({resource:_0x39bd47,lockKeys:_0x3e2bbb}){const _0x283315=a0_0x47243a,_0xe10d13={'dHeKN':function(_0x52394e,_0x5eea74){return _0x52394e===_0x5eea74;},'hYErp':_0x283315(0xf4),'mXUaP':function(_0x1e9b89,_0x22c372){return _0x1e9b89!==_0x22c372;},'wWbQm':function(_0x178c55,_0x1facea){return _0x178c55>_0x1facea;},'nWwHn':'resource_lock_status_error'};if(!_0x39bd47||!Array['isArray'](_0x3e2bbb)||_0xe10d13['dHeKN'](_0x3e2bbb[_0x283315(0x117)],0x0))return{'success':![],'error':_0xe10d13['hYErp']};try{const _0x552b40=redisClient['getClient'](),_0x2839ca=[];for(const {key:_0x4f03d8,value:_0x4f1139}of _0x3e2bbb){const _0x416edf=this['buildKey'](_0x39bd47,_0x4f03d8,_0x4f1139),[_0x15a4f5,_0xc32999]=await Promise[_0x283315(0x10b)]([_0x552b40[_0x283315(0x118)](_0x416edf),_0x552b40['ttl'](_0x416edf)]),_0x2ac880=_0xe10d13[_0x283315(0x12b)](_0x15a4f5,null);_0x2839ca['push']({'key':_0x4f03d8,'value':_0x4f1139,'locked':_0x2ac880,'owner':_0x2ac880?this[_0x283315(0xec)](_0x15a4f5):null,'ttl_remaining':_0x2ac880&&_0xe10d13[_0x283315(0x10c)](_0xc32999,0x0)?_0xc32999:null});}return{'success':!![],'data':{'resource':_0x39bd47,'keys':_0x2839ca}};}catch(_0xe1fad2){return logger['error']({'event':_0xe10d13['nWwHn'],'resource':_0x39bd47,'error':_0xe1fad2[_0x283315(0xf1)]},_0x283315(0x12d)+_0xe1fad2[_0x283315(0xf1)]),{'success':![],'error':_0x283315(0x121)+_0xe1fad2['message']};}}async[a0_0x47243a(0xfa)](_0x122340,_0x2d1936,_0x444f2e){const _0x216e48=a0_0x47243a,_0x39435d={'dmhxv':_0x216e48(0xf6)};for(const _0x12507e of _0x2d1936){try{await _0x122340[_0x216e48(0x114)](RELEASE_LUA_SCRIPT,0x1,_0x12507e,_0x444f2e);}catch(_0x29a8e5){logger[_0x216e48(0x128)]({'event':_0x39435d['dmhxv'],'key':_0x12507e,'error':_0x29a8e5['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x12507e);}}}async['_getConflictInfo'](_0x4e1089,_0x1b5639){const _0x27e92c=a0_0x47243a,_0x19e34d={'yheUg':_0x27e92c(0xee)};try{const [_0x34fd31,_0x3acf8e]=await Promise[_0x27e92c(0x10b)]([_0x4e1089['get'](_0x1b5639),_0x4e1089[_0x27e92c(0x113)](_0x1b5639)]);return{'owner':_0x34fd31?this['extractOwner'](_0x34fd31):_0x19e34d['yheUg'],'ttlRemaining':_0x3acf8e>0x0?_0x3acf8e:null};}catch{return{'owner':_0x27e92c(0xee),'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x795a1d,lockKeys:_0x22bb30,ttl:_0x49904a,owner:_0x2547e3}){const _0x110b5b=a0_0x47243a,_0x2128d7={'VBDnZ':'string','cRAOJ':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','Cxxyq':_0x110b5b(0x108),'tYIPP':function(_0xcb4635,_0x3e1af6){return _0xcb4635>_0x3e1af6;}};if(!_0x795a1d||typeof _0x795a1d!==_0x2128d7['VBDnZ'])return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x22bb30)||_0x22bb30['length']===0x0)return{'valid':![],'error':_0x2128d7[_0x110b5b(0x123)]};if(_0x22bb30['length']>0x64)return{'valid':![],'error':_0x2128d7[_0x110b5b(0x126)]};for(let _0x29f22b=0x0;_0x29f22b<_0x22bb30[_0x110b5b(0x117)];_0x29f22b++){const _0x12ef4c=_0x22bb30[_0x29f22b];if(!_0x12ef4c||!_0x12ef4c['key']||!_0x12ef4c[_0x110b5b(0x112)])return{'valid':![],'error':'lock_keys['+_0x29f22b+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x49904a||typeof _0x49904a!=='number'||_0x49904a<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x4a6f90=this[_0x110b5b(0xfb)]();if(_0x2128d7[_0x110b5b(0x109)](_0x49904a,_0x4a6f90))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x4a6f90+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x2547e3||typeof _0x2547e3!==_0x2128d7['VBDnZ'])return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x44a891,lockKeys:_0x3b8305,lockToken:_0x3a9039}){const _0x2fc8da=a0_0x47243a,_0x149f81={'iwbTL':function(_0x5def72,_0x3ecee6){return _0x5def72!==_0x3ecee6;},'kbxSu':'string','CLeqQ':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};if(!_0x44a891||_0x149f81[_0x2fc8da(0xef)](typeof _0x44a891,_0x149f81['kbxSu']))return{'valid':![],'error':_0x2fc8da(0x10a)};if(!Array[_0x2fc8da(0xf0)](_0x3b8305)||_0x3b8305['length']===0x0)return{'valid':![],'error':_0x149f81['CLeqQ']};for(let _0x363ea5=0x0;_0x363ea5<_0x3b8305[_0x2fc8da(0x117)];_0x363ea5++){const _0x108d29=_0x3b8305[_0x363ea5];if(!_0x108d29||!_0x108d29['key']||!_0x108d29[_0x2fc8da(0x112)])return{'valid':![],'error':'lock_keys['+_0x363ea5+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3a9039||typeof _0x3a9039!==_0x149f81[_0x2fc8da(0x111)])return{'valid':![],'error':_0x2fc8da(0x125)};return{'valid':!![]};}}module[a0_0x47243a(0x127)]=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x5ea097=a0_0x539f;(function(_0x4b947f,_0x38c631){const _0x29916e=a0_0x539f,_0x454c52=_0x4b947f();while(!![]){try{const _0x2ffa6b=-parseInt(_0x29916e(0x1b9))/0x1*(-parseInt(_0x29916e(0x214))/0x2)+parseInt(_0x29916e(0x1c6))/0x3+parseInt(_0x29916e(0x203))/0x4*(parseInt(_0x29916e(0x1c0))/0x5)+-parseInt(_0x29916e(0x1fa))/0x6+parseInt(_0x29916e(0x1b5))/0x7*(parseInt(_0x29916e(0x1df))/0x8)+parseInt(_0x29916e(0x1d4))/0x9*(parseInt(_0x29916e(0x223))/0xa)+-parseInt(_0x29916e(0x20d))/0xb;if(_0x2ffa6b===_0x38c631)break;else _0x454c52['push'](_0x454c52['shift']());}catch(_0x419bd2){_0x454c52['push'](_0x454c52['shift']());}}}(a0_0x5582,0x30307));const {Kafka,logLevel}=require(a0_0x5ea097(0x1bc)),{v7:uuidv7}=require(a0_0x5ea097(0x1e3));class KafkaConsumerService{constructor(){const _0x4320d1=a0_0x5ea097;this['kafka']=null,this[_0x4320d1(0x1ed)]=null,this['isConnected']=![],this['isInitializing']=![],this[_0x4320d1(0x224)]=![],this[_0x4320d1(0x1d7)]=![],this['connectionPromise']=null,this[_0x4320d1(0x1da)]=[],this[_0x4320d1(0x207)]=null,this[_0x4320d1(0x1c3)]=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x44c6a1=a0_0x5ea097,_0x2e85d0={'DnQaD':function(_0x5bdbad,_0x54c014){return _0x5bdbad===_0x54c014;},'GrTFn':'true','PqSey':_0x44c6a1(0x1f3),'fHyqI':'3000','nrjty':function(_0x1e4a4c,_0x30a5d6){return _0x1e4a4c(_0x30a5d6);},'BquoL':_0x44c6a1(0x212),'WKElQ':_0x44c6a1(0x1e7),'Ioohf':'warn'};return{'enabled':_0x2e85d0[_0x44c6a1(0x213)](process['env'][_0x44c6a1(0x1b4)],_0x2e85d0['GrTFn']),'brokers':(process['env'][_0x44c6a1(0x1d0)]||_0x2e85d0['PqSey'])['split'](','),'clientId':process['env'][_0x44c6a1(0x210)]||'restforge-'+(process['env'][_0x44c6a1(0x211)]||'default')+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x2e85d0[_0x44c6a1(0x1f4)]),'requestTimeout':_0x2e85d0['nrjty'](parseInt,process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1f2)]||_0x2e85d0[_0x44c6a1(0x226)]),'sessionTimeout':parseInt(process[_0x44c6a1(0x1d2)]['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':parseInt(process['env'][_0x44c6a1(0x1fb)]||_0x2e85d0[_0x44c6a1(0x1f4)]),'maxBytesPerPartition':parseInt(process[_0x44c6a1(0x1d2)]['KAFKA_MAX_BYTES_PER_PARTITION']||'1048576'),'autoCommit':process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1b7)]===_0x2e85d0[_0x44c6a1(0x1b3)],'autoCommitInterval':_0x2e85d0['nrjty'](parseInt,process['env'][_0x44c6a1(0x1fd)]||_0x2e85d0[_0x44c6a1(0x1f9)]),'retryAttempts':_0x2e85d0[_0x44c6a1(0x1bb)](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x44c6a1(0x1d2)][_0x44c6a1(0x1b8)]||_0x44c6a1(0x227)),'retryMaxDelay':parseInt(process['env'][_0x44c6a1(0x1db)]||_0x44c6a1(0x1eb)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x2e85d0['Ioohf']};}['getLogLevel'](_0x539fde){const _0x2736fa=a0_0x5ea097,_0x239e9b={'nothing':logLevel[_0x2736fa(0x21b)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x2736fa(0x201)]};return _0x239e9b[_0x539fde[_0x2736fa(0x1ea)]()]||logLevel['WARN'];}async[a0_0x5ea097(0x215)](_0x69d0e9={}){const _0x5b8d76=a0_0x5ea097,_0x57917c={'jyCEp':function(_0xf13bbe,_0x5d6853){return _0xf13bbe===_0x5d6853;},'kGOnX':function(_0x1a3d44,_0x3c1dc3){return _0x1a3d44(_0x3c1dc3);},'XJjOu':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x481bc8=this[_0x5b8d76(0x1ba)]();if(!_0x481bc8[_0x5b8d76(0x1f6)])return console[_0x5b8d76(0x21d)](_0x57917c[_0x5b8d76(0x20b)]),![];if(this[_0x5b8d76(0x1bf)])return!![];if(this[_0x5b8d76(0x206)]&&this['connectionPromise'])return this[_0x5b8d76(0x1cd)];return this[_0x5b8d76(0x206)]=!![],this['connectionPromise']=new Promise(async _0x54f120=>{const _0x50b40e=_0x5b8d76;try{let _0x17422c=undefined;_0x57917c[_0x50b40e(0x1f0)](process[_0x50b40e(0x1d2)][_0x50b40e(0x1fe)],_0x50b40e(0x20c))&&(_0x17422c=!![]);let _0x5d84f4=undefined;process[_0x50b40e(0x1d2)]['KAFKA_SASL_MECHANISM']&&(_0x5d84f4={'mechanism':process[_0x50b40e(0x1d2)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x50b40e(0x1d2)][_0x50b40e(0x220)]||''}),this[_0x50b40e(0x1ee)]=new Kafka({'clientId':_0x69d0e9[_0x50b40e(0x1ec)]||_0x481bc8[_0x50b40e(0x1ec)],'brokers':_0x481bc8['brokers'],'connectionTimeout':_0x481bc8[_0x50b40e(0x200)],'requestTimeout':_0x481bc8[_0x50b40e(0x1f5)],'logLevel':this['getLogLevel'](_0x481bc8[_0x50b40e(0x1ef)]),'ssl':_0x17422c,'sasl':_0x5d84f4,'retry':{'initialRetryTime':_0x481bc8['retryDelay'],'retries':_0x481bc8[_0x50b40e(0x1cb)],'maxRetryTime':_0x481bc8['retryMaxDelay']}}),this['groupId']=_0x69d0e9['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x50b40e(0x21c))+'-consumer-group',this[_0x50b40e(0x1ed)]=this['kafka']['consumer']({'groupId':this[_0x50b40e(0x207)],'sessionTimeout':_0x481bc8[_0x50b40e(0x1b1)],'heartbeatInterval':_0x481bc8['heartbeatInterval'],'maxBytesPerPartition':_0x481bc8['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x50b40e(0x1ed)][_0x50b40e(0x1d5)](),this[_0x50b40e(0x1bf)]=!![],console[_0x50b40e(0x21d)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x481bc8[_0x50b40e(0x216)][_0x50b40e(0x20e)](',\x20')+_0x50b40e(0x1d6)+this[_0x50b40e(0x207)]+')'),this['setupEventHandlers'](),_0x57917c['kGOnX'](_0x54f120,!![]);}catch(_0x172f47){console['error'](_0x50b40e(0x1f8)+_0x172f47[_0x50b40e(0x1e9)]),this[_0x50b40e(0x1bf)]=![],_0x54f120(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x252d9a=a0_0x5ea097,_0x105597={'vzGCn':'[KafkaConsumer]\x20Consumer\x20disconnected','bYyUA':'consumer.disconnect','NVuhV':'consumer.stop','cQClE':_0x252d9a(0x208)};if(!this['consumer'])return;this[_0x252d9a(0x1ed)]['on'](_0x105597['bYyUA'],()=>{const _0x4be89c=_0x252d9a;console[_0x4be89c(0x21d)](_0x105597[_0x4be89c(0x204)]),this['isConnected']=![],this[_0x4be89c(0x224)]=![];}),this[_0x252d9a(0x1ed)]['on'](_0x105597['NVuhV'],()=>{const _0xc15050=_0x252d9a;console['log'](_0xc15050(0x1ca)),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x461e56=>{const _0x2abcd2=_0x252d9a;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x461e56['payload'][_0x2abcd2(0x1c7)][_0x2abcd2(0x1e9)]),this[_0x2abcd2(0x224)]=![];}),this['consumer']['on'](_0x105597['cQClE'],()=>{const _0x3cc7f8=_0x252d9a;console[_0x3cc7f8(0x21d)](_0x3cc7f8(0x1c5));});}async[a0_0x5ea097(0x1e2)](_0x1d05db,_0x2b2d3f=![]){const _0x52a193=a0_0x5ea097;if(!this[_0x52a193(0x1bf)])return console[_0x52a193(0x1c7)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x19d8d5=Array['isArray'](_0x1d05db)?_0x1d05db:[_0x1d05db];for(const _0x20ebb9 of _0x19d8d5){await this[_0x52a193(0x1ed)][_0x52a193(0x1e2)]({'topic':_0x20ebb9,'fromBeginning':_0x2b2d3f}),console[_0x52a193(0x21d)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x20ebb9+'\x20(fromBeginning:\x20'+_0x2b2d3f+')');}return this[_0x52a193(0x1da)]=[...new Set([...this['subscribedTopics'],..._0x19d8d5])],!![];}catch(_0xe1c444){return console['error'](_0x52a193(0x21a)+_0xe1c444['message']),![];}}async[a0_0x5ea097(0x1c4)](_0x7c672a,_0x308132={}){const _0x53dbd7=a0_0x5ea097,_0x11a837={'ealkM':function(_0x1ea847,_0x312291){return _0x1ea847+_0x312291;},'dfriV':function(_0x48c684,_0x370fa0){return _0x48c684-_0x370fa0;},'GxIxg':function(_0x41bb99){return _0x41bb99();},'HSRYF':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','qDYhk':'[KafkaConsumer]\x20Consumer\x20already\x20running'};if(!this[_0x53dbd7(0x1bf)])return console[_0x53dbd7(0x1c7)](_0x11a837[_0x53dbd7(0x1d9)]),![];if(this['isRunning'])return console[_0x53dbd7(0x21d)](_0x11a837['qDYhk']),!![];const _0x2dd56b=this[_0x53dbd7(0x1ba)]();this[_0x53dbd7(0x1c3)]=_0x7c672a;try{return this[_0x53dbd7(0x221)]['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x308132['autoCommit']!==undefined?_0x308132['autoCommit']:_0x2dd56b['autoCommit'],'autoCommitInterval':_0x2dd56b['autoCommitInterval'],'eachMessage':async({topic:_0x5c81bf,partition:_0x1d987c,message:_0x493917,heartbeat:_0x12bdfb})=>{const _0x3cf331=_0x53dbd7,_0x1b67da=Date['now']();this['metrics']['messagesReceived']++,this['metrics']['lastMessageTime']=new Date();try{const _0x13de72=_0x493917[_0x3cf331(0x1e5)]?_0x493917['value'][_0x3cf331(0x1cc)]():null;let _0x269efb=null;try{_0x269efb=_0x13de72?JSON[_0x3cf331(0x202)](_0x13de72):null;}catch(_0x37dd96){_0x269efb=_0x13de72;}const _0x50e0f6={'topic':_0x5c81bf,'partition':_0x1d987c,'offset':_0x493917['offset'],'key':_0x493917['key']?_0x493917['key']['toString']():null,'headers':this[_0x3cf331(0x20f)](_0x493917['headers']),'timestamp':_0x493917['timestamp'],'value':_0x269efb,'raw':_0x13de72};this[_0x3cf331(0x1c3)]&&await this[_0x3cf331(0x1c3)](_0x50e0f6);!_0x2dd56b['autoCommit']&&await this['consumer'][_0x3cf331(0x1be)]([{'topic':_0x5c81bf,'partition':_0x1d987c,'offset':_0x11a837[_0x3cf331(0x225)](parseInt(_0x493917[_0x3cf331(0x205)]),0x1)[_0x3cf331(0x1cc)]()}]);this[_0x3cf331(0x221)][_0x3cf331(0x1b0)]++;const _0x46e1a9=_0x11a837[_0x3cf331(0x1c2)](Date['now'](),_0x1b67da);this[_0x3cf331(0x221)]['processingTimes'][_0x3cf331(0x1c9)](_0x46e1a9),this['metrics'][_0x3cf331(0x1f7)][_0x3cf331(0x21f)]>0x64&&this['metrics']['processingTimes']['shift'](),await _0x11a837['GxIxg'](_0x12bdfb);}catch(_0x59b662){this['metrics']['messagesFailed']++,console[_0x3cf331(0x1c7)](_0x3cf331(0x1e4)+_0x59b662[_0x3cf331(0x1e9)]);throw _0x59b662;}}}),this['isRunning']=!![],console['log'](_0x53dbd7(0x1e6)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x30664a){return console['error'](_0x53dbd7(0x219)+_0x30664a[_0x53dbd7(0x1e9)]),![];}}[a0_0x5ea097(0x20f)](_0x337db2){const _0x3d29f1=a0_0x5ea097;if(!_0x337db2)return{};const _0x467abe={};for(const [_0x49dede,_0x5f635]of Object[_0x3d29f1(0x1ce)](_0x337db2)){_0x467abe[_0x49dede]=_0x5f635?_0x5f635[_0x3d29f1(0x1cc)]():null;}return _0x467abe;}async['pause'](){const _0x520b59=a0_0x5ea097,_0x32db1a={'EWxcw':_0x520b59(0x1fc),'ebkqB':_0x520b59(0x21e)};if(!this[_0x520b59(0x1bf)]||!this[_0x520b59(0x224)])return console['log']('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log'](_0x32db1a[_0x520b59(0x1b6)]),!![];try{const _0x1b1823=this['subscribedTopics'][_0x520b59(0x218)](_0x2f368b=>({'topic':_0x2f368b}));return this['consumer']['pause'](_0x1b1823),this[_0x520b59(0x1d7)]=!![],console['log'](_0x32db1a['ebkqB']),!![];}catch(_0x5141f5){return console[_0x520b59(0x1c7)](_0x520b59(0x1de)+_0x5141f5['message']),![];}}async['resume'](){const _0xe8043f=a0_0x5ea097;if(!this['isConnected']||!this[_0xe8043f(0x224)])return console[_0xe8043f(0x21d)](_0xe8043f(0x1b2)),![];if(!this[_0xe8043f(0x1d7)])return console[_0xe8043f(0x21d)](_0xe8043f(0x20a)),!![];try{const _0x16d629=this['subscribedTopics']['map'](_0x1a9046=>({'topic':_0x1a9046}));return this[_0xe8043f(0x1ed)]['resume'](_0x16d629),this['isPaused']=![],console['log']('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x34e39a){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x34e39a[_0xe8043f(0x1e9)]),![];}}async[a0_0x5ea097(0x1c1)](){const _0x5b7d3e=a0_0x5ea097,_0x47cb9f={'lYdQZ':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x5b7d3e(0x1bf)])return console[_0x5b7d3e(0x21d)](_0x5b7d3e(0x1dd)),!![];try{return this['consumer']&&(await this[_0x5b7d3e(0x1ed)]['stop'](),await this['consumer']['disconnect']()),this[_0x5b7d3e(0x1bf)]=![],this[_0x5b7d3e(0x224)]=![],this['isPaused']=![],console[_0x5b7d3e(0x21d)](_0x47cb9f[_0x5b7d3e(0x1c8)]),!![];}catch(_0x19f01c){return console[_0x5b7d3e(0x1c7)](_0x5b7d3e(0x1f1)+_0x19f01c['message']),![];}}async['seekToOffset'](_0xa327b,_0x4362f7,_0xbcb401){const _0x4e015b=a0_0x5ea097;if(!this[_0x4e015b(0x1bf)])return console['error'](_0x4e015b(0x222)),![];try{return this[_0x4e015b(0x1ed)][_0x4e015b(0x217)]({'topic':_0xa327b,'partition':_0x4362f7,'offset':_0xbcb401['toString']()}),console['log'](_0x4e015b(0x1af)+_0xbcb401+_0x4e015b(0x1ff)+_0xa327b+':'+_0x4362f7),!![];}catch(_0x3bb690){return console[_0x4e015b(0x1c7)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x3bb690[_0x4e015b(0x1e9)]),![];}}['getStatus'](){const _0x5a854f=a0_0x5ea097,_0x3fe9c4=this['getConfig']();return{'enabled':_0x3fe9c4['enabled'],'connected':this['isConnected'],'running':this[_0x5a854f(0x224)],'paused':this[_0x5a854f(0x1d7)],'brokers':_0x3fe9c4['brokers'],'clientId':_0x3fe9c4[_0x5a854f(0x1ec)],'groupId':this['groupId'],'subscribedTopics':this[_0x5a854f(0x1da)]};}['getMetrics'](){const _0x40da0a=a0_0x5ea097,_0x4c0ab7={'qsnGD':function(_0x5a2761,_0x131fee){return _0x5a2761/_0x131fee;},'IVTFk':function(_0x13f172,_0x363fd3){return _0x13f172>_0x363fd3;},'pinTP':function(_0x1eed50,_0xaf049c){return _0x1eed50+_0xaf049c;},'jYlwg':function(_0x2fe4eb,_0xce9088){return _0x2fe4eb/_0xce9088;},'LFVfx':function(_0x3dee6d,_0x5abdab){return _0x3dee6d-_0x5abdab;},'oAocK':function(_0xd31dce,_0x46ecb0){return _0xd31dce+_0x46ecb0;}},_0x95c567=this[_0x40da0a(0x221)][_0x40da0a(0x1f7)][_0x40da0a(0x21f)]>0x0?_0x4c0ab7['qsnGD'](this[_0x40da0a(0x221)]['processingTimes']['reduce']((_0x14bb89,_0x19eb27)=>_0x14bb89+_0x19eb27,0x0),this[_0x40da0a(0x221)]['processingTimes'][_0x40da0a(0x21f)]):0x0,_0x283d57=_0x4c0ab7['IVTFk'](this['metrics'][_0x40da0a(0x1f7)]['length'],0x0)?Math['min'](...this[_0x40da0a(0x221)]['processingTimes']):0x0,_0x2ad12a=_0x4c0ab7['IVTFk'](this[_0x40da0a(0x221)][_0x40da0a(0x1f7)][_0x40da0a(0x21f)],0x0)?Math[_0x40da0a(0x1d1)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this[_0x40da0a(0x221)]['messagesReceived'],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics'][_0x40da0a(0x1e1)],'successRate':_0x4c0ab7['IVTFk'](this[_0x40da0a(0x221)][_0x40da0a(0x1bd)],0x0)?_0x4c0ab7[_0x40da0a(0x209)]((_0x4c0ab7['qsnGD'](this[_0x40da0a(0x221)][_0x40da0a(0x1b0)],this['metrics'][_0x40da0a(0x1bd)])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this['metrics']['startTime'],'uptime':this['metrics']['startTime']?_0x4c0ab7['pinTP'](Math[_0x40da0a(0x1dc)](_0x4c0ab7['jYlwg'](_0x4c0ab7[_0x40da0a(0x1d8)](Date[_0x40da0a(0x1e0)](),this[_0x40da0a(0x221)][_0x40da0a(0x1d3)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0x4c0ab7[_0x40da0a(0x1e8)](Math['round'](_0x95c567),'ms'),'min':_0x283d57+'ms','max':_0x2ad12a+'ms'}};}['resetMetrics'](){const _0x407369=a0_0x5ea097,_0x4e3110={'tVzKy':'[KafkaConsumer]\x20Metrics\x20reset'};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x407369(0x224)]?new Date():null,'processingTimes':[]},console['log'](_0x4e3110['tVzKy']);}async[a0_0x5ea097(0x1cf)](){await this['stop']();}}let instance=null;function a0_0x539f(_0x52a239,_0x50f594){_0x52a239=_0x52a239-0x1af;const _0x55820a=a0_0x5582();let _0x539fe9=_0x55820a[_0x52a239];if(a0_0x539f['NRRneM']===undefined){var _0x4d5194=function(_0x4bc1fa){const _0x1cff77='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x446859='',_0x146f31='';for(let _0x8b14f3=0x0,_0x4c8e9f,_0x39ad92,_0x2495e5=0x0;_0x39ad92=_0x4bc1fa['charAt'](_0x2495e5++);~_0x39ad92&&(_0x4c8e9f=_0x8b14f3%0x4?_0x4c8e9f*0x40+_0x39ad92:_0x39ad92,_0x8b14f3++%0x4)?_0x446859+=String['fromCharCode'](0xff&_0x4c8e9f>>(-0x2*_0x8b14f3&0x6)):0x0){_0x39ad92=_0x1cff77['indexOf'](_0x39ad92);}for(let _0x34e5a1=0x0,_0x4c92f0=_0x446859['length'];_0x34e5a1<_0x4c92f0;_0x34e5a1++){_0x146f31+='%'+('00'+_0x446859['charCodeAt'](_0x34e5a1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x146f31);};a0_0x539f['LJTGpi']=_0x4d5194,a0_0x539f['MajSMy']={},a0_0x539f['NRRneM']=!![];}const _0xbf99ca=_0x55820a[0x0],_0xb6552e=_0x52a239+_0xbf99ca,_0x48e915=a0_0x539f['MajSMy'][_0xb6552e];return!_0x48e915?(_0x539fe9=a0_0x539f['LJTGpi'](_0x539fe9),a0_0x539f['MajSMy'][_0xb6552e]=_0x539fe9):_0x539fe9=_0x48e915,_0x539fe9;}function a0_0x5582(){const _0x220e26=['w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','s0fgs0fFuKvrvuvtvf9usu1ft1vu','Bg9JywXOB3n0oJKWoti','zKH5CuK','CMvXDwvZDfrPBwvVDxq','zw5HyMXLza','ChjVy2vZC2LUz1rPBwvZ','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','v0TfBfe','mJiZode1nLzXwureDG','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','s0fgs0fFu1nm','ig9Uia','y29UBMvJDgLVBLrPBwvVDxq','revcvuC','CgfYC2u','mJrruNHnqwi','DNPhq24','B2zMC2v0','AxnjBML0AwfSAxPPBMC','z3jVDxbjza','y29UC3vTzxiUCMvIywXHBMnPBMC','CgLUvfa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','wePQt3u','Dhj1zq','mti3mtCXmfzhDeLXsa','AM9PBG','CgfYC2vizwfKzxjZ','s0fgs0fFq0Xjru5ux0Le','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJuWmda','rg5ryuq','mtCZota4t3bODKHT','Aw5PDgLHBgL6zq','yNjVA2vYCW','C2vLAW','BwfW','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','tK9useLorW','zgvMyxvSDa','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','BgvUz3rO','s0fgs0fFu0fttf9qqvntv09sra','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','mZKWEg1utvLt','AxnsDw5UAw5N','zwfSA00','qNf1B0W','mtaWma','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BwvZC2fNzxnqCM9JzxnZzwq','C2vZC2LVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','r3jurM4','s0fgs0fFru5bqKXfra','mZvOsxz3v1e','rvD4y3C','s0fgs0fFqvvut19dt01nsvq','s0fgs0fFuKvuuLLFrevmqvK','mwr0shbZyW','z2v0q29UzMLN','BNjQDhK','A2fMA2fQCW','BwvZC2fNzxnszwnLAxzLza','y29TBwL0t2zMC2v0CW','AxndB25Uzwn0zwq','ote3mdv0C1bxzMC','C3rVCa','zgzYAvy','BwvZC2fNzuHHBMrSzxi','C3rHCNrdB25ZDw1PBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','nJC3odHJq2DhuLu','zxjYB3i','BfLKuvO','ChvZAa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','CMv0CNLbDhrLBxb0CW','Dg9tDhjPBMC','y29UBMvJDgLVBLbYB21PC2u','zw50CMLLCW','y2XVC2u','s0fgs0fFqLjps0vsuW','Bwf4','zw52','C3rHCNruAw1L','mZyYndnkwhjtr2S','y29UBMvJDa','icHNCM91CeLKoIa','AxnqyxvZzwq','tezwzNG','sfnswuy','C3vIC2nYAwjLzfrVCgLJCW','s0fgs0fFuKvuuLLFtufyx0rftefz','zMXVB3i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','ndK0otKYAw1IzKrK','BM93','BwvZC2fNzxngywLSzwq','C3vIC2nYAwjL','DxvPza','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','DMfSDwu','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','ntaWma','B0fVy0S','BwvZC2fNzq','Dg9mB3DLCKnHC2u','mZaWmda','y2XPzw50swq','y29UC3vTzxi','A2fMA2e','Bg9Ntgv2zwW','ANLdrxa'];a0_0x5582=function(){return _0x220e26;};return a0_0x5582();}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
|
+
const a0_0x1631ff=a0_0x2389;(function(_0x43c38e,_0xb81bcc){const _0x2e5939=a0_0x2389,_0x1d2d62=_0x43c38e();while(!![]){try{const _0xd0f247=parseInt(_0x2e5939(0x19e))/0x1+parseInt(_0x2e5939(0x17c))/0x2*(-parseInt(_0x2e5939(0x19b))/0x3)+parseInt(_0x2e5939(0x18c))/0x4*(parseInt(_0x2e5939(0x14b))/0x5)+parseInt(_0x2e5939(0x1b4))/0x6*(parseInt(_0x2e5939(0x18f))/0x7)+-parseInt(_0x2e5939(0x19f))/0x8*(-parseInt(_0x2e5939(0x1ad))/0x9)+-parseInt(_0x2e5939(0x190))/0xa*(-parseInt(_0x2e5939(0x1a9))/0xb)+parseInt(_0x2e5939(0x15a))/0xc*(-parseInt(_0x2e5939(0x169))/0xd);if(_0xd0f247===_0xb81bcc)break;else _0x1d2d62['push'](_0x1d2d62['shift']());}catch(_0x131e47){_0x1d2d62['push'](_0x1d2d62['shift']());}}}(a0_0x4e8d,0x52c33));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1631ff(0x198));function a0_0x4e8d(){const _0x11b401=['icHNCM91CeLKoIa','Cgf5Bg9Hza','BgvUz3rO','C3rVCa','y29UBMvJDa','Aw5PDgLHBgL6zq','C2vZC2LVBLrPBwvVDxq','DxvPza','CMv0CNLnyxHezwXHEq','zw52','mtmXmtLhvwDbEvi','CMvZDw1L','v0fstG','mZG5mZqWwLnkyxf2','nZm1nJG4BMH0zeDQ','CgfYC2vizwfKzxjZ','zgLZy29UBMvJDa','Devqr0S','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','EKf0twi','Bwv0CMLJCW','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','y29UBMvJDgLVBLbYB21PC2u','r0LtBhu','mte0ody4nNzMsg9KEa','BwvZC2fNzq','z1vrDfq','uuTQB3e','oujnCNrTAG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','n3W5FdeWFdb8ohW0Fdz8mxWYFdv8mW','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','AurVuKq','z2v0q29UzMLN','mZGWnda2ueX5qxHc','s0fgs0fFqLjps0vsuW','Bwf4qNL0zxnqzxjqyxj0AxrPB24','CM91BMq','CgfYC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','zw5HyMXLza','yNjVA2vYCW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','z3jVDxbjza','y2XPzw50swq','yMzHvxu','zuTswNm','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','icHMCM9TqMvNAw5UAw5NoIa','C3vIC2nYAwjLzfrVCgLJCW','Dhj1zq','nunHvNrJua','B2zMC2v0','CMvZzxrnzxrYAwnZ','y29UC3vTzxi','C3rHCNrdB25ZDw1PBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','D0Pkrw8','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','z2v0vgLTzq','yxv0B0nVBw1PDa','BwvZC2fNzxnszwnLAxzLza','su5gtW','A2fMA2e','Dg9tDhjPBMC','zxHWB3j0CW','nJC4mdbPyLbttuS','AxnjBML0AwfSAxPPBMC','zgvMyxvSDa','C3rHCNruAw1L','vhDkAgy','ChvZAa','Bg9N','zxjYB3i','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','s0fgs0fFu1nm','s0fgs0fFsevbuLrcrufux0LovevsvKfm','AgvHzgvYCW','Cgf1C2u','AxndB25Uzwn0zwq','mJaWmNvsCM1bCa','swPYDMW','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','AxnsDw5UAw5N','s0fgs0fFu0vtu0LptL9usu1ft1vu','A21yuu4','DgLTzxn0yw1W','C3bSAxq','ChjVy2vZC2LUz1rPBwvZ','y2XVC2u','AxLvwLG','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','D3jjy3a','z2v0tg9Ntgv2zwW','CKHbA0i','s0fgs0fFuKvrvuvtvf9usu1ft1vu','AxnqyxvZzwq','CNvU','odj3rNDhswW','DfvQwKW','CMvZDgzVCMDLlq','D2fYBG','y29TBwL0t2zMC2v0CW','BwvZC2fNzxngywLSzwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','BM93','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','uvvNru4','Bg9Ntgv2zwW','C2vLA1rVt2zMC2v0','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','mtaWma','mZaWma','C3vIC2nYAwjL','mJi4ntCZmMziywjXyq','Dg9mB3DLCKnHC2u','C2v0DxbfDMvUDeHHBMrSzxjZ','mtrVzvvAAeC','mJbUvfb1v3O'];a0_0x4e8d=function(){return _0x11b401;};return a0_0x4e8d();}function a0_0x2389(_0xed94f8,_0x19e917){_0xed94f8=_0xed94f8-0x13a;const _0x4e8d95=a0_0x4e8d();let _0x23894a=_0x4e8d95[_0xed94f8];if(a0_0x2389['vWHLCF']===undefined){var _0x22338d=function(_0x1278d4){const _0x9067ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9ad0e5='',_0x119008='';for(let _0x11358e=0x0,_0x34bd05,_0x7c938f,_0x549dd4=0x0;_0x7c938f=_0x1278d4['charAt'](_0x549dd4++);~_0x7c938f&&(_0x34bd05=_0x11358e%0x4?_0x34bd05*0x40+_0x7c938f:_0x7c938f,_0x11358e++%0x4)?_0x9ad0e5+=String['fromCharCode'](0xff&_0x34bd05>>(-0x2*_0x11358e&0x6)):0x0){_0x7c938f=_0x9067ca['indexOf'](_0x7c938f);}for(let _0x1dbf79=0x0,_0x1b38d1=_0x9ad0e5['length'];_0x1dbf79<_0x1b38d1;_0x1dbf79++){_0x119008+='%'+('00'+_0x9ad0e5['charCodeAt'](_0x1dbf79)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x119008);};a0_0x2389['TSbAoN']=_0x22338d,a0_0x2389['Jdflba']={},a0_0x2389['vWHLCF']=!![];}const _0x5b83ea=_0x4e8d95[0x0],_0x23fb46=_0xed94f8+_0x5b83ea,_0xa60e3a=a0_0x2389['Jdflba'][_0x23fb46];return!_0xa60e3a?(_0x23894a=a0_0x2389['TSbAoN'](_0x23894a),a0_0x2389['Jdflba'][_0x23fb46]=_0x23894a):_0x23894a=_0xa60e3a,_0x23894a;}class KafkaConsumerService{constructor(){const _0x28fd85=a0_0x1631ff,_0x13de76=_0x28fd85(0x1af)[_0x28fd85(0x171)]('|');let _0x3f5876=0x0;while(!![]){switch(_0x13de76[_0x3f5876++]){case'0':this['isInitializing']=![];continue;case'1':this['subscribedTopics']=[];continue;case'2':this['groupId']=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this['isPaused']=![];continue;case'5':this['messageHandler']=null;continue;case'6':this[_0x28fd85(0x1a7)]=null;continue;case'7':this[_0x28fd85(0x157)]=null;continue;case'8':this[_0x28fd85(0x16d)]=![];continue;case'9':this['consumer']=null;continue;case'10':this['isConnected']=![];continue;}break;}}[a0_0x1631ff(0x1b3)](){const _0x3fe4ac=a0_0x1631ff,_0x3050f1={'odqam':function(_0x8a2b04,_0xba1c9b){return _0x8a2b04===_0xba1c9b;},'bZjJU':'true','tEPGK':'localhost:9092','wJJEo':function(_0x13f069,_0x13bba6){return _0x13f069(_0x13bba6);},'tUjZL':'3000','VViYB':'1048576','QKjoq':function(_0x51eff5,_0x4be6fd){return _0x51eff5===_0x4be6fd;},'YteiV':'5000','owKuE':function(_0x3fb1c1,_0x3c0b2e){return _0x3fb1c1(_0x3c0b2e);},'opfMt':_0x3fe4ac(0x17f)};return{'enabled':_0x3050f1['odqam'](process['env']['KAFKA_ENABLED'],_0x3050f1['bZjJU']),'brokers':(process['env'][_0x3fe4ac(0x13a)]||_0x3050f1[_0x3fe4ac(0x1a2)])['split'](','),'clientId':process[_0x3fe4ac(0x19a)]['KAFKA_CLIENT_ID']||_0x3fe4ac(0x17e)+(process[_0x3fe4ac(0x19a)][_0x3fe4ac(0x1ae)]||_0x3fe4ac(0x15c))+'-consumer','connectionTimeout':_0x3050f1['wJJEo'](parseInt,process[_0x3fe4ac(0x19a)]['KAFKA_CONNECTION_TIMEOUT']||_0x3fe4ac(0x18a)),'requestTimeout':parseInt(process[_0x3fe4ac(0x19a)][_0x3fe4ac(0x179)]||'25000'),'sessionTimeout':parseInt(process['env'][_0x3fe4ac(0x16e)]||'30000'),'heartbeatInterval':parseInt(process['env'][_0x3fe4ac(0x165)]||_0x3050f1[_0x3fe4ac(0x17d)]),'maxBytesPerPartition':_0x3050f1[_0x3fe4ac(0x151)](parseInt,process['env'][_0x3fe4ac(0x1a6)]||_0x3050f1['VViYB']),'autoCommit':_0x3050f1[_0x3fe4ac(0x1ac)](process['env'][_0x3fe4ac(0x1b0)],_0x3050f1['bZjJU']),'autoCommitInterval':_0x3050f1[_0x3fe4ac(0x151)](parseInt,process[_0x3fe4ac(0x19a)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x3050f1['YteiV']),'retryAttempts':parseInt(process[_0x3fe4ac(0x19a)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x3fe4ac(0x189)),'retryMaxDelay':_0x3050f1['owKuE'](parseInt,process['env']['KAFKA_RETRY_MAX_DELAY']||'30000'),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x3050f1['opfMt']};}[a0_0x1631ff(0x177)](_0x13e219){const _0x4171f7=a0_0x1631ff,_0x2c11ee={'nothing':logLevel['NOTHING'],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x4171f7(0x156)],'debug':logLevel['DEBUG']};return _0x2c11ee[_0x13e219[_0x4171f7(0x18d)]()]||logLevel[_0x4171f7(0x19d)];}async[a0_0x1631ff(0x196)](_0x392fe8={}){const _0x265ae7=a0_0x1631ff,_0x332c99={'iyUZX':_0x265ae7(0x15c),'iDoRD':function(_0x338e5d,_0x3ed7fd){return _0x338e5d(_0x3ed7fd);}},_0x56dd36=this['getConfig']();if(!_0x56dd36[_0x265ae7(0x13f)])return console[_0x265ae7(0x160)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this[_0x265ae7(0x15b)]&&this[_0x265ae7(0x1a7)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x1db69e=>{const _0xb79d70=_0x265ae7;try{let _0x423fa6=undefined;process[_0xb79d70(0x19a)][_0xb79d70(0x164)]===_0xb79d70(0x14a)&&(_0x423fa6=!![]);let _0x183f4a=undefined;process[_0xb79d70(0x19a)]['KAFKA_SASL_MECHANISM']&&(_0x183f4a={'mechanism':process[_0xb79d70(0x19a)]['KAFKA_SASL_MECHANISM'],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0xb79d70(0x19a)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x392fe8[_0xb79d70(0x144)]||_0x56dd36[_0xb79d70(0x144)],'brokers':_0x56dd36[_0xb79d70(0x140)],'connectionTimeout':_0x56dd36['connectionTimeout'],'requestTimeout':_0x56dd36['requestTimeout'],'logLevel':this[_0xb79d70(0x177)](_0x56dd36[_0xb79d70(0x186)]),'ssl':_0x423fa6,'sasl':_0x183f4a,'retry':{'initialRetryTime':_0x56dd36['retryDelay'],'retries':_0x56dd36['retryAttempts'],'maxRetryTime':_0x56dd36[_0xb79d70(0x199)]}}),this[_0xb79d70(0x143)]=_0x392fe8[_0xb79d70(0x143)]||_0xb79d70(0x17e)+(process['env'][_0xb79d70(0x1ae)]||_0x332c99[_0xb79d70(0x174)])+'-consumer-group',this['consumer']=this[_0xb79d70(0x157)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x56dd36[_0xb79d70(0x197)],'heartbeatInterval':_0x56dd36['heartbeatInterval'],'maxBytesPerPartition':_0x56dd36[_0xb79d70(0x13b)],'allowAutoTopicCreation':![]}),await this[_0xb79d70(0x14e)][_0xb79d70(0x195)](),this[_0xb79d70(0x168)]=!![],console[_0xb79d70(0x160)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x56dd36[_0xb79d70(0x140)]['join'](',\x20')+_0xb79d70(0x191)+this[_0xb79d70(0x143)]+')'),this['setupEventHandlers'](),_0x1db69e(!![]);}catch(_0x4c30){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x4c30[_0xb79d70(0x1aa)]),this['isConnected']=![],_0x332c99[_0xb79d70(0x1b2)](_0x1db69e,![]);}finally{this['isInitializing']=![];}}),this[_0x265ae7(0x1a7)];}[a0_0x1631ff(0x18e)](){const _0x46b079=a0_0x1631ff,_0x55dc06={'wrIcp':'[KafkaConsumer]\x20Consumer\x20disconnected','GISlu':_0x46b079(0x150),'eZqZh':'consumer.stop','xrIGn':'consumer.crash'};if(!this[_0x46b079(0x14e)])return;this[_0x46b079(0x14e)]['on']('consumer.disconnect',()=>{const _0x3e54ae=_0x46b079;console['log'](_0x55dc06[_0x3e54ae(0x176)]),this['isConnected']=![],this['isRunning']=![];}),this['consumer']['on'](_0x55dc06['eZqZh'],()=>{const _0x30c657=_0x46b079;console[_0x30c657(0x160)](_0x30c657(0x182)),this[_0x30c657(0x16d)]=![];}),this['consumer']['on'](_0x55dc06['xrIGn'],_0x2b4fda=>{const _0x4b4db1=_0x46b079;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x2b4fda[_0x4b4db1(0x192)][_0x4b4db1(0x161)][_0x4b4db1(0x1aa)]),this['isRunning']=![];}),this[_0x46b079(0x14e)]['on']('consumer.rebalancing',()=>{const _0x7def04=_0x46b079;console['log'](_0x55dc06[_0x7def04(0x1a8)]);});}async['subscribe'](_0x1bf12b,_0x1f27b7=![]){const _0x1e0485=a0_0x1631ff,_0xac2a42={'kmXQN':_0x1e0485(0x175)};if(!this['isConnected'])return console['error'](_0xac2a42[_0x1e0485(0x16f)]),![];try{const _0xc40794=Array['isArray'](_0x1bf12b)?_0x1bf12b:[_0x1bf12b];for(const _0x54a38e of _0xc40794){await this[_0x1e0485(0x14e)][_0x1e0485(0x18b)]({'topic':_0x54a38e,'fromBeginning':_0x1f27b7}),console['log'](_0x1e0485(0x142)+_0x54a38e+_0x1e0485(0x148)+_0x1f27b7+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0xc40794])],!![];}catch(_0x13b41e){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x13b41e[_0x1e0485(0x1aa)]),![];}}async[a0_0x1631ff(0x14f)](_0x40b77b,_0x985d8={}){const _0x8df2a4=a0_0x1631ff,_0x28f88d={'fEFMp':function(_0x34adfe,_0x54d474){return _0x34adfe+_0x54d474;},'bfaUu':function(_0x16efa6,_0x4dfa24){return _0x16efa6-_0x4dfa24;},'KOdUp':function(_0x12a7f5,_0x2496e1){return _0x12a7f5!==_0x2496e1;}};if(!this[_0x8df2a4(0x168)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this[_0x8df2a4(0x16d)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0xbc5896=this[_0x8df2a4(0x1b3)]();this['messageHandler']=_0x40b77b;try{return this['metrics'][_0x8df2a4(0x15d)]=new Date(),await this[_0x8df2a4(0x14e)][_0x8df2a4(0x17b)]({'autoCommit':_0x28f88d['KOdUp'](_0x985d8['autoCommit'],undefined)?_0x985d8[_0x8df2a4(0x154)]:_0xbc5896['autoCommit'],'autoCommitInterval':_0xbc5896['autoCommitInterval'],'eachMessage':async({topic:_0x1f31ad,partition:_0x11a9ed,message:_0x21a79b,heartbeat:_0x226df3})=>{const _0x1938e5=_0x8df2a4,_0x4c8cc1=Date[_0x1938e5(0x183)]();this[_0x1938e5(0x1a5)][_0x1938e5(0x155)]++,this[_0x1938e5(0x1a5)][_0x1938e5(0x162)]=new Date();try{const _0x3aa3dd=_0x21a79b['value']?_0x21a79b['value'][_0x1938e5(0x158)]():null;let _0x10ac47=null;try{_0x10ac47=_0x3aa3dd?JSON[_0x1938e5(0x13d)](_0x3aa3dd):null;}catch(_0x3c0690){_0x10ac47=_0x3aa3dd;}const _0x406959={'topic':_0x1f31ad,'partition':_0x11a9ed,'offset':_0x21a79b[_0x1938e5(0x14c)],'key':_0x21a79b[_0x1938e5(0x16b)]?_0x21a79b[_0x1938e5(0x16b)][_0x1938e5(0x158)]():null,'headers':this['parseHeaders'](_0x21a79b[_0x1938e5(0x166)]),'timestamp':_0x21a79b[_0x1938e5(0x170)],'value':_0x10ac47,'raw':_0x3aa3dd};this['messageHandler']&&await this['messageHandler'](_0x406959);!_0xbc5896['autoCommit']&&await this['consumer'][_0x1938e5(0x180)]([{'topic':_0x1f31ad,'partition':_0x11a9ed,'offset':_0x28f88d['fEFMp'](parseInt(_0x21a79b['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x437497=_0x28f88d[_0x1938e5(0x145)](Date[_0x1938e5(0x183)](),_0x4c8cc1);this[_0x1938e5(0x1a5)][_0x1938e5(0x172)][_0x1938e5(0x15f)](_0x437497),this['metrics']['processingTimes'][_0x1938e5(0x193)]>0x64&&this['metrics'][_0x1938e5(0x172)]['shift'](),await _0x226df3();}catch(_0x5aebac){this['metrics'][_0x1938e5(0x181)]++,console['error'](_0x1938e5(0x1b1)+_0x5aebac[_0x1938e5(0x1aa)]);throw _0x5aebac;}}}),this['isRunning']=!![],console[_0x8df2a4(0x160)](_0x8df2a4(0x163)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x51b979){return console['error'](_0x8df2a4(0x152)+_0x51b979[_0x8df2a4(0x1aa)]),![];}}[a0_0x1631ff(0x1a0)](_0x253467){const _0x4ac494=a0_0x1631ff;if(!_0x253467)return{};const _0x1c480d={};for(const [_0x3e37e3,_0x411289]of Object['entries'](_0x253467)){_0x1c480d[_0x3e37e3]=_0x411289?_0x411289[_0x4ac494(0x158)]():null;}return _0x1c480d;}async[a0_0x1631ff(0x167)](){const _0x5b1419=a0_0x1631ff,_0x41a334={'QUgEN':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','gUQtT':_0x5b1419(0x184),'NwSzT':_0x5b1419(0x13e)};if(!this[_0x5b1419(0x168)]||!this['isRunning'])return console['log'](_0x41a334[_0x5b1419(0x185)]),![];if(this[_0x5b1419(0x17a)])return console['log'](_0x41a334[_0x5b1419(0x1ab)]),!![];try{const _0x25f125=this['subscribedTopics']['map'](_0x194725=>({'topic':_0x194725}));return this[_0x5b1419(0x14e)][_0x5b1419(0x167)](_0x25f125),this[_0x5b1419(0x17a)]=!![],console['log'](_0x41a334['NwSzT']),!![];}catch(_0x5e6367){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x5e6367[_0x5b1419(0x1aa)]),![];}}async[a0_0x1631ff(0x19c)](){const _0x315da0=a0_0x1631ff,_0x3e294b={'TwJhf':_0x315da0(0x16c),'gyODu':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this[_0x315da0(0x16d)])return console['log'](_0x3e294b[_0x315da0(0x15e)]),![];if(!this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x3dfbd8=this[_0x315da0(0x149)]['map'](_0x514ce6=>({'topic':_0x514ce6}));return this[_0x315da0(0x14e)]['resume'](_0x3dfbd8),this[_0x315da0(0x17a)]=![],console[_0x315da0(0x160)](_0x3e294b['gyODu']),!![];}catch(_0x1cafa1){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x1cafa1['message']),![];}}async[a0_0x1631ff(0x194)](){const _0x4de7f1=a0_0x1631ff,_0x1c7d34={'oTAMj':'[KafkaConsumer]\x20Consumer\x20not\x20connected','Ijrvl':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4de7f1(0x168)])return console[_0x4de7f1(0x160)](_0x1c7d34['oTAMj']),!![];try{return this['consumer']&&(await this['consumer']['stop'](),await this['consumer'][_0x4de7f1(0x1a1)]()),this['isConnected']=![],this[_0x4de7f1(0x16d)]=![],this[_0x4de7f1(0x17a)]=![],console['log'](_0x1c7d34[_0x4de7f1(0x16a)]),!![];}catch(_0x10e348){return console['error'](_0x4de7f1(0x147)+_0x10e348['message']),![];}}async[a0_0x1631ff(0x187)](_0x119f45,_0xc4950f,_0x2c5b11){const _0x21cbb0=a0_0x1631ff;if(!this[_0x21cbb0(0x168)])return console[_0x21cbb0(0x161)](_0x21cbb0(0x141)),![];try{return this[_0x21cbb0(0x14e)]['seek']({'topic':_0x119f45,'partition':_0xc4950f,'offset':_0x2c5b11[_0x21cbb0(0x158)]()}),console['log'](_0x21cbb0(0x188)+_0x2c5b11+'\x20on\x20'+_0x119f45+':'+_0xc4950f),!![];}catch(_0x168817){return console[_0x21cbb0(0x161)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x168817[_0x21cbb0(0x1aa)]),![];}}['getStatus'](){const _0x39cdd1=a0_0x1631ff,_0x3e5330=this[_0x39cdd1(0x1b3)]();return{'enabled':_0x3e5330['enabled'],'connected':this['isConnected'],'running':this[_0x39cdd1(0x16d)],'paused':this['isPaused'],'brokers':_0x3e5330[_0x39cdd1(0x140)],'clientId':_0x3e5330[_0x39cdd1(0x144)],'groupId':this[_0x39cdd1(0x143)],'subscribedTopics':this[_0x39cdd1(0x149)]};}['getMetrics'](){const _0x4793de=a0_0x1631ff,_0x4c2e8e={'WQWBa':function(_0x53c9f6,_0x5bce61){return _0x53c9f6>_0x5bce61;},'zAtMb':function(_0x5a4db7,_0x461e78){return _0x5a4db7>_0x461e78;},'eKRZs':function(_0x570664,_0x1dce6a){return _0x570664+_0x1dce6a;},'UhcFE':function(_0x14c3b6,_0x48cdc1){return _0x14c3b6/_0x48cdc1;},'rHAkB':function(_0x491703,_0x20d2e8){return _0x491703+_0x20d2e8;}},_0x1622aa=this[_0x4793de(0x1a5)][_0x4793de(0x172)][_0x4793de(0x193)]>0x0?this['metrics']['processingTimes']['reduce']((_0xc0575d,_0x2c9b94)=>_0xc0575d+_0x2c9b94,0x0)/this['metrics']['processingTimes']['length']:0x0,_0x3079e6=this['metrics'][_0x4793de(0x172)]['length']>0x0?Math['min'](...this['metrics'][_0x4793de(0x172)]):0x0,_0x5b8b42=_0x4c2e8e['WQWBa'](this['metrics']['processingTimes'][_0x4793de(0x193)],0x0)?Math['max'](...this['metrics'][_0x4793de(0x172)]):0x0;return{'messagesReceived':this[_0x4793de(0x1a5)][_0x4793de(0x155)],'messagesProcessed':this['metrics']['messagesProcessed'],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x4c2e8e[_0x4793de(0x1a4)](this['metrics']['messagesReceived'],0x0)?_0x4c2e8e['eKRZs']((this[_0x4793de(0x1a5)]['messagesProcessed']/this[_0x4793de(0x1a5)][_0x4793de(0x155)]*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x4793de(0x1a5)][_0x4793de(0x162)],'startTime':this[_0x4793de(0x1a5)][_0x4793de(0x15d)],'uptime':this['metrics'][_0x4793de(0x15d)]?_0x4c2e8e[_0x4793de(0x146)](Math['floor'](_0x4c2e8e['UhcFE'](Date[_0x4793de(0x183)]()-this[_0x4793de(0x1a5)]['startTime'][_0x4793de(0x153)](),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x4793de(0x13c)](_0x1622aa)+'ms','min':_0x4c2e8e[_0x4793de(0x178)](_0x3079e6,'ms'),'max':_0x4c2e8e['rHAkB'](_0x5b8b42,'ms')}};}[a0_0x1631ff(0x14d)](){const _0x4f0539=a0_0x1631ff,_0x335f3c={'zGduM':_0x4f0539(0x1a3)};this[_0x4f0539(0x1a5)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x4f0539(0x160)](_0x335f3c['zGduM']);}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x5deee4=a0_0x1631ff;instance&&(instance[_0x5deee4(0x173)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x1631ff(0x159)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x5684(_0x35eaf2,_0x4dfaac){_0x35eaf2=_0x35eaf2-0x1df;const _0x4cb49d=a0_0x4cb4();let _0x568472=_0x4cb49d[_0x35eaf2];if(a0_0x5684['FasttF']===undefined){var _0x3aef30=function(_0x5d0b93){const _0x16e2dd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf93bb9='',_0x211e67='';for(let _0x41cb07=0x0,_0x476051,_0x26f6c3,_0x55ebb0=0x0;_0x26f6c3=_0x5d0b93['charAt'](_0x55ebb0++);~_0x26f6c3&&(_0x476051=_0x41cb07%0x4?_0x476051*0x40+_0x26f6c3:_0x26f6c3,_0x41cb07++%0x4)?_0xf93bb9+=String['fromCharCode'](0xff&_0x476051>>(-0x2*_0x41cb07&0x6)):0x0){_0x26f6c3=_0x16e2dd['indexOf'](_0x26f6c3);}for(let _0xc764f8=0x0,_0xa4119a=_0xf93bb9['length'];_0xc764f8<_0xa4119a;_0xc764f8++){_0x211e67+='%'+('00'+_0xf93bb9['charCodeAt'](_0xc764f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x211e67);};a0_0x5684['uQWixl']=_0x3aef30,a0_0x5684['HWqcpS']={},a0_0x5684['FasttF']=!![];}const _0x10091b=_0x4cb49d[0x0],_0x4a71af=_0x35eaf2+_0x10091b,_0x540b21=a0_0x5684['HWqcpS'][_0x4a71af];return!_0x540b21?(_0x568472=a0_0x5684['uQWixl'](_0x568472),a0_0x5684['HWqcpS'][_0x4a71af]=_0x568472):_0x568472=_0x540b21,_0x568472;}function a0_0x4cb4(){const _0x354212=['y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','mtm1ndq0ntrfyKXODhC','mZy3oda0EfbNqMvA','z2v0tw9UDgG','CMvZDgzVCMDLlq','q3zHCKW','DxvPza','mJC5nZa5ngf4EKfXDW','CMvWBgfJzq','AxndB25Uzwn0zwq','DxbKyxrLza','mZCWuwfyBurg','z2v0u2vJB25KCW','Du5mqwG','s0fgs0fFq09otKvdveLptL9usu1ft1vu','zM9YBwf0rgf0zvrPBwu','A2fMA2e','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','s0fgs0fFru5bqKXfra','y29YCI0','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','ndKYmgP5swzztq','yNjVA2vYCW','rvjst1i','Bg9N','Dg9WAwm','ChjVzhvJzxi','BwvZC2fNzq','nZi1mJmYohnmA2zIwq','Dhj1zq','y2XPzw50swq','uKvtvezpuKDflq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','AM9PBG','Dw5RBM93BG','s0fgs0fFte9hx0XfvKvm','Bw9KDwXL','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','vgXPyu4','z2v0sg91CNm','uwD2yvm','s0fgs0fFq0Xjru5ux0Le','u3fisKG','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','y3jLyxrLza','m21ouLv6EG','BgXAwKS','u1Ltvevn','y3jLyxrLzej5','Dg9vChbLCKnHC2u','zw52','odrKte9JEfa','CgfYDgL0Aw9U','mZaWma','z2v0q29UzMLN','z2v0twLUDxrLCW','y29YCMvSyxrPB25jza','AxnjBML0AwfSAxPPBMC','zw5HyMXLza','Bg9Ntgv2zwW','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','Dg9WAwnqyxr0zxjU','CuHMtKm','nde1otu2vuTyywvZ','mtm5nJi2ugfkuevQ','ru5usvrzx0nsrufuruq','z2v0rgf0zq','s0fgs0fFvevoqu5ux0Le','CMv0CNLezwXHEq','mtaWma','E2vUzhbVAw50Fq','ChvIBgLZAfvWzgf0zq','Aw5PDgLHBgL6zq','CMvXDwvZDfrPBwvVDxq','zgvSzxrLza','A2v5rMLLBgq','yNvPBgruB3bPy05HBwu','C3bSAxq','ChvIBgLZAev2zw50','tg9etva','zw5KCg9PBNq','s0fgs0fFu0fttf9vu0vstKfnrq','wMzcuNK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','CgfKu3rHCNq','mZq0nvLrzw9StG','C3rYAw5NAwz5','yNvPBgrfDMvUDe1LC3nHz2u'];a0_0x4cb4=function(){return _0x354212;};return a0_0x4cb4();}const a0_0x5f3924=a0_0x5684;(function(_0x2f07db,_0x50d4e7){const _0x5d4886=a0_0x5684,_0x22475d=_0x2f07db();while(!![]){try{const _0x2d45b8=-parseInt(_0x5d4886(0x1f1))/0x1+parseInt(_0x5d4886(0x1f6))/0x2*(-parseInt(_0x5d4886(0x21c))/0x3)+parseInt(_0x5d4886(0x204))/0x4*(parseInt(_0x5d4886(0x1eb))/0x5)+-parseInt(_0x5d4886(0x22e))/0x6*(-parseInt(_0x5d4886(0x222))/0x7)+-parseInt(_0x5d4886(0x20b))/0x8+-parseInt(_0x5d4886(0x22f))/0x9*(-parseInt(_0x5d4886(0x1fa))/0xa)+parseInt(_0x5d4886(0x1f0))/0xb;if(_0x2d45b8===_0x50d4e7)break;else _0x22475d['push'](_0x22475d['shift']());}catch(_0x11db43){_0x22475d['push'](_0x22475d['shift']());}}}(a0_0x4cb4,0xc632e));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x5f3924(0x1f5));class KafkaService{constructor(){const _0x2c8b35=a0_0x5f3924,_0x246547={'SqHJH':'1|4|3|2|0'},_0xb63d91=_0x246547[_0x2c8b35(0x219)][_0x2c8b35(0x1e2)]('|');let _0x336075=0x0;while(!![]){switch(_0xb63d91[_0x336075++]){case'0':this[_0x2c8b35(0x1ee)]=null;continue;case'1':this[_0x2c8b35(0x1ff)]=null;continue;case'2':this['isInitializing']=![];continue;case'3':this['isConnected']=![];continue;case'4':this[_0x2c8b35(0x209)]=null;continue;}break;}}[a0_0x5f3924(0x225)](){const _0x4a6cf4=a0_0x5f3924,_0x138d74={'cZQSx':function(_0x440f2c,_0x454e9d){return _0x440f2c===_0x454e9d;},'dqrpA':'true','qHfNC':'localhost:9092','ZfBRy':'default','TliaN':_0x4a6cf4(0x224),'VkfjS':function(_0x105d28,_0x435d7c){return _0x105d28(_0x435d7c);},'watZZ':'25000','uNLAh':'{module}.{endpoint}.events'};return{'enabled':_0x138d74['cZQSx'](process['env'][_0x4a6cf4(0x201)],_0x138d74['dqrpA']),'brokers':(process['env']['KAFKA_BROKERS']||_0x138d74[_0x4a6cf4(0x22d)])['split'](','),'clientId':process[_0x4a6cf4(0x221)][_0x4a6cf4(0x218)]||_0x4a6cf4(0x1f3)+(process[_0x4a6cf4(0x221)][_0x4a6cf4(0x1e8)]||_0x138d74[_0x4a6cf4(0x1e7)])+'-producer','connectionTimeout':parseInt(process['env'][_0x4a6cf4(0x1fd)]||_0x138d74[_0x4a6cf4(0x215)]),'requestTimeout':_0x138d74['VkfjS'](parseInt,process['env'][_0x4a6cf4(0x20f)]||_0x138d74['watZZ']),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x138d74[_0x4a6cf4(0x1fc)],'tenantId':process['env'][_0x4a6cf4(0x232)]||'default','retryAttempts':_0x138d74['VkfjS'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x4a6cf4(0x221)]['KAFKA_RETRY_DELAY']||_0x4a6cf4(0x234)),'logLevel':process['env'][_0x4a6cf4(0x212)]||'warn'};}['getLogLevel'](_0x29fc90){const _0x2a2842=a0_0x5f3924,_0x2f4cf1={'nothing':logLevel['NOTHING'],'error':logLevel[_0x2a2842(0x206)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x2f4cf1[_0x29fc90['toLowerCase']()]||logLevel['WARN'];}async[a0_0x5f3924(0x237)](){const _0x26f56f=a0_0x5f3924,_0x325d52={'ShDZc':function(_0x120d0f,_0x285268){return _0x120d0f(_0x285268);},'llZZK':function(_0x4884fb,_0x4c2f85){return _0x4884fb(_0x4c2f85);}},_0x126b64=this['getConfig']();if(!_0x126b64[_0x26f56f(0x229)])return console[_0x26f56f(0x207)](_0x26f56f(0x1e9)),![];if(this['isConnected'])return!![];if(this[_0x26f56f(0x228)]&&this[_0x26f56f(0x1ee)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x26c554=>{const _0x193874=_0x26f56f;try{let _0x5b84cb=undefined;process[_0x193874(0x221)]['KAFKA_SSL']===_0x193874(0x20c)&&(_0x5b84cb=!![]);let _0x191555=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x191555={'mechanism':process[_0x193874(0x221)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x193874(0x1e6)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x193874(0x1ff)]=new Kafka({'clientId':_0x126b64[_0x193874(0x20d)],'brokers':_0x126b64['brokers'],'connectionTimeout':_0x126b64['connectionTimeout'],'requestTimeout':_0x126b64[_0x193874(0x238)],'logLevel':this['getLogLevel'](_0x126b64[_0x193874(0x22a)]),'ssl':_0x5b84cb,'sasl':_0x191555,'retry':{'initialRetryTime':_0x126b64[_0x193874(0x233)],'retries':_0x126b64['retryAttempts']}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer']['connect'](),this[_0x193874(0x1f8)]=!![],console['log']('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x126b64['brokers'][_0x193874(0x210)](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x2db1c7=_0x193874;console[_0x2db1c7(0x207)](_0x2db1c7(0x200)),this['isConnected']=![];}),_0x325d52['ShDZc'](_0x26c554,!![]);}catch(_0x251df2){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x251df2['message']),this['isConnected']=![],_0x325d52[_0x193874(0x21d)](_0x26c554,![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x5f3924(0x1fe)](_0x9804a7){const _0x2a8c2a=a0_0x5f3924,_0x5a8bca={'CvarL':function(_0x1743dd,_0x1afc1e){return _0x1743dd(_0x1afc1e);},'mLzKD':function(_0x1b34a0,_0x2da3ed){return _0x1b34a0+_0x2da3ed;},'GRwJe':function(_0x359ba3,_0x1d9036){return _0x359ba3(_0x1d9036);}},_0x44216e=_0x9804a7||new Date(),_0x4cf536=_0x44216e['getFullYear'](),_0x11cb70=_0x5a8bca[_0x2a8c2a(0x1f4)](String,_0x5a8bca['mLzKD'](_0x44216e[_0x2a8c2a(0x1f2)](),0x1))['padStart'](0x2,'0'),_0x3e8d65=_0x5a8bca['GRwJe'](String,_0x44216e[_0x2a8c2a(0x231)]())['padStart'](0x2,'0'),_0x39dbd6=String(_0x44216e[_0x2a8c2a(0x216)]())['padStart'](0x2,'0'),_0x8129b3=String(_0x44216e[_0x2a8c2a(0x226)]())['padStart'](0x2,'0'),_0x6bf910=String(_0x44216e[_0x2a8c2a(0x1fb)]())[_0x2a8c2a(0x1ea)](0x2,'0');return _0x4cf536+'-'+_0x11cb70+'-'+_0x3e8d65+'\x20'+_0x39dbd6+':'+_0x8129b3+':'+_0x6bf910;}[a0_0x5f3924(0x1e1)](_0x56c2b5,_0x25dcc3,_0x24bd4d,_0x334b98=null){const _0x3b74d0=a0_0x5f3924;if(_0x334b98)return _0x334b98;const _0x4121e9=this['getConfig']()['topicPattern'];return _0x4121e9['replace']('{module}',_0x56c2b5)['replace'](_0x3b74d0(0x235),_0x25dcc3)[_0x3b74d0(0x1f7)]('{action}',_0x24bd4d);}['buildEventMessage'](_0xe6e36d,_0x25a586,_0x59d6d7,_0x4ccabf={}){const _0x4cb6ae=a0_0x5f3924,_0x54ca0c={'jWsQj':function(_0x16739a){return _0x16739a();},'UNDuz':'1.0','FgIVl':_0x4cb6ae(0x211)},_0x4b681d=new Date(),_0x5d607b=this[_0x4cb6ae(0x1fe)](_0x4b681d),_0xbf3ce4=_0x4ccabf[_0x4cb6ae(0x227)]||_0x4cb6ae(0x202)+_0x54ca0c['jWsQj'](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0xe6e36d,'eventTime':_0x5d607b,'eventVersion':_0x54ca0c['UNDuz'],'source':'restforge-'+(_0x4ccabf[_0x4cb6ae(0x213)]||_0x4cb6ae(0x211)),'correlationId':_0xbf3ce4,'newData':_0x59d6d7,'oldData':_0x25a586,'metadata':{'createdBy':_0x4ccabf[_0x4cb6ae(0x21f)]||_0x4cb6ae(0x21e),'createdAt':_0x5d607b,'systemId':_0x4cb6ae(0x20e)+(_0x4ccabf[_0x4cb6ae(0x213)]||_0x54ca0c['FgIVl'])[_0x4cb6ae(0x220)](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x4ccabf[_0x4cb6ae(0x1e5)]||null,'tableName':_0x4ccabf[_0x4cb6ae(0x1ef)]||null}};}async['publishEvent'](_0x23ccc2,_0x40d9cb,_0x233a68,_0x284273,_0x9eb39={}){const _0x31d610=a0_0x5f3924,_0xc5a62f={'LoDMP':_0x31d610(0x22b)},_0x5f000b=this['getConfig']();if(!_0x5f000b['enabled'])return{'success':![],'reason':_0xc5a62f[_0x31d610(0x1e4)],'published':![]};if(!this['isConnected']){const _0x3be3cf=await this['initialize']();if(!_0x3be3cf)return{'success':![],'reason':_0x31d610(0x21a),'published':![]};}try{const _0x826e74=this[_0x31d610(0x1ed)](_0x40d9cb,_0x233a68,_0x284273,_0x9eb39),_0x17a3a3=_0x9eb39['keyField']||'id',_0x22dbea=_0x284273?.[_0x17a3a3]||_0x233a68?.[_0x17a3a3]||uuidv7(),_0x3ee28f=await this['producer']['send']({'topic':_0x23ccc2,'messages':[{'key':String(_0x22dbea),'value':JSON[_0x31d610(0x1ec)](_0x826e74),'headers':{'event-type':_0x40d9cb,'correlation-id':_0x826e74[_0x31d610(0x227)],'source':_0x826e74['source']}}]});return console[_0x31d610(0x207)]('[Kafka]\x20Event\x20published\x20to\x20'+_0x23ccc2+':\x20'+_0x40d9cb+'\x20(key:\x20'+_0x22dbea+')'),{'success':!![],'correlationId':_0x826e74['correlationId'],'topic':_0x23ccc2,'partition':_0x3ee28f[0x0]?.[_0x31d610(0x223)],'offset':_0x3ee28f[0x0]?.['baseOffset'],'published':!![]};}catch(_0x499da3){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x23ccc2+':\x20'+_0x499da3[_0x31d610(0x20a)]),{'success':![],'error':_0x499da3['message'],'published':![]};}}async['publishInsert'](_0x594297,_0xf6c0ec,_0x2f2290,_0x2d111f={}){const _0x18c42a=a0_0x5f3924,_0x3e0fe2=this['buildTopicName'](_0x594297,_0xf6c0ec,_0x18c42a(0x21b),_0x2d111f['topic']);return this[_0x18c42a(0x1e3)](_0x3e0fe2,_0x18c42a(0x230),null,_0x2f2290,{'module':_0x594297,'endpoint':_0xf6c0ec,'keyField':_0x2d111f[_0x18c42a(0x1e0)],'tableName':_0x2d111f['tableName'],'correlationId':_0x2d111f[_0x18c42a(0x227)]});}async[a0_0x5f3924(0x236)](_0x19e292,_0x3e03f5,_0x2d0572,_0x557a88,_0x312d59={}){const _0x4f238=a0_0x5f3924,_0xa13064={'QgvaS':'ENTITY_UPDATED'},_0x2c10bf=this['buildTopicName'](_0x19e292,_0x3e03f5,_0x4f238(0x1f9),_0x312d59['topic']);return this['publishEvent'](_0x2c10bf,_0xa13064[_0x4f238(0x217)],_0x2d0572,_0x557a88,{'module':_0x19e292,'endpoint':_0x3e03f5,'keyField':_0x312d59[_0x4f238(0x1e0)],'tableName':_0x312d59[_0x4f238(0x1ef)],'correlationId':_0x312d59[_0x4f238(0x227)]});}async['publishDelete'](_0x41a575,_0x2c30de,_0xb1d6dd,_0x5e9937={}){const _0x63547d=a0_0x5f3924,_0x39af1c=this[_0x63547d(0x1e1)](_0x41a575,_0x2c30de,_0x63547d(0x1df),_0x5e9937[_0x63547d(0x208)]);return this[_0x63547d(0x1e3)](_0x39af1c,'ENTITY_DELETED',_0xb1d6dd,null,{'module':_0x41a575,'endpoint':_0x2c30de,'keyField':_0x5e9937[_0x63547d(0x1e0)],'tableName':_0x5e9937['tableName'],'correlationId':_0x5e9937[_0x63547d(0x227)]});}['getStatus'](){const _0x32b90e=a0_0x5f3924,_0x3e32c4=this['getConfig']();return{'enabled':_0x3e32c4['enabled'],'connected':this[_0x32b90e(0x1f8)],'brokers':_0x3e32c4[_0x32b90e(0x205)],'clientId':_0x3e32c4[_0x32b90e(0x20d)],'topicPattern':_0x3e32c4[_0x32b90e(0x22c)]};}async['close'](){const _0x38af06=a0_0x5f3924;if(this[_0x38af06(0x209)]&&this[_0x38af06(0x1f8)])try{await this['producer']['disconnect'](),this['isConnected']=![],console['log'](_0x38af06(0x203));}catch(_0x482bdb){console['error'](_0x38af06(0x214)+_0x482bdb[_0x38af06(0x20a)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
function a0_0x1027(){const _0xe067a3=['mJuWmda','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMv0CNLezwXHEq','ChjVzhvJzxi','Dw5RBM93BG','AxndB25Uzwn0zwq','v0fstG','E2vUzhbVAw50Fq','s0fgs0fFq0Xjru5ux0Le','wMnnBvC','Dg9vChbLCKnHC2u','ChvIBgLZAev2zw50','Dg9WAwnqyxr0zxjU','CMvZDgzVCMDLlq','odq1A2zsDLPV','mtKYndmZm05NzxreuW','CgfKu3rHCNq','su5gtW','sMrQtKC','s0fgs0fFve9qsunFuefuvevstG','zxHWB3j0CW','zw5HyMXLza','mJbVBvjOuxe','DxvPza','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','BwvZC2fNzq','nJm2ote3nhL5yw13EG','z2v0twLUDxrLCW','yNjVA2vYCW','C291CMnL','y29UBMvJDgLVBLrPBwvVDxq','DgfIBgvoyw1L','A2fMA2e','Bg9N','s0fgs0fFte9hx0XfvKvm','Dg9mB3DLCKnHC2u','mhWYFdf8nhWZ','A2v5rMLLBgq','Dhj1zq','qLvTEM4','ms4W','ntm1mZq2mwTYAhDIzW','zgvSzxrLza','EgLvCwi','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','z2v0u2vJB25KCW','Dg9WAwm','uKvtvezpuKDflq','y3jLyxrLzej5','CgfYDgL0Aw9U','zgLZy29UBMvJDa','ndaWnuHMzgDbsW','mKPUEMv0BG','u1Ltvevn','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','s0fgs0fFqLjps0vsuW','yNvPBgruB3bPy05HBwu','E2fJDgLVBN0','DxbKyxrLza','mteYmJuZmerduevtBq','icHRzxK6ia','z2v0q29UzMLN','Aw5PDgLHBgL6zq','nZG0ntC1nhH1z1zyDG','ru5usvrzx1vqrefuruq','CMv0CNLbDhrLBxb0CW','y29YCI0','C3rYAw5NAwz5','Bw9KDwXL','z2v0tg9Ntgv2zwW','B0nwDe0','zM9YBwf0rgf0zvrPBwu','zgvMyxvSDa','s0fgs0fFu1nm','zw52','yNvPBgrfDMvUDe1LC3nHz2u','AhHWuem','z2v0rgf0zq','wK5bzKW','tK9useLorW','s0fgs0fFu0fttf9qqvntv09sra','EwnWBfK','AM9PBG','EuXntei','mtG5nJbdzKL3zfG','CMvWBgfJzq','y29UBMvJDgLVBLbYB21PC2u','ChvIBgLZAfvWzgf0zq','Bg9JywXOB3n0oJKWoti','Bg9Ntgv2zwW','DgvUyw50swq','mZuYtxLfwM9H'];a0_0x1027=function(){return _0xe067a3;};return a0_0x1027();}const a0_0x47ffee=a0_0x10bf;(function(_0x168ba4,_0x9d0036){const _0xe7898c=a0_0x10bf,_0x259e2e=_0x168ba4();while(!![]){try{const _0x4dc6a7=-parseInt(_0xe7898c(0x163))/0x1+-parseInt(_0xe7898c(0x12b))/0x2*(parseInt(_0xe7898c(0x11f))/0x3)+-parseInt(_0xe7898c(0x16a))/0x4*(-parseInt(_0xe7898c(0x162))/0x5)+-parseInt(_0xe7898c(0x16e))/0x6+parseInt(_0xe7898c(0x136))/0x7+parseInt(_0xe7898c(0x14b))/0x8*(parseInt(_0xe7898c(0x12a))/0x9)+-parseInt(_0xe7898c(0x132))/0xa*(-parseInt(_0xe7898c(0x152))/0xb);if(_0x4dc6a7===_0x9d0036)break;else _0x259e2e['push'](_0x259e2e['shift']());}catch(_0x210e23){_0x259e2e['push'](_0x259e2e['shift']());}}}(a0_0x1027,0xf3ab0));function a0_0x10bf(_0x31d4b8,_0x2c177f){_0x31d4b8=_0x31d4b8-0x11f;const _0x102726=a0_0x1027();let _0x10bfd5=_0x102726[_0x31d4b8];if(a0_0x10bf['YZiBVS']===undefined){var _0x583573=function(_0x50d30c){const _0x41a641='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f8e4d='',_0x4bb83c='';for(let _0x5281a3=0x0,_0x356dd3,_0x5d6fab,_0x3c6e3c=0x0;_0x5d6fab=_0x50d30c['charAt'](_0x3c6e3c++);~_0x5d6fab&&(_0x356dd3=_0x5281a3%0x4?_0x356dd3*0x40+_0x5d6fab:_0x5d6fab,_0x5281a3++%0x4)?_0x1f8e4d+=String['fromCharCode'](0xff&_0x356dd3>>(-0x2*_0x5281a3&0x6)):0x0){_0x5d6fab=_0x41a641['indexOf'](_0x5d6fab);}for(let _0x4a16a5=0x0,_0x233b95=_0x1f8e4d['length'];_0x4a16a5<_0x233b95;_0x4a16a5++){_0x4bb83c+='%'+('00'+_0x1f8e4d['charCodeAt'](_0x4a16a5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4bb83c);};a0_0x10bf['ePrdUT']=_0x583573,a0_0x10bf['rjbEbP']={},a0_0x10bf['YZiBVS']=!![];}const _0x598d10=_0x102726[0x0],_0x35c53a=_0x31d4b8+_0x598d10,_0x358e54=a0_0x10bf['rjbEbP'][_0x35c53a];return!_0x358e54?(_0x10bfd5=a0_0x10bf['ePrdUT'](_0x10bfd5),a0_0x10bf['rjbEbP'][_0x35c53a]=_0x10bfd5):_0x10bfd5=_0x358e54,_0x10bfd5;}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x47ffee(0x16b));class KafkaService{constructor(){const _0x4ad314=a0_0x47ffee,_0x5b89dd=_0x4ad314(0x178)['split']('|');let _0x540598=0x0;while(!![]){switch(_0x5b89dd[_0x540598++]){case'0':this['kafka']=null;continue;case'1':this['isConnected']=![];continue;case'2':this[_0x4ad314(0x157)]=null;continue;case'3':this['connectionPromise']=null;continue;case'4':this['isInitializing']=![];continue;}break;}}['getConfig'](){const _0x1a9fab=a0_0x47ffee,_0x214b1e={'JdjNG':_0x1a9fab(0x14f),'YFnck':function(_0x1515b9,_0x3d14ca){return _0x1515b9(_0x3d14ca);},'hxpPC':_0x1a9fab(0x16c),'ycplY':_0x1a9fab(0x13f),'ZbRba':'warn'};return{'enabled':process[_0x1a9fab(0x141)]['KAFKA_ENABLED']==='true','brokers':(process['env'][_0x1a9fab(0x12e)]||_0x214b1e[_0x1a9fab(0x166)])['split'](','),'clientId':process[_0x1a9fab(0x141)][_0x1a9fab(0x15c)]||_0x1a9fab(0x161)+(process[_0x1a9fab(0x141)][_0x1a9fab(0x155)]||'default')+'-producer','connectionTimeout':_0x214b1e['YFnck'](parseInt,process[_0x1a9fab(0x141)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':_0x214b1e['YFnck'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x1a9fab(0x153)),'topicPattern':process['env'][_0x1a9fab(0x167)]||_0x214b1e[_0x1a9fab(0x143)],'tenantId':process[_0x1a9fab(0x141)]['KAFKA_TENANT_ID']||_0x214b1e[_0x1a9fab(0x148)],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x1a9fab(0x141)]['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process['env'][_0x1a9fab(0x176)]||_0x214b1e['ZbRba']};}[a0_0x47ffee(0x13c)](_0x2e16a8){const _0x21ca63=a0_0x47ffee,_0x583955={'nothing':logLevel[_0x21ca63(0x146)],'error':logLevel['ERROR'],'warn':logLevel[_0x21ca63(0x15a)],'info':logLevel[_0x21ca63(0x165)],'debug':logLevel['DEBUG']};return _0x583955[_0x2e16a8[_0x21ca63(0x177)]()]||logLevel[_0x21ca63(0x15a)];}async[a0_0x47ffee(0x135)](){const _0x5c19bb=a0_0x47ffee,_0x3be049={'RzUsB':'[Kafka]\x20Producer\x20disconnected'},_0x183635=this['getConfig']();if(!_0x183635[_0x5c19bb(0x169)])return console[_0x5c19bb(0x175)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x5c19bb(0x159)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x5c19bb(0x14d)]=new Promise(async _0x3acd9e=>{const _0x15e7ee=_0x5c19bb;try{let _0x41ffea=undefined;process[_0x15e7ee(0x141)][_0x15e7ee(0x140)]===_0x15e7ee(0x17a)&&(_0x41ffea=!![]);let _0xc4d54b=undefined;process[_0x15e7ee(0x141)]['KAFKA_SASL_MECHANISM']&&(_0xc4d54b={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x15e7ee(0x141)]['KAFKA_SASL_USERNAME']||'','password':process['env'][_0x15e7ee(0x147)]||''}),this['kafka']=new Kafka({'clientId':_0x183635['clientId'],'brokers':_0x183635[_0x15e7ee(0x170)],'connectionTimeout':_0x183635[_0x15e7ee(0x172)],'requestTimeout':_0x183635['requestTimeout'],'logLevel':this[_0x15e7ee(0x13c)](_0x183635[_0x15e7ee(0x150)]),'ssl':_0x41ffea,'sasl':_0xc4d54b,'retry':{'initialRetryTime':_0x183635[_0x15e7ee(0x156)],'retries':_0x183635[_0x15e7ee(0x138)]}}),this['producer']=this[_0x15e7ee(0x174)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer']['connect'](),this[_0x15e7ee(0x159)]=!![],console['log']('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x183635[_0x15e7ee(0x170)][_0x15e7ee(0x149)](',\x20')),this[_0x15e7ee(0x157)]['on']('producer.disconnect',()=>{console['log'](_0x3be049['RzUsB']),this['isConnected']=![];}),_0x3acd9e(!![]);}catch(_0x18824c){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x18824c[_0x15e7ee(0x16d)]),this[_0x15e7ee(0x159)]=![],_0x3acd9e(![]);}finally{this['isInitializing']=![];}}),this[_0x5c19bb(0x14d)];}[a0_0x47ffee(0x13e)](_0x3671f9){const _0x1db216=a0_0x47ffee,_0x119c2f={'oXXsL':function(_0x41c3e0,_0x438e7b){return _0x41c3e0+_0x438e7b;},'ZNAfL':function(_0x153768,_0x38388f){return _0x153768(_0x38388f);},'oCVtM':function(_0x36ab70,_0x4a24f6){return _0x36ab70(_0x4a24f6);}},_0x3ddf7c=_0x3671f9||new Date(),_0x3a2ae9=_0x3ddf7c['getFullYear'](),_0x40a50a=String(_0x119c2f['oXXsL'](_0x3ddf7c['getMonth'](),0x1))['padStart'](0x2,'0'),_0x221dba=_0x119c2f[_0x1db216(0x145)](String,_0x3ddf7c[_0x1db216(0x144)]())[_0x1db216(0x164)](0x2,'0'),_0x24cfb6=String(_0x3ddf7c['getHours']())['padStart'](0x2,'0'),_0xfc9f8=_0x119c2f[_0x1db216(0x13d)](String,_0x3ddf7c[_0x1db216(0x16f)]())[_0x1db216(0x164)](0x2,'0'),_0x48696a=String(_0x3ddf7c[_0x1db216(0x124)]())[_0x1db216(0x164)](0x2,'0');return _0x3a2ae9+'-'+_0x40a50a+'-'+_0x221dba+'\x20'+_0x24cfb6+':'+_0xfc9f8+':'+_0x48696a;}[a0_0x47ffee(0x12f)](_0x18b0f6,_0x159214,_0x3fc2fa,_0x174fee=null){const _0x3ecc24=a0_0x47ffee,_0x47021d={'yLMLB':_0x3ecc24(0x130)};if(_0x174fee)return _0x174fee;const _0x35e81d=this['getConfig']()[_0x3ecc24(0x160)];return _0x35e81d[_0x3ecc24(0x14c)]('{module}',_0x18b0f6)['replace'](_0x3ecc24(0x15b),_0x159214)[_0x3ecc24(0x14c)](_0x47021d[_0x3ecc24(0x14a)],_0x3fc2fa);}['buildEventMessage'](_0x18ab86,_0x2c435b,_0x18d2f7,_0xa0c4ab={}){const _0x3fac1e=a0_0x47ffee,_0x4b1380={'hNtlZ':function(_0x50f245){return _0x50f245();},'BUmzn':_0x3fac1e(0x17c),'KVkSb':_0x3fac1e(0x12c),'eIYBp':_0x3fac1e(0x158)},_0xce9a1d=new Date(),_0xc6b25=this['formatDateTime'](_0xce9a1d),_0x10e087=_0xa0c4ab['correlationId']||_0x3fac1e(0x139)+_0x4b1380['hNtlZ'](uuidv7);return{'eventId':'evt-'+uuidv7(),'eventType':_0x18ab86,'eventTime':_0xc6b25,'eventVersion':_0x4b1380[_0x3fac1e(0x17b)],'source':'restforge-'+(_0xa0c4ab[_0x3fac1e(0x13b)]||'unknown'),'correlationId':_0x10e087,'newData':_0x18d2f7,'oldData':_0x2c435b,'metadata':{'createdBy':_0xa0c4ab[_0x3fac1e(0x127)]||_0x4b1380['KVkSb'],'createdAt':_0xc6b25,'systemId':_0x3fac1e(0x126)+(_0xa0c4ab['module']||_0x4b1380['eIYBp'])[_0x3fac1e(0x15e)](),'tenantId':this[_0x3fac1e(0x134)]()[_0x3fac1e(0x151)],'endpoint':_0xa0c4ab['endpoint']||null,'tableName':_0xa0c4ab['tableName']||null}};}async[a0_0x47ffee(0x15f)](_0x1c9e31,_0x2b8d4f,_0x254d02,_0x449e5e,_0x1962a3={}){const _0x2f6a6d=a0_0x47ffee,_0x209c33={'kTNVF':function(_0x2b38fe){return _0x2b38fe();}},_0x34a240=this['getConfig']();if(!_0x34a240[_0x2f6a6d(0x169)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this['isConnected']){const _0x50f688=await this['initialize']();if(!_0x50f688)return{'success':![],'reason':_0x2f6a6d(0x123),'published':![]};}try{const _0x111789=this[_0x2f6a6d(0x142)](_0x2b8d4f,_0x254d02,_0x449e5e,_0x1962a3),_0x17a119=_0x1962a3[_0x2f6a6d(0x179)]||'id',_0x1e6558=_0x449e5e?.[_0x17a119]||_0x254d02?.[_0x17a119]||_0x209c33['kTNVF'](uuidv7),_0x2e9a00=await this['producer']['send']({'topic':_0x1c9e31,'messages':[{'key':String(_0x1e6558),'value':JSON[_0x2f6a6d(0x13a)](_0x111789),'headers':{'event-type':_0x2b8d4f,'correlation-id':_0x111789['correlationId'],'source':_0x111789[_0x2f6a6d(0x171)]}}]});return console[_0x2f6a6d(0x175)](_0x2f6a6d(0x12d)+_0x1c9e31+':\x20'+_0x2b8d4f+_0x2f6a6d(0x133)+_0x1e6558+')'),{'success':!![],'correlationId':_0x111789['correlationId'],'topic':_0x1c9e31,'partition':_0x2e9a00[0x0]?.[_0x2f6a6d(0x128)],'offset':_0x2e9a00[0x0]?.['baseOffset'],'published':!![]};}catch(_0x2dae20){return console[_0x2f6a6d(0x154)](_0x2f6a6d(0x122)+_0x1c9e31+':\x20'+_0x2dae20['message']),{'success':![],'error':_0x2dae20[_0x2f6a6d(0x16d)],'published':![]};}}async['publishInsert'](_0x2be426,_0x175cef,_0x54db11,_0xad8153={}){const _0x1efd8c=a0_0x47ffee,_0x3c641d={'Otpvk':'created','ZcMmW':'ENTITY_CREATED'},_0x2c3cb9=this[_0x1efd8c(0x12f)](_0x2be426,_0x175cef,_0x3c641d['Otpvk'],_0xad8153['topic']);return this['publishEvent'](_0x2c3cb9,_0x3c641d[_0x1efd8c(0x15d)],null,_0x54db11,{'module':_0x2be426,'endpoint':_0x175cef,'keyField':_0xad8153[_0x1efd8c(0x179)],'tableName':_0xad8153[_0x1efd8c(0x173)],'correlationId':_0xad8153['correlationId']});}async[a0_0x47ffee(0x14e)](_0x11a823,_0x53e5f3,_0x1fb268,_0x21c827,_0x256437={}){const _0x4cf3cd=a0_0x47ffee,_0x2a9f27={'xiUqb':_0x4cf3cd(0x131),'MwMOI':_0x4cf3cd(0x137)},_0x2ca220=this[_0x4cf3cd(0x12f)](_0x11a823,_0x53e5f3,_0x2a9f27[_0x4cf3cd(0x121)],_0x256437[_0x4cf3cd(0x125)]);return this['publishEvent'](_0x2ca220,_0x2a9f27['MwMOI'],_0x1fb268,_0x21c827,{'module':_0x11a823,'endpoint':_0x53e5f3,'keyField':_0x256437['keyField'],'tableName':_0x256437[_0x4cf3cd(0x173)],'correlationId':_0x256437['correlationId']});}async['publishDelete'](_0x1cd4b3,_0x13b304,_0x49ad05,_0x204dc8={}){const _0xa589b7=a0_0x47ffee,_0x4fc12f={'TWDvA':_0xa589b7(0x120),'Qlrnh':'ENTITY_DELETED'},_0x19c96e=this['buildTopicName'](_0x1cd4b3,_0x13b304,_0x4fc12f['TWDvA'],_0x204dc8[_0xa589b7(0x125)]);return this['publishEvent'](_0x19c96e,_0x4fc12f['Qlrnh'],_0x49ad05,null,{'module':_0x1cd4b3,'endpoint':_0x13b304,'keyField':_0x204dc8['keyField'],'tableName':_0x204dc8[_0xa589b7(0x173)],'correlationId':_0x204dc8['correlationId']});}['getStatus'](){const _0x42d650=a0_0x47ffee,_0x16fca8=this['getConfig']();return{'enabled':_0x16fca8['enabled'],'connected':this[_0x42d650(0x159)],'brokers':_0x16fca8['brokers'],'clientId':_0x16fca8['clientId'],'topicPattern':_0x16fca8[_0x42d650(0x160)]};}async['close'](){const _0x29aaa1=a0_0x47ffee,_0x4d64f2={'odFlU':'[Kafka]\x20Producer\x20disconnected\x20gracefully'};if(this['producer']&&this['isConnected'])try{await this['producer'][_0x29aaa1(0x129)](),this['isConnected']=![],console['log'](_0x4d64f2['odFlU']);}catch(_0x326fc7){console[_0x29aaa1(0x154)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x326fc7[_0x29aaa1(0x16d)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x47ffee(0x168)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc25d4c=a0_0x4a4e;(function(_0x52c4be,_0x2eb93e){const _0x22a5b2=a0_0x4a4e,_0x111aee=_0x52c4be();while(!![]){try{const _0x335727=parseInt(_0x22a5b2(0x1cf))/0x1*(-parseInt(_0x22a5b2(0x1b0))/0x2)+-parseInt(_0x22a5b2(0x1e5))/0x3+-parseInt(_0x22a5b2(0x1e3))/0x4+-parseInt(_0x22a5b2(0x1d9))/0x5*(parseInt(_0x22a5b2(0x1db))/0x6)+-parseInt(_0x22a5b2(0x1c4))/0x7*(parseInt(_0x22a5b2(0x1cb))/0x8)+-parseInt(_0x22a5b2(0x20a))/0x9*(-parseInt(_0x22a5b2(0x200))/0xa)+parseInt(_0x22a5b2(0x1c7))/0xb;if(_0x335727===_0x2eb93e)break;else _0x111aee['push'](_0x111aee['shift']());}catch(_0x4a0b00){_0x111aee['push'](_0x111aee['shift']());}}}(a0_0x570c,0x8ba85));const dotenv=require(a0_0xc25d4c(0x1f3)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0xc25d4c(0x1ca));dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0xc25d4c(0x1dd)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0xc25d4c(0x1de)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0xc25d4c(0x204)+messagehubPath);}catch(a0_0x17b764){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x17b764[a0_0xc25d4c(0x1ed)]);throw a0_0x17b764;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x4a4e(_0x77b349,_0x2de313){_0x77b349=_0x77b349-0x1ad;const _0x570c78=a0_0x570c();let _0x4a4e31=_0x570c78[_0x77b349];if(a0_0x4a4e['xjoPqL']===undefined){var _0x32fb5b=function(_0xf0186f){const _0x4b62fd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f6ad0='',_0x4eb1c4='';for(let _0x2da2ee=0x0,_0x4ae152,_0x4065e4,_0x5b0272=0x0;_0x4065e4=_0xf0186f['charAt'](_0x5b0272++);~_0x4065e4&&(_0x4ae152=_0x2da2ee%0x4?_0x4ae152*0x40+_0x4065e4:_0x4065e4,_0x2da2ee++%0x4)?_0x2f6ad0+=String['fromCharCode'](0xff&_0x4ae152>>(-0x2*_0x2da2ee&0x6)):0x0){_0x4065e4=_0x4b62fd['indexOf'](_0x4065e4);}for(let _0x4614be=0x0,_0x860ce8=_0x2f6ad0['length'];_0x4614be<_0x860ce8;_0x4614be++){_0x4eb1c4+='%'+('00'+_0x2f6ad0['charCodeAt'](_0x4614be)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4eb1c4);};a0_0x4a4e['wxKbfG']=_0x32fb5b,a0_0x4a4e['qZVoUA']={},a0_0x4a4e['xjoPqL']=!![];}const _0x6a7e66=_0x570c78[0x0],_0xcd919a=_0x77b349+_0x6a7e66,_0x74b377=a0_0x4a4e['qZVoUA'][_0xcd919a];return!_0x74b377?(_0x4a4e31=a0_0x4a4e['wxKbfG'](_0x4a4e31),a0_0x4a4e['qZVoUA'][_0xcd919a]=_0x4a4e31):_0x4a4e31=_0x74b377,_0x4a4e31;}function log(_0x5c5edc){const _0x52b0eb=new Date()['toISOString']();console['log']('['+_0x52b0eb+']\x20'+_0x5c5edc);}function a0_0x570c(){const _0x405955=['4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','BwvZC2fNzs1YzwnLAxzLza','EMvetvG','4PQG77IpievYCM9YoIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','n2DruurzEa','tw9KztOGs29UzwTZAsboEwf0yq','igrPDgvYAw1Hig9SzwGG','mty3ntGWodjcuMDPvxq','lIbuB3rHBcbRB25MAxjTyxnPoIa','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','DxvPza','ndiZmZeXmKvLwNbZta','Dg9mB2nHBgvuAw1Lu3rYAw5N','CMvXDwvZDeLK','zNvUy3rPB24','mJrwBgXTu1m','vw5RBM93BG','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2f0zwDVCNK','swTJD0m','C0PhwKS','rwXpB3q','ALnTBu4','CMvJzwL2zxjjBMzV','mta4mZm5nuTAC3DJCq','tvnivujFqvvut19bq0Tot1Dmrurhrq','nKLWC2zdsG','CMvJzwL2zwrbDa','zxHPC3rZu3LUyW','Bg9N','zw52','zgLZy29UBMvJDa','CMvXDwLYzufJAW','zhvHzNi','mJaYnteXnKrzufLxzG','qMTwBfG','nti5mZu5DKz0CfvN','u3rHDhvZieXPC3rLBMvYoIa','zxjYB3i','wgrZsKW','qxbMvxe','D1DkCxu','ksbWywrHia','zxjYB3jezxrHAwW','BwvZC2fNzq','y2nTEuK','yNHjEvy','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','Bxv5rNO','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','zg90zw52','CMvJzwL2zxjjza','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','qMv2thi','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','uhvIBgLZAcblzxK6ia','Dg9mB2nHBgvtDhjPBMC','q2XPzw50ieLel1vZzxjjrdOG','D21Luwm','CMvHC29U','C3vyrha','C29JA2v0','C3rYAw5NAwz5','nty2mJG1meLWC2jkDq','vgLKywSGzgLRzxrHAhvP','EffOENu','vhPzwhy','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','ChvIBgLZAa','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','C2XvChq','y2XLyxjdywnOzq','uhPVwMu','ovPztwzxDW','DxnLCKLK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CKHJCeS','nZqZmgrtDePzvG','tvnivujFu0vsvKLdrv9qt1ju','v2fRDhuGsw5PC2LHBgLZyxnPoIa','ruvrBKe','vw5RBM93BIbLCNjVCG','txjTChe','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','u3vIC2nYAwjLieTLEtOG','Afzvy3K','s29UzMLNDxjHC2KGugXHDgzVCM06ia','v1LgEMK','q2HHBM5LBcbuyxjNzxq6ia','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','CgLK','tvnivujFvvnfuL9jra'];a0_0x570c=function(){return _0x405955;};return a0_0x570c();}async function initMessageHub(){const _0x1e7313=a0_0xc25d4c,_0xfa9c18={'IkcwC':function(_0x4af59f,_0x56d63c){return _0x4af59f(_0x56d63c);},'lQlvd':'message-sent','gsENm':function(_0x5f4e19,_0x29269e){return _0x5f4e19&&_0x29269e;},'mWOVP':_0x1e7313(0x1f7),'ccmyI':function(_0x418e90,_0x4079c0){return _0x418e90(_0x4079c0);},'NbNXL':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','BevLr':_0x1e7313(0x1c5),'dIXXe':'default','BkVlX':'broadcast','zeDMX':function(_0x298461,_0x4d5aca){return _0x298461===_0x4d5aca;},'xQhzu':'websocket','vrZZL':'localhost','LZOmz':function(_0x5d0aeb,_0x1daf47){return _0x5d0aeb(_0x1daf47);},'QpcBG':_0x1e7313(0x1d1),'XMwqC':function(_0x16c55a,_0x14e146){return _0x16c55a(_0x14e146);},'hVUcy':function(_0x95f103,_0x3f0a84){return _0x95f103(_0x3f0a84);},'Mrmpq':_0x1e7313(0x1ae),'ApfUq':function(_0x45f8da,_0x33feb3,_0x133c3e){return _0x45f8da(_0x33feb3,_0x133c3e);},'tIWxd':_0x1e7313(0x1f2)};if(_0xfa9c18['gsENm'](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0xfa9c18[_0x1e7313(0x1ee)](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x40d600,_0x23e324)=>{const _0x216abb=_0x1e7313,_0x56ca7a={'nBjVF':function(_0x19420b,_0x247a75){return _0x19420b===_0x247a75;},'duafr':function(_0x200216,_0x1446e7){const _0x59c9bf=a0_0x4a4e;return _0xfa9c18[_0x59c9bf(0x1d4)](_0x200216,_0x1446e7);},'ElOot':function(_0x3dcdfd,_0x5b830e){return _0x3dcdfd(_0x5b830e);},'rHcpK':'disconnected','EEQnA':'Tidak\x20diketahui','XdsJL':function(_0x15c643,_0x44ca0d){return _0x15c643===_0x44ca0d;},'slUpt':_0xfa9c18['lQlvd'],'Lvumb':function(_0x3ea467,_0x2a57b1){return _0x3ea467(_0x2a57b1);},'cwSxZ':function(_0x1c3e35,_0x2dabbb){return _0xfa9c18['gsENm'](_0x1c3e35,_0x2dabbb);},'FxxiX':_0xfa9c18['mWOVP'],'WYFzi':function(_0x4c46b9,_0x428860){return _0xfa9c18['ccmyI'](_0x4c46b9,_0x428860);}};try{_0xfa9c18['IkcwC'](log,_0xfa9c18['NbNXL']),log(_0x216abb(0x1b2)+new Date()[_0x216abb(0x1f9)]()),log(_0xfa9c18[_0x216abb(0x1f6)]);const _0x5954da={'publishKey':process[_0x216abb(0x1df)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x216abb(0x1df)]['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x216abb(0x1be)]||'restforge-'+(process['env'][_0x216abb(0x1d2)]||_0xfa9c18['dIXXe'])+'-'+process[_0x216abb(0x1bd)],'communicationType':process[_0x216abb(0x1df)]['MSHUB_COMMUNICATION_TYPE']||_0xfa9c18[_0x216abb(0x1e4)],'autoAcknowledge':_0xfa9c18[_0x216abb(0x1c1)](process['env'][_0x216abb(0x1da)],'true'),'acknowledgeMessages':_0xfa9c18['zeDMX'](process[_0x216abb(0x1df)][_0x216abb(0x206)],'true'),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0xfa9c18[_0x216abb(0x202)],'host':process[_0x216abb(0x1df)]['MSHUB_HOST']||_0xfa9c18['vrZZL'],'api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0xfa9c18['LZOmz'](parseInt,process[_0x216abb(0x1df)][_0x216abb(0x1b1)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x5954da),log(_0xfa9c18['QpcBG']),_0xfa9c18['ccmyI'](log,_0x216abb(0x1fa)+messagehub[_0x216abb(0x1ad)]),_0xfa9c18[_0x216abb(0x1d4)](log,_0x216abb(0x1f8)+messagehub['publishKey']),_0xfa9c18['XMwqC'](log,_0x216abb(0x1b7)+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0xfa9c18[_0x216abb(0x1b8)](log,_0x216abb(0x1b9)+JSON[_0x216abb(0x1ff)](messagehub['platformConfig'])),log(_0xfa9c18[_0x216abb(0x1b5)]),messagehub['addListener']({'status':function(_0x3fb54a){const _0x270be9=_0x216abb;log(_0x270be9(0x1e6)+_0x3fb54a[_0x270be9(0x1d3)]);if(_0x56ca7a['nBjVF'](_0x3fb54a[_0x270be9(0x1d3)],'connected'))_0x56ca7a['duafr'](log,_0x270be9(0x1f0)),isConnected=!![],timeoutHandler&&(_0x56ca7a['ElOot'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x56ca7a['duafr'](_0x40d600,!![]);else{if(_0x3fb54a['category']===_0x56ca7a[_0x270be9(0x1af)]){const _0xf9e715=_0x3fb54a['isErrorRelated']===!![];!_0xf9e715&&(_0x56ca7a['duafr'](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x3fb54a[_0x270be9(0x1fc)]||_0x56ca7a[_0x270be9(0x1b3)])),isConnected=![],connectionPromise&&(_0x56ca7a[_0x270be9(0x1d6)](_0x23e324,new Error('Koneksi\x20terputus:\x20'+(_0x3fb54a['reason']||_0x270be9(0x201)))),connectionPromise=null));}else{if(_0x3fb54a[_0x270be9(0x1d3)]==='error'){let _0x1bf76d=_0x3fb54a[_0x270be9(0x1ec)]||_0x3fb54a[_0x270be9(0x1e7)]||_0x270be9(0x1b4);log(_0x270be9(0x1c2)+_0x1bf76d),isConnected=![],connectionPromise&&(_0x56ca7a[_0x270be9(0x1e2)](_0x23e324,new Error(_0x1bf76d)),connectionPromise=null);}else{if(_0x56ca7a['XdsJL'](_0x3fb54a['category'],_0x56ca7a[_0x270be9(0x207)]))_0x56ca7a['Lvumb'](log,_0x270be9(0x1f5)+_0x3fb54a[_0x270be9(0x1cd)]);else{if(_0x56ca7a[_0x270be9(0x1e8)](_0x3fb54a['category'],_0x270be9(0x1c0))){const _0x390343=_0x3fb54a[_0x270be9(0x1d8)]?.['name']||_0x270be9(0x1d0),_0xb57ba9=_0x3fb54a[_0x270be9(0x1d8)]?.['id']||_0x3fb54a[_0x270be9(0x1f4)],_0x39433c=new Date(_0x3fb54a['receiverInfo']?.[_0x270be9(0x1dc)]||_0x3fb54a['receivedAt']||new Date())[_0x270be9(0x1cc)]();_0x56ca7a['duafr'](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x3fb54a['requestId']+_0x270be9(0x1c6)+_0x390343+'\x20('+_0xb57ba9+_0x270be9(0x1eb)+_0x39433c+_0x270be9(0x1c8)+(_0x3fb54a['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0xfa9c18[_0x216abb(0x1e9)](setTimeout,()=>{const _0x41bcb7=_0x216abb;_0x56ca7a['cwSxZ'](!isConnected,connectionPromise)&&(log(_0x56ca7a['FxxiX']),_0x56ca7a[_0x41bcb7(0x1ba)](_0x23e324,new Error('Connection\x20timeout')),connectionPromise=null);},0x2710);}catch(_0x1400f8){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x1400f8[_0x216abb(0x1ed)]),console[_0x216abb(0x1e7)](_0xfa9c18['tIWxd'],_0x1400f8),connectionPromise=null,_0x23e324(_0x1400f8);}}),connectionPromise;}async function publishMessage(_0x2d8683,_0x13dd65,_0x419892,_0x2a8d53={}){const _0x2880d0=a0_0xc25d4c,_0xb6e604={'uHzEX':function(_0x6a8c8,_0x4ff7d6){return _0x6a8c8(_0x4ff7d6);},'qjbTP':_0x2880d0(0x1c9),'bxIyV':function(_0x5e4ea1,_0xf77d18){return _0x5e4ea1(_0xf77d18);},'TzYXv':'================================','suXDp':'Mengirim\x20pesan\x20ke\x20server...','jSmmN':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x21101b=messagehub['channel'](_0x2d8683);_0xb6e604['uHzEX'](log,_0xb6e604['qjbTP']),_0xb6e604['bxIyV'](log,_0x2880d0(0x1bb)+_0x21101b['topic']),_0xb6e604[_0x2880d0(0x1ef)](log,'Message\x20Type:\x20'+_0x13dd65),log(_0xb6e604[_0x2880d0(0x203)]);const _0x4539be={'requireAck':_0x2a8d53[_0x2880d0(0x1e1)]!==undefined?_0x2a8d53[_0x2880d0(0x1e1)]:![],'clearCache':_0x2a8d53['clearCache']!==undefined?_0x2a8d53[_0x2880d0(0x208)]:!![],'senderId':messagehub[_0x2880d0(0x1fe)]?messagehub['socket']['id']:'restforge'};log(_0xb6e604[_0x2880d0(0x1fd)]);const _0x1e0c5d={'type':_0x13dd65,'content':_0x419892},_0x2a4787=await _0x21101b[_0x2880d0(0x205)](_0x1e0c5d,_0x4539be);return log(_0x2880d0(0x1c3)+_0x2d8683),{'success':!![],'requestId':_0x2a4787['requestId'],'topic':_0x2d8683,'message':'Message\x20sent\x20successfully'};}catch(_0x1539c9){return log(_0x2880d0(0x1bf)+_0x1539c9['message']),{'success':![],'error':_0x1539c9['message'],'topic':_0x2d8683,'message':_0xb6e604[_0x2880d0(0x1d7)]};}}async function closeConnection(){const _0x2e10f4=a0_0xc25d4c,_0x5330a1={'PzoZe':function(_0x359189,_0x552099){return _0x359189(_0x552099);},'FqJeN':function(_0x58a82e,_0x460d45){return _0x58a82e&&_0x460d45;},'sJGZK':function(_0x24e9ba,_0x5a9361){return _0x24e9ba===_0x5a9361;},'MKvEW':function(_0x495738,_0x2092e0){return _0x495738(_0x2092e0);},'wmeQc':_0x2e10f4(0x1bc),'wWJqu':'function','muyFz':function(_0x532386,_0x4243f0){return _0x532386(_0x4243f0);}};timeoutHandler&&(_0x5330a1[_0x2e10f4(0x209)](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x5330a1['FqJeN'](isConnected,messagehub))try{if(_0x5330a1[_0x2e10f4(0x1d5)](typeof messagehub[_0x2e10f4(0x1e0)],_0x2e10f4(0x1ce)))await messagehub['disconnect'](),_0x5330a1['MKvEW'](log,_0x5330a1[_0x2e10f4(0x1fb)]);else{if(typeof messagehub['close']===_0x5330a1[_0x2e10f4(0x1ea)])await messagehub['close'](),_0x5330a1['MKvEW'](log,_0x2e10f4(0x1b6));else messagehub['socket']&&typeof messagehub[_0x2e10f4(0x1fe)]['disconnect']===_0x5330a1[_0x2e10f4(0x1ea)]?(messagehub[_0x2e10f4(0x1fe)]['disconnect'](),_0x5330a1['PzoZe'](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()')):_0x5330a1[_0x2e10f4(0x1f1)](log,'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub');}isConnected=![],connectionPromise=null;}catch(_0x9a998){_0x5330a1[_0x2e10f4(0x1f1)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x9a998[_0x2e10f4(0x1ed)]);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
const a0_0x3a1db2=a0_0x2a99;(function(_0x56bcd6,_0x3abe69){const _0x5d44fb=a0_0x2a99,_0x3b3dfd=_0x56bcd6();while(!![]){try{const _0x12e2fa=parseInt(_0x5d44fb(0x1a9))/0x1+-parseInt(_0x5d44fb(0x16c))/0x2+parseInt(_0x5d44fb(0x17c))/0x3+-parseInt(_0x5d44fb(0x173))/0x4+-parseInt(_0x5d44fb(0x1a3))/0x5+parseInt(_0x5d44fb(0x183))/0x6+-parseInt(_0x5d44fb(0x162))/0x7*(parseInt(_0x5d44fb(0x1a6))/0x8);if(_0x12e2fa===_0x3abe69)break;else _0x3b3dfd['push'](_0x3b3dfd['shift']());}catch(_0x2b6723){_0x3b3dfd['push'](_0x3b3dfd['shift']());}}}(a0_0x5ebf,0x4d84b));const dotenv=require(a0_0x3a1db2(0x169)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv[a0_0x3a1db2(0x180)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0x3a1db2(0x192)](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x3a1db2(0x186)+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0xef0948){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0xef0948['message']);throw a0_0xef0948;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x3e6363){const _0x27d253=a0_0x3a1db2,_0x51edb2=new Date()['toISOString']();console[_0x27d253(0x190)]('['+_0x51edb2+']\x20'+_0x3e6363);}async function initMessageHub(){const _0x2ed6e5=a0_0x3a1db2,_0x43b19f={'SBZwa':function(_0x3c5735,_0x4a8ba1){return _0x3c5735===_0x4a8ba1;},'bzHKq':function(_0x25b4a6,_0x363fd8){return _0x25b4a6(_0x363fd8);},'CzbWw':'disconnected','tdUrr':function(_0x471a65,_0x193d0b){return _0x471a65===_0x193d0b;},'vztou':_0x2ed6e5(0x168),'SYmod':_0x2ed6e5(0x1a7),'cNlgy':'message-sent','doEeG':'message-received','QCqbS':_0x2ed6e5(0x1a0),'sYQen':function(_0x5ec019,_0x1482ec){return _0x5ec019(_0x1482ec);},'uTHkh':function(_0x270758,_0x504460){return _0x270758&&_0x504460;},'vwjbs':function(_0xda200c,_0x389f3d){return _0xda200c(_0x389f3d);},'uobSi':_0x2ed6e5(0x198),'DFcaL':_0x2ed6e5(0x152),'qPPAW':function(_0x5c1447,_0x78810f){return _0x5c1447(_0x78810f);},'AOQLm':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','TYUBv':_0x2ed6e5(0x19d),'MDNdq':function(_0x353b53,_0x4dfe2b){return _0x353b53===_0x4dfe2b;},'lsfit':_0x2ed6e5(0x199),'dLMdQ':'websocket','VNLUA':'localhost','yYTsN':function(_0x1b1844,_0x3781a6){return _0x1b1844(_0x3781a6);},'UYtBS':function(_0x191e23,_0x35e49c){return _0x191e23(_0x35e49c);},'ZMbvK':function(_0x57a7c9,_0x4a639d){return _0x57a7c9(_0x4a639d);},'OIFqB':'Error\x20inisialisasi\x20MessageHub:','dpEaH':function(_0x366ea7,_0x5138da){return _0x366ea7&&_0x5138da;}};if(_0x43b19f[_0x2ed6e5(0x1ab)](messagehub,isConnected))return log(_0x2ed6e5(0x182)),!![];if(connectionPromise)return log('Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x444792,_0x536f15)=>{const _0x11fa45=_0x2ed6e5;try{_0x43b19f['qPPAW'](log,_0x43b19f['AOQLm']),log(_0x11fa45(0x1a8)+new Date()[_0x11fa45(0x19e)]()),log(_0x43b19f['TYUBv']);const _0x19756b={'publishKey':process[_0x11fa45(0x1a2)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x11fa45(0x1a2)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x11fa45(0x1a2)][_0x11fa45(0x187)]||_0x11fa45(0x151)+(process['env'][_0x11fa45(0x176)]||_0x11fa45(0x19b))+'-'+process[_0x11fa45(0x175)],'communicationType':process[_0x11fa45(0x1a2)][_0x11fa45(0x17a)]||_0x11fa45(0x18c),'autoAcknowledge':_0x43b19f['SBZwa'](process[_0x11fa45(0x1a2)][_0x11fa45(0x18a)],_0x11fa45(0x199)),'acknowledgeMessages':_0x43b19f[_0x11fa45(0x16b)](process[_0x11fa45(0x1a2)][_0x11fa45(0x195)],_0x43b19f['lsfit']),'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x43b19f[_0x11fa45(0x191)],'host':process['env'][_0x11fa45(0x178)]||_0x43b19f[_0x11fa45(0x18e)],'api_port':_0x43b19f[_0x11fa45(0x155)](parseInt,process['env'][_0x11fa45(0x197)]||0xdf8),'service_port':_0x43b19f['yYTsN'](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x19756b),_0x43b19f[_0x11fa45(0x150)](log,_0x11fa45(0x174)),log(_0x11fa45(0x15e)+messagehub[_0x11fa45(0x188)]),log('Publish\x20Key:\x20'+messagehub[_0x11fa45(0x1aa)]),log('Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x43b19f['UYtBS'](log,'Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0x43b19f[_0x11fa45(0x15f)](log,'Konfigurasi\x20Platform:\x20'+JSON[_0x11fa45(0x18d)](messagehub[_0x11fa45(0x158)])),log(_0x11fa45(0x14f)),messagehub[_0x11fa45(0x16d)]({'status':function(_0x46b2ac){const _0x871498=_0x11fa45;log(_0x871498(0x15d)+_0x46b2ac[_0x871498(0x172)]);if(_0x43b19f[_0x871498(0x156)](_0x46b2ac[_0x871498(0x172)],_0x871498(0x17d)))_0x43b19f[_0x871498(0x155)](log,_0x871498(0x15a)),isConnected=!![],timeoutHandler&&(_0x43b19f[_0x871498(0x155)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x43b19f['bzHKq'](_0x444792,!![]);else{if(_0x46b2ac['category']===_0x43b19f[_0x871498(0x166)]){const _0x1f539b=_0x43b19f[_0x871498(0x17b)](_0x46b2ac[_0x871498(0x17f)],!![]);!_0x1f539b&&(_0x43b19f['bzHKq'](log,'Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x46b2ac['reason']||_0x871498(0x168))),isConnected=![],connectionPromise&&(_0x43b19f['bzHKq'](_0x536f15,new Error('Koneksi\x20terputus:\x20'+(_0x46b2ac['reason']||_0x43b19f[_0x871498(0x189)]))),connectionPromise=null));}else{if(_0x43b19f[_0x871498(0x17b)](_0x46b2ac[_0x871498(0x172)],'error')){let _0x4f3744=_0x46b2ac[_0x871498(0x179)]||_0x46b2ac['error']||_0x43b19f['SYmod'];log('⚠️\x20Error:\x20'+_0x4f3744),isConnected=![],connectionPromise&&(_0x536f15(new Error(_0x4f3744)),connectionPromise=null);}else{if(_0x46b2ac[_0x871498(0x172)]===_0x43b19f[_0x871498(0x15c)])log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x46b2ac[_0x871498(0x1a4)]);else{if(_0x43b19f[_0x871498(0x156)](_0x46b2ac[_0x871498(0x172)],_0x43b19f[_0x871498(0x16f)])){const _0x2b4417=_0x46b2ac[_0x871498(0x193)]?.['name']||_0x43b19f[_0x871498(0x184)],_0x4e62f8=_0x46b2ac[_0x871498(0x193)]?.['id']||_0x46b2ac[_0x871498(0x16e)],_0x229766=new Date(_0x46b2ac[_0x871498(0x193)]?.[_0x871498(0x18f)]||_0x46b2ac['receivedAt']||new Date())['toLocaleTimeString']();_0x43b19f[_0x871498(0x150)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x46b2ac['requestId']+'\x20diterima\x20oleh\x20'+_0x2b4417+'\x20('+_0x4e62f8+_0x871498(0x1a5)+_0x229766+'.\x20Total\x20konfirmasi:\x20'+(_0x46b2ac['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x19932e=_0x11fa45;_0x43b19f[_0x19932e(0x18b)](!isConnected,connectionPromise)&&(_0x43b19f[_0x19932e(0x15f)](log,_0x43b19f['uobSi']),_0x536f15(new Error(_0x43b19f['DFcaL'])),connectionPromise=null);},0x2710);}catch(_0x829c0e){_0x43b19f['ZMbvK'](log,'⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x829c0e[_0x11fa45(0x1a1)]),console[_0x11fa45(0x164)](_0x43b19f[_0x11fa45(0x167)],_0x829c0e),connectionPromise=null,_0x43b19f['qPPAW'](_0x536f15,_0x829c0e);}}),connectionPromise;}function a0_0x2a99(_0x352026,_0x5865fd){_0x352026=_0x352026-0x14f;const _0x5ebfab=a0_0x5ebf();let _0x2a99d8=_0x5ebfab[_0x352026];if(a0_0x2a99['yRIQLH']===undefined){var _0x589f4d=function(_0x5e54ae){const _0x53068f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1bf598='',_0x404187='';for(let _0x196722=0x0,_0x14b785,_0x45b946,_0x30f2bf=0x0;_0x45b946=_0x5e54ae['charAt'](_0x30f2bf++);~_0x45b946&&(_0x14b785=_0x196722%0x4?_0x14b785*0x40+_0x45b946:_0x45b946,_0x196722++%0x4)?_0x1bf598+=String['fromCharCode'](0xff&_0x14b785>>(-0x2*_0x196722&0x6)):0x0){_0x45b946=_0x53068f['indexOf'](_0x45b946);}for(let _0x321488=0x0,_0xd914ba=_0x1bf598['length'];_0x321488<_0xd914ba;_0x321488++){_0x404187+='%'+('00'+_0x1bf598['charCodeAt'](_0x321488)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x404187);};a0_0x2a99['cTmQbV']=_0x589f4d,a0_0x2a99['CMnoEk']={},a0_0x2a99['yRIQLH']=!![];}const _0x51b4fb=_0x5ebfab[0x0],_0xbfca42=_0x352026+_0x51b4fb,_0x567b5e=a0_0x2a99['CMnoEk'][_0xbfca42];return!_0x567b5e?(_0x2a99d8=a0_0x2a99['cTmQbV'](_0x2a99d8),a0_0x2a99['CMnoEk'][_0xbfca42]=_0x2a99d8):_0x2a99d8=_0x567b5e,_0x2a99d8;}async function publishMessage(_0x591536,_0x3ab5aa,_0x50b71b,_0x4bebae={}){const _0x442f94=a0_0x3a1db2,_0x35b78a={'CqNXr':function(_0x63eecb){return _0x63eecb();},'nrdie':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','wBJCk':function(_0x3a23ac,_0x45c45a){return _0x3a23ac(_0x45c45a);},'NXtrB':_0x442f94(0x194),'ggrWi':function(_0x394f1f,_0x174362){return _0x394f1f!==_0x174362;},'GWZhr':_0x442f94(0x19f),'wgdWf':_0x442f94(0x160),'sCSmB':function(_0x2328e2,_0x4c88f8){return _0x2328e2(_0x4c88f8);}};try{!isConnected&&await _0x35b78a[_0x442f94(0x157)](initMessageHub);const _0x32fbea=messagehub[_0x442f94(0x177)](_0x591536);log(_0x35b78a['nrdie']),_0x35b78a[_0x442f94(0x185)](log,_0x442f94(0x17e)+_0x32fbea['topic']),log('Message\x20Type:\x20'+_0x3ab5aa),log(_0x35b78a['NXtrB']);const _0x5c336c={'requireAck':_0x4bebae['requireAck']!==undefined?_0x4bebae[_0x442f94(0x170)]:![],'clearCache':_0x35b78a[_0x442f94(0x163)](_0x4bebae[_0x442f94(0x196)],undefined)?_0x4bebae[_0x442f94(0x196)]:!![],'senderId':messagehub['socket']?messagehub[_0x442f94(0x15b)]['id']:_0x442f94(0x159)};log(_0x35b78a['GWZhr']);const _0x433727={'type':_0x3ab5aa,'content':_0x50b71b},_0x3c74d1=await _0x32fbea['publish'](_0x433727,_0x5c336c);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x591536),{'success':!![],'requestId':_0x3c74d1['requestId'],'topic':_0x591536,'message':_0x35b78a[_0x442f94(0x16a)]};}catch(_0x48bfed){return _0x35b78a['sCSmB'](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x48bfed['message']),{'success':![],'error':_0x48bfed[_0x442f94(0x1a1)],'topic':_0x591536,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x597ee8=a0_0x3a1db2,_0x2aaad4={'ofMMb':function(_0x10e442,_0x22166d){return _0x10e442(_0x22166d);},'mwQea':function(_0x4dd095,_0x46cfe9){return _0x4dd095&&_0x46cfe9;},'kKSzn':function(_0x157fc0,_0x5869ea){return _0x157fc0===_0x5869ea;},'LhnWQ':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','GLicj':function(_0x312518,_0x3c0d20){return _0x312518===_0x3c0d20;},'PfqZb':_0x597ee8(0x19c)};timeoutHandler&&(_0x2aaad4['ofMMb'](clearTimeout,timeoutHandler),timeoutHandler=null);if(_0x2aaad4['mwQea'](isConnected,messagehub))try{if(_0x2aaad4['kKSzn'](typeof messagehub['disconnect'],_0x597ee8(0x153)))await messagehub['disconnect'](),log(_0x2aaad4[_0x597ee8(0x165)]);else{if(_0x2aaad4['GLicj'](typeof messagehub[_0x597ee8(0x154)],_0x597ee8(0x153)))await messagehub['close'](),log(_0x597ee8(0x181));else messagehub[_0x597ee8(0x15b)]&&_0x2aaad4['kKSzn'](typeof messagehub[_0x597ee8(0x15b)]['disconnect'],_0x597ee8(0x153))?(messagehub[_0x597ee8(0x15b)][_0x597ee8(0x161)](),_0x2aaad4[_0x597ee8(0x171)](log,_0x2aaad4['PfqZb'])):log(_0x597ee8(0x19a));}isConnected=![],connectionPromise=null;}catch(_0x2bdfa5){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x2bdfa5['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};function a0_0x5ebf(){const _0x31e69c=['mZm4mJCYmKzKsK1PAW','uunXyLm','D0jkq2S','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','tvnivujFvvnfuL9jra','DxnLCKLK','DNP0B3u','tvnivujFqvvut19bq0Tot1Dmrurhrq','DvriA2G','yNjVywrJyxn0','C3rYAw5NAwz5','vK5mvue','CMvJzwL2zwrbDa','Bg9N','zeXnzfe','zxHPC3rZu3LUyW','CMvJzwL2zxjjBMzV','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','y2XLyxjdywnOzq','tvnivujFqvbjx1bpuLq','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','Dhj1zq','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','zgvMyxvSDa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','tw9KztOGs29UzwTZAsboEwf0yq','Dg9mB2nHBgvtDhjPBMC','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','vw5RBM93BG','BwvZC2fNzq','zw52','mJKYnJK3mePAr21RqW','CMvXDwvZDeLK','ksbWywrHia','mJqZotC2whnUrg5q','vw5RBM93BIbLCNjVCG','v2fRDhuGsw5PC2LHBgLZyxnPoIa','ntiXndi2wK5JqKn5','ChvIBgLZAeTLEq','zhbfyuG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','C1Lrzw4','CMvZDgzVCMDLlq','q29UBMvJDgLVBIb0Aw1LB3v0','zNvUy3rPB24','y2XVC2u','yNPis3e','u0jAD2e','q3fowhi','CgXHDgzVCM1dB25MAwC','CMvZDgzVCMDL','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','C29JA2v0','y05Sz3K','u3rHDhvZieXPC3rLBMvYoIa','q2XPzw50ieLel1vZzxjjrdOG','DNDQyNm','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','zgLZy29UBMvJDa','ndjbCeH6v20','z2DYv2K','zxjYB3i','tgHUv1e','q3PIv3C','t0LgCui','vgLKywSGzgLRzxrHAhvP','zg90zw52','D2DKv2y','turozhe','mZKZotKYA1f4tMfl','ywrKtgLZDgvUzxi','CMvJzwL2zxjjza','zg9fzuC','CMvXDwLYzufJAW','B2zntwi','y2f0zwDVCNK','odyYndi0y2rsEhfH','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','CgLK','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y2HHBM5LBa','tvnivujFse9tva','zxjYB3jezxrHAwW','tvnivujFq09ntvvosunbveLptL9uwvbf','DgrvCNi','mtiZotG0mefUCejnqG','y29UBMvJDgvK','q2HHBM5LBcbuyxjNzxq6ia','AxnfCNjVCLjLBgf0zwq','y29UzMLN','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge'];a0_0x5ebf=function(){return _0x31e69c;};return a0_0x5ebf();}
|