@restforgejs/platform 5.2.13 → 5.3.5
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/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/endpoint/create.js +69 -6
- package/generators/cli/fast-track.js +4 -2
- package/generators/cli/payload/sync.js +16 -6
- package/generators/cli/project/auth.js +209 -0
- package/generators/cli/project/sdk.js +112 -0
- package/generators/lib/arg-parser.js +6 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +57 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +107 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/generators/model-generator.js +46 -59
- package/generators/lib/help-generator.js +41 -3
- package/generators/lib/payload/endpoint-schema-validator.js +8 -3
- package/generators/lib/payload/field-projections.js +116 -0
- package/generators/lib/payload/payload-runner.js +164 -48
- package/generators/lib/payload/schema-diff.js +108 -0
- package/generators/lib/sdk/generator.js +719 -0
- package/generators/lib/sdk/naming.js +48 -0
- package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
- package/generators/lib/sdk/runtime/auth-client.js +186 -0
- package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
- package/generators/lib/sdk/runtime/http-client.js +81 -0
- package/generators/lib/sdk/runtime/resource-client.js +59 -0
- package/generators/lib/sdk/runtime/storage.js +31 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/cli-output.js +40 -0
- package/generators/lib/utils/config-resolver.js +61 -0
- package/generators/lib/utils/database-introspector.js +28 -5
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';function a0_0x5702(_0x35fa7c,_0xc42eb6){_0x35fa7c=_0x35fa7c-0x135;const _0x8bba3a=a0_0x8bba();let _0x5702e9=_0x8bba3a[_0x35fa7c];if(a0_0x5702['JQMTSZ']===undefined){var _0x3273c2=function(_0x193a77){const _0xd541e2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12dc51='',_0x354f06='';for(let _0x20ff18=0x0,_0xa54434,_0x2c4b9f,_0x3f2ec8=0x0;_0x2c4b9f=_0x193a77['charAt'](_0x3f2ec8++);~_0x2c4b9f&&(_0xa54434=_0x20ff18%0x4?_0xa54434*0x40+_0x2c4b9f:_0x2c4b9f,_0x20ff18++%0x4)?_0x12dc51+=String['fromCharCode'](0xff&_0xa54434>>(-0x2*_0x20ff18&0x6)):0x0){_0x2c4b9f=_0xd541e2['indexOf'](_0x2c4b9f);}for(let _0x19052=0x0,_0x20f8a6=_0x12dc51['length'];_0x19052<_0x20f8a6;_0x19052++){_0x354f06+='%'+('00'+_0x12dc51['charCodeAt'](_0x19052)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x354f06);};a0_0x5702['eekPtk']=_0x3273c2,a0_0x5702['gpVWER']={},a0_0x5702['JQMTSZ']=!![];}const _0x9b334d=_0x8bba3a[0x0],_0x41df97=_0x35fa7c+_0x9b334d,_0x22cd19=a0_0x5702['gpVWER'][_0x41df97];return!_0x22cd19?(_0x5702e9=a0_0x5702['eekPtk'](_0x5702e9),a0_0x5702['gpVWER'][_0x41df97]=_0x5702e9):_0x5702e9=_0x22cd19,_0x5702e9;}function a0_0x8bba(){const _0x48b862=['ndGZodmZmfH4BfrurG','ChvZAa','x3bHCNnLrMLSzvnPEMu','zgLZA1n0B3jHz2u','BxvSDgvY','zxH0BMfTzq','AM9PBG','ndiYmxLkv2DqEa','x2rLBgv0zvrLBxbgAwXL','Cgf0Aa','ng1JEg5xyG','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','mJu0nJrcvgrouNe','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','mtGWnteXnvPuzevYEG','ndyYmtfzzhjmwgO','ovjOAMfOAq','vvbmt0fex1rftvbFreLs','B3jPz2LUywXUyw1L','BNvTyMvY','Bwf0y2G','mJqWtgPOqu5J','DxbSB2fKlq','zw52','DhjPBq','mty2odH4CNPIEwO','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','yMfZzw5HBwu','lI9SB2DNzxi','BwvZC2fNzq','y3j5ChrV','sgnqDhe','DgvTCerPCG','DxbSB2fK','x3rLBxbeAxi','ChjVDMLKzxjoyw1L','uMzOrMq','yxjYyxK','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','CMvWBgfJzq','mJi3odq3mhrNsu5hzW','ChjVBwLZzxm','CMfUzg9TqNL0zxm','nZm5nJq0sefLDfj1','Bwf4rMLSzvnPEMu','BwLTzxr5Cgu','rMLSzsb0ExbLiciU','A1fZzMK','zxHPC3rZu3LUyW','otK2zevnvevl','ChjVAMvJDa','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','y0HAyxO','Aw5JBhvKzxm','zxjYB3i','ChjLzML4'];a0_0x8bba=function(){return _0x48b862;};return a0_0x8bba();}const a0_0x4e241d=a0_0x5702;(function(_0x4d0002,_0x4c1921){const _0x3215ca=a0_0x5702,_0x56b35e=_0x4d0002();while(!![]){try{const _0x1edbab=-parseInt(_0x3215ca(0x14b))/0x1+-parseInt(_0x3215ca(0x135))/0x2*(-parseInt(_0x3215ca(0x164))/0x3)+parseInt(_0x3215ca(0x162))/0x4*(-parseInt(_0x3215ca(0x166))/0x5)+-parseInt(_0x3215ca(0x148))/0x6+-parseInt(_0x3215ca(0x15f))/0x7*(-parseInt(_0x3215ca(0x139))/0x8)+parseInt(_0x3215ca(0x168))/0x9*(-parseInt(_0x3215ca(0x158))/0xa)+parseInt(_0x3215ca(0x167))/0xb*(parseInt(_0x3215ca(0x151))/0xc);if(_0x1edbab===_0x4c1921)break;else _0x56b35e['push'](_0x56b35e['shift']());}catch(_0x405f15){_0x56b35e['push'](_0x56b35e['shift']());}}}(a0_0x8bba,0xa1578));const multer=require(a0_0x4e241d(0x15c)),path=require(a0_0x4e241d(0x161)),crypto=require(a0_0x4e241d(0x13e)),fs=require('fs')[a0_0x4e241d(0x149)],fsSync=require('fs'),{logger}=require(a0_0x4e241d(0x13c));class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x5389f2=a0_0x4e241d,_0x2ad2f2={'Chxed':'default'};if(!this[_0x5389f2(0x142)]){const _0x503b72=process[_0x5389f2(0x137)]['RESTFORGE_PROJECT_NAME']||_0x2ad2f2['Chxed'];this['_tempDir']=process['env'][_0x5389f2(0x169)]||path[_0x5389f2(0x15e)](process['cwd'](),'temp','uploads',_0x503b72),!fsSync[_0x5389f2(0x150)](this[_0x5389f2(0x142)])&&fsSync['mkdirSync'](this[_0x5389f2(0x142)],{'recursive':!![]});}return this[_0x5389f2(0x142)];}[a0_0x4e241d(0x153)](_0x2717d7={}){const _0x4c8d47=a0_0x4e241d,_0x29954e={'zwLpq':'10MB','RfhFd':function(_0xd7cb00,_0x227c85){return _0xd7cb00(_0x227c85);}},_0x37ef78=_0x2717d7['maxFiles']||0x5,_0x2e9617=this[_0x4c8d47(0x15a)](_0x2717d7[_0x4c8d47(0x14c)]||_0x29954e['zwLpq']),_0x16494b=_0x2717d7['allowedTypes']||[],_0x194742=multer[_0x4c8d47(0x15b)]({'destination':(_0x283e48,_0x3eacb2,_0x292d8f)=>{const _0x59b5f5=_0x4c8d47;!fsSync[_0x59b5f5(0x150)](this[_0x59b5f5(0x140)])&&fsSync['mkdirSync'](this[_0x59b5f5(0x140)],{'recursive':!![]}),_0x292d8f(null,this['tempDir']);},'filename':(_0x6464be,_0x585a9f,_0x57d993)=>{const _0x52dcf6=_0x4c8d47,_0x541ead=crypto[_0x52dcf6(0x14a)](0x8)['toString']('hex'),_0x4c6641=Date['now'](),_0x36c059=path[_0x52dcf6(0x15d)](_0x585a9f['originalname']);_0x57d993(null,_0x52dcf6(0x136)+_0x4c6641+'-'+_0x541ead+_0x36c059);}}),_0xbb0fc0=(_0x25748c,_0x443988,_0x54af36)=>{const _0x56301f=_0x4c8d47;if(_0x16494b['length']===0x0)return _0x54af36(null,!![]);const _0x1b12f5=path['extname'](_0x443988[_0x56301f(0x16a)])['toLowerCase']()[_0x56301f(0x147)]('.','');_0x16494b[_0x56301f(0x155)](_0x1b12f5)?_0x54af36(null,!![]):_0x54af36(new Error(_0x56301f(0x14e)+_0x1b12f5+_0x56301f(0x165)+_0x16494b['join'](',\x20')));};return _0x29954e[_0x4c8d47(0x144)](multer,{'storage':_0x194742,'limits':{'fileSize':_0x2e9617,'files':_0x37ef78},'fileFilter':_0xbb0fc0})[_0x4c8d47(0x145)]('files',_0x37ef78);}async['processUploadedFiles'](_0x254a1a,_0x125a07,_0x1a19fa={}){const _0x4be5fd=a0_0x4e241d,_0x2c1673={'kQsfi':'../storage/file-metadata-helper'},{createFileMetadata:_0x1094ef}=require(_0x2c1673[_0x4be5fd(0x14f)]),_0x2ed555=[];for(const _0x579c30 of _0x254a1a){try{const _0x23ef1c=_0x125a07['generateKey'](_0x579c30['originalname'],{'prefix':_0x1a19fa[_0x4be5fd(0x157)]||'','project':_0x1a19fa[_0x4be5fd(0x152)]||'','module':_0x1a19fa['module']||'','endpoint':_0x1a19fa['endpoint']||''}),_0x1e7176=fsSync['createReadStream'](_0x579c30[_0x4be5fd(0x161)]),_0x171890=await _0x125a07[_0x4be5fd(0x141)](_0x1e7176,_0x23ef1c,{'contentType':_0x579c30[_0x4be5fd(0x14d)],'fileSize':_0x579c30['size']}),_0x4e092a=_0x1094ef({'key':_0x171890['key'],'originalName':_0x579c30[_0x4be5fd(0x16a)],'fileName':path[_0x4be5fd(0x13b)](_0x23ef1c),'contentType':_0x579c30[_0x4be5fd(0x14d)],'size':_0x579c30['size'],'url':_0x171890['url'],'provider':_0x125a07[_0x4be5fd(0x143)],'bucket':_0x125a07['bucket']||null,'uploadedBy':_0x1a19fa['uploadedBy']||null});_0x2ed555[_0x4be5fd(0x159)](_0x4e092a);}catch(_0x5b8ed2){logger[_0x4be5fd(0x156)]({'event':_0x4be5fd(0x13a),'file':_0x579c30[_0x4be5fd(0x16a)],'error':_0x5b8ed2['message']},_0x4be5fd(0x146)+_0x579c30[_0x4be5fd(0x16a)]);throw _0x5b8ed2;}finally{await this[_0x4be5fd(0x160)](_0x579c30['path']);}}return _0x2ed555;}async[a0_0x4e241d(0x160)](_0x4ba377){const _0x4ea599=a0_0x4e241d;try{await fs['unlink'](_0x4ba377);}catch(_0x29c775){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0x4ba377,'error':_0x29c775[_0x4ea599(0x13d)]},_0x4ea599(0x163));}}[a0_0x4e241d(0x15a)](_0x53ee67){const _0x9d6b7f=a0_0x4e241d,_0x544a99={'edvrh':_0x9d6b7f(0x16b),'fGiEe':function(_0x313ff2,_0x5a3bbf){return _0x313ff2*_0x5a3bbf;},'HcPtq':function(_0x2b7a25,_0x5eb439){return _0x2b7a25*_0x5eb439;},'cHZaz':function(_0x5ef93f,_0x150c5e){return _0x5ef93f(_0x150c5e);},'NKPeC':function(_0x18be69,_0x230429){return _0x18be69*_0x230429;}};if(typeof _0x53ee67===_0x544a99['edvrh'])return _0x53ee67;const _0x112e33=String(_0x53ee67)[_0x9d6b7f(0x138)]()[_0x9d6b7f(0x16c)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x112e33)return _0x544a99['fGiEe'](_0x544a99[_0x9d6b7f(0x13f)](0xa,0x400),0x400);const _0x583b72=_0x544a99[_0x9d6b7f(0x154)](parseFloat,_0x112e33[0x1]),_0x3455af=_0x112e33[0x2]['toUpperCase'](),_0x33b6be={'B':0x1,'KB':0x400,'MB':_0x544a99['NKPeC'](0x400,0x400),'GB':_0x544a99[_0x9d6b7f(0x13f)](0x400,0x400)*0x400};return Math['floor'](_0x583b72*(_0x33b6be[_0x3455af]||0x1));}}module['exports']=new UploadHandlerV2();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x5de6dc=a0_0xb2e2;(function(_0x4a6e20,_0x1feed6){const _0x5546e4=a0_0xb2e2,_0x2ba6fb=_0x4a6e20();while(!![]){try{const _0x440e1c=-parseInt(_0x5546e4(0x114))/0x1*(parseInt(_0x5546e4(0x118))/0x2)+parseInt(_0x5546e4(0x124))/0x3+parseInt(_0x5546e4(0xfe))/0x4*(parseInt(_0x5546e4(0xf6))/0x5)+parseInt(_0x5546e4(0x104))/0x6+-parseInt(_0x5546e4(0xff))/0x7+parseInt(_0x5546e4(0x11b))/0x8*(parseInt(_0x5546e4(0x10a))/0x9)+-parseInt(_0x5546e4(0x10e))/0xa;if(_0x440e1c===_0x1feed6)break;else _0x2ba6fb['push'](_0x2ba6fb['shift']());}catch(_0xc55268){_0x2ba6fb['push'](_0x2ba6fb['shift']());}}}(a0_0xa53b,0xa2581));function a0_0xb2e2(_0xf9fe90,_0x8553dc){_0xf9fe90=_0xf9fe90-0xf6;const _0xa53b36=a0_0xa53b();let _0xb2e27a=_0xa53b36[_0xf9fe90];if(a0_0xb2e2['lWifTa']===undefined){var _0x529598=function(_0x9a90be){const _0x1aba2a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b0557='',_0x4b0db4='';for(let _0x1c22da=0x0,_0xdbf30a,_0xd95911,_0x4a47cd=0x0;_0xd95911=_0x9a90be['charAt'](_0x4a47cd++);~_0xd95911&&(_0xdbf30a=_0x1c22da%0x4?_0xdbf30a*0x40+_0xd95911:_0xd95911,_0x1c22da++%0x4)?_0x5b0557+=String['fromCharCode'](0xff&_0xdbf30a>>(-0x2*_0x1c22da&0x6)):0x0){_0xd95911=_0x1aba2a['indexOf'](_0xd95911);}for(let _0x17bf27=0x0,_0x5a2cd6=_0x5b0557['length'];_0x17bf27<_0x5a2cd6;_0x17bf27++){_0x4b0db4+='%'+('00'+_0x5b0557['charCodeAt'](_0x17bf27)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b0db4);};a0_0xb2e2['iwSUOH']=_0x529598,a0_0xb2e2['JzahQi']={},a0_0xb2e2['lWifTa']=!![];}const _0x44e027=_0xa53b36[0x0],_0x2893df=_0xf9fe90+_0x44e027,_0x281201=a0_0xb2e2['JzahQi'][_0x2893df];return!_0x281201?(_0xb2e27a=a0_0xb2e2['iwSUOH'](_0xb2e27a),a0_0xb2e2['JzahQi'][_0x2893df]=_0xb2e27a):_0xb2e27a=_0x281201,_0xb2e27a;}const multer=require(a0_0x5de6dc(0x111)),path=require(a0_0x5de6dc(0xf7)),crypto=require(a0_0x5de6dc(0xfb)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');function a0_0xa53b(){const _0xf50132=['zw52','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','rgTfDMS','BwLTzxr5Cgu','rwHwAxG','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zxHPC3rZu3LUyW','mtuWotCYvvbqq2jk','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','zMLSzq','otiZmtvysxHqBfm','Cgf0Aa','z2v0u3rVCMfNzq','zgvMyxvSDa','zxH0BMfTzq','y3j5ChrV','Dhnzq0e','tMrNCKC','mJi0uLvRreD0','mZmZmZm1ogzStKD4uG','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','zgLZA1n0B3jHz2u','zxHWB3j0CW','BwTKAxjtEw5J','nty0mdu1mKX4s3fXDa','Aw5JBhvKzxm','AMfHy1C','zgvSzxrLrMLSzq','BM93','ANz2sfi','ou5Ivw1XzW','DxbSB2fKlq','v0fdse4','C2LUz2XL','ntu2nZm5mfncCgnmza','DxbSB2fKrgLY','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BxvSDgvY','CMfUzg9TqNL0zxm','lNHSCW','ntm3otHgyxLyEfC','vvbmt0fex0rjuG','z2v0vxbSB2fKtwLKzgXLD2fYzq','Agv4','mtz1ywPqt1u','Aw5MBW','zxjYB3i','odmXndCYu3vzDNvS','x3vWBg9HzerPCG'];a0_0xa53b=function(){return _0xf50132;};return a0_0xa53b();}class UploadHandler{constructor(){const _0x287f44=a0_0x5de6dc,_0xe88583={'jaacW':function(_0x2396ad,_0x2b5179){return _0x2396ad*_0x2b5179;}};this[_0x287f44(0x11c)]=null,this['maxFileSize']=_0xe88583[_0x287f44(0x106)](0xa*0x400,0x400);}get['uploadDir'](){const _0x5a9b05=a0_0x5de6dc,_0x548b20={'AOmTp':_0x5a9b05(0xf9),'NdgrG':'Upload\x20handler\x20initialized','EhVix':_0x5a9b05(0x125)};if(!this[_0x5a9b05(0x11c)]){const _0x1b717c=process[_0x5a9b05(0x11d)][_0x5a9b05(0x110)]||_0x548b20['AOmTp'];this[_0x5a9b05(0x11c)]=process['env'][_0x5a9b05(0x115)]||path['join'](__dirname,'../../temp/uploads/'+_0x1b717c);try{!fsSync[_0x5a9b05(0x123)](this[_0x5a9b05(0x11c)])&&fsSync['mkdirSync'](this[_0x5a9b05(0x11c)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this[_0x5a9b05(0x11c)]},_0x548b20[_0x5a9b05(0xfd)]);}catch(_0x48a6b2){logger[_0x5a9b05(0x11a)]({'event':_0x548b20[_0x5a9b05(0x121)],'error':_0x48a6b2['message']},_0x5a9b05(0x11e));}}return this['_uploadDir'];}[a0_0x5de6dc(0xf8)](){const _0x15aecb=a0_0x5de6dc;return multer[_0x15aecb(0x101)]({'destination':(_0x49c527,_0x1d0325,_0x49ff31)=>{const _0x5d4aa8=_0x15aecb;!fsSync['existsSync'](this[_0x5d4aa8(0x10f)])&&fsSync[_0x5d4aa8(0x103)](this['uploadDir'],{'recursive':!![]}),_0x49ff31(null,this['uploadDir']);},'filename':(_0x225a0b,_0x13c75e,_0x1ab6a7)=>{const _0x43009e=_0x15aecb,_0x479e72=crypto[_0x43009e(0x112)](0x8)['toString'](_0x43009e(0x117)),_0x35fabd=Date[_0x43009e(0x108)](),_0x1ca8df=path[_0x43009e(0xfa)](_0x13c75e['originalname']);_0x1ab6a7(null,_0x43009e(0x10b)+_0x35fabd+'-'+_0x479e72+_0x1ca8df);}});}[a0_0x5de6dc(0x116)](){const _0x31c0d8=a0_0x5de6dc,_0x5a16e7={'WACHN':'.xlsx','DkEvk':_0x31c0d8(0x113),'jvvHR':function(_0x10c7c6,_0x39979b){return _0x10c7c6(_0x39979b);},'GSwnJ':_0x31c0d8(0x122)};return _0x5a16e7['jvvHR'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x142df4,_0x4b7947,_0xe326d2)=>{const _0x40bf14=_0x31c0d8,_0x50e6e7=[_0x40bf14(0x100),'application/vnd.ms-excel'],_0x26dda3=[_0x5a16e7[_0x40bf14(0x10c)],_0x5a16e7[_0x40bf14(0x11f)]],_0x17c103=path[_0x40bf14(0xfa)](_0x4b7947['originalname'])['toLowerCase']();_0x50e6e7[_0x40bf14(0x105)](_0x4b7947[_0x40bf14(0x120)])&&_0x26dda3[_0x40bf14(0x105)](_0x17c103)?_0xe326d2(null,!![]):_0x5a16e7[_0x40bf14(0x109)](_0xe326d2,new Error(_0x5a16e7['GSwnJ']));}})[_0x31c0d8(0x10d)](_0x31c0d8(0x126));}async[a0_0x5de6dc(0x107)](_0x2a493f){const _0xf28ab=a0_0x5de6dc,_0x395aa8={'tsYCA':'upload_file_delete_error'};try{await fs['unlink'](_0x2a493f),logger[_0xf28ab(0x119)]({'event':'upload_file_deleted','filePath':_0x2a493f},'Uploaded\x20file\x20deleted');}catch(_0x1496c5){logger['error']({'event':_0x395aa8[_0xf28ab(0xfc)],'filePath':_0x2a493f,'error':_0x1496c5['message']},'Failed\x20to\x20delete\x20uploaded\x20file');}}}module[a0_0x5de6dc(0x102)]=new UploadHandler();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x3d0e00,_0x4f130f){const _0x2a2c17=a0_0x377a,_0x2a1fe3=_0x3d0e00();while(!![]){try{const _0x2dcfc5=parseInt(_0x2a2c17(0x142))/0x1*(parseInt(_0x2a2c17(0x135))/0x2)+-parseInt(_0x2a2c17(0x131))/0x3+-parseInt(_0x2a2c17(0x136))/0x4*(parseInt(_0x2a2c17(0x13c))/0x5)+-parseInt(_0x2a2c17(0x132))/0x6+-parseInt(_0x2a2c17(0x141))/0x7*(parseInt(_0x2a2c17(0x139))/0x8)+-parseInt(_0x2a2c17(0x13f))/0x9*(parseInt(_0x2a2c17(0x13d))/0xa)+parseInt(_0x2a2c17(0x137))/0xb*(parseInt(_0x2a2c17(0x13e))/0xc);if(_0x2dcfc5===_0x4f130f)break;else _0x2a1fe3['push'](_0x2a1fe3['shift']());}catch(_0x408ffb){_0x2a1fe3['push'](_0x2a1fe3['shift']());}}}(a0_0x5345,0x6b1c7));function a0_0x377a(_0x17c9ab,_0xc860b7){_0x17c9ab=_0x17c9ab-0x12e;const _0x53459c=a0_0x5345();let _0x377a3c=_0x53459c[_0x17c9ab];if(a0_0x377a['vpSweW']===undefined){var _0x4532d8=function(_0x2218f0){const _0x40fdcf='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xe3a69f='',_0x30a4d1='';for(let _0x26cd82=0x0,_0x5bc947,_0x4c31be,_0x2ef971=0x0;_0x4c31be=_0x2218f0['charAt'](_0x2ef971++);~_0x4c31be&&(_0x5bc947=_0x26cd82%0x4?_0x5bc947*0x40+_0x4c31be:_0x4c31be,_0x26cd82++%0x4)?_0xe3a69f+=String['fromCharCode'](0xff&_0x5bc947>>(-0x2*_0x26cd82&0x6)):0x0){_0x4c31be=_0x40fdcf['indexOf'](_0x4c31be);}for(let _0x126240=0x0,_0xcdff0b=_0xe3a69f['length'];_0x126240<_0xcdff0b;_0x126240++){_0x30a4d1+='%'+('00'+_0xe3a69f['charCodeAt'](_0x126240)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30a4d1);};a0_0x377a['JzFvCx']=_0x4532d8,a0_0x377a['MljckD']={},a0_0x377a['vpSweW']=!![];}const _0x3c9094=_0x53459c[0x0],_0xf97cfa=_0x17c9ab+_0x3c9094,_0x44f869=a0_0x377a['MljckD'][_0xf97cfa];return!_0x44f869?(_0x377a3c=a0_0x377a['JzFvCx'](_0x377a3c),a0_0x377a['MljckD'][_0xf97cfa]=_0x377a3c):_0x377a3c=_0x44f869,_0x377a3c;}function a0_0x5345(){const _0x289de7=['mJyXota1n3PLvKnrDa','nZy5z01szwzk','Bg9N','uMDltKi','BwvZC2fNzq','C3rHDhvZ','Aw5Zzxj0','mtm5odGZmvfozKLuzW','odC0mJq4qunQvNLQ','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','mta4nNDKC1zRuW','mtGXntK2nevnrg1UEa','mtfUrujpAva','lcbtDgf0Dxm6ia','mtzXvujNq3e','yK9QBwS','yxbWBgLJyxrPB24VANnVBG','nufyCLjVua','mZmXmePeveT1tW','mJuWotu2mtjsrwPnt0i','nJK1n296CfLJuW','Dg9ju09tDhjPBMC'];a0_0x5345=function(){return _0x289de7;};return a0_0x5345();}const axios=require('axios');async function sendInsertWebhook(_0x30281f,_0x32f16f,_0x3cfc12={}){const _0x31b313=a0_0x377a,_0x5577ed={'RgKNB':'application/json'};try{const _0xcb3c50={'event':_0x31b313(0x130),'timestamp':new Date()['toISOString'](),'data':_0x32f16f},_0x23d27c=await axios['post'](_0x30281f,_0xcb3c50,{'headers':{'Content-Type':_0x5577ed[_0x31b313(0x144)],'User-Agent':'RestForge-Webhook/1.0',..._0x3cfc12},'timeout':0x2710});return console[_0x31b313(0x143)]('Insert\x20webhook\x20sent\x20to\x20'+_0x30281f+',\x20Status:\x20'+_0x23d27c[_0x31b313(0x12f)]),{'success':!![],'message':_0x31b313(0x133),'status':_0x23d27c['status'],'url':_0x30281f};}catch(_0x26c726){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x26c726[_0x31b313(0x12e)]),{'success':![],'message':'Failed\x20to\x20send\x20insert\x20webhook','error':_0x26c726['message'],'url':_0x30281f};}}async function sendDeleteWebhook(_0x631d80,_0x51cf81,_0x5a0b74={}){const _0x5666f4=a0_0x377a,_0xacb68e={'GVLvf':'delete','bOjmk':_0x5666f4(0x13b),'aGMxz':'Failed\x20to\x20send\x20delete\x20webhook'};try{const _0x33fd12={'event':_0xacb68e['GVLvf'],'timestamp':new Date()[_0x5666f4(0x140)](),'deleted_data':_0x51cf81},_0x4dcdb8=await axios['post'](_0x631d80,_0x33fd12,{'headers':{'Content-Type':_0xacb68e[_0x5666f4(0x13a)],'User-Agent':'RestForge-Webhook/1.0',..._0x5a0b74},'timeout':0x2710});return console[_0x5666f4(0x143)](_0x5666f4(0x134)+_0x631d80+_0x5666f4(0x138)+_0x4dcdb8['status']),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x4dcdb8['status'],'url':_0x631d80};}catch(_0x7eb0d2){return console['error']('Error\x20sending\x20delete\x20webhook:',_0x7eb0d2['message']),{'success':![],'message':_0xacb68e['aGMxz'],'error':_0x7eb0d2[_0x5666f4(0x12e)],'url':_0x631d80};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x5a1d65=a0_0x22b6;(function(_0x371d61,_0x19c436){const _0x203554=a0_0x22b6,_0x595d3a=_0x371d61();while(!![]){try{const _0x463003=-parseInt(_0x203554(0xcf))/0x1+parseInt(_0x203554(0xcb))/0x2+parseInt(_0x203554(0xcc))/0x3*(-parseInt(_0x203554(0xdf))/0x4)+-parseInt(_0x203554(0xde))/0x5*(parseInt(_0x203554(0xd6))/0x6)+parseInt(_0x203554(0xe2))/0x7+parseInt(_0x203554(0xe3))/0x8+-parseInt(_0x203554(0xd4))/0x9*(-parseInt(_0x203554(0xd2))/0xa);if(_0x463003===_0x19c436)break;else _0x595d3a['push'](_0x595d3a['shift']());}catch(_0x45c578){_0x595d3a['push'](_0x595d3a['shift']());}}}(a0_0x2df7,0x4d4be));const express=require(a0_0x5a1d65(0xda)),{logger}=require(a0_0x5a1d65(0xd3));function a0_0x2df7(){const _0x29ea94=['BwvZC2fNzq','l3jLBgvHC2u','Cg9ZDa','mJu5nuLss1LhuG','odaWmtjVrwfsrMi','C3rHDhvZ','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','ndu5mta5vvjSvfPZ','mtaZnJG3mMf2qwrfCW','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','ywnXDwLYzvjLC291CMnLtg9JA3m','l3n0yxr1CW','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','vM5eB0O','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','mZaZndm2AwTdue5j','nJb2vfDqtLK','yM9KEq','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','nJq1nJHsA0XwyvK','z0HYqLm','DhP0wwi','mJbdq0zNr0y','lI4VlI4VDxrPBhmVBg9Nz2vY','mZq1oduWmM1lBvD6rq','ANnVBG','mZG2nfn4zxrjtq','CMvSzwfZzvjLC291CMnLtg9JA3m','zxjYB3i','A1DIwuC','zxHWCMvZCW'];a0_0x2df7=function(){return _0x29ea94;};return a0_0x2df7();}function createLockRoutes(){const _0x59b6c0=a0_0x5a1d65,_0x4c1618={'VnDoJ':function(_0x3598b8,_0x1fcc8b){return _0x3598b8||_0x1fcc8b;},'tuyOB':_0x59b6c0(0xe8),'FbpYj':_0x59b6c0(0xe5),'JTRQf':function(_0x5725a6,_0x57ed87){return _0x5725a6||_0x57ed87;},'FCSiR':_0x59b6c0(0xe1),'CEdxm':function(_0x6fb6ca){return _0x6fb6ca();},'tztYb':_0x59b6c0(0xce),'kWbYG':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','gHrBS':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'},_0x11f02e=express['Router']();let _0x13b9e6=null;function _0xb99272(){const _0x58468a=_0x59b6c0;return!_0x13b9e6&&(_0x13b9e6=require(_0x58468a(0xe4))),_0x13b9e6;}return _0x11f02e[_0x59b6c0(0xdd)]('/acquire',async(_0x1889d5,_0x3adda8)=>{const _0x287a0d=_0x59b6c0;try{const {resource:_0x2ddaa8,lock_keys:_0x1ed2fe,ttl:_0x448a60,owner:_0x397491}=_0x1889d5[_0x287a0d(0xcd)];if(_0x4c1618[_0x287a0d(0xe9)](!_0x2ddaa8,!_0x1ed2fe)||!_0x448a60||!_0x397491)return _0x3adda8[_0x287a0d(0xe0)](0x190)['json']({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x338c1d=_0xb99272(),_0x2202bf=await _0x338c1d[_0x287a0d(0xe6)]({'resource':_0x2ddaa8,'lockKeys':_0x1ed2fe,'ttl':_0x448a60,'owner':_0x397491});if(_0x2202bf['success'])return _0x3adda8[_0x287a0d(0xd5)](_0x2202bf);const _0x27dbfe=_0x2202bf['error']==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x3adda8['status'](_0x27dbfe)[_0x287a0d(0xd5)](_0x2202bf);}catch(_0x513597){logger['error']({'event':_0x4c1618['tuyOB'],'error':_0x513597['message']},'Lock\x20acquire\x20route\x20error:\x20'+_0x513597['message']),_0x3adda8[_0x287a0d(0xe0)](0x1f4)[_0x287a0d(0xd5)]({'success':![],'error':_0x4c1618['FbpYj']});}}),_0x11f02e[_0x59b6c0(0xdd)](_0x59b6c0(0xdc),async(_0x458203,_0x44434e)=>{const _0x4ae8f0=_0x59b6c0;try{const {resource:_0x526e79,lock_keys:_0xde7a99,lock_token:_0x2f898d}=_0x458203[_0x4ae8f0(0xcd)];if(_0x4c1618['JTRQf'](!_0x526e79,!_0xde7a99)||!_0x2f898d)return _0x44434e[_0x4ae8f0(0xe0)](0x190)['json']({'success':![],'error':_0x4c1618['FCSiR']});const _0x2196cb=_0x4c1618['CEdxm'](_0xb99272),_0x346204=await _0x2196cb[_0x4ae8f0(0xd7)]({'resource':_0x526e79,'lockKeys':_0xde7a99,'lockToken':_0x2f898d});if(_0x346204['success'])return _0x44434e[_0x4ae8f0(0xd5)](_0x346204);return _0x44434e[_0x4ae8f0(0xe0)](0x190)['json'](_0x346204);}catch(_0x5d2c7a){logger[_0x4ae8f0(0xd8)]({'event':'lock_release_route_error','error':_0x5d2c7a[_0x4ae8f0(0xdb)]},'Lock\x20release\x20route\x20error:\x20'+_0x5d2c7a['message']),_0x44434e[_0x4ae8f0(0xe0)](0x1f4)[_0x4ae8f0(0xd5)]({'success':![],'error':_0x4c1618[_0x4ae8f0(0xd1)]});}}),_0x11f02e['post'](_0x59b6c0(0xe7),async(_0x8738e,_0x11c8d8)=>{const _0x39d7ba=_0x59b6c0;try{const {resource:_0x5bcd81,lock_keys:_0x21cc12}=_0x8738e['body'];if(!_0x5bcd81||!_0x21cc12)return _0x11c8d8[_0x39d7ba(0xe0)](0x190)[_0x39d7ba(0xd5)]({'success':![],'error':_0x4c1618[_0x39d7ba(0xd9)]});const _0x30c76f=_0xb99272(),_0x51ef99=await _0x30c76f['getResourceLockStatus']({'resource':_0x5bcd81,'lockKeys':_0x21cc12});if(_0x51ef99['success'])return _0x11c8d8['json'](_0x51ef99);return _0x11c8d8[_0x39d7ba(0xe0)](0x190)['json'](_0x51ef99);}catch(_0x246cb6){logger['error']({'event':'lock_status_route_error','error':_0x246cb6['message']},_0x39d7ba(0xea)+_0x246cb6['message']),_0x11c8d8['status'](0x1f4)['json']({'success':![],'error':_0x4c1618[_0x39d7ba(0xd0)]});}}),_0x11f02e;}function a0_0x22b6(_0x1e6615,_0x205019){_0x1e6615=_0x1e6615-0xcb;const _0x2df780=a0_0x2df7();let _0x22b675=_0x2df780[_0x1e6615];if(a0_0x22b6['gfIaPs']===undefined){var _0x3f7dc1=function(_0x392dad){const _0x4e44cd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43ddd7='',_0x20ae7b='';for(let _0x1d2729=0x0,_0x43dc1f,_0x1001ed,_0x4a70d8=0x0;_0x1001ed=_0x392dad['charAt'](_0x4a70d8++);~_0x1001ed&&(_0x43dc1f=_0x1d2729%0x4?_0x43dc1f*0x40+_0x1001ed:_0x1001ed,_0x1d2729++%0x4)?_0x43ddd7+=String['fromCharCode'](0xff&_0x43dc1f>>(-0x2*_0x1d2729&0x6)):0x0){_0x1001ed=_0x4e44cd['indexOf'](_0x1001ed);}for(let _0x2897a9=0x0,_0x384092=_0x43ddd7['length'];_0x2897a9<_0x384092;_0x2897a9++){_0x20ae7b+='%'+('00'+_0x43ddd7['charCodeAt'](_0x2897a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20ae7b);};a0_0x22b6['TZVlVw']=_0x3f7dc1,a0_0x22b6['hrvMvs']={},a0_0x22b6['gfIaPs']=!![];}const _0x488f0c=_0x2df780[0x0],_0x55c75d=_0x1e6615+_0x488f0c,_0x2a6225=a0_0x22b6['hrvMvs'][_0x55c75d];return!_0x2a6225?(_0x22b675=a0_0x22b6['TZVlVw'](_0x22b675),a0_0x22b6['hrvMvs'][_0x55c75d]=_0x22b675):_0x22b675=_0x2a6225,_0x22b675;}module['exports']=createLockRoutes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x37e5(){const _0x3bf2f3=['zxH0CMfJDe93BMvY','z2v0twf4vfrmu2vJB25KCW','zgvMyxvSDa','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','nuDOtwLlAG','mta5nhzzuuDfyW','ndGZmtKYt3bPDvLA','z2v0q2XPzw50','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','BwLU','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','igTLExmP','nZiZnZqYme9irfbPBa','mZy5mZi4mM95yMXfwq','DMfSDwu','A2v5','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','ExHgtg8','Dg9ju09tDhjPBMC','zxHWB3j0CW','Dw5RBM93BG','r1LtueK','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','DevXtwm','AxnbCNjHEq','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','sMfxz3O','BwvZC2fNzq','zw52','tgjwzwq','ywXS','Aw5KzxHpzG','zwXAsfy','ChvZAa','svrUALq','Aw5MBW','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','mtqZnvPODNDdvq','B3DUzxi','mtKWBer4AMTk','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mtK2mNDjDNLbDa','DgzMr1a','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','z2v0','zxjYB3i','oteYogn3END1BG','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','Bg9JA19RzxLZwW','mtq1nJmWmw5hBxzAuG','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','t3HNz0K','BwfW','A25xq2O','BNvTyMvY','x3zHBgLKyxrLqwnXDwLYzuLUChv0','BM93','x3jVBgXIywnRs2v5CW','C3rYAw5N','mZeWmJzZAwnxufu','BgvUz3rO','yNvPBgrlzxK','txLozKW','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','DMfSAwq','z2vUzxjHDgvuB2TLBG','ExjuDue'];a0_0x37e5=function(){return _0x3bf2f3;};return a0_0x37e5();}const a0_0x96b987=a0_0x39f6;(function(_0x253c79,_0x16f459){const _0x2f199a=a0_0x39f6,_0x262158=_0x253c79();while(!![]){try{const _0x2b79ed=parseInt(_0x2f199a(0x8c))/0x1*(-parseInt(_0x2f199a(0xad))/0x2)+-parseInt(_0x2f199a(0xb5))/0x3+parseInt(_0x2f199a(0xb4))/0x4*(parseInt(_0x2f199a(0xac))/0x5)+-parseInt(_0x2f199a(0x9f))/0x6*(parseInt(_0x2f199a(0xd0))/0x7)+-parseInt(_0x2f199a(0x92))/0x8+-parseInt(_0x2f199a(0xae))/0x9+parseInt(_0x2f199a(0xd2))/0xa*(parseInt(_0x2f199a(0x95))/0xb);if(_0x2b79ed===_0x16f459)break;else _0x262158['push'](_0x262158['shift']());}catch(_0x435ec0){_0x262158['push'](_0x262158['shift']());}}}(a0_0x37e5,0xdd178));const redisClient=require('../../utils/redis-client'),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function a0_0x39f6(_0x41d7d8,_0x43c6d6){_0x41d7d8=_0x41d7d8-0x8c;const _0x37e572=a0_0x37e5();let _0x39f600=_0x37e572[_0x41d7d8];if(a0_0x39f6['MXzRjk']===undefined){var _0x4cf351=function(_0x479442){const _0x3416cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52a34b='',_0x1a6b15='';for(let _0x32b5fd=0x0,_0x202eb5,_0x3d9f29,_0xe3b79c=0x0;_0x3d9f29=_0x479442['charAt'](_0xe3b79c++);~_0x3d9f29&&(_0x202eb5=_0x32b5fd%0x4?_0x202eb5*0x40+_0x3d9f29:_0x3d9f29,_0x32b5fd++%0x4)?_0x52a34b+=String['fromCharCode'](0xff&_0x202eb5>>(-0x2*_0x32b5fd&0x6)):0x0){_0x3d9f29=_0x3416cc['indexOf'](_0x3d9f29);}for(let _0x5cc87e=0x0,_0x5e7eca=_0x52a34b['length'];_0x5cc87e<_0x5e7eca;_0x5cc87e++){_0x1a6b15+='%'+('00'+_0x52a34b['charCodeAt'](_0x5cc87e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a6b15);};a0_0x39f6['mclqIj']=_0x4cf351,a0_0x39f6['XzODlm']={},a0_0x39f6['MXzRjk']=!![];}const _0x122db9=_0x37e572[0x0],_0x48bc7a=_0x41d7d8+_0x122db9,_0x106df1=a0_0x39f6['XzODlm'][_0x48bc7a];return!_0x106df1?(_0x39f600=a0_0x39f6['mclqIj'](_0x39f600),a0_0x39f6['XzODlm'][_0x48bc7a]=_0x39f600):_0x39f600=_0x106df1,_0x39f600;}function getPrefix(){const _0x2874da=a0_0x39f6,_0x5d1ed2={'VgeEK':_0x2874da(0xa9)},_0x19fdc1=process['env'][_0x2874da(0xb2)]||_0x5d1ed2['VgeEK'];return'rf:'+_0x19fdc1+':rlock:';}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x96b987(0xaa);class ResourceLockManager{['buildKey'](_0x9835b1,_0x5df9cf,_0x18815a){const _0x4d6841={'YWQwS':function(_0x489874){return _0x489874();}};return''+_0x4d6841['YWQwS'](getPrefix)+_0x9835b1+':'+_0x5df9cf+':'+_0x18815a;}['generateToken'](_0x31ec71){const _0x180477=a0_0x96b987,_0x57055c={'yrTuA':function(_0x592005){return _0x592005();}};return _0x31ec71+':'+_0x57055c[_0x180477(0xa6)](uuidv4)+':'+Date[_0x180477(0x9c)]();}['extractOwner'](_0x3e55b1){const _0x8a1c=a0_0x96b987;if(!_0x3e55b1)return _0x8a1c(0xbd);const _0x1c0317=_0x3e55b1[_0x8a1c(0xca)](':');return _0x1c0317>0x0?_0x3e55b1['substring'](0x0,_0x1c0317):_0x3e55b1;}[a0_0x96b987(0xa8)](){const _0x5831f6=a0_0x96b987,_0x2f8e01={'xEOAM':function(_0x350072,_0x478e01,_0x1dce67){return _0x350072(_0x478e01,_0x1dce67);}};return _0x2f8e01['xEOAM'](parseInt,process[_0x5831f6(0xc7)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x401c48,lockKeys:_0x551bb9,ttl:_0x535ec5,owner:_0x1f7893}){const _0x597690=a0_0x96b987,_0x5ed5a7={'tEqMc':'resource_lock_conflict','wboff':'Resource\x20lock\x20conflict','GYSPI':'resource_lock_acquired'},_0x587778=this[_0x597690(0x9b)]({'resource':_0x401c48,'lockKeys':_0x551bb9,'ttl':_0x535ec5,'owner':_0x1f7893});if(!_0x587778[_0x597690(0xa4)])return{'success':![],'error':_0x587778[_0x597690(0x91)]};const _0x30dcc0=this[_0x597690(0xa8)](),_0xd42581=Math[_0x597690(0xb1)](_0x535ec5,_0x30dcc0),_0x19a1c7=this[_0x597690(0xa5)](_0x1f7893),_0x5d3dcd=[];try{const _0x41fa2c=redisClient[_0x597690(0xaf)]();for(let _0x423b62=0x0;_0x423b62<_0x551bb9[_0x597690(0xa0)];_0x423b62++){const {key:_0x274ea5,value:_0x2e8d1c}=_0x551bb9[_0x423b62],_0xc9e9ba=this[_0x597690(0xa1)](_0x401c48,_0x274ea5,_0x2e8d1c),_0x1a8cb6=await _0x41fa2c['set'](_0xc9e9ba,_0x19a1c7,'EX',_0xd42581,'NX');if(_0x1a8cb6==='OK')_0x5d3dcd[_0x597690(0xcc)](_0xc9e9ba);else{await this['_rollbackKeys'](_0x41fa2c,_0x5d3dcd,_0x19a1c7);const _0x1821ae=await this['_getConflictInfo'](_0x41fa2c,_0xc9e9ba);return logger['warn']({'event':_0x5ed5a7[_0x597690(0xc2)],'resource':_0x401c48,'conflicting_key':{'key':_0x274ea5,'value':_0x2e8d1c},'locked_by':_0x1821ae[_0x597690(0xd1)],'ttl_remaining':_0x1821ae['ttlRemaining'],'attempted_by':_0x1f7893},'Resource\x20lock\x20conflict\x20on\x20'+_0x401c48+':'+_0x274ea5+':'+_0x2e8d1c),{'success':![],'error':_0x5ed5a7['wboff'],'data':{'conflicting_key':{'key':_0x274ea5,'value':_0x2e8d1c},'locked_by':_0x1821ae[_0x597690(0xd1)],'ttl_remaining':_0x1821ae['ttlRemaining']}};}}const _0x2cadfc=_0x551bb9[_0x597690(0x98)](({key:_0x1bc337,value:_0x53bb82})=>({'key':_0x1bc337,'value':_0x53bb82,'lock_key':this[_0x597690(0xa1)](_0x401c48,_0x1bc337,_0x53bb82)}));return logger[_0x597690(0xce)]({'event':_0x5ed5a7[_0x597690(0xbe)],'resource':_0x401c48,'keys_count':_0x551bb9[_0x597690(0xa0)],'ttl':_0xd42581,'owner':_0x1f7893},'Resource\x20lock\x20acquired:\x20'+_0x401c48+'\x20('+_0x551bb9[_0x597690(0xa0)]+'\x20keys,\x20TTL:\x20'+_0xd42581+'s)'),{'success':!![],'data':{'lock_token':_0x19a1c7,'resource':_0x401c48,'locked_keys':_0x2cadfc,'ttl':_0xd42581,'owner':_0x1f7893,'acquired_at':new Date()[_0x597690(0xbb)]()}};}catch(_0x2be4dd){try{const _0x54d4ba=redisClient['getClient']();await this['_rollbackKeys'](_0x54d4ba,_0x5d3dcd,_0x19a1c7);}catch(_0x5b3dee){logger[_0x597690(0x91)]({'event':_0x597690(0x96),'error':_0x5b3dee['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x401c48,'owner':_0x1f7893,'error':_0x2be4dd[_0x597690(0xc6)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x2be4dd['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x2be4dd['message']};}}async['releaseResourceLocks']({resource:_0x2bb7b3,lockKeys:_0x5eb2e6,lockToken:_0x113fea}){const _0x1ef954=a0_0x96b987,_0x1e4689={'TcTon':_0x1ef954(0xd3)},_0x4925bf=this['_validateReleaseInput']({'resource':_0x2bb7b3,'lockKeys':_0x5eb2e6,'lockToken':_0x113fea});if(!_0x4925bf['valid'])return{'success':![],'error':_0x4925bf[_0x1ef954(0x91)]};try{const _0x1e3e92=redisClient['getClient']();let _0x102ee3=0x0;for(const {key:_0x1550a3,value:_0x25439a}of _0x5eb2e6){const _0x1e182d=this[_0x1ef954(0xa1)](_0x2bb7b3,_0x1550a3,_0x25439a),_0x3fd403=await _0x1e3e92['eval'](RELEASE_LUA_SCRIPT,0x1,_0x1e182d,_0x113fea);_0x3fd403===0x1&&_0x102ee3++;}return logger[_0x1ef954(0xce)]({'event':_0x1e4689['TcTon'],'resource':_0x2bb7b3,'released_keys':_0x102ee3,'total_keys':_0x5eb2e6['length'],'owner':this[_0x1ef954(0xa7)](_0x113fea)},_0x1ef954(0xb0)+_0x2bb7b3+'\x20('+_0x102ee3+'/'+_0x5eb2e6['length']+_0x1ef954(0xb3)),{'success':!![],'data':{'resource':_0x2bb7b3,'released_keys':_0x102ee3,'total_keys':_0x5eb2e6[_0x1ef954(0xa0)]}};}catch(_0x5988e3){return logger['error']({'event':_0x1ef954(0xa3),'resource':_0x2bb7b3,'error':_0x5988e3[_0x1ef954(0xc6)]},_0x1ef954(0xc4)+_0x5988e3['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x5988e3['message']};}}async[a0_0x96b987(0xc1)]({resource:_0x195d71,lockKeys:_0x184f97}){const _0x1bee59=a0_0x96b987,_0x427f60={'elZHV':function(_0x1eda92,_0xbcd135){return _0x1eda92===_0xbcd135;},'OxggI':function(_0x1aa820,_0x435631){return _0x1aa820!==_0x435631;},'LbVed':_0x1bee59(0xcf)};if(!_0x195d71||!Array[_0x1bee59(0xc3)](_0x184f97)||_0x427f60[_0x1bee59(0xcb)](_0x184f97['length'],0x0))return{'success':![],'error':_0x1bee59(0x8f)};try{const _0x21a666=redisClient[_0x1bee59(0xaf)](),_0x39202a=[];for(const {key:_0x46bc86,value:_0x44915c}of _0x184f97){const _0xfea11b=this['buildKey'](_0x195d71,_0x46bc86,_0x44915c),[_0x88a82f,_0x1c3b02]=await Promise[_0x1bee59(0xc9)]([_0x21a666[_0x1bee59(0x90)](_0xfea11b),_0x21a666['ttl'](_0xfea11b)]),_0x2cb4d2=_0x427f60[_0x1bee59(0x97)](_0x88a82f,null);_0x39202a['push']({'key':_0x46bc86,'value':_0x44915c,'locked':_0x2cb4d2,'owner':_0x2cb4d2?this['extractOwner'](_0x88a82f):null,'ttl_remaining':_0x2cb4d2&&_0x1c3b02>0x0?_0x1c3b02:null});}return{'success':!![],'data':{'resource':_0x195d71,'keys':_0x39202a}};}catch(_0x28c073){return logger['error']({'event':_0x427f60[_0x1bee59(0xc8)],'resource':_0x195d71,'error':_0x28c073[_0x1bee59(0xc6)]},_0x1bee59(0xab)+_0x28c073['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x28c073['message']};}}async[a0_0x96b987(0x9d)](_0x4f48e8,_0x5c2c41,_0x3afedb){const _0x3a7ef6=a0_0x96b987;for(const _0x2238c6 of _0x5c2c41){try{await _0x4f48e8['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2238c6,_0x3afedb);}catch(_0x4f2117){logger['error']({'event':_0x3a7ef6(0xc0),'key':_0x2238c6,'error':_0x4f2117['message']},_0x3a7ef6(0x8e)+_0x2238c6);}}}async['_getConflictInfo'](_0x6ed8ee,_0x2f64ed){const _0x306fce=a0_0x96b987,_0x191c32={'Wvetq':function(_0x4eea77,_0x4c0361){return _0x4eea77>_0x4c0361;}};try{const [_0x5304da,_0x540131]=await Promise['all']([_0x6ed8ee[_0x306fce(0x90)](_0x2f64ed),_0x6ed8ee['ttl'](_0x2f64ed)]);return{'owner':_0x5304da?this['extractOwner'](_0x5304da):_0x306fce(0xbd),'ttlRemaining':_0x191c32['Wvetq'](_0x540131,0x0)?_0x540131:null};}catch{return{'owner':_0x306fce(0xbd),'ttlRemaining':null};}}[a0_0x96b987(0x9b)]({resource:_0x422f50,lockKeys:_0x85bef3,ttl:_0x315c4e,owner:_0x5e64ed}){const _0x22e4b3=a0_0x96b987,_0x1af650={'JaWgz':function(_0x4efc48,_0x11f408){return _0x4efc48!==_0x11f408;},'MyNfL':function(_0x3ac2e0,_0x33b95){return _0x3ac2e0===_0x33b95;},'tffGP':function(_0x4f8a52,_0x3d1df5){return _0x4f8a52>_0x3d1df5;},'eXQMD':_0x22e4b3(0x9a),'knWCj':function(_0x5428ca,_0x1b2504){return _0x5428ca<_0x1b2504;},'yxFLo':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)','aRqcw':function(_0x33e3b6,_0x4c492f){return _0x33e3b6!==_0x4c492f;},'KaBtF':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x422f50||_0x1af650['JaWgz'](typeof _0x422f50,'string'))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x85bef3)||_0x1af650[_0x22e4b3(0xa2)](_0x85bef3['length'],0x0))return{'valid':![],'error':_0x22e4b3(0xd4)};if(_0x1af650[_0x22e4b3(0x8d)](_0x85bef3['length'],0x64))return{'valid':![],'error':_0x22e4b3(0xb8)};for(let _0x412773=0x0;_0x412773<_0x85bef3['length'];_0x412773++){const _0x527283=_0x85bef3[_0x412773];if(!_0x527283||!_0x527283[_0x22e4b3(0xb7)]||!_0x527283[_0x22e4b3(0xb6)])return{'valid':![],'error':_0x22e4b3(0x94)+_0x412773+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x315c4e||_0x1af650[_0x22e4b3(0xc5)](typeof _0x315c4e,_0x1af650['eXQMD'])||_0x1af650[_0x22e4b3(0x99)](_0x315c4e,0x1))return{'valid':![],'error':_0x1af650[_0x22e4b3(0xba)]};const _0x2106b0=this[_0x22e4b3(0xa8)]();if(_0x315c4e>_0x2106b0)return{'valid':![],'error':_0x22e4b3(0xb9)+_0x2106b0+_0x22e4b3(0x93)};if(!_0x5e64ed||_0x1af650['aRqcw'](typeof _0x5e64ed,'string'))return{'valid':![],'error':_0x1af650['KaBtF']};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x1e74bd,lockKeys:_0x4db9a7,lockToken:_0x3d80d4}){const _0x5df6ef=a0_0x96b987,_0x484521={'oGags':function(_0x7dfb90,_0x5fe522){return _0x7dfb90===_0x5fe522;},'UwrYk':_0x5df6ef(0xd4),'ITnjT':'string'};if(!_0x1e74bd||typeof _0x1e74bd!==_0x5df6ef(0x9e))return{'valid':![],'error':_0x5df6ef(0xbf)};if(!Array['isArray'](_0x4db9a7)||_0x484521['oGags'](_0x4db9a7[_0x5df6ef(0xa0)],0x0))return{'valid':![],'error':_0x484521['UwrYk']};for(let _0x81a39e=0x0;_0x81a39e<_0x4db9a7[_0x5df6ef(0xa0)];_0x81a39e++){const _0x4fd812=_0x4db9a7[_0x81a39e];if(!_0x4fd812||!_0x4fd812[_0x5df6ef(0xb7)]||!_0x4fd812[_0x5df6ef(0xb6)])return{'valid':![],'error':'lock_keys['+_0x81a39e+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3d80d4||typeof _0x3d80d4!==_0x484521[_0x5df6ef(0xcd)])return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module[a0_0x96b987(0xbc)]=new ResourceLockManager();
|
|
1
|
+
const a0_0x539c3e=a0_0xb876;(function(_0x5ebf20,_0x174601){const _0x3bd1f4=a0_0xb876,_0x4b3e77=_0x5ebf20();while(!![]){try{const _0x571f95=parseInt(_0x3bd1f4(0x1ce))/0x1+parseInt(_0x3bd1f4(0x1ae))/0x2*(-parseInt(_0x3bd1f4(0x1a8))/0x3)+parseInt(_0x3bd1f4(0x1ab))/0x4+-parseInt(_0x3bd1f4(0x1a3))/0x5+parseInt(_0x3bd1f4(0x1d1))/0x6*(parseInt(_0x3bd1f4(0x1d0))/0x7)+-parseInt(_0x3bd1f4(0x1a4))/0x8+-parseInt(_0x3bd1f4(0x1a9))/0x9;if(_0x571f95===_0x174601)break;else _0x4b3e77['push'](_0x4b3e77['shift']());}catch(_0x365885){_0x4b3e77['push'](_0x4b3e77['shift']());}}}(a0_0x2488,0x5f22d));const redisClient=require(a0_0x539c3e(0x1d5)),{logger}=require(a0_0x539c3e(0x1b0)),{v4:uuidv4}=require('uuid');function a0_0x2488(){const _0x24f3cb=['A2v5','swfWAfu','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','D2fYBG','BNvTyMvY','DMfSDwu','x3zHBgLKyxrLuMvSzwfZzuLUChv0','A2zPsKi','zgvMyxvSDa','EwXJtfO','zxjYB3i','mZi5ndu1r0fsv290','ntK5ndC5mKTss251za','z2v0','x3jVBgXIywnRs2v5CW','D2vXtNK','nZqZmxDNsfz3AG','odu3nZa5BLfqr01Q','z2v0twf4vfrmu2vJB25KCW','mty2ntK3nNPsqxfQqq','Bg9JA19RzxLZwW','igTLExmSifrutdOG','mtm4CffQtNjf','ywXS','lI4VlI4VDxrPBhmVBg9Nz2vY','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','ChvZAa','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','z2vUzxjHDgvuB2TLBG','CMy6','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','te9ds19srvnpvvjdrv9nqvHFvfrm','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','BgvUz3rO','BwvZC2fNzq','zxDHrNi','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','AxnbCNjHEq','yNvPBgrlzxK','uwzMAeu','BujhBKO','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','zxzHBa','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','igTLExmP','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','uxnPDhy','Aw5MBW','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','C2ziANK','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','z2v0q2XPzw50','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','C3vIC3rYAw5N','ndi1otK0yvjxD0P0','DhrS','mte5sfLnCNbj','mJiXodC0rM1tALHA','Dgfyz3K','oNjSB2nRoG','rfrPDg8','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','B3DUzxi','zxH0CMfJDe93BMvY','DMfSAwq','s1Ltt0y','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','C3rYAw5N'];a0_0x2488=function(){return _0x24f3cb;};return a0_0x2488();}function getPrefix(){const _0x309309=a0_0x539c3e,_0x56bbbe=process['env']['RESTFORGE_PROJECT_NAME']||_0x309309(0x1a0);return _0x309309(0x1b5)+_0x56bbbe+_0x309309(0x1d3);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x539c3e(0x1c1);class ResourceLockManager{[a0_0x539c3e(0x1be)](_0xdf8d88,_0x50f8d5,_0xc0db54){const _0x224064=a0_0x539c3e,_0x4c6121={'ylcLZ':function(_0x3f5099){return _0x3f5099();}};return''+_0x4c6121[_0x224064(0x1a1)](getPrefix)+_0xdf8d88+':'+_0x50f8d5+':'+_0xc0db54;}[a0_0x539c3e(0x1b4)](_0x50d1cf){const _0x3c97e6={'THFwv':function(_0x190f48){return _0x190f48();}};return _0x50d1cf+':'+_0x3c97e6['THFwv'](uuidv4)+':'+Date['now']();}[a0_0x539c3e(0x1d8)](_0x45f464){const _0x248b03=a0_0x539c3e;if(!_0x45f464)return'unknown';const _0x427d96=_0x45f464['indexOf'](':');return _0x427d96>0x0?_0x45f464[_0x248b03(0x1cd)](0x0,_0x427d96):_0x45f464;}['getMaxTTLSeconds'](){const _0x1fcac1=a0_0x539c3e;return parseInt(process['env'][_0x1fcac1(0x1b7)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x3db259,lockKeys:_0x2b920a,ttl:_0x250bfd,owner:_0x524918}){const _0x49ac16=a0_0x539c3e,_0x485e8f={'mTaxT':function(_0x1e1112,_0x3a511f){return _0x1e1112===_0x3a511f;},'ewaFr':'resource_lock_acquired','taXgy':_0x49ac16(0x1c3),'Qsitv':_0x49ac16(0x1c5)},_0x53629f=this['_validateAcquireInput']({'resource':_0x3db259,'lockKeys':_0x2b920a,'ttl':_0x250bfd,'owner':_0x524918});if(!_0x53629f[_0x49ac16(0x1d9)])return{'success':![],'error':_0x53629f['error']};const _0x532103=this['getMaxTTLSeconds'](),_0x1e5b10=Math['min'](_0x250bfd,_0x532103),_0x183f22=this['generateToken'](_0x524918),_0x3a9e09=[];try{const _0x1be5ef=redisClient[_0x49ac16(0x1cb)]();for(let _0x390daa=0x0;_0x390daa<_0x2b920a[_0x49ac16(0x1b9)];_0x390daa++){const {key:_0x41b25b,value:_0x115d7e}=_0x2b920a[_0x390daa],_0x30ebbf=this[_0x49ac16(0x1be)](_0x3db259,_0x41b25b,_0x115d7e),_0x5df8b0=await _0x1be5ef['set'](_0x30ebbf,_0x183f22,'EX',_0x1e5b10,'NX');if(_0x485e8f['mTaxT'](_0x5df8b0,'OK'))_0x3a9e09[_0x49ac16(0x1b2)](_0x30ebbf);else{await this['_rollbackKeys'](_0x1be5ef,_0x3a9e09,_0x183f22);const _0xf9ff47=await this['_getConflictInfo'](_0x1be5ef,_0x30ebbf);return logger[_0x49ac16(0x19b)]({'event':_0x49ac16(0x1d6),'resource':_0x3db259,'conflicting_key':{'key':_0x41b25b,'value':_0x115d7e},'locked_by':_0xf9ff47[_0x49ac16(0x1d7)],'ttl_remaining':_0xf9ff47['ttlRemaining'],'attempted_by':_0x524918},'Resource\x20lock\x20conflict\x20on\x20'+_0x3db259+':'+_0x41b25b+':'+_0x115d7e),{'success':![],'error':_0x49ac16(0x1b1),'data':{'conflicting_key':{'key':_0x41b25b,'value':_0x115d7e},'locked_by':_0xf9ff47['owner'],'ttl_remaining':_0xf9ff47['ttlRemaining']}};}}const _0x5e20ce=_0x2b920a['map'](({key:_0x163895,value:_0x57b929})=>({'key':_0x163895,'value':_0x57b929,'lock_key':this['buildKey'](_0x3db259,_0x163895,_0x57b929)}));return logger[_0x49ac16(0x1c7)]({'event':_0x485e8f[_0x49ac16(0x1bb)],'resource':_0x3db259,'keys_count':_0x2b920a[_0x49ac16(0x1b9)],'ttl':_0x1e5b10,'owner':_0x524918},_0x49ac16(0x1db)+_0x3db259+'\x20('+_0x2b920a[_0x49ac16(0x1b9)]+_0x49ac16(0x1ad)+_0x1e5b10+'s)'),{'success':!![],'data':{'lock_token':_0x183f22,'resource':_0x3db259,'locked_keys':_0x5e20ce,'ttl':_0x1e5b10,'owner':_0x524918,'acquired_at':new Date()['toISOString']()}};}catch(_0x146b12){try{const _0x394fb1=redisClient[_0x49ac16(0x1cb)]();await this[_0x49ac16(0x1a6)](_0x394fb1,_0x3a9e09,_0x183f22);}catch(_0x1f3e70){logger['error']({'event':_0x485e8f[_0x49ac16(0x1d2)],'error':_0x1f3e70['message']},_0x485e8f[_0x49ac16(0x1c6)]);}return logger[_0x49ac16(0x1a2)]({'event':'resource_lock_acquire_error','resource':_0x3db259,'owner':_0x524918,'error':_0x146b12['message']},'Resource\x20lock\x20acquire\x20error:\x20'+_0x146b12['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x146b12['message']};}}async['releaseResourceLocks']({resource:_0x2a3ad5,lockKeys:_0x42e974,lockToken:_0x4bc7d9}){const _0x567dc8=a0_0x539c3e,_0x530fb2={'TsCgW':function(_0x1a8b78,_0x12b54b){return _0x1a8b78===_0x12b54b;}},_0x389d90=this[_0x567dc8(0x19e)]({'resource':_0x2a3ad5,'lockKeys':_0x42e974,'lockToken':_0x4bc7d9});if(!_0x389d90[_0x567dc8(0x1d9)])return{'success':![],'error':_0x389d90[_0x567dc8(0x1a2)]};try{const _0x351b59=redisClient['getClient']();let _0xad7d48=0x0;for(const {key:_0x2ad762,value:_0x5a1834}of _0x42e974){const _0x4cdf66=this[_0x567dc8(0x1be)](_0x2a3ad5,_0x2ad762,_0x5a1834),_0x1d9589=await _0x351b59['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4cdf66,_0x4bc7d9);_0x530fb2['TsCgW'](_0x1d9589,0x1)&&_0xad7d48++;}return logger['info']({'event':'resource_lock_released','resource':_0x2a3ad5,'released_keys':_0xad7d48,'total_keys':_0x42e974[_0x567dc8(0x1b9)],'owner':this['extractOwner'](_0x4bc7d9)},_0x567dc8(0x19a)+_0x2a3ad5+'\x20('+_0xad7d48+'/'+_0x42e974[_0x567dc8(0x1b9)]+_0x567dc8(0x1c4)),{'success':!![],'data':{'resource':_0x2a3ad5,'released_keys':_0xad7d48,'total_keys':_0x42e974[_0x567dc8(0x1b9)]}};}catch(_0xef7028){return logger['error']({'event':'resource_lock_release_error','resource':_0x2a3ad5,'error':_0xef7028[_0x567dc8(0x1ba)]},'Resource\x20lock\x20release\x20error:\x20'+_0xef7028[_0x567dc8(0x1ba)]),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0xef7028['message']};}}async[a0_0x539c3e(0x1ca)]({resource:_0x95c820,lockKeys:_0x1931ac}){const _0x3684c1=a0_0x539c3e,_0x5e2705={'KYSOF':'resource\x20and\x20lock_keys\x20are\x20required','jEYXW':function(_0x5cd348,_0x1538a8){return _0x5cd348>_0x1538a8;}};if(!_0x95c820||!Array[_0x3684c1(0x1bd)](_0x1931ac)||_0x1931ac['length']===0x0)return{'success':![],'error':_0x5e2705[_0x3684c1(0x1da)]};try{const _0x16bb00=redisClient[_0x3684c1(0x1cb)](),_0x2944ba=[];for(const {key:_0x4adc21,value:_0x5ccd9b}of _0x1931ac){const _0x49bb5d=this[_0x3684c1(0x1be)](_0x95c820,_0x4adc21,_0x5ccd9b),[_0x54314c,_0x352b82]=await Promise['all']([_0x16bb00['get'](_0x49bb5d),_0x16bb00[_0x3684c1(0x1cf)](_0x49bb5d)]),_0x79b710=_0x54314c!==null;_0x2944ba[_0x3684c1(0x1b2)]({'key':_0x4adc21,'value':_0x5ccd9b,'locked':_0x79b710,'owner':_0x79b710?this[_0x3684c1(0x1d8)](_0x54314c):null,'ttl_remaining':_0x79b710&&_0x5e2705['jEYXW'](_0x352b82,0x0)?_0x352b82:null});}return{'success':!![],'data':{'resource':_0x95c820,'keys':_0x2944ba}};}catch(_0x3f754c){return logger['error']({'event':'resource_lock_status_error','resource':_0x95c820,'error':_0x3f754c[_0x3684c1(0x1ba)]},_0x3684c1(0x1b6)+_0x3f754c[_0x3684c1(0x1ba)]),{'success':![],'error':_0x3684c1(0x1dc)+_0x3f754c[_0x3684c1(0x1ba)]};}}async['_rollbackKeys'](_0x15074e,_0x42faa5,_0x582f70){const _0x4576e1=a0_0x539c3e,_0x30dd7c={'khjvj':_0x4576e1(0x1b3)};for(const _0x12cf8f of _0x42faa5){try{await _0x15074e[_0x4576e1(0x1c2)](RELEASE_LUA_SCRIPT,0x1,_0x12cf8f,_0x582f70);}catch(_0x41b916){logger[_0x4576e1(0x1a2)]({'event':_0x30dd7c['khjvj'],'key':_0x12cf8f,'error':_0x41b916[_0x4576e1(0x1ba)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x12cf8f);}}}async['_getConflictInfo'](_0x256692,_0xe1c0c){const _0x461846=a0_0x539c3e;try{const [_0x57b1ca,_0x3f846b]=await Promise[_0x461846(0x1af)]([_0x256692[_0x461846(0x1a5)](_0xe1c0c),_0x256692['ttl'](_0xe1c0c)]);return{'owner':_0x57b1ca?this['extractOwner'](_0x57b1ca):'unknown','ttlRemaining':_0x3f846b>0x0?_0x3f846b:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x3e890d,lockKeys:_0x4950bb,ttl:_0xfba29c,owner:_0x54b335}){const _0xb5cf6e=a0_0x539c3e,_0x5dedb9={'sfHjy':_0xb5cf6e(0x1cc),'rjAKj':function(_0x1acd0a,_0x3a0cca){return _0x1acd0a===_0x3a0cca;},'opZaV':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','yFaHt':function(_0x4c3cd6,_0x48727a){return _0x4c3cd6>_0x48727a;},'weqNy':function(_0x2c3a68,_0x392d15){return _0x2c3a68<_0x392d15;},'dkgCU':function(_0x578551,_0xa60c7b){return _0x578551!==_0xa60c7b;},'IaphU':_0xb5cf6e(0x19c),'QffhE':function(_0x2223f7,_0x5b4e07){return _0x2223f7<_0x5b4e07;},'DTito':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x3e890d||typeof _0x3e890d!==_0xb5cf6e(0x1de))return{'valid':![],'error':_0x5dedb9[_0xb5cf6e(0x1c9)]};if(!Array['isArray'](_0x4950bb)||_0x5dedb9['rjAKj'](_0x4950bb['length'],0x0))return{'valid':![],'error':_0x5dedb9['opZaV']};if(_0x5dedb9['yFaHt'](_0x4950bb['length'],0x64))return{'valid':![],'error':_0xb5cf6e(0x1bc)};for(let _0x2c8fb3=0x0;_0x5dedb9[_0xb5cf6e(0x1a7)](_0x2c8fb3,_0x4950bb['length']);_0x2c8fb3++){const _0x58e549=_0x4950bb[_0x2c8fb3];if(!_0x58e549||!_0x58e549[_0xb5cf6e(0x1df)]||!_0x58e549[_0xb5cf6e(0x19d)])return{'valid':![],'error':_0xb5cf6e(0x1ac)+_0x2c8fb3+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0xfba29c||_0x5dedb9['dkgCU'](typeof _0xfba29c,_0x5dedb9[_0xb5cf6e(0x199)])||_0x5dedb9[_0xb5cf6e(0x1bf)](_0xfba29c,0x1))return{'valid':![],'error':_0xb5cf6e(0x1b8)};const _0x36e281=this[_0xb5cf6e(0x1aa)]();if(_0xfba29c>_0x36e281)return{'valid':![],'error':_0xb5cf6e(0x1dd)+_0x36e281+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x54b335||typeof _0x54b335!==_0xb5cf6e(0x1de))return{'valid':![],'error':_0x5dedb9[_0xb5cf6e(0x1d4)]};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x3641fc,lockKeys:_0x5c52b4,lockToken:_0x29261f}){const _0x3472fd=a0_0x539c3e,_0x48f388={'mBGnJ':function(_0x16d637,_0x38c083){return _0x16d637!==_0x38c083;},'nYtdJ':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','kfiJB':function(_0x2ba55a,_0x518fc2){return _0x2ba55a<_0x518fc2;},'RPMan':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!_0x3641fc||_0x48f388[_0x3472fd(0x1c0)](typeof _0x3641fc,'string'))return{'valid':![],'error':_0x48f388['nYtdJ']};if(!Array['isArray'](_0x5c52b4)||_0x5c52b4['length']===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x100634=0x0;_0x48f388[_0x3472fd(0x19f)](_0x100634,_0x5c52b4['length']);_0x100634++){const _0x573be7=_0x5c52b4[_0x100634];if(!_0x573be7||!_0x573be7[_0x3472fd(0x1df)]||!_0x573be7[_0x3472fd(0x19d)])return{'valid':![],'error':'lock_keys['+_0x100634+_0x3472fd(0x1c8)};}if(!_0x29261f||_0x48f388['mBGnJ'](typeof _0x29261f,'string'))return{'valid':![],'error':_0x48f388['RPMan']};return{'valid':!![]};}}function a0_0xb876(_0xe96294,_0x549353){_0xe96294=_0xe96294-0x199;const _0x24884c=a0_0x2488();let _0xb8765b=_0x24884c[_0xe96294];if(a0_0xb876['Hvygex']===undefined){var _0x1e635e=function(_0x332b9d){const _0x2da94f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x21f133='',_0x1afd19='';for(let _0x297946=0x0,_0x19028,_0x335ea4,_0x413cf7=0x0;_0x335ea4=_0x332b9d['charAt'](_0x413cf7++);~_0x335ea4&&(_0x19028=_0x297946%0x4?_0x19028*0x40+_0x335ea4:_0x335ea4,_0x297946++%0x4)?_0x21f133+=String['fromCharCode'](0xff&_0x19028>>(-0x2*_0x297946&0x6)):0x0){_0x335ea4=_0x2da94f['indexOf'](_0x335ea4);}for(let _0x4554db=0x0,_0x59fd9a=_0x21f133['length'];_0x4554db<_0x59fd9a;_0x4554db++){_0x1afd19+='%'+('00'+_0x21f133['charCodeAt'](_0x4554db)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1afd19);};a0_0xb876['nezNWJ']=_0x1e635e,a0_0xb876['qzGrrR']={},a0_0xb876['Hvygex']=!![];}const _0x19e9f4=_0x24884c[0x0],_0x174605=_0xe96294+_0x19e9f4,_0x4db11c=a0_0xb876['qzGrrR'][_0x174605];return!_0x4db11c?(_0xb8765b=a0_0xb876['nezNWJ'](_0xb8765b),a0_0xb876['qzGrrR'][_0x174605]=_0xb8765b):_0xb8765b=_0x4db11c,_0xb8765b;}module['exports']=new ResourceLockManager();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1a0c42=a0_0x24ed;(function(_0x4523b9,_0x1d6199){const _0x1fa96b=a0_0x24ed,_0x2e0058=_0x4523b9();while(!![]){try{const _0x1e555f=-parseInt(_0x1fa96b(0x157))/0x1*(-parseInt(_0x1fa96b(0x172))/0x2)+parseInt(_0x1fa96b(0x148))/0x3*(-parseInt(_0x1fa96b(0x11e))/0x4)+-parseInt(_0x1fa96b(0x14a))/0x5*(parseInt(_0x1fa96b(0x14b))/0x6)+-parseInt(_0x1fa96b(0x187))/0x7*(parseInt(_0x1fa96b(0x15a))/0x8)+-parseInt(_0x1fa96b(0x133))/0x9+parseInt(_0x1fa96b(0x159))/0xa*(parseInt(_0x1fa96b(0x162))/0xb)+parseInt(_0x1fa96b(0x12f))/0xc*(parseInt(_0x1fa96b(0x169))/0xd);if(_0x1e555f===_0x1d6199)break;else _0x2e0058['push'](_0x2e0058['shift']());}catch(_0x4f590c){_0x2e0058['push'](_0x2e0058['shift']());}}}(a0_0x5500,0x714dd));const {Kafka,logLevel}=require(a0_0x1a0c42(0x120)),{v7:uuidv7}=require(a0_0x1a0c42(0x131));class KafkaConsumerService{constructor(){const _0x4ca53a=a0_0x1a0c42;this[_0x4ca53a(0x140)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this[_0x4ca53a(0x15f)]=![],this['isPaused']=![],this['connectionPromise']=null,this['subscribedTopics']=[],this[_0x4ca53a(0x13f)]=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}['getConfig'](){const _0x2af365=a0_0x1a0c42,_0x275c16={'sqLlX':function(_0x540cdc,_0x39ae77){return _0x540cdc===_0x39ae77;},'beUbU':'default','JoBFv':function(_0x257b65,_0x4c86a7){return _0x257b65(_0x4c86a7);},'sNhqq':'3000','UHzyF':function(_0x2cd556,_0x17a441){return _0x2cd556(_0x17a441);},'tNgDt':_0x2af365(0x141),'GFEjo':'1048576','FUIip':_0x2af365(0x18e),'MXtVx':'5000','yRixD':function(_0x43851c,_0x4b6678){return _0x43851c(_0x4b6678);},'ikhlG':'warn'};return{'enabled':_0x275c16[_0x2af365(0x142)](process['env']['KAFKA_ENABLED'],_0x2af365(0x18e)),'brokers':(process[_0x2af365(0x143)]['KAFKA_BROKERS']||_0x2af365(0x17c))['split'](','),'clientId':process[_0x2af365(0x143)][_0x2af365(0x188)]||'restforge-'+(process[_0x2af365(0x143)]['RESTFORGE_PROJECT_NAME']||_0x275c16[_0x2af365(0x14c)])+_0x2af365(0x139),'connectionTimeout':_0x275c16[_0x2af365(0x185)](parseInt,process[_0x2af365(0x143)]['KAFKA_CONNECTION_TIMEOUT']||_0x275c16[_0x2af365(0x182)]),'requestTimeout':parseInt(process[_0x2af365(0x143)]['KAFKA_REQUEST_TIMEOUT']||_0x2af365(0x15d)),'sessionTimeout':_0x275c16[_0x2af365(0x16a)](parseInt,process[_0x2af365(0x143)]['KAFKA_SESSION_TIMEOUT']||_0x275c16['tNgDt']),'heartbeatInterval':_0x275c16[_0x2af365(0x185)](parseInt,process['env'][_0x2af365(0x177)]||_0x2af365(0x13e)),'maxBytesPerPartition':parseInt(process['env'][_0x2af365(0x14d)]||_0x275c16['GFEjo']),'autoCommit':process['env'][_0x2af365(0x175)]===_0x275c16['FUIip'],'autoCommitInterval':parseInt(process[_0x2af365(0x143)]['KAFKA_AUTO_COMMIT_INTERVAL']||_0x275c16['MXtVx']),'retryAttempts':_0x275c16[_0x2af365(0x151)](parseInt,process[_0x2af365(0x143)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x275c16[_0x2af365(0x185)](parseInt,process['env'][_0x2af365(0x127)]||_0x2af365(0x181)),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0x2af365(0x141)),'logLevel':process[_0x2af365(0x143)]['KAFKA_LOG_LEVEL']||_0x275c16['ikhlG']};}[a0_0x1a0c42(0x158)](_0x51083e){const _0x9dec09=a0_0x1a0c42,_0xff95d0={'nothing':logLevel[_0x9dec09(0x125)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0xff95d0[_0x51083e[_0x9dec09(0x160)]()]||logLevel[_0x9dec09(0x18c)];}async['initialize'](_0x1ba1e4={}){const _0x319941=a0_0x1a0c42,_0x337040={'HOqPI':function(_0x3255ed,_0x4cd90e){return _0x3255ed(_0x4cd90e);},'BAypJ':function(_0x1847fc,_0x1ecae8){return _0x1847fc(_0x1ecae8);},'nPUpz':_0x319941(0x15c)},_0x14ac4c=this[_0x319941(0x145)]();if(!_0x14ac4c[_0x319941(0x189)])return console[_0x319941(0x135)](_0x337040[_0x319941(0x13c)]),![];if(this[_0x319941(0x14f)])return!![];if(this[_0x319941(0x12e)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x319941(0x13b)]=new Promise(async _0x50eaf4=>{const _0x546bc5=_0x319941;try{let _0x4ec4e7=undefined;process['env'][_0x546bc5(0x12a)]==='true'&&(_0x4ec4e7=!![]);let _0x4ee3f7=undefined;process[_0x546bc5(0x143)]['KAFKA_SASL_MECHANISM']&&(_0x4ee3f7={'mechanism':process[_0x546bc5(0x143)][_0x546bc5(0x153)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x546bc5(0x143)]['KAFKA_SASL_PASSWORD']||''}),this[_0x546bc5(0x140)]=new Kafka({'clientId':_0x1ba1e4['clientId']||_0x14ac4c[_0x546bc5(0x16f)],'brokers':_0x14ac4c['brokers'],'connectionTimeout':_0x14ac4c['connectionTimeout'],'requestTimeout':_0x14ac4c['requestTimeout'],'logLevel':this['getLogLevel'](_0x14ac4c['logLevel']),'ssl':_0x4ec4e7,'sasl':_0x4ee3f7,'retry':{'initialRetryTime':_0x14ac4c['retryDelay'],'retries':_0x14ac4c[_0x546bc5(0x130)],'maxRetryTime':_0x14ac4c[_0x546bc5(0x128)]}}),this[_0x546bc5(0x13f)]=_0x1ba1e4[_0x546bc5(0x13f)]||'restforge-'+(process['env'][_0x546bc5(0x146)]||'default')+_0x546bc5(0x173),this['consumer']=this[_0x546bc5(0x140)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x14ac4c['sessionTimeout'],'heartbeatInterval':_0x14ac4c['heartbeatInterval'],'maxBytesPerPartition':_0x14ac4c['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x14ac4c[_0x546bc5(0x16c)]['join'](',\x20')+'\x20(groupId:\x20'+this[_0x546bc5(0x13f)]+')'),this['setupEventHandlers'](),_0x337040['HOqPI'](_0x50eaf4,!![]);}catch(_0x22558e){console['error'](_0x546bc5(0x179)+_0x22558e['message']),this[_0x546bc5(0x14f)]=![],_0x337040['BAypJ'](_0x50eaf4,![]);}finally{this[_0x546bc5(0x12e)]=![];}}),this[_0x319941(0x13b)];}['setupEventHandlers'](){const _0x2b214b=a0_0x1a0c42,_0x4ddbcb={'WCuGR':'[KafkaConsumer]\x20Consumer\x20disconnected','vZEGO':_0x2b214b(0x149),'gTNXA':_0x2b214b(0x178),'MHUTw':_0x2b214b(0x147)};if(!this['consumer'])return;this[_0x2b214b(0x134)]['on'](_0x4ddbcb['gTNXA'],()=>{const _0x2313fc=_0x2b214b;console['log'](_0x4ddbcb[_0x2313fc(0x12c)]),this[_0x2313fc(0x14f)]=![],this[_0x2313fc(0x15f)]=![];}),this['consumer']['on']('consumer.stop',()=>{console['log'](_0x4ddbcb['vZEGO']),this['isRunning']=![];}),this['consumer']['on']('consumer.crash',_0x327251=>{const _0x3a693c=_0x2b214b;console['error'](_0x3a693c(0x129)+_0x327251['payload'][_0x3a693c(0x171)]['message']),this['isRunning']=![];}),this['consumer']['on'](_0x4ddbcb['MHUTw'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x550146,_0x5af446=![]){const _0x57c9d5=a0_0x1a0c42;if(!this['isConnected'])return console['error'](_0x57c9d5(0x180)),![];try{const _0x58a8ca=Array[_0x57c9d5(0x121)](_0x550146)?_0x550146:[_0x550146];for(const _0x27a7a3 of _0x58a8ca){await this['consumer']['subscribe']({'topic':_0x27a7a3,'fromBeginning':_0x5af446}),console['log'](_0x57c9d5(0x144)+_0x27a7a3+'\x20(fromBeginning:\x20'+_0x5af446+')');}return this[_0x57c9d5(0x11a)]=[...new Set([...this[_0x57c9d5(0x11a)],..._0x58a8ca])],!![];}catch(_0x273b8c){return console[_0x57c9d5(0x171)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x273b8c['message']),![];}}async[a0_0x1a0c42(0x17a)](_0x5e6ab2,_0x2641d1={}){const _0x2803db=a0_0x1a0c42,_0x23652e={'vUPDN':function(_0x1a107a,_0x2ff688){return _0x1a107a(_0x2ff688);},'oGmuY':'[KafkaConsumer]\x20Consumer\x20already\x20running','JGcKf':function(_0x5b2d95,_0x429f39){return _0x5b2d95!==_0x429f39;}};if(!this[_0x2803db(0x14f)])return console['error']('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console['log'](_0x23652e[_0x2803db(0x11f)]),!![];const _0x13db50=this['getConfig']();this[_0x2803db(0x11b)]=_0x5e6ab2;try{return this['metrics']['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x23652e[_0x2803db(0x174)](_0x2641d1['autoCommit'],undefined)?_0x2641d1[_0x2803db(0x184)]:_0x13db50['autoCommit'],'autoCommitInterval':_0x13db50[_0x2803db(0x15b)],'eachMessage':async({topic:_0xd039bb,partition:_0x50e221,message:_0x338ef2,heartbeat:_0x549ed2})=>{const _0x319532=_0x2803db,_0x5bd157=Date[_0x319532(0x118)]();this[_0x319532(0x168)]['messagesReceived']++,this['metrics'][_0x319532(0x152)]=new Date();try{const _0xb8836a=_0x338ef2[_0x319532(0x132)]?_0x338ef2[_0x319532(0x132)]['toString']():null;let _0x2cbadd=null;try{_0x2cbadd=_0xb8836a?JSON['parse'](_0xb8836a):null;}catch(_0x5a2c97){_0x2cbadd=_0xb8836a;}const _0x1e715b={'topic':_0xd039bb,'partition':_0x50e221,'offset':_0x338ef2[_0x319532(0x17b)],'key':_0x338ef2[_0x319532(0x164)]?_0x338ef2[_0x319532(0x164)]['toString']():null,'headers':this['parseHeaders'](_0x338ef2[_0x319532(0x13d)]),'timestamp':_0x338ef2['timestamp'],'value':_0x2cbadd,'raw':_0xb8836a};this[_0x319532(0x11b)]&&await this[_0x319532(0x11b)](_0x1e715b);!_0x13db50[_0x319532(0x184)]&&await this[_0x319532(0x134)]['commitOffsets']([{'topic':_0xd039bb,'partition':_0x50e221,'offset':(_0x23652e['vUPDN'](parseInt,_0x338ef2['offset'])+0x1)[_0x319532(0x154)]()}]);this[_0x319532(0x168)]['messagesProcessed']++;const _0x40bbdc=Date['now']()-_0x5bd157;this[_0x319532(0x168)][_0x319532(0x17e)][_0x319532(0x183)](_0x40bbdc),this['metrics']['processingTimes'][_0x319532(0x16e)]>0x64&&this[_0x319532(0x168)][_0x319532(0x17e)]['shift'](),await _0x549ed2();}catch(_0x158dc7){this['metrics'][_0x319532(0x12d)]++,console[_0x319532(0x171)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x158dc7[_0x319532(0x17d)]);throw _0x158dc7;}}}),this[_0x2803db(0x15f)]=!![],console['log'](_0x2803db(0x11c)+this[_0x2803db(0x11a)][_0x2803db(0x122)](',\x20')),!![];}catch(_0x599148){return console['error'](_0x2803db(0x167)+_0x599148['message']),![];}}['parseHeaders'](_0x50151){if(!_0x50151)return{};const _0xb826a9={};for(const [_0x3e9cb5,_0x24a563]of Object['entries'](_0x50151)){_0xb826a9[_0x3e9cb5]=_0x24a563?_0x24a563['toString']():null;}return _0xb826a9;}async['pause'](){const _0x5183ca=a0_0x1a0c42,_0x137c85={'jNtwT':'[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running','bMxie':_0x5183ca(0x150)};if(!this[_0x5183ca(0x14f)]||!this['isRunning'])return console['log'](_0x137c85[_0x5183ca(0x170)]),![];if(this['isPaused'])return console[_0x5183ca(0x135)]('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x47cf5b=this['subscribedTopics']['map'](_0x74d1f=>({'topic':_0x74d1f}));return this[_0x5183ca(0x134)][_0x5183ca(0x14e)](_0x47cf5b),this[_0x5183ca(0x176)]=!![],console['log'](_0x137c85['bMxie']),!![];}catch(_0x3a8f0b){return console['error'](_0x5183ca(0x161)+_0x3a8f0b['message']),![];}}async[a0_0x1a0c42(0x136)](){const _0x382f64=a0_0x1a0c42,_0x43a692={'gVaxl':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running'};if(!this[_0x382f64(0x14f)]||!this['isRunning'])return console[_0x382f64(0x135)](_0x43a692['gVaxl']),![];if(!this[_0x382f64(0x176)])return console[_0x382f64(0x135)]('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x5df8a8=this[_0x382f64(0x11a)][_0x382f64(0x11d)](_0x3ed445=>({'topic':_0x3ed445}));return this[_0x382f64(0x134)]['resume'](_0x5df8a8),this['isPaused']=![],console['log'](_0x382f64(0x163)),!![];}catch(_0x1a337c){return console[_0x382f64(0x171)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x1a337c[_0x382f64(0x17d)]),![];}}async[a0_0x1a0c42(0x155)](){const _0xf78f09=a0_0x1a0c42,_0x2ca11c={'KvWid':'[KafkaConsumer]\x20Consumer\x20not\x20connected'};if(!this[_0xf78f09(0x14f)])return console['log'](_0x2ca11c['KvWid']),!![];try{const _0x49f4d0='5|1|4|2|3|0'[_0xf78f09(0x18d)]('|');let _0x56c56a=0x0;while(!![]){switch(_0x49f4d0[_0x56c56a++]){case'0':return!![];case'1':this['isConnected']=![];continue;case'2':this[_0xf78f09(0x176)]=![];continue;case'3':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'4':this[_0xf78f09(0x15f)]=![];continue;case'5':this[_0xf78f09(0x134)]&&(await this[_0xf78f09(0x134)][_0xf78f09(0x155)](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x4c8371){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x4c8371['message']),![];}}async['seekToOffset'](_0x2d3888,_0x5ae516,_0xc80a78){const _0x1f5d9b=a0_0x1a0c42,_0x42f08a={'xEZtL':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this[_0x1f5d9b(0x14f)])return console['error'](_0x42f08a[_0x1f5d9b(0x15e)]),![];try{return this[_0x1f5d9b(0x134)]['seek']({'topic':_0x2d3888,'partition':_0x5ae516,'offset':_0xc80a78[_0x1f5d9b(0x154)]()}),console['log'](_0x1f5d9b(0x165)+_0xc80a78+_0x1f5d9b(0x156)+_0x2d3888+':'+_0x5ae516),!![];}catch(_0x1e522b){return console['error'](_0x1f5d9b(0x186)+_0x1e522b[_0x1f5d9b(0x17d)]),![];}}[a0_0x1a0c42(0x16b)](){const _0x297d5c=a0_0x1a0c42,_0xb09710=this[_0x297d5c(0x145)]();return{'enabled':_0xb09710[_0x297d5c(0x189)],'connected':this['isConnected'],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0xb09710[_0x297d5c(0x16c)],'clientId':_0xb09710['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}[a0_0x1a0c42(0x16d)](){const _0x1ce9dd=a0_0x1a0c42,_0x5acf3e={'POcgm':function(_0x4d40c8,_0x31753a){return _0x4d40c8/_0x31753a;},'odtqi':function(_0xeb619b,_0x460044){return _0xeb619b>_0x460044;},'OThnR':function(_0x1e1227,_0x3d80dc){return _0x1e1227+_0x3d80dc;},'XMFIO':function(_0x34968a,_0x2c6528){return _0x34968a*_0x2c6528;}},_0x4d86d0=this['metrics']['processingTimes']['length']>0x0?_0x5acf3e['POcgm'](this['metrics'][_0x1ce9dd(0x17e)]['reduce']((_0x35637c,_0x32a883)=>_0x35637c+_0x32a883,0x0),this[_0x1ce9dd(0x168)][_0x1ce9dd(0x17e)][_0x1ce9dd(0x16e)]):0x0,_0x38086b=this[_0x1ce9dd(0x168)][_0x1ce9dd(0x17e)]['length']>0x0?Math['min'](...this[_0x1ce9dd(0x168)]['processingTimes']):0x0,_0x23ea05=_0x5acf3e['odtqi'](this['metrics'][_0x1ce9dd(0x17e)]['length'],0x0)?Math[_0x1ce9dd(0x124)](...this[_0x1ce9dd(0x168)][_0x1ce9dd(0x17e)]):0x0;return{'messagesReceived':this['metrics'][_0x1ce9dd(0x12b)],'messagesProcessed':this[_0x1ce9dd(0x168)][_0x1ce9dd(0x123)],'messagesFailed':this['metrics'][_0x1ce9dd(0x12d)],'successRate':_0x5acf3e[_0x1ce9dd(0x119)](this[_0x1ce9dd(0x168)][_0x1ce9dd(0x12b)],0x0)?_0x5acf3e['OThnR'](_0x5acf3e[_0x1ce9dd(0x126)](this['metrics'][_0x1ce9dd(0x123)]/this['metrics']['messagesReceived'],0x64)[_0x1ce9dd(0x17f)](0x2),'%'):'0%','lastMessageTime':this[_0x1ce9dd(0x168)]['lastMessageTime'],'startTime':this[_0x1ce9dd(0x168)]['startTime'],'uptime':this[_0x1ce9dd(0x168)][_0x1ce9dd(0x13a)]?Math[_0x1ce9dd(0x166)]((Date['now']()-this[_0x1ce9dd(0x168)]['startTime'][_0x1ce9dd(0x137)]())/0x3e8)+'s':'0s','processingTime':{'avg':_0x5acf3e[_0x1ce9dd(0x18a)](Math['round'](_0x4d86d0),'ms'),'min':_0x5acf3e[_0x1ce9dd(0x18a)](_0x38086b,'ms'),'max':_0x5acf3e['OThnR'](_0x23ea05,'ms')}};}[a0_0x1a0c42(0x18b)](){const _0x5606dc=a0_0x1a0c42,_0x27d9f7={'eFStl':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x5606dc(0x168)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x27d9f7['eFStl']);}async[a0_0x1a0c42(0x138)](){await this['stop']();}}function a0_0x5500(){const _0x3b5565=['lwnVBNn1BwvY','C3rHCNruAw1L','y29UBMvJDgLVBLbYB21PC2u','BLbvChO','AgvHzgvYCW','mZaWma','z3jVDxbjza','A2fMA2e','mZaWmda','C3fmBfG','zw52','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','z2v0q29UzMLN','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UC3vTzxiUCMvIywXHBMnPBMC','oty5nJq4whfUvNbW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','nJu1u29fv05X','mZi1nZrcEvPwuw8','yMvvyLu','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Cgf1C2u','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','EvjPEeq','BgfZDe1LC3nHz2vuAw1L','s0fgs0fFu0fttf9nruniqu5ju00','Dg9tDhjPBMC','C3rVCa','ig9Uia','otGXu2TOCeTp','z2v0tg9Ntgv2zwW','mJbnBKzxt08','ogDdCwvZyG','yxv0B0nVBw1PDeLUDgvYDMfS','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','mJuWmda','EevADeW','AxnsDw5UAw5N','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mZG2odK5n29wyw16vq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','A2v5','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','zMXVB3i','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Bwv0CMLJCW','mJGYotqYmdfgqNPTB0m','vuH6Euy','z2v0u3rHDhvZ','yNjVA2vYCW','z2v0twv0CMLJCW','BgvUz3rO','y2XPzw50swq','AK50D1q','zxjYB3i','mZi2BwXZExPg','lwnVBNn1BwvYlwDYB3vW','sKDJs2y','s0fgs0fFqvvut19dt01nsvq','AxnqyxvZzwq','s0fgs0fFsevbuLrcrufux0LovevsvKfm','y29UC3vTzxiUzgLZy29UBMvJDa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','C3rHCNrdB25ZDw1PBMC','B2zMC2v0','Bg9JywXOB3n0oJKWoti','BwvZC2fNzq','ChjVy2vZC2LUz1rPBwvZ','Dg9gAxHLza','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','mtaWma','C05OCxe','ChvZAa','yxv0B0nVBw1PDa','sM9crNy','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','ntmZnJy1m0DiuKDTsW','s0fgs0fFq0Xjru5ux0Le','zw5HyMXLza','t1rOBLi','CMvZzxrnzxrYAwnZ','v0fstG','C3bSAxq','Dhj1zq','BM93','B2r0CwK','C3vIC2nYAwjLzfrVCgLJCW','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','BwfW','nevcrfzTza','B0DTDvK','A2fMA2fQCW','AxnbCNjHEq','AM9PBG','BwvZC2fNzxnqCM9JzxnZzwq','Bwf4','tK9useLorW','we1gsu8','s0fgs0fFuKvuuLLFrevmqvK','CMv0CNLnyxHezwXHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFu1nm','BwvZC2fNzxnszwnLAxzLza','v0n1r1i','BwvZC2fNzxngywLSzwq','AxnjBML0AwfSAxPPBMC','mtjArefWC1a','CMv0CNLbDhrLBxb0CW','DxvPza','DMfSDwu','nZaXmduYm0Lxu1rNyG','y29UC3vTzxi','Bg9N','CMvZDw1L','z2v0vgLTzq','y2XVC2u'];a0_0x5500=function(){return _0x3b5565;};return a0_0x5500();}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x4e712a=a0_0x1a0c42;instance&&(instance[_0x4e712a(0x138)](),instance=null);}function a0_0x24ed(_0x3c9795,_0x4c6c01){_0x3c9795=_0x3c9795-0x118;const _0x5500ff=a0_0x5500();let _0x24ede6=_0x5500ff[_0x3c9795];if(a0_0x24ed['KRLcke']===undefined){var _0x5249f1=function(_0x230301){const _0x32970c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x35c484='',_0x14230c='';for(let _0x467c9f=0x0,_0x46c608,_0x2cee77,_0x189b81=0x0;_0x2cee77=_0x230301['charAt'](_0x189b81++);~_0x2cee77&&(_0x46c608=_0x467c9f%0x4?_0x46c608*0x40+_0x2cee77:_0x2cee77,_0x467c9f++%0x4)?_0x35c484+=String['fromCharCode'](0xff&_0x46c608>>(-0x2*_0x467c9f&0x6)):0x0){_0x2cee77=_0x32970c['indexOf'](_0x2cee77);}for(let _0x2caa4a=0x0,_0x3290f8=_0x35c484['length'];_0x2caa4a<_0x3290f8;_0x2caa4a++){_0x14230c+='%'+('00'+_0x35c484['charCodeAt'](_0x2caa4a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14230c);};a0_0x24ed['ZqKVBn']=_0x5249f1,a0_0x24ed['DVVPgu']={},a0_0x24ed['KRLcke']=!![];}const _0xb35c7f=_0x5500ff[0x0],_0x26767a=_0x3c9795+_0xb35c7f,_0x4371d7=a0_0x24ed['DVVPgu'][_0x26767a];return!_0x4371d7?(_0x24ede6=a0_0x24ed['ZqKVBn'](_0x24ede6),a0_0x24ed['DVVPgu'][_0x26767a]=_0x24ede6):_0x24ede6=_0x4371d7,_0x24ede6;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
1
|
+
function a0_0x1008(_0x2a345d,_0x398e07){_0x2a345d=_0x2a345d-0xd0;const _0x5a0c27=a0_0x5a0c();let _0x100869=_0x5a0c27[_0x2a345d];if(a0_0x1008['PzWPFe']===undefined){var _0x27f356=function(_0x2632ec){const _0x269d22='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2b25b9='',_0x4755b6='';for(let _0xb5c1dd=0x0,_0x1e1f38,_0x329c46,_0x43e819=0x0;_0x329c46=_0x2632ec['charAt'](_0x43e819++);~_0x329c46&&(_0x1e1f38=_0xb5c1dd%0x4?_0x1e1f38*0x40+_0x329c46:_0x329c46,_0xb5c1dd++%0x4)?_0x2b25b9+=String['fromCharCode'](0xff&_0x1e1f38>>(-0x2*_0xb5c1dd&0x6)):0x0){_0x329c46=_0x269d22['indexOf'](_0x329c46);}for(let _0x5b2d2b=0x0,_0x36e9a3=_0x2b25b9['length'];_0x5b2d2b<_0x36e9a3;_0x5b2d2b++){_0x4755b6+='%'+('00'+_0x2b25b9['charCodeAt'](_0x5b2d2b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4755b6);};a0_0x1008['EmvLeK']=_0x27f356,a0_0x1008['LPiKDw']={},a0_0x1008['PzWPFe']=!![];}const _0x387bd6=_0x5a0c27[0x0],_0xbba9d4=_0x2a345d+_0x387bd6,_0x31842c=a0_0x1008['LPiKDw'][_0xbba9d4];return!_0x31842c?(_0x100869=a0_0x1008['EmvLeK'](_0x100869),a0_0x1008['LPiKDw'][_0xbba9d4]=_0x100869):_0x100869=_0x31842c,_0x100869;}const a0_0x29c100=a0_0x1008;(function(_0x294b0b,_0x5e0d9b){const _0x45bca7=a0_0x1008,_0x3a69c1=_0x294b0b();while(!![]){try{const _0x29e5bc=parseInt(_0x45bca7(0x102))/0x1+parseInt(_0x45bca7(0xe4))/0x2+-parseInt(_0x45bca7(0xf0))/0x3*(-parseInt(_0x45bca7(0xd5))/0x4)+-parseInt(_0x45bca7(0x12a))/0x5*(-parseInt(_0x45bca7(0x148))/0x6)+-parseInt(_0x45bca7(0x141))/0x7+-parseInt(_0x45bca7(0x128))/0x8+parseInt(_0x45bca7(0x12e))/0x9*(-parseInt(_0x45bca7(0xe0))/0xa);if(_0x29e5bc===_0x5e0d9b)break;else _0x3a69c1['push'](_0x3a69c1['shift']());}catch(_0x585140){_0x3a69c1['push'](_0x3a69c1['shift']());}}}(a0_0x5a0c,0xce6cb));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x29c100(0xe6));class KafkaConsumerService{constructor(){const _0x1d1b5b=a0_0x29c100,_0x3e45a9={'EPEPH':_0x1d1b5b(0x139)},_0x550dad=_0x3e45a9[_0x1d1b5b(0x10c)][_0x1d1b5b(0x129)]('|');let _0x105ea7=0x0;while(!![]){switch(_0x550dad[_0x105ea7++]){case'0':this['connectionPromise']=null;continue;case'1':this[_0x1d1b5b(0xd8)]=null;continue;case'2':this['isInitializing']=![];continue;case'3':this['messageHandler']=null;continue;case'4':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this[_0x1d1b5b(0x100)]=![];continue;case'6':this['subscribedTopics']=[];continue;case'7':this['isRunning']=![];continue;case'8':this[_0x1d1b5b(0x13b)]=![];continue;case'9':this['consumer']=null;continue;case'10':this['groupId']=null;continue;}break;}}[a0_0x29c100(0x11a)](){const _0x1403ef=a0_0x29c100,_0xc76d13={'vpktk':_0x1403ef(0x101),'ZSWkZ':'default','GrKTU':function(_0x3ef261,_0x2810a9){return _0x3ef261(_0x2810a9);},'GTItO':_0x1403ef(0xd1),'RUjIP':_0x1403ef(0xfd),'FpjOk':'1048576','DqXRp':function(_0x599977,_0x5c2249){return _0x599977===_0x5c2249;},'xaCdE':function(_0x59c54f,_0x381f88){return _0x59c54f(_0x381f88);},'yVbpA':_0x1403ef(0x119),'dUiwR':'warn'};return{'enabled':process[_0x1403ef(0xf4)]['KAFKA_ENABLED']===_0xc76d13['vpktk'],'brokers':(process[_0x1403ef(0xf4)][_0x1403ef(0x12c)]||'localhost:9092')[_0x1403ef(0x129)](','),'clientId':process['env'][_0x1403ef(0x11e)]||_0x1403ef(0x144)+(process['env']['RESTFORGE_PROJECT_NAME']||_0xc76d13['ZSWkZ'])+'-consumer','connectionTimeout':_0xc76d13['GrKTU'](parseInt,process['env'][_0x1403ef(0x140)]||_0xc76d13['GTItO']),'requestTimeout':parseInt(process['env'][_0x1403ef(0xf2)]||_0xc76d13[_0x1403ef(0xef)]),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0x1403ef(0xf5)),'heartbeatInterval':parseInt(process['env'][_0x1403ef(0xff)]||'3000'),'maxBytesPerPartition':_0xc76d13[_0x1403ef(0xf3)](parseInt,process[_0x1403ef(0xf4)][_0x1403ef(0x120)]||_0xc76d13[_0x1403ef(0x136)]),'autoCommit':_0xc76d13[_0x1403ef(0x10e)](process['env'][_0x1403ef(0x124)],'true'),'autoCommitInterval':_0xc76d13['xaCdE'](parseInt,process['env']['KAFKA_AUTO_COMMIT_INTERVAL']||_0xc76d13['yVbpA']),'retryAttempts':parseInt(process[_0x1403ef(0xf4)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x1403ef(0xf4)][_0x1403ef(0x146)]||'1000'),'retryMaxDelay':parseInt(process[_0x1403ef(0xf4)]['KAFKA_RETRY_MAX_DELAY']||_0x1403ef(0xf5)),'logLevel':process[_0x1403ef(0xf4)]['KAFKA_LOG_LEVEL']||_0xc76d13['dUiwR']};}[a0_0x29c100(0x10b)](_0x512534){const _0x360479=a0_0x29c100,_0x17ad75={'nothing':logLevel['NOTHING'],'error':logLevel[_0x360479(0x116)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x17ad75[_0x512534['toLowerCase']()]||logLevel[_0x360479(0x138)];}async[a0_0x29c100(0xea)](_0x13f73f={}){const _0x4e50c5=a0_0x29c100,_0x409670={'OxNjH':_0x4e50c5(0x12b),'SuzMp':function(_0x177020,_0x426b86){return _0x177020(_0x426b86);},'JgiHo':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x340cb8=this[_0x4e50c5(0x11a)]();if(!_0x340cb8[_0x4e50c5(0x12f)])return console['log'](_0x409670['JgiHo']),![];if(this['isConnected'])return!![];if(this[_0x4e50c5(0xde)]&&this['connectionPromise'])return this[_0x4e50c5(0xd6)];return this['isInitializing']=!![],this[_0x4e50c5(0xd6)]=new Promise(async _0x1b537d=>{const _0x185ede=_0x4e50c5;try{let _0x49c807=undefined;process[_0x185ede(0xf4)]['KAFKA_SSL']===_0x185ede(0x101)&&(_0x49c807=!![]);let _0x30ff35=undefined;process[_0x185ede(0xf4)]['KAFKA_SASL_MECHANISM']&&(_0x30ff35={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x185ede(0xf4)][_0x185ede(0x112)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x13f73f['clientId']||_0x340cb8[_0x185ede(0x111)],'brokers':_0x340cb8[_0x185ede(0x143)],'connectionTimeout':_0x340cb8[_0x185ede(0xec)],'requestTimeout':_0x340cb8['requestTimeout'],'logLevel':this['getLogLevel'](_0x340cb8[_0x185ede(0xdf)]),'ssl':_0x49c807,'sasl':_0x30ff35,'retry':{'initialRetryTime':_0x340cb8['retryDelay'],'retries':_0x340cb8['retryAttempts'],'maxRetryTime':_0x340cb8['retryMaxDelay']}}),this[_0x185ede(0x135)]=_0x13f73f['groupId']||_0x185ede(0x144)+(process[_0x185ede(0xf4)]['RESTFORGE_PROJECT_NAME']||_0x409670[_0x185ede(0xe5)])+_0x185ede(0x13c),this['consumer']=this[_0x185ede(0xd8)]['consumer']({'groupId':this[_0x185ede(0x135)],'sessionTimeout':_0x340cb8['sessionTimeout'],'heartbeatInterval':_0x340cb8['heartbeatInterval'],'maxBytesPerPartition':_0x340cb8[_0x185ede(0xf9)],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x185ede(0x13b)]=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x340cb8[_0x185ede(0x143)]['join'](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x1b537d(!![]);}catch(_0x1c6076){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x1c6076[_0x185ede(0x123)]),this['isConnected']=![],_0x409670[_0x185ede(0x127)](_0x1b537d,![]);}finally{this[_0x185ede(0xde)]=![];}}),this[_0x4e50c5(0xd6)];}[a0_0x29c100(0x109)](){const _0x32c246=a0_0x29c100,_0x2e12f9={'zxTYU':'4|1|3|2|0'},_0x4670c3=_0x2e12f9['zxTYU']['split']('|');let _0x5d6b2e=0x0;while(!![]){switch(_0x4670c3[_0x5d6b2e++]){case'0':this[_0x32c246(0x11b)]['on']('consumer.rebalancing',()=>{const _0x4df4d8=_0x32c246;console['log'](_0x4df4d8(0x125));});continue;case'1':this[_0x32c246(0x11b)]['on'](_0x32c246(0x104),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this['isRunning']=![];});continue;case'2':this['consumer']['on']('consumer.crash',_0x5d9332=>{const _0x2a649b=_0x32c246;console['error'](_0x2a649b(0xe3)+_0x5d9332['payload'][_0x2a649b(0xdb)][_0x2a649b(0x123)]),this[_0x2a649b(0xd3)]=![];});continue;case'3':this['consumer']['on']('consumer.stop',()=>{const _0x296cbd=_0x32c246;console['log'](_0x296cbd(0xfb)),this['isRunning']=![];});continue;case'4':if(!this[_0x32c246(0x11b)])return;continue;}break;}}async['subscribe'](_0x660780,_0x16a0f1=![]){const _0x45e050=a0_0x29c100,_0x4ea8d6={'rluqf':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this[_0x45e050(0x13b)])return console[_0x45e050(0xdb)](_0x4ea8d6[_0x45e050(0x11c)]),![];try{const _0x17488a=Array[_0x45e050(0xd7)](_0x660780)?_0x660780:[_0x660780];for(const _0x51bab9 of _0x17488a){await this[_0x45e050(0x11b)][_0x45e050(0xdc)]({'topic':_0x51bab9,'fromBeginning':_0x16a0f1}),console['log'](_0x45e050(0xd2)+_0x51bab9+'\x20(fromBeginning:\x20'+_0x16a0f1+')');}return this['subscribedTopics']=[...new Set([...this[_0x45e050(0x145)],..._0x17488a])],!![];}catch(_0x5799fe){return console[_0x45e050(0xdb)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x5799fe['message']),![];}}async[a0_0x29c100(0x137)](_0x544777,_0x9498a1={}){const _0x56487e=a0_0x29c100,_0x3f5e20={'gsNCS':function(_0x35f09a,_0x27aa07){return _0x35f09a(_0x27aa07);},'iESUG':function(_0x2e0337,_0x452a07){return _0x2e0337-_0x452a07;},'IDYih':function(_0x1d181b,_0x204bbc){return _0x1d181b>_0x204bbc;},'INbje':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','krIJZ':_0x56487e(0x12d)};if(!this[_0x56487e(0x13b)])return console['error'](_0x3f5e20['INbje']),![];if(this['isRunning'])return console['log'](_0x3f5e20['krIJZ']),!![];const _0x42b9c1=this[_0x56487e(0x11a)]();this['messageHandler']=_0x544777;try{return this['metrics'][_0x56487e(0x13d)]=new Date(),await this[_0x56487e(0x11b)]['run']({'autoCommit':_0x9498a1[_0x56487e(0xee)]!==undefined?_0x9498a1['autoCommit']:_0x42b9c1[_0x56487e(0xee)],'autoCommitInterval':_0x42b9c1[_0x56487e(0x13a)],'eachMessage':async({topic:_0x5e4136,partition:_0x2e09fe,message:_0xe28cdc,heartbeat:_0x18ac3c})=>{const _0x34a5dd=_0x56487e,_0x5b41fe=Date[_0x34a5dd(0x11d)]();this['metrics'][_0x34a5dd(0xfa)]++,this['metrics'][_0x34a5dd(0x122)]=new Date();try{const _0x44805e=_0xe28cdc[_0x34a5dd(0xd9)]?_0xe28cdc['value']['toString']():null;let _0x313767=null;try{_0x313767=_0x44805e?JSON['parse'](_0x44805e):null;}catch(_0x47b52a){_0x313767=_0x44805e;}const _0x119d9e={'topic':_0x5e4136,'partition':_0x2e09fe,'offset':_0xe28cdc[_0x34a5dd(0xd0)],'key':_0xe28cdc[_0x34a5dd(0x10f)]?_0xe28cdc['key'][_0x34a5dd(0x132)]():null,'headers':this['parseHeaders'](_0xe28cdc['headers']),'timestamp':_0xe28cdc['timestamp'],'value':_0x313767,'raw':_0x44805e};this['messageHandler']&&await this['messageHandler'](_0x119d9e);!_0x42b9c1[_0x34a5dd(0xee)]&&await this['consumer']['commitOffsets']([{'topic':_0x5e4136,'partition':_0x2e09fe,'offset':(_0x3f5e20[_0x34a5dd(0xf8)](parseInt,_0xe28cdc[_0x34a5dd(0xd0)])+0x1)['toString']()}]);this['metrics'][_0x34a5dd(0xe7)]++;const _0x13c6b5=_0x3f5e20[_0x34a5dd(0x131)](Date['now'](),_0x5b41fe);this[_0x34a5dd(0xfe)]['processingTimes'][_0x34a5dd(0x103)](_0x13c6b5),_0x3f5e20[_0x34a5dd(0x13e)](this[_0x34a5dd(0xfe)]['processingTimes'][_0x34a5dd(0x106)],0x64)&&this['metrics']['processingTimes'][_0x34a5dd(0xe2)](),await _0x18ac3c();}catch(_0x2cab5f){this[_0x34a5dd(0xfe)]['messagesFailed']++,console[_0x34a5dd(0xdb)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x2cab5f['message']);throw _0x2cab5f;}}}),this['isRunning']=!![],console[_0x56487e(0xe8)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x1a2e93){return console[_0x56487e(0xdb)]('[KafkaConsumer]\x20Start\x20consuming\x20error:\x20'+_0x1a2e93[_0x56487e(0x123)]),![];}}[a0_0x29c100(0x134)](_0x552150){const _0xcee848=a0_0x29c100;if(!_0x552150)return{};const _0x3782eb={};for(const [_0x4c389c,_0x2495dd]of Object[_0xcee848(0xf6)](_0x552150)){_0x3782eb[_0x4c389c]=_0x2495dd?_0x2495dd['toString']():null;}return _0x3782eb;}async['pause'](){const _0x38b78=a0_0x29c100,_0x7f129d={'qWYRk':_0x38b78(0x142),'ehYMc':_0x38b78(0x114)};if(!this['isConnected']||!this['isRunning'])return console[_0x38b78(0xe8)](_0x38b78(0x130)),![];if(this['isPaused'])return console['log'](_0x7f129d['qWYRk']),!![];try{const _0x27a531=this['subscribedTopics'][_0x38b78(0x147)](_0x16ed56=>({'topic':_0x16ed56}));return this[_0x38b78(0x11b)]['pause'](_0x27a531),this[_0x38b78(0x100)]=!![],console[_0x38b78(0xe8)](_0x7f129d['ehYMc']),!![];}catch(_0x474d8d){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x474d8d[_0x38b78(0x123)]),![];}}async[a0_0x29c100(0x105)](){const _0x5c0d03=a0_0x29c100,_0x29a695={'otTLW':_0x5c0d03(0x110),'vlKkn':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this[_0x5c0d03(0xd3)])return console[_0x5c0d03(0xe8)](_0x29a695[_0x5c0d03(0x115)]),![];if(!this['isPaused'])return console['log'](_0x29a695['vlKkn']),!![];try{const _0x2e9738=this['subscribedTopics'][_0x5c0d03(0x147)](_0x1e636d=>({'topic':_0x1e636d}));return this[_0x5c0d03(0x11b)][_0x5c0d03(0x105)](_0x2e9738),this[_0x5c0d03(0x100)]=![],console[_0x5c0d03(0xe8)](_0x5c0d03(0x107)),!![];}catch(_0x591680){return console[_0x5c0d03(0xdb)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x591680[_0x5c0d03(0x123)]),![];}}async['stop'](){const _0x49c8db=a0_0x29c100,_0x4e0baf={'dVuLD':_0x49c8db(0xe9)};if(!this['isConnected'])return console['log'](_0x4e0baf[_0x49c8db(0x117)]),!![];try{const _0x5291d4='5|4|2|1|3|0'[_0x49c8db(0x129)]('|');let _0xc17513=0x0;while(!![]){switch(_0x5291d4[_0xc17513++]){case'0':return!![];case'1':this[_0x49c8db(0x100)]=![];continue;case'2':this['isRunning']=![];continue;case'3':console[_0x49c8db(0xe8)](_0x49c8db(0x13f));continue;case'4':this['isConnected']=![];continue;case'5':this[_0x49c8db(0x11b)]&&(await this['consumer']['stop'](),await this[_0x49c8db(0x11b)][_0x49c8db(0x108)]());continue;}break;}}catch(_0x2b9635){return console['error']('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x2b9635['message']),![];}}async['seekToOffset'](_0x3e447c,_0x548b55,_0x17d82f){const _0x2a618b=a0_0x29c100;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x2a618b(0x11b)][_0x2a618b(0x10d)]({'topic':_0x3e447c,'partition':_0x548b55,'offset':_0x17d82f['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x17d82f+'\x20on\x20'+_0x3e447c+':'+_0x548b55),!![];}catch(_0x59a804){return console['error'](_0x2a618b(0x10a)+_0x59a804[_0x2a618b(0x123)]),![];}}[a0_0x29c100(0x11f)](){const _0x53ea0b=a0_0x29c100,_0x30b858=this[_0x53ea0b(0x11a)]();return{'enabled':_0x30b858[_0x53ea0b(0x12f)],'connected':this[_0x53ea0b(0x13b)],'running':this[_0x53ea0b(0xd3)],'paused':this[_0x53ea0b(0x100)],'brokers':_0x30b858[_0x53ea0b(0x143)],'clientId':_0x30b858['clientId'],'groupId':this[_0x53ea0b(0x135)],'subscribedTopics':this['subscribedTopics']};}[a0_0x29c100(0xfc)](){const _0x247301=a0_0x29c100,_0x161a99={'LnxCL':function(_0x7f9b35,_0x1fdf4a){return _0x7f9b35>_0x1fdf4a;},'NuOCg':function(_0xc389c4,_0x270ed0){return _0xc389c4+_0x270ed0;},'yIGDS':function(_0x39efb0,_0x3ad836){return _0x39efb0*_0x3ad836;},'hPztX':function(_0x3c35b5,_0x5941ab){return _0x3c35b5/_0x5941ab;},'KnDqp':function(_0x5c51df,_0xa9ccb2){return _0x5c51df-_0xa9ccb2;}},_0x9e8cab=this[_0x247301(0xfe)][_0x247301(0xe1)][_0x247301(0x106)]>0x0?this['metrics']['processingTimes'][_0x247301(0xdd)]((_0x350980,_0x2de547)=>_0x350980+_0x2de547,0x0)/this[_0x247301(0xfe)][_0x247301(0xe1)]['length']:0x0,_0x5ad565=this['metrics']['processingTimes']['length']>0x0?Math[_0x247301(0xeb)](...this[_0x247301(0xfe)][_0x247301(0xe1)]):0x0,_0x114c9e=_0x161a99[_0x247301(0x121)](this['metrics'][_0x247301(0xe1)]['length'],0x0)?Math['max'](...this['metrics'][_0x247301(0xe1)]):0x0;return{'messagesReceived':this['metrics'][_0x247301(0xfa)],'messagesProcessed':this[_0x247301(0xfe)]['messagesProcessed'],'messagesFailed':this[_0x247301(0xfe)]['messagesFailed'],'successRate':this[_0x247301(0xfe)]['messagesReceived']>0x0?_0x161a99['NuOCg'](_0x161a99[_0x247301(0x133)](_0x161a99['hPztX'](this[_0x247301(0xfe)][_0x247301(0xe7)],this[_0x247301(0xfe)][_0x247301(0xfa)]),0x64)[_0x247301(0x113)](0x2),'%'):'0%','lastMessageTime':this[_0x247301(0xfe)][_0x247301(0x122)],'startTime':this['metrics'][_0x247301(0x13d)],'uptime':this['metrics'][_0x247301(0x13d)]?Math['floor'](_0x161a99[_0x247301(0xd4)](_0x161a99['KnDqp'](Date[_0x247301(0x11d)](),this[_0x247301(0xfe)][_0x247301(0x13d)][_0x247301(0xda)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x161a99[_0x247301(0x118)](Math[_0x247301(0xf7)](_0x9e8cab),'ms'),'min':_0x161a99[_0x247301(0x118)](_0x5ad565,'ms'),'max':_0x161a99['NuOCg'](_0x114c9e,'ms')}};}['resetMetrics'](){const _0x481c8e=a0_0x29c100;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x481c8e(0xf1));}async[a0_0x29c100(0x126)](){const _0x38f531=a0_0x29c100;await this[_0x38f531(0xed)]();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x28e5a6=a0_0x29c100;instance&&(instance[_0x28e5a6(0x126)](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x5a0c(){const _0x46a11c=['BgvUz3rO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','zgLZy29UBMvJDa','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','z2v0tg9Ntgv2zwW','rvbfueG','C2vLAW','rhfyuNa','A2v5','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','y2XPzw50swq','s0fgs0fFu0fttf9vu0vstKfnrq','Dg9gAxHLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','B3rutfC','rvjst1i','zfz1teq','tNvpq2C','ntaWma','z2v0q29UzMLN','y29UC3vTzxi','CMX1Cwy','BM93','s0fgs0fFq0Xjru5ux0Le','z2v0u3rHDhvZ','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','tg54q0W','BgfZDe1LC3nHz2vuAw1L','BwvZC2fNzq','s0fgs0fFqvvut19dt01nsvq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','y2XVC2u','u3v6txa','ndC1mdy0ogf6t1rRsG','C3bSAxq','nZyYodbqwhrUvwe','zgvMyxvSDa','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','oda4nZrAsg9guu0','zw5HyMXLza','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','AuvtvuC','Dg9tDhjPBMC','EuLhrfm','CgfYC2vizwfKzxjZ','z3jVDxbjza','rNbQt2S','C3rHCNrdB25ZDw1PBMC','v0fstG','mxW5FdH8mNW3Fdv8mhW2FdeWFdn8na','yxv0B0nVBw1PDeLUDgvYDMfS','AxndB25Uzwn0zwq','lwnVBNn1BwvYlwDYB3vW','C3rHCNruAw1L','surzAwG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','s0fgs0fFq09otKvdveLptL9usu1ft1vu','mJu1odeYmMryv3rvzq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','yNjVA2vYCW','CMvZDgzVCMDLlq','C3vIC2nYAwjLzfrVCgLJCW','s0fgs0fFuKvuuLLFrevmqvK','BwfW','ndK4v2feCMzk','B2zMC2v0','mZaWma','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','AxnsDw5UAw5N','Afb6DfG','mtaZmZa0ogvxDgHWva','y29UBMvJDgLVBLbYB21PC2u','AxnbCNjHEq','A2fMA2e','DMfSDwu','z2v0vgLTzq','zxjYB3i','C3vIC2nYAwjL','CMvKDwnL','AxnjBML0AwfSAxPPBMC','Bg9Ntgv2zwW','mZu1mg1uAKzAEa','ChjVy2vZC2LUz1rPBwvZ','C2HPzNq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mJC3nZm3nhzKDgrxyW','t3HoAKG','DxvPza','BwvZC2fNzxnqCM9JzxnZzwq','Bg9N','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Aw5PDgLHBgL6zq','BwLU','y29UBMvJDgLVBLrPBwvVDxq','C3rVCa','yxv0B0nVBw1PDa','uLvQsva','mtjjwuHltg4','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','s0fgs0fFuKvrvuvtvf9usu1ft1vu','r3jlvfu','zw52','mZaWmda','zw50CMLLCW','CM91BMq','z3noq1m','Bwf4qNL0zxnqzxjqyxj0AxrPB24','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','z2v0twv0CMLJCW','mJuWmda','Bwv0CMLJCW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','AxnqyxvZzwq','Dhj1zq','mtmWnJGZourOsLbfvG','ChvZAa','y29UC3vTzxiUzgLZy29UBMvJDa','CMvZDw1L'];a0_0x5a0c=function(){return _0x46a11c;};return a0_0x5a0c();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2d552a=a0_0x5956;(function(_0x2f3b57,_0x46a20d){const _0x277468=a0_0x5956,_0x2674e0=_0x2f3b57();while(!![]){try{const _0x443145=parseInt(_0x277468(0x20c))/0x1*(parseInt(_0x277468(0x21e))/0x2)+parseInt(_0x277468(0x211))/0x3+-parseInt(_0x277468(0x21b))/0x4*(parseInt(_0x277468(0x1ea))/0x5)+parseInt(_0x277468(0x1da))/0x6*(parseInt(_0x277468(0x226))/0x7)+parseInt(_0x277468(0x1e0))/0x8*(parseInt(_0x277468(0x1dd))/0x9)+-parseInt(_0x277468(0x1fe))/0xa+-parseInt(_0x277468(0x1f6))/0xb;if(_0x443145===_0x46a20d)break;else _0x2674e0['push'](_0x2674e0['shift']());}catch(_0x4dd8e3){_0x2674e0['push'](_0x2674e0['shift']());}}}(a0_0x1511,0xef632));const {Kafka,logLevel,Partitioners}=require(a0_0x2d552a(0x1de)),{v7:uuidv7}=require(a0_0x2d552a(0x1d6));function a0_0x1511(){const _0x2e5ac2=['w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','yNjVA2vYCW','CMv0CNLbDhrLBxb0CW','y3jLyxrLzej5','AxnjBML0AwfSAxPPBMC','nda5nZy2ugPJEerp','Aw5PDgLHBgL6zq','y2XPzw50swq','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','y094ChO','Dhj1zq','DgvUyw50swq','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','DxvPza','mtaWma','ChjVzhvJzxi','DNPAyxO','mZbMquLNzhq','Bg9N','rvjst1i','ouvZqunozW','A2fMA2fQCW','y3jLyxrLza','mZaZodG0mefVBunSAa','zw52','AxndB25Uzwn0zwq','zxz0lq','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','CMvXDwvZDfrPBwvVDxq','zxjYB3i','DgfIBgvoyw1L','CMvWBgfJzq','z2v0q29UzMLN','mteWEKTUugrm','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','tvvKB1y','Bg9Ntgv2zwW','Bw9KDwXL','s0fgs0fFuKvuuLLFqvruru1qvfm','zw5KCg9PBNq','Dg9vChbLCKnHC2u','Eu5MthC','z2v0tg9Ntgv2zwW','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','z2v0twLUDxrLCW','mJuXodeZmvjqr0DRuq','yMfZzu9MzNnLDa','s0fgs0fFve9qsunFuefuvevstG','z2v0rNvSBfLLyxi','zM9YBwf0rgf0zvrPBwu','yNvPBgrfDMvUDe1LC3nHz2u','y29UBMvJDgLVBLbYB21PC2u','yNvPBgruB3bPy05HBwu','otG0ndaWme5vCePPDG','A2v5rMLLBgq','D2fYBG','s0fgs0fFu0fttf9vu0vstKfnrq','qM9Pv0e','E2vUzhbVAw50Fq','DxbKyxrLza','y29YCMvSyxrPB25jza','uKvtvezpuKDflq','CMv0CNLezwXHEq','su5gtW','A2fMA2e','Dg9WAwm','Dg9WAwnqyxr0zxjU','nufhr0Pxsq','zgvMyxvSDa','s0fgs0fFq09otKvdveLptL9usu1ft1vu','ChvIBgLZAev2zw50','D2zOz3K','mZu5mJy3nhztrKDcrq','E2fJDgLVBN0','s0fgs0fFq0Xjru5ux0Le','CMvZDgzVCMDLlq','CgfKu3rHCNq','y29UBMvJDa','t3nXqvq','ru5usvrzx0nsrufuruq','rMrTvuO','v0fstG','mJGXndrSsgLxz00','rMnyDwy','C291CMnL','mtKXnde2y0XwBNrs','zw5HyMXLza','rNzXtvK'];a0_0x1511=function(){return _0x2e5ac2;};return a0_0x1511();}class KafkaService{constructor(){const _0x168133=a0_0x2d552a;this[_0x168133(0x209)]=null,this[_0x168133(0x1d8)]=null,this[_0x168133(0x1e2)]=![],this['isInitializing']=![],this[_0x168133(0x1fc)]=null;}['getConfig'](){const _0x43ab86=a0_0x2d552a,_0x30f3a8={'ZaSbK':_0x43ab86(0x1d3),'vzZaz':'localhost:9092','BoiWA':_0x43ab86(0x20d),'pUyWo':'3000','NlTfK':'25000','FvqMY':function(_0x2078ac,_0x38a378){return _0x2078ac(_0x38a378);},'AVSvO':_0x43ab86(0x1d7),'OsqAT':_0x43ab86(0x200)};return{'enabled':process['env']['KAFKA_ENABLED']===_0x30f3a8['ZaSbK'],'brokers':(process[_0x43ab86(0x1e1)]['KAFKA_BROKERS']||_0x30f3a8[_0x43ab86(0x1d9)])['split'](','),'clientId':process['env'][_0x43ab86(0x213)]||_0x43ab86(0x214)+(process[_0x43ab86(0x1e1)][_0x43ab86(0x1eb)]||_0x30f3a8[_0x43ab86(0x202)])+'-producer','connectionTimeout':parseInt(process['env'][_0x43ab86(0x20e)]||_0x30f3a8['pUyWo']),'requestTimeout':parseInt(process[_0x43ab86(0x1e1)]['KAFKA_REQUEST_TIMEOUT']||_0x30f3a8['NlTfK']),'topicPattern':process[_0x43ab86(0x1e1)][_0x43ab86(0x1f8)]||'{module}.{endpoint}.events','tenantId':process['env']['KAFKA_TENANT_ID']||_0x43ab86(0x20d),'retryAttempts':_0x30f3a8[_0x43ab86(0x220)](parseInt,process['env'][_0x43ab86(0x1ef)]||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x30f3a8['AVSvO']),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x30f3a8[_0x43ab86(0x217)]};}[a0_0x2d552a(0x1f3)](_0x33ccd4){const _0x5bf5d0=a0_0x2d552a,_0x12d121={'nothing':logLevel['NOTHING'],'error':logLevel[_0x5bf5d0(0x1dc)],'warn':logLevel[_0x5bf5d0(0x21a)],'info':logLevel[_0x5bf5d0(0x208)],'debug':logLevel['DEBUG']};return _0x12d121[_0x33ccd4['toLowerCase']()]||logLevel[_0x5bf5d0(0x21a)];}async[a0_0x2d552a(0x227)](){const _0x763454=a0_0x2d552a,_0x39138c={'HGnBw':_0x763454(0x221),'gfWNi':function(_0x4b57b3,_0x1f6422){return _0x4b57b3===_0x1f6422;},'cOxpz':_0x763454(0x1d3),'FdmUJ':function(_0x45e4ba,_0x2812f8){return _0x45e4ba(_0x2812f8);}},_0x3da086=this['getConfig']();if(!_0x3da086[_0x763454(0x21f)])return console[_0x763454(0x1db)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x763454(0x1fc)])return this[_0x763454(0x1fc)];return this[_0x763454(0x225)]=!![],this[_0x763454(0x1fc)]=new Promise(async _0x4ed7ff=>{const _0x34090c=_0x763454;try{let _0x53a21d=undefined;_0x39138c['gfWNi'](process['env']['KAFKA_SSL'],_0x39138c[_0x34090c(0x1d2)])&&(_0x53a21d=!![]);let _0x34ea91=undefined;process[_0x34090c(0x1e1)]['KAFKA_SASL_MECHANISM']&&(_0x34ea91={'mechanism':process[_0x34090c(0x1e1)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x34090c(0x201)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x34090c(0x209)]=new Kafka({'clientId':_0x3da086['clientId'],'brokers':_0x3da086[_0x34090c(0x222)],'connectionTimeout':_0x3da086['connectionTimeout'],'requestTimeout':_0x3da086[_0x34090c(0x1e5)],'logLevel':this[_0x34090c(0x1f3)](_0x3da086[_0x34090c(0x1ed)]),'ssl':_0x53a21d,'sasl':_0x34ea91,'retry':{'initialRetryTime':_0x3da086[_0x34090c(0x207)],'retries':_0x3da086[_0x34090c(0x223)]}}),this['producer']=this[_0x34090c(0x209)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x34090c(0x216)](),this['isConnected']=!![],console['log'](_0x34090c(0x229)+_0x3da086['brokers']['join'](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x5ef419=_0x34090c;console['log'](_0x39138c['HGnBw']),this[_0x5ef419(0x1e2)]=![];}),_0x39138c[_0x34090c(0x219)](_0x4ed7ff,!![]);}catch(_0xe8260f){console[_0x34090c(0x1e6)]('[Kafka]\x20Connection\x20failed:\x20'+_0xe8260f['message']),this[_0x34090c(0x1e2)]=![],_0x4ed7ff(![]);}finally{this[_0x34090c(0x225)]=![];}}),this['connectionPromise'];}[a0_0x2d552a(0x1fa)](_0x3c2ee){const _0x22421b=a0_0x2d552a,_0x304412={'MUdoV':function(_0x5cd799,_0x479591){return _0x5cd799(_0x479591);},'AlgcV':function(_0x18f131,_0x3ffcfa){return _0x18f131+_0x3ffcfa;},'Gtrtn':function(_0x272b1f,_0x26521b){return _0x272b1f(_0x26521b);}},_0x2398c4=_0x3c2ee||new Date(),_0x39a633=_0x2398c4[_0x22421b(0x1f9)](),_0x259b83=_0x304412[_0x22421b(0x1ec)](String,_0x304412['AlgcV'](_0x2398c4['getMonth'](),0x1))[_0x22421b(0x215)](0x2,'0'),_0xf56281=_0x304412['Gtrtn'](String,_0x2398c4['getDate']())['padStart'](0x2,'0'),_0x3e0596=String(_0x2398c4['getHours']())[_0x22421b(0x215)](0x2,'0'),_0x1f2604=String(_0x2398c4[_0x22421b(0x1f5)]())['padStart'](0x2,'0'),_0xaeebe3=String(_0x2398c4['getSeconds']())[_0x22421b(0x215)](0x2,'0');return _0x39a633+'-'+_0x259b83+'-'+_0xf56281+'\x20'+_0x3e0596+':'+_0x1f2604+':'+_0xaeebe3;}[a0_0x2d552a(0x1fd)](_0xd3783d,_0x18eef3,_0xd35d23,_0x165f88=null){const _0x82b141=a0_0x2d552a,_0x5869fc={'quwPE':'{module}'};if(_0x165f88)return _0x165f88;const _0x12388a=this['getConfig']()['topicPattern'];return _0x12388a['replace'](_0x5869fc['quwPE'],_0xd3783d)[_0x82b141(0x1e8)](_0x82b141(0x203),_0x18eef3)[_0x82b141(0x1e8)](_0x82b141(0x212),_0xd35d23);}[a0_0x2d552a(0x1fb)](_0x28e51a,_0x29cad5,_0x212313,_0x22774b={}){const _0x44bc24=a0_0x2d552a,_0x1509cd={'yNfLw':function(_0xa6a2f){return _0xa6a2f();},'CeYfL':'SYSTEM'},_0x239fcb=new Date(),_0x1cff02=this['formatDateTime'](_0x239fcb),_0x4040a1=_0x22774b['correlationId']||'corr-'+_0x1509cd[_0x44bc24(0x1f2)](uuidv7);return{'eventId':_0x44bc24(0x1e3)+_0x1509cd['yNfLw'](uuidv7),'eventType':_0x28e51a,'eventTime':_0x1cff02,'eventVersion':'1.0','source':_0x44bc24(0x214)+(_0x22774b['module']||'unknown'),'correlationId':_0x4040a1,'newData':_0x212313,'oldData':_0x29cad5,'metadata':{'createdBy':_0x22774b[_0x44bc24(0x224)]||_0x1509cd['CeYfL'],'createdAt':_0x1cff02,'systemId':_0x44bc24(0x206)+(_0x22774b[_0x44bc24(0x1ee)]||'unknown')[_0x44bc24(0x1f1)](),'tenantId':this[_0x44bc24(0x1e9)]()[_0x44bc24(0x1d4)],'endpoint':_0x22774b[_0x44bc24(0x1f0)]||null,'tableName':_0x22774b['tableName']||null}};}async[a0_0x2d552a(0x20f)](_0x4d8d27,_0x44ce8d,_0x146f06,_0xbf2e17,_0x3f8801={}){const _0x12d314=a0_0x2d552a,_0x20b9b4={'wfhgy':_0x12d314(0x1f4)},_0x4a41db=this['getConfig']();if(!_0x4a41db[_0x12d314(0x21f)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this['isConnected']){const _0x101f8e=await this[_0x12d314(0x227)]();if(!_0x101f8e)return{'success':![],'reason':_0x20b9b4[_0x12d314(0x210)],'published':![]};}try{const _0x4a127a=this['buildEventMessage'](_0x44ce8d,_0x146f06,_0xbf2e17,_0x3f8801),_0x20d424=_0x3f8801[_0x12d314(0x1ff)]||'id',_0x2f0772=_0xbf2e17?.[_0x20d424]||_0x146f06?.[_0x20d424]||uuidv7(),_0x43e41c=await this['producer']['send']({'topic':_0x4d8d27,'messages':[{'key':String(_0x2f0772),'value':JSON['stringify'](_0x4a127a),'headers':{'event-type':_0x44ce8d,'correlation-id':_0x4a127a[_0x12d314(0x205)],'source':_0x4a127a[_0x12d314(0x21d)]}}]});return console['log'](_0x12d314(0x1e4)+_0x4d8d27+':\x20'+_0x44ce8d+'\x20(key:\x20'+_0x2f0772+')'),{'success':!![],'correlationId':_0x4a127a[_0x12d314(0x205)],'topic':_0x4d8d27,'partition':_0x43e41c[0x0]?.['partition'],'offset':_0x43e41c[0x0]?.[_0x12d314(0x1f7)],'published':!![]};}catch(_0x1fe53f){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x4d8d27+':\x20'+_0x1fe53f['message']),{'success':![],'error':_0x1fe53f['message'],'published':![]};}}async['publishInsert'](_0x5d8cd7,_0x18297a,_0x252c47,_0x536178={}){const _0x3dd677=a0_0x2d552a,_0x3acfa0={'rMnIO':_0x3dd677(0x218)},_0x31f488=this['buildTopicName'](_0x5d8cd7,_0x18297a,_0x3dd677(0x1df),_0x536178[_0x3dd677(0x20a)]);return this[_0x3dd677(0x20f)](_0x31f488,_0x3acfa0['rMnIO'],null,_0x252c47,{'module':_0x5d8cd7,'endpoint':_0x18297a,'keyField':_0x536178['keyField'],'tableName':_0x536178['tableName'],'correlationId':_0x536178['correlationId']});}async['publishUpdate'](_0x6ddb1d,_0x31e169,_0x3b6c29,_0x1b870c,_0x250106={}){const _0x229fe6=a0_0x2d552a,_0x513524={'ZMEgi':_0x229fe6(0x204),'FcXuf':'ENTITY_UPDATED'},_0x5508cb=this['buildTopicName'](_0x6ddb1d,_0x31e169,_0x513524['ZMEgi'],_0x250106['topic']);return this['publishEvent'](_0x5508cb,_0x513524[_0x229fe6(0x21c)],_0x3b6c29,_0x1b870c,{'module':_0x6ddb1d,'endpoint':_0x31e169,'keyField':_0x250106[_0x229fe6(0x1ff)],'tableName':_0x250106[_0x229fe6(0x1e7)],'correlationId':_0x250106[_0x229fe6(0x205)]});}async['publishDelete'](_0x588040,_0x2becfc,_0x50d612,_0x29fe43={}){const _0x5e7c54=a0_0x2d552a,_0x524c5b=this[_0x5e7c54(0x1fd)](_0x588040,_0x2becfc,'deleted',_0x29fe43[_0x5e7c54(0x20a)]);return this['publishEvent'](_0x524c5b,'ENTITY_DELETED',_0x50d612,null,{'module':_0x588040,'endpoint':_0x2becfc,'keyField':_0x29fe43['keyField'],'tableName':_0x29fe43['tableName'],'correlationId':_0x29fe43[_0x5e7c54(0x205)]});}['getStatus'](){const _0x549d4b=a0_0x2d552a,_0x1f55bb=this[_0x549d4b(0x1e9)]();return{'enabled':_0x1f55bb[_0x549d4b(0x21f)],'connected':this[_0x549d4b(0x1e2)],'brokers':_0x1f55bb['brokers'],'clientId':_0x1f55bb[_0x549d4b(0x228)],'topicPattern':_0x1f55bb[_0x549d4b(0x20b)]};}async['close'](){const _0x5e7a6c=a0_0x2d552a;if(this['producer']&&this[_0x5e7a6c(0x1e2)])try{await this[_0x5e7a6c(0x1d8)]['disconnect'](),this[_0x5e7a6c(0x1e2)]=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x164794){console['error'](_0x5e7a6c(0x1d5)+_0x164794['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function a0_0x5956(_0x1791ee,_0x5e321c){_0x1791ee=_0x1791ee-0x1d2;const _0x1511c4=a0_0x1511();let _0x59568e=_0x1511c4[_0x1791ee];if(a0_0x5956['vvYjPb']===undefined){var _0x44c25a=function(_0x265015){const _0x435aef='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3d19bb='',_0x26ea93='';for(let _0x196a44=0x0,_0x1b3755,_0x4c5ff6,_0xb10608=0x0;_0x4c5ff6=_0x265015['charAt'](_0xb10608++);~_0x4c5ff6&&(_0x1b3755=_0x196a44%0x4?_0x1b3755*0x40+_0x4c5ff6:_0x4c5ff6,_0x196a44++%0x4)?_0x3d19bb+=String['fromCharCode'](0xff&_0x1b3755>>(-0x2*_0x196a44&0x6)):0x0){_0x4c5ff6=_0x435aef['indexOf'](_0x4c5ff6);}for(let _0x132a56=0x0,_0x579765=_0x3d19bb['length'];_0x132a56<_0x579765;_0x132a56++){_0x26ea93+='%'+('00'+_0x3d19bb['charCodeAt'](_0x132a56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x26ea93);};a0_0x5956['JVSJUd']=_0x44c25a,a0_0x5956['EabVvi']={},a0_0x5956['vvYjPb']=!![];}const _0x345919=_0x1511c4[0x0],_0x2518c1=_0x1791ee+_0x345919,_0x45bb79=a0_0x5956['EabVvi'][_0x2518c1];return!_0x45bb79?(_0x59568e=a0_0x5956['JVSJUd'](_0x59568e),a0_0x5956['EabVvi'][_0x2518c1]=_0x59568e):_0x59568e=_0x45bb79,_0x59568e;}function resetInstance(){instance&&(instance['close'](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
1
|
+
const a0_0x1ec239=a0_0x541f;(function(_0x3aa40d,_0x3bbd00){const _0x362d17=a0_0x541f,_0x3b61a8=_0x3aa40d();while(!![]){try{const _0x2c4d52=-parseInt(_0x362d17(0x186))/0x1*(-parseInt(_0x362d17(0x1a4))/0x2)+parseInt(_0x362d17(0x1ac))/0x3*(-parseInt(_0x362d17(0x19c))/0x4)+-parseInt(_0x362d17(0x18a))/0x5*(parseInt(_0x362d17(0x1de))/0x6)+-parseInt(_0x362d17(0x187))/0x7*(parseInt(_0x362d17(0x19d))/0x8)+parseInt(_0x362d17(0x1d8))/0x9+parseInt(_0x362d17(0x190))/0xa+parseInt(_0x362d17(0x1c7))/0xb*(parseInt(_0x362d17(0x1af))/0xc);if(_0x2c4d52===_0x3bbd00)break;else _0x3b61a8['push'](_0x3b61a8['shift']());}catch(_0x2c76a8){_0x3b61a8['push'](_0x3b61a8['shift']());}}}(a0_0x47fd,0x344ac));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x1ec239(0x181));function a0_0x47fd(){const _0x30058f=['CgfYDgL0Aw9U','CMvZDgzVCMDLlq','s0fgs0fFuKvuuLLFqvruru1qvfm','tKjQuvK','Bvjzwxm','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','AxndB25Uzwn0zwq','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','z2v0q29UzMLN','mZaWma','Bg9N','zxjYB3i','z2v0tw9UDgG','zxHWB3j0CW','uezeDKO','mZiYm1j4EufKqq','yNvPBgrfDMvUDe1LC3nHz2u','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','y29YCI0','ru5usvrzx1vqrefuruq','z2v0sg91CNm','ms4W','s0fgs0fFu0fttf9qqvntv09sra','zw5KCg9PBNq','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','zgvMyxvSDa','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','zgLZy29UBMvJDa','C3bSAxq','zw5HyMXLza','CMvXDwvZDfrPBwvVDxq','Dg9WAwm','mtiYmti3m0Ppufjqzq','Dhj1zq','z2v0rgf0zq','rvjst1i','zw52','Dg9mB3DLCKnHC2u','mtmZnZq2AMfszNHV','s0fgs0fFuKvuuLLFrevmqvK','DxvPza','icHRzxK6ia','vNbhEey','mtaWma','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ndiWmZu2yKLpvejm','mty1otDVuKrotxi','AxnjBML0AwfSAxPPBMC','Bw9KDwXL','ntbeCLfYvhu','s0fgs0fFqLjps0vsuW','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','CMvWBgfJzq','Dg9vChbLCKnHC2u','DgvUyw50swq','mZi2ntmWmff6u1zlDW','s0fgs0fFvevoqu5ux0Le','uKvtvezpuKDflq','z2v0twLUDxrLCW','D2fYBG','C291CMnL','z2v0rNvSBfLLyxi','y0TQCNO','ru5usvrzx0rftevuruq','ChvIBgLZAeLUC2vYDa','C1rzwMS','s0fgs0fFu0fttf9vu0vstKfnrq','mJq0vfjmsung','mtm4ngvmzeLkDG','v01fvfa','y29YCMvSyxrPB25jza','y29UBMvJDgLVBLrPBwvVDxq','ChvIBgLZAev2zw50','yNvPBgruB3bPy05HBwu','y2XVC2u','mKjptwnYAq','ChjVzhvJzxi','tK9useLorW','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','v0fstG','Dg9WAwnqyxr0zxjU','nJq3n1vyz0TnyG','u1HHzfO','Dw5RBM93BG','mZK0oerTAvL4ta','z2v0tg9Ntgv2zwW','yNjVA2vYCW','s0fgs0fFuKvrvuvtvf9usu1ft1vu','CgfKu3rHCNq','y2XPzw50swq','A2v5rMLLBgq','C3rYAw5NAwz5','sM5lrhC'];a0_0x47fd=function(){return _0x30058f;};return a0_0x47fd();}class KafkaService{constructor(){const _0x2099d1=a0_0x1ec239,_0x4d0242={'YmufM':'1|3|2|4|0'},_0x5f08b8=_0x4d0242['YmufM'][_0x2099d1(0x1d4)]('|');let _0x50e6a4=0x0;while(!![]){switch(_0x5f08b8[_0x50e6a4++]){case'0':this[_0x2099d1(0x1a8)]=null;continue;case'1':this['kafka']=null;continue;case'2':this['isConnected']=![];continue;case'3':this[_0x2099d1(0x1a5)]=null;continue;case'4':this['isInitializing']=![];continue;}break;}}[a0_0x1ec239(0x1c0)](){const _0x1aae39=a0_0x1ec239,_0x1e41cd={'BUfRv':_0x1aae39(0x1d9),'Hnjlc':function(_0x5eea03,_0x3d679c){return _0x5eea03(_0x3d679c);},'QvdLA':'25000','RsLKl':_0x1aae39(0x1c9)};return{'enabled':process[_0x1aae39(0x1dc)]['KAFKA_ENABLED']===_0x1e41cd['BUfRv'],'brokers':(process[_0x1aae39(0x1dc)][_0x1aae39(0x18b)]||'localhost:9092')[_0x1aae39(0x1d4)](','),'clientId':process[_0x1aae39(0x1dc)]['KAFKA_CLIENT_ID']||_0x1aae39(0x1b9)+(process[_0x1aae39(0x1dc)]['RESTFORGE_PROJECT_NAME']||_0x1aae39(0x1d1))+'-producer','connectionTimeout':_0x1e41cd['Hnjlc'](parseInt,process[_0x1aae39(0x1dc)]['KAFKA_CONNECTION_TIMEOUT']||_0x1aae39(0x1c1)),'requestTimeout':parseInt(process[_0x1aae39(0x1dc)][_0x1aae39(0x1b2)]||_0x1e41cd['QvdLA']),'topicPattern':process[_0x1aae39(0x1dc)]['KAFKA_TOPIC_PATTERN']||_0x1e41cd['RsLKl'],'tenantId':process['env'][_0x1aae39(0x191)]||'default','retryAttempts':parseInt(process['env'][_0x1aae39(0x1ba)]||'3'),'retryDelay':parseInt(process['env'][_0x1aae39(0x180)]||_0x1aae39(0x184)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x1aae39(0x194)};}[a0_0x1ec239(0x1b0)](_0x1e25dd){const _0x135394=a0_0x1ec239,_0x4cfe25={'nothing':logLevel[_0x135394(0x1a6)],'error':logLevel[_0x135394(0x1db)],'warn':logLevel[_0x135394(0x1aa)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x4cfe25[_0x1e25dd[_0x135394(0x1dd)]()]||logLevel[_0x135394(0x1aa)];}async['initialize'](){const _0xf73c4f=a0_0x1ec239,_0x35937b={'LKNUN':function(_0x62b86,_0x2179a2){return _0x62b86(_0x2179a2);}},_0x421c92=this[_0xf73c4f(0x1c0)]();if(!_0x421c92['enabled'])return console[_0xf73c4f(0x1c2)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xf73c4f(0x1be)])return!![];if(this[_0xf73c4f(0x188)]&&this['connectionPromise'])return this['connectionPromise'];return this[_0xf73c4f(0x188)]=!![],this['connectionPromise']=new Promise(async _0xfc00fc=>{const _0x996f02=_0xf73c4f;try{let _0x24a94b=undefined;process['env']['KAFKA_SSL']==='true'&&(_0x24a94b=!![]);let _0x3e40a7=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x3e40a7={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x996f02(0x19b)]||'','password':process[_0x996f02(0x1dc)][_0x996f02(0x1ce)]||''}),this['kafka']=new Kafka({'clientId':_0x421c92['clientId'],'brokers':_0x421c92[_0x996f02(0x1b1)],'connectionTimeout':_0x421c92[_0x996f02(0x1a0)],'requestTimeout':_0x421c92[_0x996f02(0x1d6)],'logLevel':this[_0x996f02(0x1b0)](_0x421c92['logLevel']),'ssl':_0x24a94b,'sasl':_0x3e40a7,'retry':{'initialRetryTime':_0x421c92['retryDelay'],'retries':_0x421c92['retryAttempts']}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x996f02(0x1a5)]['connect'](),this['isConnected']=!![],console[_0x996f02(0x1c2)](_0x996f02(0x1a7)+_0x421c92[_0x996f02(0x1b1)]['join'](',\x20')),this[_0x996f02(0x1a5)]['on']('producer.disconnect',()=>{const _0x3a07e1=_0x996f02;console[_0x3a07e1(0x1c2)](_0x3a07e1(0x1bd)),this['isConnected']=![];}),_0x35937b['LKNUN'](_0xfc00fc,!![]);}catch(_0xfd780b){console[_0x996f02(0x1c3)](_0x996f02(0x185)+_0xfd780b['message']),this['isConnected']=![],_0xfc00fc(![]);}finally{this[_0x996f02(0x188)]=![];}}),this[_0xf73c4f(0x1a8)];}['formatDateTime'](_0x170071){const _0xe33af5=a0_0x1ec239,_0x51bc80={'WMETP':function(_0x4c9530,_0x317b70){return _0x4c9530(_0x317b70);},'wxzkZ':function(_0x557e94,_0x1e6164){return _0x557e94+_0x1e6164;},'SXadZ':function(_0x22247c,_0x2a15b0){return _0x22247c(_0x2a15b0);}},_0x4b6a3c=_0x170071||new Date(),_0x588059=_0x4b6a3c[_0xe33af5(0x196)](),_0x4b94d5=_0x51bc80['WMETP'](String,_0x51bc80['wxzkZ'](_0x4b6a3c[_0xe33af5(0x1c4)](),0x1))[_0xe33af5(0x1b3)](0x2,'0'),_0x1fb81e=String(_0x4b6a3c[_0xe33af5(0x1da)]())['padStart'](0x2,'0'),_0x4e0e05=_0x51bc80[_0xe33af5(0x19e)](String,_0x4b6a3c[_0xe33af5(0x1cc)]())['padStart'](0x2,'0'),_0x4fc78b=_0x51bc80[_0xe33af5(0x1ad)](String,_0x4b6a3c[_0xe33af5(0x193)]())['padStart'](0x2,'0'),_0x5e4ff6=_0x51bc80[_0xe33af5(0x19e)](String,_0x4b6a3c['getSeconds']())['padStart'](0x2,'0');return _0x588059+'-'+_0x4b94d5+'-'+_0x1fb81e+'\x20'+_0x4e0e05+':'+_0x4fc78b+':'+_0x5e4ff6;}[a0_0x1ec239(0x1a2)](_0x322717,_0x211123,_0x48343e,_0x39c1b2=null){const _0x3ab81e=a0_0x1ec239;if(_0x39c1b2)return _0x39c1b2;const _0xd4f678=this[_0x3ab81e(0x1c0)]()[_0x3ab81e(0x1ab)];return _0xd4f678[_0x3ab81e(0x18d)]('{module}',_0x322717)['replace']('{endpoint}',_0x211123)[_0x3ab81e(0x18d)]('{action}',_0x48343e);}[a0_0x1ec239(0x1c8)](_0x3f5531,_0x14a814,_0x1d2345,_0x563de6={}){const _0x2a4e5e=a0_0x1ec239,_0x5ecaa3={'mRYYs':function(_0x5648b5){return _0x5648b5();},'sTYZk':function(_0x3b63c8){return _0x3b63c8();},'cKjrz':_0x2a4e5e(0x1ae),'jiDgZ':'SYSTEM'},_0x2c72cf=new Date(),_0x30c883=this['formatDateTime'](_0x2c72cf),_0x58d7a6=_0x563de6['correlationId']||_0x2a4e5e(0x1ca)+_0x5ecaa3[_0x2a4e5e(0x1bc)](uuidv7);return{'eventId':'evt-'+_0x5ecaa3[_0x2a4e5e(0x19a)](uuidv7),'eventType':_0x3f5531,'eventTime':_0x30c883,'eventVersion':_0x2a4e5e(0x1cd),'source':_0x2a4e5e(0x1b9)+(_0x563de6['module']||_0x5ecaa3[_0x2a4e5e(0x197)]),'correlationId':_0x58d7a6,'newData':_0x1d2345,'oldData':_0x14a814,'metadata':{'createdBy':_0x563de6['createdBy']||_0x5ecaa3['jiDgZ'],'createdAt':_0x30c883,'systemId':_0x2a4e5e(0x192)+(_0x563de6[_0x2a4e5e(0x189)]||_0x2a4e5e(0x1ae))[_0x2a4e5e(0x18e)](),'tenantId':this[_0x2a4e5e(0x1c0)]()[_0x2a4e5e(0x18f)],'endpoint':_0x563de6[_0x2a4e5e(0x1cf)]||null,'tableName':_0x563de6['tableName']||null}};}async['publishEvent'](_0xe1c457,_0x1c5602,_0x375332,_0x331bce,_0x49838c={}){const _0x50da25=a0_0x1ec239,_0x4e3ee7={'NBjQY':function(_0x487325){return _0x487325();},'YVjOf':function(_0x5d7c8a,_0x507ba3){return _0x5d7c8a(_0x507ba3);}},_0x1b8faf=this[_0x50da25(0x1c0)]();if(!_0x1b8faf[_0x50da25(0x1d5)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this['isConnected']){const _0x5bb5ae=await this['initialize']();if(!_0x5bb5ae)return{'success':![],'reason':_0x50da25(0x1bf),'published':![]};}try{const _0x25ee23=this[_0x50da25(0x1c8)](_0x1c5602,_0x375332,_0x331bce,_0x49838c),_0x1cd6af=_0x49838c['keyField']||'id',_0x2d9487=_0x331bce?.[_0x1cd6af]||_0x375332?.[_0x1cd6af]||_0x4e3ee7[_0x50da25(0x1bb)](uuidv7),_0x110cd6=await this[_0x50da25(0x1a5)]['send']({'topic':_0xe1c457,'messages':[{'key':_0x4e3ee7['YVjOf'](String,_0x2d9487),'value':JSON[_0x50da25(0x1b6)](_0x25ee23),'headers':{'event-type':_0x1c5602,'correlation-id':_0x25ee23['correlationId'],'source':_0x25ee23[_0x50da25(0x195)]}}]});return console[_0x50da25(0x1c2)](_0x50da25(0x1d2)+_0xe1c457+':\x20'+_0x1c5602+_0x50da25(0x182)+_0x2d9487+')'),{'success':!![],'correlationId':_0x25ee23['correlationId'],'topic':_0xe1c457,'partition':_0x110cd6[0x0]?.[_0x50da25(0x1b8)],'offset':_0x110cd6[0x0]?.['baseOffset'],'published':!![]};}catch(_0x4e547c){return console[_0x50da25(0x1c3)](_0x50da25(0x1d0)+_0xe1c457+':\x20'+_0x4e547c['message']),{'success':![],'error':_0x4e547c['message'],'published':![]};}}async[a0_0x1ec239(0x199)](_0x3be081,_0x2d81fb,_0x15d1b5,_0x96d32a={}){const _0x16e0b6=a0_0x1ec239,_0x36709e=this['buildTopicName'](_0x3be081,_0x2d81fb,'created',_0x96d32a['topic']);return this['publishEvent'](_0x36709e,'ENTITY_CREATED',null,_0x15d1b5,{'module':_0x3be081,'endpoint':_0x2d81fb,'keyField':_0x96d32a['keyField'],'tableName':_0x96d32a[_0x16e0b6(0x1a9)],'correlationId':_0x96d32a[_0x16e0b6(0x19f)]});}async['publishUpdate'](_0x134245,_0x305c56,_0x4e2557,_0x1291ad,_0x53f03d={}){const _0x4966c9=a0_0x1ec239,_0x7bee63={'JnKDw':'updated','ldwTQ':_0x4966c9(0x1cb)},_0x47683a=this['buildTopicName'](_0x134245,_0x305c56,_0x7bee63[_0x4966c9(0x1b7)],_0x53f03d[_0x4966c9(0x1d7)]);return this['publishEvent'](_0x47683a,_0x7bee63['ldwTQ'],_0x4e2557,_0x1291ad,{'module':_0x134245,'endpoint':_0x305c56,'keyField':_0x53f03d['keyField'],'tableName':_0x53f03d[_0x4966c9(0x1a9)],'correlationId':_0x53f03d['correlationId']});}async['publishDelete'](_0x319107,_0x430ae3,_0x37ae33,_0x101299={}){const _0x6d486b=a0_0x1ec239,_0x1875e7={'rnQqM':'deleted','VpGxF':_0x6d486b(0x198)},_0x69b687=this[_0x6d486b(0x1a2)](_0x319107,_0x430ae3,_0x1875e7['rnQqM'],_0x101299[_0x6d486b(0x1d7)]);return this[_0x6d486b(0x1a1)](_0x69b687,_0x1875e7[_0x6d486b(0x183)],_0x37ae33,null,{'module':_0x319107,'endpoint':_0x430ae3,'keyField':_0x101299[_0x6d486b(0x1b5)],'tableName':_0x101299['tableName'],'correlationId':_0x101299[_0x6d486b(0x19f)]});}['getStatus'](){const _0x3c8bc0=a0_0x1ec239,_0x4763a5=this['getConfig']();return{'enabled':_0x4763a5[_0x3c8bc0(0x1d5)],'connected':this['isConnected'],'brokers':_0x4763a5[_0x3c8bc0(0x1b1)],'clientId':_0x4763a5[_0x3c8bc0(0x1b4)],'topicPattern':_0x4763a5['topicPattern']};}async[a0_0x1ec239(0x1a3)](){const _0x2c2ba9=a0_0x1ec239,_0x3d1c4e={'PFDvJ':_0x2c2ba9(0x18c)};if(this['producer']&&this[_0x2c2ba9(0x1be)])try{await this['producer'][_0x2c2ba9(0x1d3)](),this[_0x2c2ba9(0x1be)]=![],console['log'](_0x3d1c4e[_0x2c2ba9(0x1c6)]);}catch(_0xb715da){console[_0x2c2ba9(0x1c3)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0xb715da['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x541f(_0x3be624,_0x425630){_0x3be624=_0x3be624-0x180;const _0x47fdf1=a0_0x47fd();let _0x541fae=_0x47fdf1[_0x3be624];if(a0_0x541f['mltqoH']===undefined){var _0x1129a7=function(_0x6427c0){const _0x28a415='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19a038='',_0x4b491d='';for(let _0x19ecc4=0x0,_0x58c75e,_0x252317,_0x1ae6a9=0x0;_0x252317=_0x6427c0['charAt'](_0x1ae6a9++);~_0x252317&&(_0x58c75e=_0x19ecc4%0x4?_0x58c75e*0x40+_0x252317:_0x252317,_0x19ecc4++%0x4)?_0x19a038+=String['fromCharCode'](0xff&_0x58c75e>>(-0x2*_0x19ecc4&0x6)):0x0){_0x252317=_0x28a415['indexOf'](_0x252317);}for(let _0x2ed4e2=0x0,_0x4b258f=_0x19a038['length'];_0x2ed4e2<_0x4b258f;_0x2ed4e2++){_0x4b491d+='%'+('00'+_0x19a038['charCodeAt'](_0x2ed4e2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4b491d);};a0_0x541f['nQxAMW']=_0x1129a7,a0_0x541f['LqPewl']={},a0_0x541f['mltqoH']=!![];}const _0x5d036a=_0x47fdf1[0x0],_0x3d25d2=_0x3be624+_0x5d036a,_0x2f94e2=a0_0x541f['LqPewl'][_0x3d25d2];return!_0x2f94e2?(_0x541fae=a0_0x541f['nQxAMW'](_0x541fae),a0_0x541f['LqPewl'][_0x3d25d2]=_0x541fae):_0x541fae=_0x2f94e2,_0x541fae;}module[a0_0x1ec239(0x1c5)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3db20e=a0_0x240f;(function(_0x142927,_0x46caf6){const _0x172734=a0_0x240f,_0x5e3343=_0x142927();while(!![]){try{const _0x255fd7=parseInt(_0x172734(0xe5))/0x1+-parseInt(_0x172734(0x10f))/0x2+parseInt(_0x172734(0xfa))/0x3+-parseInt(_0x172734(0xf4))/0x4*(-parseInt(_0x172734(0xd6))/0x5)+parseInt(_0x172734(0xc6))/0x6+parseInt(_0x172734(0xc7))/0x7*(parseInt(_0x172734(0xf0))/0x8)+-parseInt(_0x172734(0xfe))/0x9;if(_0x255fd7===_0x46caf6)break;else _0x5e3343['push'](_0x5e3343['shift']());}catch(_0x16a1e0){_0x5e3343['push'](_0x5e3343['shift']());}}}(a0_0x4a36,0xf2af7));const dotenv=require(a0_0x3db20e(0xd5)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x3db20e(0x100));dotenv[a0_0x3db20e(0xd9)]();let MessageHub;try{const messagehubPath=path[a0_0x3db20e(0xef)](__dirname,a0_0x3db20e(0xd7));if(fs[a0_0x3db20e(0xdb)](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x3db20e(0xd4)+messagehubPath);else throw new Error(a0_0x3db20e(0x111)+messagehubPath);}catch(a0_0x22224d){console[a0_0x3db20e(0x114)]('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x22224d[a0_0x3db20e(0xe8)]);throw a0_0x22224d;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x379356){const _0x461561=a0_0x3db20e,_0x882850=new Date()[_0x461561(0xe2)]();console[_0x461561(0xe9)]('['+_0x882850+']\x20'+_0x379356);}async function initMessageHub(){const _0x4ab45f=a0_0x3db20e,_0x539eda={'XGWfl':function(_0x3ac83d,_0x1ed048){return _0x3ac83d(_0x1ed048);},'bDTZA':function(_0x18dabc,_0xdacae5){return _0x18dabc===_0xdacae5;},'WWfUj':'connected','XVVHB':'disconnected','PrJMR':function(_0x13b613,_0x162d73){return _0x13b613===_0x162d73;},'riTGP':function(_0x13e4fe,_0x75ef64){return _0x13e4fe(_0x75ef64);},'mKAhh':_0x4ab45f(0xcc),'cHvxg':'error','uWlKq':function(_0x5e52d5,_0x13abbf){return _0x5e52d5(_0x13abbf);},'lFgHP':function(_0x51ba7a,_0x354c1c){return _0x51ba7a(_0x354c1c);},'iROLy':function(_0x446a9d,_0x31fe13){return _0x446a9d===_0x31fe13;},'SZDri':'message-received','WbLjz':function(_0x4a2cce,_0x129dd5){return _0x4a2cce(_0x129dd5);},'VdVdV':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','hqjko':function(_0x3d1e9d,_0x210449){return _0x3d1e9d(_0x210449);},'jpHwh':'Connection\x20timeout','zBrcI':function(_0x21c0a6,_0x4b9e89){return _0x21c0a6(_0x4b9e89);},'qaOpu':'Mode:\x20Koneksi\x20Nyata','VMtsI':_0x4ab45f(0xf2),'ikiFy':'true','QFcIR':function(_0x69804b,_0x4bf3e4){return _0x69804b(_0x4bf3e4);},'lwSmf':'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======','VIVfq':'========================================','oUbRR':function(_0xad801b,_0x58ade7){return _0xad801b(_0x58ade7);},'XBvQW':'MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'};if(messagehub&&isConnected)return _0x539eda['oUbRR'](log,_0x539eda[_0x4ab45f(0xf9)]),!![];if(connectionPromise)return _0x539eda['hqjko'](log,'Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x17f44b,_0x1f0b36)=>{const _0x593f9f=_0x4ab45f;try{log('======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0x539eda[_0x593f9f(0xe6)](log,'Waktu\x20Inisialisasi:\x20'+new Date()['toLocaleString']()),log(_0x539eda['qaOpu']);const _0x115bc8={'publishKey':process[_0x593f9f(0xf3)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x593f9f(0xf3)][_0x593f9f(0xfc)],'userId':process['env']['MSHUB_USER_ID']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x593f9f(0xff))+'-'+process[_0x593f9f(0x10e)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x539eda[_0x593f9f(0xdd)],'autoAcknowledge':process['env']['MSHUB_AUTO_ACKNOWLEDGE']==='true','acknowledgeMessages':process['env']['MSHUB_ACKNOWLEDGE_MESSAGES']===_0x539eda[_0x593f9f(0xed)],'platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||'websocket','host':process['env']['MSHUB_HOST']||_0x593f9f(0x102),'api_port':_0x539eda['QFcIR'](parseInt,process[_0x593f9f(0xf3)]['MSHUB_API_PORT']||0xdf8),'service_port':_0x539eda[_0x593f9f(0xcb)](parseInt,process[_0x593f9f(0xf3)][_0x593f9f(0xc9)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x115bc8),log(_0x539eda['lwSmf']),_0x539eda[_0x593f9f(0x110)](log,_0x593f9f(0x104)+messagehub['userId']),_0x539eda[_0x593f9f(0x110)](log,'Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x593f9f(0xc1)+messagehub[_0x593f9f(0x10a)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0x593f9f(0x108)+JSON['stringify'](messagehub[_0x593f9f(0xe0)])),log(_0x539eda['VIVfq']),messagehub[_0x593f9f(0xf5)]({'status':function(_0x2045c4){const _0x188c7e=_0x593f9f;_0x539eda[_0x188c7e(0xdc)](log,'Status\x20Listener:\x20'+_0x2045c4['category']);if(_0x539eda['bDTZA'](_0x2045c4[_0x188c7e(0x10c)],_0x539eda['WWfUj']))log(_0x188c7e(0xde)),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x17f44b(!![]);else{if(_0x539eda['bDTZA'](_0x2045c4[_0x188c7e(0x10c)],_0x539eda[_0x188c7e(0x113)])){const _0x2cff3c=_0x539eda[_0x188c7e(0x10b)](_0x2045c4['isErrorRelated'],!![]);!_0x2cff3c&&(_0x539eda['riTGP'](log,_0x188c7e(0xe3)+(_0x2045c4['reason']||_0x539eda['mKAhh'])),isConnected=![],connectionPromise&&(_0x539eda['XGWfl'](_0x1f0b36,new Error('Koneksi\x20terputus:\x20'+(_0x2045c4[_0x188c7e(0xd2)]||_0x539eda['mKAhh']))),connectionPromise=null));}else{if(_0x2045c4[_0x188c7e(0x10c)]===_0x539eda['cHvxg']){let _0x1b21a5=_0x2045c4['errorDetail']||_0x2045c4[_0x188c7e(0x114)]||_0x188c7e(0xee);_0x539eda[_0x188c7e(0x115)](log,'⚠️\x20Error:\x20'+_0x1b21a5),isConnected=![],connectionPromise&&(_0x1f0b36(new Error(_0x1b21a5)),connectionPromise=null);}else{if(_0x2045c4['category']===_0x188c7e(0xd8))_0x539eda[_0x188c7e(0xcb)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x2045c4[_0x188c7e(0x107)]);else{if(_0x539eda['iROLy'](_0x2045c4['category'],_0x539eda['SZDri'])){const _0x144fbf=_0x2045c4['receiverInfo']?.['name']||'Unknown',_0x2f383a=_0x2045c4[_0x188c7e(0xeb)]?.['id']||_0x2045c4['receiverId'],_0x2858f2=new Date(_0x2045c4[_0x188c7e(0xeb)]?.[_0x188c7e(0xfd)]||_0x2045c4['receivedAt']||new Date())[_0x188c7e(0x105)]();log(_0x188c7e(0x106)+_0x2045c4[_0x188c7e(0x107)]+_0x188c7e(0xf8)+_0x144fbf+'\x20('+_0x2f383a+_0x188c7e(0xd1)+_0x2858f2+'.\x20Total\x20konfirmasi:\x20'+(_0x2045c4[_0x188c7e(0xd3)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x4f35f8=_0x593f9f;!isConnected&&connectionPromise&&(_0x539eda[_0x4f35f8(0x110)](log,_0x539eda[_0x4f35f8(0xf1)]),_0x539eda['hqjko'](_0x1f0b36,new Error(_0x539eda[_0x4f35f8(0x101)])),connectionPromise=null);},0x2710);}catch(_0x46fd74){log(_0x593f9f(0xc3)+_0x46fd74[_0x593f9f(0xe8)]),console[_0x593f9f(0x114)](_0x593f9f(0xc5),_0x46fd74),connectionPromise=null,_0x1f0b36(_0x46fd74);}}),connectionPromise;}function a0_0x4a36(){const _0x4df7df=['vMrwzfy','yNjVywrJyxn0','zw52','ndaYnZzPqvD3sK0','ywrKtgLZDgvUzxi','Dg9WAwm','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','igrPDgvYAw1Hig9SzwGG','wej2uvC','odmWmty2BhnTBw5g','twvZC2fNzsbuExbLoIa','tvnivujFu1vcu0nssujfx0Tfwq','CMvJzwL2zwrbDa','mJK0otq0nZzXswjJs2q','zgvMyxvSDa','DxvPza','ANbiD2G','Bg9JywXOB3n0','yMzAy24','q2XPzw50ieLel1vZzxjjrdOG','Dg9mB2nHBgvuAw1Lu3rYAw5N','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','CMvXDwvZDeLK','s29UzMLNDxjHC2KGugXHDgzVCM06ia','B3LWCuC','C3vIC2nYAwjLs2v5','uhjktvi','y2f0zwDVCNK','rNbIuge','CgLK','mZa1nJK3mLHArvDdzG','v2jmANO','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','q2HHBM5LBcbuyxjNzxq6ia','wfzwsei','zxjYB3i','DvDSs3e','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','u3vIC2nYAwjLieTLEtOG','D1vHBKe','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','u1HrBLC','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','nZyWndGZohbky0nUva','mtmZn0n1DejSuW','ENfNwLq','tvnivujFu0vsvKLdrv9qt1ju','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','BezNsfa','vgLKywSGzgLRzxrHAhvP','CMvZDgzVCMDL','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','C29JA2v0','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','ksbWywrHia','CMvHC29U','y29UzMLYBwf0Aw9Uq291BNq','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','zg90zw52','nZG1zLrdz1Lu','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','BwvZC2fNzs1Zzw50','y29UzMLN','CMvXDwLYzufJAW','zxHPC3rZu3LUyW','weDxzMW','vK10C0K','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','DhjOqM8','CgXHDgzVCM1dB25MAwC','tfPlCLi','Dg9ju09tDhjPBMC','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','sMvsq1e','mtqZndmWn0XcCgTTEq','EKjYy0K','u2nMyLe','BwvZC2fNzq','Bg9N','wwH0sgW','CMvJzwL2zxjjBMzV','zgLZy29UBMvJDa','AwTPrNK','vw5RBM93BIbLCNjVCG','CMvZB2X2zq','nte5ntjjCMz0BxO'];a0_0x4a36=function(){return _0x4df7df;};return a0_0x4a36();}async function publishMessage(_0x197a99,_0x205c09,_0x3a6a7e,_0x7a69c={}){const _0x79ddb7=a0_0x3db20e,_0x559224={'JeRCQ':function(_0xe70c9a,_0x5ad785){return _0xe70c9a(_0x5ad785);},'wUanA':_0x79ddb7(0xce),'SXQnW':function(_0x86840a,_0x31f79e){return _0x86840a!==_0x31f79e;},'ygRfL':_0x79ddb7(0xcd),'FpbPa':'Message\x20sent\x20successfully','bfZcn':function(_0xa3cba,_0xc8779a){return _0xa3cba(_0xc8779a);},'YhtHl':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0x566b70=messagehub['channel'](_0x197a99);_0x559224['JeRCQ'](log,'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),log(_0x79ddb7(0x112)+_0x566b70[_0x79ddb7(0xf6)]),_0x559224['JeRCQ'](log,_0x79ddb7(0xfb)+_0x205c09),log(_0x559224[_0x79ddb7(0xc2)]);const _0x5cebe8={'requireAck':_0x7a69c['requireAck']!==undefined?_0x7a69c[_0x79ddb7(0xda)]:![],'clearCache':_0x559224[_0x79ddb7(0xc4)](_0x7a69c['clearCache'],undefined)?_0x7a69c['clearCache']:!![],'senderId':messagehub['socket']?messagehub[_0x79ddb7(0xcf)]['id']:_0x559224['ygRfL']};_0x559224[_0x79ddb7(0xe4)](log,_0x79ddb7(0xf7));const _0x245fed={'type':_0x205c09,'content':_0x3a6a7e},_0x54fb74=await _0x566b70['publish'](_0x245fed,_0x5cebe8);return _0x559224['JeRCQ'](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x197a99),{'success':!![],'requestId':_0x54fb74[_0x79ddb7(0x107)],'topic':_0x197a99,'message':_0x559224[_0x79ddb7(0x10d)]};}catch(_0x5af289){return _0x559224[_0x79ddb7(0x103)](log,_0x79ddb7(0xc0)+_0x5af289[_0x79ddb7(0xe8)]),{'success':![],'error':_0x5af289[_0x79ddb7(0xe8)],'topic':_0x197a99,'message':_0x559224[_0x79ddb7(0xea)]};}}function a0_0x240f(_0x3ea3ed,_0x5a51b4){_0x3ea3ed=_0x3ea3ed-0xc0;const _0x4a3663=a0_0x4a36();let _0x240f40=_0x4a3663[_0x3ea3ed];if(a0_0x240f['ODSZhK']===undefined){var _0x1b0d08=function(_0x238574){const _0x5b8b81='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36d269='',_0x54cb40='';for(let _0x4045d9=0x0,_0x1f51cf,_0xd13f15,_0x505f39=0x0;_0xd13f15=_0x238574['charAt'](_0x505f39++);~_0xd13f15&&(_0x1f51cf=_0x4045d9%0x4?_0x1f51cf*0x40+_0xd13f15:_0xd13f15,_0x4045d9++%0x4)?_0x36d269+=String['fromCharCode'](0xff&_0x1f51cf>>(-0x2*_0x4045d9&0x6)):0x0){_0xd13f15=_0x5b8b81['indexOf'](_0xd13f15);}for(let _0xaa6dc8=0x0,_0x6ed5d6=_0x36d269['length'];_0xaa6dc8<_0x6ed5d6;_0xaa6dc8++){_0x54cb40+='%'+('00'+_0x36d269['charCodeAt'](_0xaa6dc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54cb40);};a0_0x240f['oQSqyO']=_0x1b0d08,a0_0x240f['xwlSaA']={},a0_0x240f['ODSZhK']=!![];}const _0x11dce7=_0x4a3663[0x0],_0x56ceb4=_0x3ea3ed+_0x11dce7,_0x2ca3d5=a0_0x240f['xwlSaA'][_0x56ceb4];return!_0x2ca3d5?(_0x240f40=a0_0x240f['oQSqyO'](_0x240f40),a0_0x240f['xwlSaA'][_0x56ceb4]=_0x240f40):_0x240f40=_0x2ca3d5,_0x240f40;}async function closeConnection(){const _0x2b1015=a0_0x3db20e,_0x4c6b94={'zqgZT':function(_0x3b9aa3,_0x88de5c){return _0x3b9aa3&&_0x88de5c;},'trhBo':'function','LZKrR':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','ScfbQ':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','DOAvG':function(_0x4ddc08,_0x37311f){return _0x4ddc08(_0x37311f);},'oypqG':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x4c6b94[_0x2b1015(0xc8)](isConnected,messagehub))try{if(typeof messagehub[_0x2b1015(0xec)]===_0x4c6b94[_0x2b1015(0xdf)])await messagehub[_0x2b1015(0xec)](),log(_0x2b1015(0xd0));else{if(typeof messagehub['close']==='function')await messagehub['close'](),log(_0x4c6b94[_0x2b1015(0xe1)]);else messagehub[_0x2b1015(0xcf)]&&typeof messagehub[_0x2b1015(0xcf)][_0x2b1015(0xec)]===_0x4c6b94[_0x2b1015(0xdf)]?(messagehub[_0x2b1015(0xcf)][_0x2b1015(0xec)](),log(_0x4c6b94[_0x2b1015(0xe7)])):_0x4c6b94['DOAvG'](log,_0x4c6b94[_0x2b1015(0x109)]);}isConnected=![],connectionPromise=null;}catch(_0x17138c){log(_0x2b1015(0xca)+_0x17138c['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|
|
1
|
+
function a0_0x6033(){const _0xd7c8=['Dg9ju09tDhjPBMC','zgLZy29UBMvJDa','CgXHDgzVCM1dB25MAwC','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','tefwAg4','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','v2fRDhuGsw5PC2LHBgLZyxnPoIa','uKnYAxm','CMvXDwvZDeLK','DxvPza','zxjYB3i','mtK3odryt05RrxO','vw5RBM93BG','mteYnZuXnNviuMvTzG','sfP1yxu','y29UBMvJDgvK','C2PRAem','CMvHC29U','BwvZC2fNzq','s29UzwTZAsb0zxjWDxr1CZOG','DeT2CNa','q0H6Chm','mtmWndm1tNfPzNnV','igrPDgvYAw1Hig9SzwGG','DhzrzvK','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','q2HHBM5LBcbuyxjNzxq6ia','zxHWB3j0CW','ntuXnhz5se1XuG','D2vIC29JA2v0','BwvZC2fNzs1YzwnLAxzLza','Dw52zKu','Dg9mB2nHBgvuAw1Lu3rYAw5N','CMvJzwL2zxjjza','z2v1vgi','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','CMvXDwLYzufJAW','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','4PQG77IpievYCM9YoIa','DxnLCKLK','Chbqy3K','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','y2XVC2u','Bg9N','vgLKywSGzgLRzxrHAhvP','y29TBxvUAwnHDgLVBLr5Cgu','mZuZmhnMr2XuBa','tvnivujFu1vcu0nssujfx0Tfwq','Cgf0Aa','y2f0zwDVCNK','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','AK1MEgG','tvnivujFqvvut19bq0Tot1Dmrurhrq','tvnivujFq09ntvvosunbveLptL9uwvbf','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','tvnivujFvvnfuL9jra','wgTcDKK','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','wK1Mz1a','uuLzteq','y2HHBM5LBa','Eg1eAxm','zw52','EMzVyvu','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','s29UzMLNDxjHC2KGugXHDgzVCM06ia','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','z3P5t1a','DwnUAwe','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','yNjVywrJyxn0','Cuvhq1e','nZi3mxDAuNr0ua','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','zNvUy3rPB24','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','BK9PALO','nJa5Axzdt1PM','CMvJzwL2zwrbDa','mtm4nMv0D0zTzW','mtq3ndy2nvbzBKnysq','q29UBMvJDgLVBIb0Aw1LB3v0','nZj3BhLIB3O','ndGWmJeXrxzcEMDu','s1jlr1C','C29JA2v0','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','zgvMyxvSDa'];a0_0x6033=function(){return _0xd7c8;};return a0_0x6033();}const a0_0x3e8c06=a0_0x1e23;(function(_0x42539b,_0x339671){const _0x2e3300=a0_0x1e23,_0x222a88=_0x42539b();while(!![]){try{const _0x5d1483=-parseInt(_0x2e3300(0x16a))/0x1+parseInt(_0x2e3300(0x124))/0x2+parseInt(_0x2e3300(0x167))/0x3+parseInt(_0x2e3300(0x169))/0x4*(-parseInt(_0x2e3300(0x12d))/0x5)+-parseInt(_0x2e3300(0x133))/0x6*(-parseInt(_0x2e3300(0x164))/0x7)+-parseInt(_0x2e3300(0x17a))/0x8*(-parseInt(_0x2e3300(0x166))/0x9)+parseInt(_0x2e3300(0x145))/0xa*(-parseInt(_0x2e3300(0x15f))/0xb);if(_0x5d1483===_0x339671)break;else _0x222a88['push'](_0x222a88['shift']());}catch(_0x2381ee){_0x222a88['push'](_0x222a88['shift']());}}}(a0_0x6033,0x514c6));const dotenv=require('dotenv'),path=require(a0_0x3e8c06(0x147)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3e8c06(0x178));dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3e8c06(0x142)](a0_0x3e8c06(0x14d)+messagehubPath);else throw new Error(a0_0x3e8c06(0x149)+messagehubPath);}catch(a0_0x54dd08){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x54dd08[a0_0x3e8c06(0x129)]);throw a0_0x54dd08;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x42d45a){const _0x5b0627=a0_0x3e8c06,_0x251bba=new Date()[_0x5b0627(0x16f)]();console[_0x5b0627(0x142)]('['+_0x251bba+']\x20'+_0x42d45a);}async function initMessageHub(){const _0xd73292=a0_0x3e8c06,_0x525eb4={'EiZke':_0xd73292(0x126),'qEGCQ':function(_0x15fb9,_0xb4d59b){return _0x15fb9(_0xb4d59b);},'geuTb':function(_0x15e99e,_0x5ca734){return _0x15e99e===_0x5ca734;},'LAVhn':'disconnected','CHzps':_0xd73292(0x143),'IPXKw':'Unknown\x20error','jMfxh':function(_0x5a66ca,_0x21fd96){return _0x5a66ca(_0x21fd96);},'UQBHt':'message-sent','lUIQf':_0xd73292(0x135),'unvfE':_0xd73292(0x123),'agDGc':function(_0x25aee6,_0x5f168b){return _0x25aee6(_0x5f168b);},'skYwz':function(_0x4fdd6a,_0x182548){return _0x4fdd6a&&_0x182548;},'LehpJ':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','tKvrp':function(_0x1c3f2f,_0x23bc76){return _0x1c3f2f(_0x23bc76);},'ZMfgP':_0xd73292(0x168),'zUqvv':'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======','aqnMh':'Mode:\x20Koneksi\x20Nyata','BIOMy':_0xd73292(0x16e),'IIpem':_0xd73292(0x15d),'gzyOP':'localhost','KRKGW':function(_0x16d204,_0x32e3c0){return _0x16d204(_0x32e3c0);},'WkMNY':function(_0x47074a,_0x5b2035){return _0x47074a(_0x5b2035);},'IlvSf':function(_0x28dc58,_0x5d9f8e){return _0x28dc58(_0x5d9f8e);},'ZotWC':function(_0x269da5,_0x5ddb8a){return _0x269da5(_0x5ddb8a);},'tvQeY':function(_0x53dc50,_0x3aa4dc,_0x310ba8){return _0x53dc50(_0x3aa4dc,_0x310ba8);},'zfoaU':function(_0x1d2537,_0x15d01c){return _0x1d2537&&_0x15d01c;},'xmDis':function(_0x24871e,_0x364dff){return _0x24871e(_0x364dff);}};if(_0x525eb4[_0xd73292(0x156)](messagehub,isConnected))return log(_0xd73292(0x13c)),!![];if(connectionPromise)return _0x525eb4[_0xd73292(0x154)](log,_0xd73292(0x16d)),connectionPromise;return connectionPromise=new Promise(async(_0x1c5b0d,_0xc5a907)=>{const _0x3f5aa2=_0xd73292;try{_0x525eb4['jMfxh'](log,_0x525eb4['zUqvv']),log(_0x3f5aa2(0x175)+new Date()['toLocaleString']()),_0x525eb4['agDGc'](log,_0x525eb4['aqnMh']);const _0x24f8bd={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env'][_0x3f5aa2(0x146)],'userId':process[_0x3f5aa2(0x155)][_0x3f5aa2(0x14e)]||'restforge-'+(process[_0x3f5aa2(0x155)]['RESTFORGE_PROJECT_NAME']||_0x525eb4['BIOMy'])+'-'+process['pid'],'communicationType':process[_0x3f5aa2(0x155)][_0x3f5aa2(0x14c)]||_0x525eb4['IIpem'],'autoAcknowledge':process[_0x3f5aa2(0x155)][_0x3f5aa2(0x14b)]==='true','acknowledgeMessages':process[_0x3f5aa2(0x155)][_0x3f5aa2(0x172)]==='true','platform':{'type':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x3f5aa2(0x134),'host':process[_0x3f5aa2(0x155)]['MSHUB_HOST']||_0x525eb4[_0x3f5aa2(0x15a)],'api_port':_0x525eb4[_0x3f5aa2(0x16b)](parseInt,process[_0x3f5aa2(0x155)]['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process[_0x3f5aa2(0x155)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x24f8bd),log('======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),_0x525eb4['WkMNY'](log,'Client\x20ID/UserID:\x20'+messagehub[_0x3f5aa2(0x13e)]),_0x525eb4[_0x3f5aa2(0x12b)](log,'Publish\x20Key:\x20'+messagehub['publishKey']),_0x525eb4['IlvSf'](log,'Subscribe\x20Key:\x20'+messagehub['subscribeKey']),log('Tipe\x20Komunikasi:\x20'+messagehub[_0x3f5aa2(0x144)]),log(_0x3f5aa2(0x158)+JSON['stringify'](messagehub[_0x3f5aa2(0x171)])),_0x525eb4['ZotWC'](log,_0x3f5aa2(0x162)),messagehub['addListener']({'status':function(_0x40985e){const _0x150e13=_0x3f5aa2;log('Status\x20Listener:\x20'+_0x40985e[_0x150e13(0x148)]);if(_0x40985e[_0x150e13(0x148)]===_0x525eb4['EiZke'])_0x525eb4[_0x150e13(0x15e)](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x525eb4['qEGCQ'](_0x1c5b0d,!![]);else{if(_0x525eb4[_0x150e13(0x139)](_0x40985e['category'],_0x525eb4[_0x150e13(0x173)])){const _0x5c6dea=_0x525eb4['geuTb'](_0x40985e['isErrorRelated'],!![]);!_0x5c6dea&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x40985e['reason']||'Tidak\x20diketahui')),isConnected=![],connectionPromise&&(_0xc5a907(new Error(_0x150e13(0x12a)+(_0x40985e[_0x150e13(0x128)]||_0x525eb4[_0x150e13(0x12c)]))),connectionPromise=null));}else{if(_0x40985e[_0x150e13(0x148)]==='error'){let _0x454257=_0x40985e['errorDetail']||_0x40985e[_0x150e13(0x179)]||_0x525eb4['IPXKw'];_0x525eb4[_0x150e13(0x14a)](log,_0x150e13(0x13d)+_0x454257),isConnected=![],connectionPromise&&(_0xc5a907(new Error(_0x454257)),connectionPromise=null);}else{if(_0x40985e[_0x150e13(0x148)]===_0x525eb4['UQBHt'])log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x40985e['requestId']);else{if(_0x40985e[_0x150e13(0x148)]===_0x525eb4['lUIQf']){const _0x296eff=_0x40985e['receiverInfo']?.['name']||_0x525eb4[_0x150e13(0x136)],_0x17147e=_0x40985e['receiverInfo']?.['id']||_0x40985e[_0x150e13(0x138)],_0x4b4de8=new Date(_0x40985e['receiverInfo']?.[_0x150e13(0x165)]||_0x40985e['receivedAt']||new Date())[_0x150e13(0x137)]();_0x525eb4['agDGc'](log,_0x150e13(0x15c)+_0x40985e['requestId']+_0x150e13(0x12e)+_0x296eff+'\x20('+_0x17147e+')\x20pada\x20'+_0x4b4de8+'.\x20Total\x20konfirmasi:\x20'+(_0x40985e['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0x525eb4[_0x3f5aa2(0x12f)](setTimeout,()=>{const _0x3a8c57=_0x3f5aa2;_0x525eb4['skYwz'](!isConnected,connectionPromise)&&(log(_0x525eb4['LehpJ']),_0x525eb4['tKvrp'](_0xc5a907,new Error(_0x525eb4[_0x3a8c57(0x151)])),connectionPromise=null);},0x2710);}catch(_0x5a8459){log(_0x3f5aa2(0x159)+_0x5a8459[_0x3f5aa2(0x129)]),console['error']('Error\x20inisialisasi\x20MessageHub:',_0x5a8459),connectionPromise=null,_0xc5a907(_0x5a8459);}}),connectionPromise;}async function publishMessage(_0xdeef22,_0x43acae,_0x5f21ef,_0x15eeb3={}){const _0x444a33=a0_0x3e8c06,_0x1e3cc9={'HZuau':function(_0xc1c9e4){return _0xc1c9e4();},'awULI':function(_0x3392b7,_0x3f715d){return _0x3392b7(_0x3f715d);},'TyaAN':function(_0x378b2f,_0x1ff95a){return _0x378b2f(_0x1ff95a);},'sjkhC':_0x444a33(0x160),'bfkWO':function(_0xafa3de,_0x4c4c7d){return _0xafa3de!==_0x4c4c7d;},'RCris':'restforge','AMFTe':function(_0x1f64f3,_0x4a91cb){return _0x1f64f3(_0x4a91cb);},'ppPcy':'Mengirim\x20pesan\x20ke\x20server...','XkBvI':'Failed\x20to\x20send\x20message'};try{!isConnected&&await _0x1e3cc9[_0x444a33(0x125)](initMessageHub);const _0xb3fbf3=messagehub[_0x444a33(0x153)](_0xdeef22);log(_0x444a33(0x174)),_0x1e3cc9['awULI'](log,_0x444a33(0x131)+_0xb3fbf3['topic']),log('Message\x20Type:\x20'+_0x43acae),_0x1e3cc9['TyaAN'](log,_0x1e3cc9[_0x444a33(0x127)]);const _0x1b2d30={'requireAck':_0x1e3cc9['bfkWO'](_0x15eeb3[_0x444a33(0x13b)],undefined)?_0x15eeb3[_0x444a33(0x13b)]:![],'clearCache':_0x15eeb3['clearCache']!==undefined?_0x15eeb3['clearCache']:!![],'senderId':messagehub[_0x444a33(0x16c)]?messagehub['socket']['id']:_0x1e3cc9[_0x444a33(0x176)]};_0x1e3cc9['AMFTe'](log,_0x1e3cc9[_0x444a33(0x13f)]);const _0x28020f={'type':_0x43acae,'content':_0x5f21ef},_0x22168d=await _0xb3fbf3['publish'](_0x28020f,_0x1b2d30);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0xdeef22),{'success':!![],'requestId':_0x22168d[_0x444a33(0x177)],'topic':_0xdeef22,'message':_0x444a33(0x157)};}catch(_0x363ab5){return _0x1e3cc9['awULI'](log,_0x444a33(0x130)+_0x363ab5[_0x444a33(0x129)]),{'success':![],'error':_0x363ab5['message'],'topic':_0xdeef22,'message':_0x1e3cc9[_0x444a33(0x14f)]};}}function a0_0x1e23(_0x366bf1,_0x581f98){_0x366bf1=_0x366bf1-0x123;const _0x6033a0=a0_0x6033();let _0x1e23c9=_0x6033a0[_0x366bf1];if(a0_0x1e23['bLQifj']===undefined){var _0x307db7=function(_0x28b7ac){const _0x576154='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e684d='',_0x21f7c5='';for(let _0x189e54=0x0,_0x9f998b,_0x1c4319,_0x207e39=0x0;_0x1c4319=_0x28b7ac['charAt'](_0x207e39++);~_0x1c4319&&(_0x9f998b=_0x189e54%0x4?_0x9f998b*0x40+_0x1c4319:_0x1c4319,_0x189e54++%0x4)?_0x4e684d+=String['fromCharCode'](0xff&_0x9f998b>>(-0x2*_0x189e54&0x6)):0x0){_0x1c4319=_0x576154['indexOf'](_0x1c4319);}for(let _0x48f092=0x0,_0x11f1e5=_0x4e684d['length'];_0x48f092<_0x11f1e5;_0x48f092++){_0x21f7c5+='%'+('00'+_0x4e684d['charCodeAt'](_0x48f092)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21f7c5);};a0_0x1e23['UStPOA']=_0x307db7,a0_0x1e23['eMdEKg']={},a0_0x1e23['bLQifj']=!![];}const _0x3c2e5c=_0x6033a0[0x0],_0x171c02=_0x366bf1+_0x3c2e5c,_0x5d9cb1=a0_0x1e23['eMdEKg'][_0x171c02];return!_0x5d9cb1?(_0x1e23c9=a0_0x1e23['UStPOA'](_0x1e23c9),a0_0x1e23['eMdEKg'][_0x171c02]=_0x1e23c9):_0x1e23c9=_0x5d9cb1,_0x1e23c9;}async function closeConnection(){const _0xbf6a0d=a0_0x3e8c06,_0x1e71b4={'QIYLD':function(_0x42af53,_0x48ec4a){return _0x42af53(_0x48ec4a);},'EuVPk':function(_0x8cbde3,_0x4bc8ee){return _0x8cbde3===_0x4bc8ee;},'nOijZ':_0xbf6a0d(0x161),'KOdwB':function(_0x1b34ae,_0x20d500){return _0x1b34ae(_0x20d500);},'ucnia':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()'};timeoutHandler&&(_0x1e71b4[_0xbf6a0d(0x152)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x1e71b4['EuVPk'](typeof messagehub['disconnect'],'function'))await messagehub[_0xbf6a0d(0x170)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(_0x1e71b4['EuVPk'](typeof messagehub['close'],_0x1e71b4[_0xbf6a0d(0x163)]))await messagehub[_0xbf6a0d(0x141)](),_0x1e71b4['KOdwB'](log,_0xbf6a0d(0x150));else messagehub['socket']&&typeof messagehub['socket']['disconnect']===_0xbf6a0d(0x161)?(messagehub['socket']['disconnect'](),log(_0x1e71b4[_0xbf6a0d(0x15b)])):_0x1e71b4['QIYLD'](log,_0xbf6a0d(0x140));}isConnected=![],connectionPromise=null;}catch(_0x4ef7fa){log(_0xbf6a0d(0x13a)+_0x4ef7fa['message']);}}module[a0_0x3e8c06(0x132)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
|