@restforgejs/platform 5.2.16 → 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/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/payload/sync.js +16 -6
- package/generators/cli/project/auth.js +2 -2
- package/generators/cli/project/sdk.js +112 -0
- package/generators/lib/arg-parser.js +6 -0
- package/generators/lib/auth/processor-generator.js +5 -3
- package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
- package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
- package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
- 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
|
-
const
|
|
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
|
-
const
|
|
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
|
-
const a0_0x5c0887=a0_0x18fb;function a0_0x18fb(_0x388a6d,_0x2173b4){_0x388a6d=_0x388a6d-0xa8;const _0x2e884f=a0_0x2e88();let _0x18fbd3=_0x2e884f[_0x388a6d];if(a0_0x18fb['agtsjQ']===undefined){var _0x522c6d=function(_0x24b079){const _0x117392='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11c6cd='',_0x192d0e='';for(let _0x5be067=0x0,_0x3b3001,_0x5e0908,_0xb7e44=0x0;_0x5e0908=_0x24b079['charAt'](_0xb7e44++);~_0x5e0908&&(_0x3b3001=_0x5be067%0x4?_0x3b3001*0x40+_0x5e0908:_0x5e0908,_0x5be067++%0x4)?_0x11c6cd+=String['fromCharCode'](0xff&_0x3b3001>>(-0x2*_0x5be067&0x6)):0x0){_0x5e0908=_0x117392['indexOf'](_0x5e0908);}for(let _0x575315=0x0,_0x13f2f7=_0x11c6cd['length'];_0x575315<_0x13f2f7;_0x575315++){_0x192d0e+='%'+('00'+_0x11c6cd['charCodeAt'](_0x575315)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x192d0e);};a0_0x18fb['wKlknk']=_0x522c6d,a0_0x18fb['DXvgpe']={},a0_0x18fb['agtsjQ']=!![];}const _0x21aa78=_0x2e884f[0x0],_0xfc1b42=_0x388a6d+_0x21aa78,_0x452b34=a0_0x18fb['DXvgpe'][_0xfc1b42];return!_0x452b34?(_0x18fbd3=a0_0x18fb['wKlknk'](_0x18fbd3),a0_0x18fb['DXvgpe'][_0xfc1b42]=_0x18fbd3):_0x18fbd3=_0x452b34,_0x18fbd3;}(function(_0x27c051,_0x27b183){const _0x504ded=a0_0x18fb,_0x48ba2c=_0x27c051();while(!![]){try{const _0x14cb17=-parseInt(_0x504ded(0xb3))/0x1*(parseInt(_0x504ded(0xc8))/0x2)+parseInt(_0x504ded(0xb8))/0x3+parseInt(_0x504ded(0xc9))/0x4+-parseInt(_0x504ded(0xd9))/0x5*(-parseInt(_0x504ded(0xb7))/0x6)+-parseInt(_0x504ded(0xc6))/0x7*(-parseInt(_0x504ded(0xbf))/0x8)+-parseInt(_0x504ded(0xbd))/0x9+parseInt(_0x504ded(0xc2))/0xa;if(_0x14cb17===_0x27b183)break;else _0x48ba2c['push'](_0x48ba2c['shift']());}catch(_0x1cbd8f){_0x48ba2c['push'](_0x48ba2c['shift']());}}}(a0_0x2e88,0xb09b1));const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x5c0887(0xab)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x1b61ac=a0_0x5c0887,_0x22a940={'cNxpx':_0x1b61ac(0xb9)},_0x11226c=process[_0x1b61ac(0xb5)]['RESTFORGE_PROJECT_NAME']||_0x22a940['cNxpx'];return _0x1b61ac(0xe4)+_0x11226c+':rlock:';}function a0_0x2e88(){const _0x28e94f=['uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','x3jVBgXIywnRs2v5CW','ndi4mdG3r3nurLHL','BwvZC2fNzq','zw52','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','nLHky3HLwq','odG2nZDHsKTLDNC','zgvMyxvSDa','BwLU','yNvPBgrlzxK','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','mti2ndG0mZHKz3fQzhu','zxzHBa','ogf1qvHHBG','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','mtu1odaZntbqwLnAtNm','BM93','BwfW','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','nJy1mdqYzxnVwhzR','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','nePTqwDmyq','ntG5ote2ChzMsKjV','A2zPAxG','qLnUDgm','D2fYBG','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','Aw5KzxHpzG','vw5wsxK','igTLExmSifrutdOG','ywnXDwLYzvjLC291CMnLtg9JA3m','tg9JAYbHy3f1AxjLigzHAwXLzdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','z2v0q2XPzw50','wwHiA3u','DMfSAwq','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','zxHWB3j0CW','ntC3ndi3mfLZBerQCW','rKrcC1q','ywXS','ALHPC2G','C3rYAw5N','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','Dw5RBM93BG','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','C3vIC3rYAw5N','BgvUz3rO','CMy6','zxjYB3i','BNvTyMvY','DhrSuMvTywLUAw5N','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','ChvZAa','x2DLDenVBMzSAwn0sw5MBW','x3zHBgLKyxrLqwnXDwLYzuLUChv0','DhrS','A2v5','CMj6Ewi','ExHQD0O','z2v0twf4vfrmu2vJB25KCW','z2vUzxjHDgvuB2TLBG','lI4VlI4VDxrPBhmVBg9Nz2vY','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','CMvSzwfZzvjLC291CMnLtg9JA3m','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','zxH0CMfJDe93BMvY'];a0_0x2e88=function(){return _0x28e94f;};return a0_0x2e88();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x5c0887(0xaf);class ResourceLockManager{[a0_0x5c0887(0xbb)](_0x55e04e,_0x170885,_0x17a517){return''+getPrefix()+_0x55e04e+':'+_0x170885+':'+_0x17a517;}[a0_0x5c0887(0xaa)](_0x19adad){const _0x52e368=a0_0x5c0887,_0x6a87b9={'rbzyb':function(_0x45e4af){return _0x45e4af();}};return _0x19adad+':'+_0x6a87b9[_0x52e368(0xef)](uuidv4)+':'+Date[_0x52e368(0xc3)]();}['extractOwner'](_0x5edd50){const _0x341bf8=a0_0x5c0887;if(!_0x5edd50)return _0x341bf8(0xe0);const _0x5a9d38=_0x5edd50[_0x341bf8(0xce)](':');return _0x5a9d38>0x0?_0x5edd50[_0x341bf8(0xe2)](0x0,_0x5a9d38):_0x5edd50;}['getMaxTTLSeconds'](){const _0x30eb63=a0_0x5c0887,_0x4012af={'jXish':function(_0x4007dc,_0x2e021e,_0x53dc6){return _0x4007dc(_0x2e021e,_0x53dc6);}};return _0x4012af[_0x30eb63(0xdc)](parseInt,process[_0x30eb63(0xb5)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x5c0887(0xd1)]({resource:_0x1be140,lockKeys:_0x4a2484,ttl:_0x1f151d,owner:_0x5dea73}){const _0x27b4f9=a0_0x5c0887,_0xbeb840={'pttDg':function(_0x1d5ecf,_0x286f73){return _0x1d5ecf<_0x286f73;},'FDBsT':'resource_lock_conflict','kfiix':_0x27b4f9(0xe1)},_0x213309=this[_0x27b4f9(0xec)]({'resource':_0x1be140,'lockKeys':_0x4a2484,'ttl':_0x1f151d,'owner':_0x5dea73});if(!_0x213309[_0x27b4f9(0xd6)])return{'success':![],'error':_0x213309[_0x27b4f9(0xe5)]};const _0x8e9b16=this[_0x27b4f9(0xa9)](),_0x504c68=Math[_0x27b4f9(0xba)](_0x1f151d,_0x8e9b16),_0x5b5b9d=this[_0x27b4f9(0xaa)](_0x5dea73),_0x21d4ad=[];try{const _0x243674=redisClient[_0x27b4f9(0xd4)]();for(let _0x3abac3=0x0;_0xbeb840['pttDg'](_0x3abac3,_0x4a2484['length']);_0x3abac3++){const {key:_0x466f26,value:_0x18ab8a}=_0x4a2484[_0x3abac3],_0x562a52=this[_0x27b4f9(0xbb)](_0x1be140,_0x466f26,_0x18ab8a),_0x29a0b2=await _0x243674['set'](_0x562a52,_0x5b5b9d,'EX',_0x504c68,'NX');if(_0x29a0b2==='OK')_0x21d4ad[_0x27b4f9(0xea)](_0x562a52);else{await this[_0x27b4f9(0xb2)](_0x243674,_0x21d4ad,_0x5b5b9d);const _0x17ae7c=await this[_0x27b4f9(0xeb)](_0x243674,_0x562a52);return logger[_0x27b4f9(0xcc)]({'event':_0xbeb840[_0x27b4f9(0xda)],'resource':_0x1be140,'conflicting_key':{'key':_0x466f26,'value':_0x18ab8a},'locked_by':_0x17ae7c['owner'],'ttl_remaining':_0x17ae7c[_0x27b4f9(0xe7)],'attempted_by':_0x5dea73},_0x27b4f9(0xb1)+_0x1be140+':'+_0x466f26+':'+_0x18ab8a),{'success':![],'error':_0x27b4f9(0xd7),'data':{'conflicting_key':{'key':_0x466f26,'value':_0x18ab8a},'locked_by':_0x17ae7c['owner'],'ttl_remaining':_0x17ae7c[_0x27b4f9(0xe7)]}};}}const _0x2337ff=_0x4a2484[_0x27b4f9(0xc4)](({key:_0x21c4c4,value:_0x172c6b})=>({'key':_0x21c4c4,'value':_0x172c6b,'lock_key':this['buildKey'](_0x1be140,_0x21c4c4,_0x172c6b)}));return logger['info']({'event':_0xbeb840[_0x27b4f9(0xca)],'resource':_0x1be140,'keys_count':_0x4a2484[_0x27b4f9(0xe3)],'ttl':_0x504c68,'owner':_0x5dea73},_0x27b4f9(0xac)+_0x1be140+'\x20('+_0x4a2484['length']+_0x27b4f9(0xd0)+_0x504c68+'s)'),{'success':!![],'data':{'lock_token':_0x5b5b9d,'resource':_0x1be140,'locked_keys':_0x2337ff,'ttl':_0x504c68,'owner':_0x5dea73,'acquired_at':new Date()['toISOString']()}};}catch(_0x26c494){try{const _0x50a7b0=redisClient[_0x27b4f9(0xd4)]();await this['_rollbackKeys'](_0x50a7b0,_0x21d4ad,_0x5b5b9d);}catch(_0x5a0bee){logger[_0x27b4f9(0xe5)]({'event':'resource_lock_rollback_error','error':_0x5a0bee['message']},_0x27b4f9(0xdf));}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x1be140,'owner':_0x5dea73,'error':_0x26c494[_0x27b4f9(0xb4)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x26c494[_0x27b4f9(0xb4)]),{'success':![],'error':_0x27b4f9(0xd2)+_0x26c494['message']};}}async[a0_0x5c0887(0xae)]({resource:_0x1527f2,lockKeys:_0x2e8bf2,lockToken:_0x3dee43}){const _0x1bbcbc=a0_0x5c0887,_0x4a9bee=this['_validateReleaseInput']({'resource':_0x1527f2,'lockKeys':_0x2e8bf2,'lockToken':_0x3dee43});if(!_0x4a9bee['valid'])return{'success':![],'error':_0x4a9bee[_0x1bbcbc(0xe5)]};try{const _0x59399b=redisClient[_0x1bbcbc(0xd4)]();let _0x589247=0x0;for(const {key:_0x31ba58,value:_0x4b53e6}of _0x2e8bf2){const _0x2d6659=this['buildKey'](_0x1527f2,_0x31ba58,_0x4b53e6),_0x55aa0e=await _0x59399b['eval'](RELEASE_LUA_SCRIPT,0x1,_0x2d6659,_0x3dee43);_0x55aa0e===0x1&&_0x589247++;}return logger[_0x1bbcbc(0xe8)]({'event':'resource_lock_released','resource':_0x1527f2,'released_keys':_0x589247,'total_keys':_0x2e8bf2['length'],'owner':this[_0x1bbcbc(0xb0)](_0x3dee43)},_0x1bbcbc(0xd3)+_0x1527f2+'\x20('+_0x589247+'/'+_0x2e8bf2['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x1527f2,'released_keys':_0x589247,'total_keys':_0x2e8bf2['length']}};}catch(_0x171ff7){return logger[_0x1bbcbc(0xe5)]({'event':'resource_lock_release_error','resource':_0x1527f2,'error':_0x171ff7[_0x1bbcbc(0xb4)]},_0x1bbcbc(0xbc)+_0x171ff7[_0x1bbcbc(0xb4)]),{'success':![],'error':_0x1bbcbc(0xe9)+_0x171ff7[_0x1bbcbc(0xb4)]};}}async['getResourceLockStatus']({resource:_0x4fffd4,lockKeys:_0xb12089}){const _0x13047f=a0_0x5c0887,_0x5d2ee8={'BSntc':function(_0x2a4750,_0x2e2148){return _0x2a4750===_0x2e2148;},'SNRKn':function(_0xc9ceaa,_0x4dfd76){return _0xc9ceaa!==_0x4dfd76;},'aEVvj':function(_0x31eeeb,_0x1d538d){return _0x31eeeb>_0x1d538d;},'kCdfz':_0x13047f(0xc0)};if(!_0x4fffd4||!Array['isArray'](_0xb12089)||_0x5d2ee8[_0x13047f(0xcb)](_0xb12089['length'],0x0))return{'success':![],'error':_0x13047f(0xb6)};try{const _0x46be04=redisClient[_0x13047f(0xd4)](),_0xc9a94d=[];for(const {key:_0x1df634,value:_0x211b3b}of _0xb12089){const _0x13dee0=this['buildKey'](_0x4fffd4,_0x1df634,_0x211b3b),[_0x319eb6,_0x5abdd8]=await Promise['all']([_0x46be04['get'](_0x13dee0),_0x46be04[_0x13047f(0xed)](_0x13dee0)]),_0x5a6741=_0x5d2ee8['SNRKn'](_0x319eb6,null);_0xc9a94d['push']({'key':_0x1df634,'value':_0x211b3b,'locked':_0x5a6741,'owner':_0x5a6741?this[_0x13047f(0xb0)](_0x319eb6):null,'ttl_remaining':_0x5a6741&&_0x5d2ee8['aEVvj'](_0x5abdd8,0x0)?_0x5abdd8:null});}return{'success':!![],'data':{'resource':_0x4fffd4,'keys':_0xc9a94d}};}catch(_0x4131b8){return logger[_0x13047f(0xe5)]({'event':_0x5d2ee8['kCdfz'],'resource':_0x4fffd4,'error':_0x4131b8['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x4131b8['message']),{'success':![],'error':_0x13047f(0xc5)+_0x4131b8[_0x13047f(0xb4)]};}}async[a0_0x5c0887(0xb2)](_0x314d01,_0x17dddb,_0x23a739){const _0x358cc0=a0_0x5c0887;for(const _0x25059a of _0x17dddb){try{await _0x314d01[_0x358cc0(0xbe)](RELEASE_LUA_SCRIPT,0x1,_0x25059a,_0x23a739);}catch(_0x24088c){logger[_0x358cc0(0xe5)]({'event':'resource_lock_rollback_key_error','key':_0x25059a,'error':_0x24088c[_0x358cc0(0xb4)]},_0x358cc0(0xc7)+_0x25059a);}}}async[a0_0x5c0887(0xeb)](_0x2fc635,_0x9b7718){const _0x27ba3b=a0_0x5c0887,_0x2aeb27={'aXRpe':_0x27ba3b(0xe0),'dWNrj':function(_0x25645d,_0x33db6e){return _0x25645d>_0x33db6e;}};try{const [_0x43d8aa,_0x19731c]=await Promise[_0x27ba3b(0xdb)]([_0x2fc635['get'](_0x9b7718),_0x2fc635['ttl'](_0x9b7718)]);return{'owner':_0x43d8aa?this['extractOwner'](_0x43d8aa):_0x2aeb27['aXRpe'],'ttlRemaining':_0x2aeb27['dWNrj'](_0x19731c,0x0)?_0x19731c:null};}catch{return{'owner':'unknown','ttlRemaining':null};}}[a0_0x5c0887(0xec)]({resource:_0x17095e,lockKeys:_0x44184d,ttl:_0x1457f5,owner:_0x58717b}){const _0x2b1c59=a0_0x5c0887,_0x170bb0={'UnVIy':function(_0x16eac2,_0x3990ca){return _0x16eac2!==_0x3990ca;},'ePYyl':function(_0x5b6040,_0x3e69bf){return _0x5b6040===_0x3e69bf;}};if(!_0x17095e||_0x170bb0[_0x2b1c59(0xcf)](typeof _0x17095e,_0x2b1c59(0xdd)))return{'valid':![],'error':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};if(!Array['isArray'](_0x44184d)||_0x170bb0['ePYyl'](_0x44184d[_0x2b1c59(0xe3)],0x0))return{'valid':![],'error':_0x2b1c59(0xde)};if(_0x44184d['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x215111=0x0;_0x215111<_0x44184d[_0x2b1c59(0xe3)];_0x215111++){const _0x237bde=_0x44184d[_0x215111];if(!_0x237bde||!_0x237bde[_0x2b1c59(0xee)]||!_0x237bde['value'])return{'valid':![],'error':'lock_keys['+_0x215111+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x1457f5||typeof _0x1457f5!==_0x2b1c59(0xe6)||_0x1457f5<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x2ceaef=this[_0x2b1c59(0xa9)]();if(_0x1457f5>_0x2ceaef)return{'valid':![],'error':_0x2b1c59(0xad)+_0x2ceaef+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x58717b||_0x170bb0['UnVIy'](typeof _0x58717b,_0x2b1c59(0xdd)))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x5ecb9e,lockKeys:_0x2a1b59,lockToken:_0x12cfca}){const _0x402513=a0_0x5c0887,_0x2d7e0e={'NBunL':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','YhHku':function(_0x27ac8f,_0xee0422){return _0x27ac8f<_0xee0422;},'VfumU':function(_0x3a7af5,_0x180c2b){return _0x3a7af5!==_0x180c2b;},'yxjwJ':'string','EIHDA':_0x402513(0xc1)};if(!_0x5ecb9e||typeof _0x5ecb9e!=='string')return{'valid':![],'error':_0x2d7e0e['NBunL']};if(!Array['isArray'](_0x2a1b59)||_0x2a1b59[_0x402513(0xe3)]===0x0)return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x124fa6=0x0;_0x2d7e0e[_0x402513(0xd5)](_0x124fa6,_0x2a1b59[_0x402513(0xe3)]);_0x124fa6++){const _0x2992ba=_0x2a1b59[_0x124fa6];if(!_0x2992ba||!_0x2992ba[_0x402513(0xee)]||!_0x2992ba['value'])return{'valid':![],'error':'lock_keys['+_0x124fa6+_0x402513(0xcd)};}if(!_0x12cfca||_0x2d7e0e['VfumU'](typeof _0x12cfca,_0x2d7e0e[_0x402513(0xa8)]))return{'valid':![],'error':_0x2d7e0e['EIHDA']};return{'valid':!![]};}}module[a0_0x5c0887(0xd8)]=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_0xd59b98=a0_0x5d44;(function(_0x4044b3,_0x311f62){const _0x4b9e2c=a0_0x5d44,_0x1327ec=_0x4044b3();while(!![]){try{const _0x146ce0=parseInt(_0x4b9e2c(0x15b))/0x1*(parseInt(_0x4b9e2c(0x152))/0x2)+-parseInt(_0x4b9e2c(0x194))/0x3+-parseInt(_0x4b9e2c(0x184))/0x4*(parseInt(_0x4b9e2c(0x165))/0x5)+-parseInt(_0x4b9e2c(0x174))/0x6+parseInt(_0x4b9e2c(0x136))/0x7*(-parseInt(_0x4b9e2c(0x167))/0x8)+-parseInt(_0x4b9e2c(0x132))/0x9*(parseInt(_0x4b9e2c(0x160))/0xa)+-parseInt(_0x4b9e2c(0x17b))/0xb*(-parseInt(_0x4b9e2c(0x190))/0xc);if(_0x146ce0===_0x311f62)break;else _0x1327ec['push'](_0x1327ec['shift']());}catch(_0x598172){_0x1327ec['push'](_0x1327ec['shift']());}}}(a0_0x39d6,0x8a894));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0xd59b98(0x14b));class KafkaConsumerService{constructor(){const _0x57f764=a0_0xd59b98,_0x230543={'UYanI':'5|7|10|9|4|1|3|6|8|0|2'},_0x244583=_0x230543[_0x57f764(0x199)]['split']('|');let _0x5bc912=0x0;while(!![]){switch(_0x244583[_0x5bc912++]){case'0':this[_0x57f764(0x19b)]=null;continue;case'1':this['isPaused']=![];continue;case'2':this[_0x57f764(0x15f)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'3':this['connectionPromise']=null;continue;case'4':this[_0x57f764(0x13c)]=![];continue;case'5':this[_0x57f764(0x137)]=null;continue;case'6':this[_0x57f764(0x16d)]=[];continue;case'7':this['consumer']=null;continue;case'8':this['groupId']=null;continue;case'9':this['isInitializing']=![];continue;case'10':this['isConnected']=![];continue;}break;}}[a0_0xd59b98(0x145)](){const _0x1c11f2=a0_0xd59b98,_0x3e1c34={'msIne':function(_0x17a87a,_0x21c9ca){return _0x17a87a===_0x21c9ca;},'eegMk':'true','LHcOP':function(_0x1d40e1,_0x4c13d1){return _0x1d40e1(_0x4c13d1);},'KydjY':'30000','PXUmE':function(_0x398519,_0x323f72){return _0x398519(_0x323f72);},'NQGDn':_0x1c11f2(0x13d),'OYbzH':function(_0x4c6014,_0xafc51b){return _0x4c6014(_0xafc51b);},'XPCnu':function(_0x441680,_0x56d96f){return _0x441680(_0x56d96f);},'jEHQc':'warn'};return{'enabled':_0x3e1c34['msIne'](process[_0x1c11f2(0x16e)]['KAFKA_ENABLED'],_0x3e1c34['eegMk']),'brokers':(process['env'][_0x1c11f2(0x197)]||_0x1c11f2(0x13e))['split'](','),'clientId':process[_0x1c11f2(0x16e)]['KAFKA_CLIENT_ID']||_0x1c11f2(0x14a)+(process[_0x1c11f2(0x16e)]['RESTFORGE_PROJECT_NAME']||'default')+'-consumer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x1c11f2(0x134)),'requestTimeout':parseInt(process[_0x1c11f2(0x16e)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0x3e1c34['LHcOP'](parseInt,process['env'][_0x1c11f2(0x163)]||_0x3e1c34[_0x1c11f2(0x1a4)]),'heartbeatInterval':parseInt(process[_0x1c11f2(0x16e)]['KAFKA_HEARTBEAT_INTERVAL']||'3000'),'maxBytesPerPartition':_0x3e1c34[_0x1c11f2(0x198)](parseInt,process[_0x1c11f2(0x16e)]['KAFKA_MAX_BYTES_PER_PARTITION']||_0x3e1c34[_0x1c11f2(0x19d)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x1c11f2(0x131),'autoCommitInterval':parseInt(process['env'][_0x1c11f2(0x178)]||'5000'),'retryAttempts':_0x3e1c34['OYbzH'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x3e1c34['XPCnu'](parseInt,process['env'][_0x1c11f2(0x189)]||'1000'),'retryMaxDelay':_0x3e1c34[_0x1c11f2(0x171)](parseInt,process['env'][_0x1c11f2(0x148)]||_0x3e1c34['KydjY']),'logLevel':process[_0x1c11f2(0x16e)][_0x1c11f2(0x175)]||_0x3e1c34['jEHQc']};}[a0_0xd59b98(0x17e)](_0x1529af){const _0x56550c=a0_0xd59b98,_0x364f80={'nothing':logLevel['NOTHING'],'error':logLevel[_0x56550c(0x183)],'warn':logLevel[_0x56550c(0x18d)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x364f80[_0x1529af['toLowerCase']()]||logLevel['WARN'];}async[a0_0xd59b98(0x16b)](_0x9c13f7={}){const _0xadd3f7=a0_0xd59b98,_0x174fc7={'TScoM':function(_0x4cc4ce,_0x2db959){return _0x4cc4ce===_0x2db959;},'GGtjo':'true','QGuBx':'default','BVLLd':function(_0x1a81a8,_0x103f13){return _0x1a81a8(_0x103f13);}},_0x3b9165=this[_0xadd3f7(0x145)]();if(!_0x3b9165[_0xadd3f7(0x162)])return console[_0xadd3f7(0x143)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xadd3f7(0x15a)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this[_0xadd3f7(0x14f)]=!![],this[_0xadd3f7(0x154)]=new Promise(async _0xb57f52=>{const _0x5b04e0=_0xadd3f7;try{let _0x2c2105=undefined;_0x174fc7['TScoM'](process[_0x5b04e0(0x16e)][_0x5b04e0(0x153)],_0x174fc7['GGtjo'])&&(_0x2c2105=!![]);let _0x3f6192=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x3f6192={'mechanism':process['env'][_0x5b04e0(0x16f)],'username':process[_0x5b04e0(0x16e)][_0x5b04e0(0x14c)]||'','password':process[_0x5b04e0(0x16e)]['KAFKA_SASL_PASSWORD']||''}),this[_0x5b04e0(0x137)]=new Kafka({'clientId':_0x9c13f7['clientId']||_0x3b9165['clientId'],'brokers':_0x3b9165['brokers'],'connectionTimeout':_0x3b9165[_0x5b04e0(0x16c)],'requestTimeout':_0x3b9165[_0x5b04e0(0x177)],'logLevel':this['getLogLevel'](_0x3b9165[_0x5b04e0(0x14d)]),'ssl':_0x2c2105,'sasl':_0x3f6192,'retry':{'initialRetryTime':_0x3b9165[_0x5b04e0(0x19f)],'retries':_0x3b9165['retryAttempts'],'maxRetryTime':_0x3b9165['retryMaxDelay']}}),this[_0x5b04e0(0x149)]=_0x9c13f7[_0x5b04e0(0x149)]||_0x5b04e0(0x14a)+(process[_0x5b04e0(0x16e)][_0x5b04e0(0x142)]||_0x174fc7[_0x5b04e0(0x195)])+'-consumer-group',this['consumer']=this[_0x5b04e0(0x137)][_0x5b04e0(0x159)]({'groupId':this[_0x5b04e0(0x149)],'sessionTimeout':_0x3b9165[_0x5b04e0(0x15d)],'heartbeatInterval':_0x3b9165[_0x5b04e0(0x188)],'maxBytesPerPartition':_0x3b9165[_0x5b04e0(0x192)],'allowAutoTopicCreation':![]}),await this[_0x5b04e0(0x159)][_0x5b04e0(0x17d)](),this['isConnected']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3b9165[_0x5b04e0(0x130)][_0x5b04e0(0x17f)](',\x20')+_0x5b04e0(0x18e)+this['groupId']+')'),this[_0x5b04e0(0x169)](),_0xb57f52(!![]);}catch(_0x28df90){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x28df90[_0x5b04e0(0x18c)]),this[_0x5b04e0(0x15a)]=![],_0x174fc7[_0x5b04e0(0x16a)](_0xb57f52,![]);}finally{this[_0x5b04e0(0x14f)]=![];}}),this[_0xadd3f7(0x154)];}[a0_0xd59b98(0x169)](){const _0x40414e=a0_0xd59b98,_0xab81f6={'cUIBa':_0x40414e(0x170),'BRXgJ':_0x40414e(0x161),'dCrVo':_0x40414e(0x166),'MmAyc':'consumer.crash','uWvZd':'consumer.rebalancing'};if(!this[_0x40414e(0x159)])return;this[_0x40414e(0x159)]['on'](_0xab81f6['dCrVo'],()=>{const _0x1c98f4=_0x40414e;console[_0x1c98f4(0x143)](_0xab81f6[_0x1c98f4(0x180)]),this[_0x1c98f4(0x15a)]=![],this[_0x1c98f4(0x13c)]=![];}),this[_0x40414e(0x159)]['on']('consumer.stop',()=>{const _0x5cf312=_0x40414e;console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x5cf312(0x13c)]=![];}),this['consumer']['on'](_0xab81f6[_0x40414e(0x18a)],_0xa7a948=>{const _0x30a077=_0x40414e;console[_0x30a077(0x17a)](_0x30a077(0x17c)+_0xa7a948['payload']['error']['message']),this[_0x30a077(0x13c)]=![];}),this['consumer']['on'](_0xab81f6['uWvZd'],()=>{console['log'](_0xab81f6['BRXgJ']);});}async['subscribe'](_0x7f8f42,_0x1f4970=![]){const _0x26a087=a0_0xd59b98;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x5e13ef=Array['isArray'](_0x7f8f42)?_0x7f8f42:[_0x7f8f42];for(const _0x5cb915 of _0x5e13ef){await this[_0x26a087(0x159)][_0x26a087(0x13b)]({'topic':_0x5cb915,'fromBeginning':_0x1f4970}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x5cb915+'\x20(fromBeginning:\x20'+_0x1f4970+')');}return this['subscribedTopics']=[...new Set([...this[_0x26a087(0x16d)],..._0x5e13ef])],!![];}catch(_0x5edbba){return console['error'](_0x26a087(0x19c)+_0x5edbba[_0x26a087(0x18c)]),![];}}async['startConsuming'](_0x23ffbe,_0x4e7957={}){const _0x2424e7=a0_0xd59b98,_0x1da665={'RIQLK':function(_0x2e57f2,_0x164c6e){return _0x2e57f2(_0x164c6e);},'zZcEW':_0x2424e7(0x185),'hLLeu':'[KafkaConsumer]\x20Consumer\x20already\x20running'};if(!this[_0x2424e7(0x15a)])return console[_0x2424e7(0x17a)](_0x1da665['zZcEW']),![];if(this[_0x2424e7(0x13c)])return console[_0x2424e7(0x143)](_0x1da665['hLLeu']),!![];const _0x297a51=this['getConfig']();this[_0x2424e7(0x19b)]=_0x23ffbe;try{return this[_0x2424e7(0x15f)][_0x2424e7(0x140)]=new Date(),await this[_0x2424e7(0x159)][_0x2424e7(0x168)]({'autoCommit':_0x4e7957[_0x2424e7(0x146)]!==undefined?_0x4e7957['autoCommit']:_0x297a51[_0x2424e7(0x146)],'autoCommitInterval':_0x297a51['autoCommitInterval'],'eachMessage':async({topic:_0x48618e,partition:_0x581344,message:_0x5f18b1,heartbeat:_0x12a1a0})=>{const _0x2bbac9=_0x2424e7,_0x13e393=Date['now']();this['metrics'][_0x2bbac9(0x1a9)]++,this['metrics']['lastMessageTime']=new Date();try{const _0x516c54=_0x5f18b1['value']?_0x5f18b1[_0x2bbac9(0x156)][_0x2bbac9(0x15e)]():null;let _0xa0e6a=null;try{_0xa0e6a=_0x516c54?JSON[_0x2bbac9(0x151)](_0x516c54):null;}catch(_0xc7a148){_0xa0e6a=_0x516c54;}const _0x14a243={'topic':_0x48618e,'partition':_0x581344,'offset':_0x5f18b1[_0x2bbac9(0x150)],'key':_0x5f18b1[_0x2bbac9(0x1aa)]?_0x5f18b1[_0x2bbac9(0x1aa)]['toString']():null,'headers':this['parseHeaders'](_0x5f18b1[_0x2bbac9(0x172)]),'timestamp':_0x5f18b1[_0x2bbac9(0x15c)],'value':_0xa0e6a,'raw':_0x516c54};this[_0x2bbac9(0x19b)]&&await this[_0x2bbac9(0x19b)](_0x14a243);!_0x297a51['autoCommit']&&await this[_0x2bbac9(0x159)]['commitOffsets']([{'topic':_0x48618e,'partition':_0x581344,'offset':(_0x1da665[_0x2bbac9(0x173)](parseInt,_0x5f18b1['offset'])+0x1)[_0x2bbac9(0x15e)]()}]);this['metrics'][_0x2bbac9(0x133)]++;const _0x42ad42=Date[_0x2bbac9(0x182)]()-_0x13e393;this['metrics'][_0x2bbac9(0x1a8)][_0x2bbac9(0x179)](_0x42ad42),this[_0x2bbac9(0x15f)][_0x2bbac9(0x1a8)][_0x2bbac9(0x18b)]>0x64&&this[_0x2bbac9(0x15f)]['processingTimes'][_0x2bbac9(0x13a)](),await _0x12a1a0();}catch(_0x4d95ff){this[_0x2bbac9(0x15f)][_0x2bbac9(0x191)]++,console['error'](_0x2bbac9(0x141)+_0x4d95ff['message']);throw _0x4d95ff;}}}),this[_0x2424e7(0x13c)]=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x2424e7(0x16d)][_0x2424e7(0x17f)](',\x20')),!![];}catch(_0x1d567a){return console['error'](_0x2424e7(0x1a0)+_0x1d567a['message']),![];}}[a0_0xd59b98(0x164)](_0x5a68f7){const _0xb26885=a0_0xd59b98;if(!_0x5a68f7)return{};const _0x15c9be={};for(const [_0x26b4ec,_0x2a7a30]of Object[_0xb26885(0x14e)](_0x5a68f7)){_0x15c9be[_0x26b4ec]=_0x2a7a30?_0x2a7a30['toString']():null;}return _0x15c9be;}async['pause'](){const _0x1c04b3=a0_0xd59b98,_0x36528c={'mtJdQ':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x1c04b3(0x143)](_0x1c04b3(0x1a7)),![];if(this['isPaused'])return console['log'](_0x36528c['mtJdQ']),!![];try{const _0x588bf1=this[_0x1c04b3(0x16d)]['map'](_0xc28afb=>({'topic':_0xc28afb}));return this['consumer'][_0x1c04b3(0x19a)](_0x588bf1),this['isPaused']=!![],console[_0x1c04b3(0x143)]('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x75253c){return console[_0x1c04b3(0x17a)](_0x1c04b3(0x193)+_0x75253c['message']),![];}}async['resume'](){const _0x32a037=a0_0xd59b98,_0x50283a={'DJNsA':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','XjoXr':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x32a037(0x143)](_0x50283a['DJNsA']),![];if(!this[_0x32a037(0x19e)])return console[_0x32a037(0x143)](_0x50283a['XjoXr']),!![];try{const _0xa06fc2=this[_0x32a037(0x16d)]['map'](_0x5aa21f=>({'topic':_0x5aa21f}));return this['consumer']['resume'](_0xa06fc2),this[_0x32a037(0x19e)]=![],console[_0x32a037(0x143)]('[KafkaConsumer]\x20Consumer\x20resumed'),!![];}catch(_0x444637){return console[_0x32a037(0x17a)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x444637['message']),![];}}async[a0_0xd59b98(0x176)](){const _0x6ce9c1=a0_0xd59b98;if(!this['isConnected'])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20connected'),!![];try{const _0x3a583d=_0x6ce9c1(0x186)[_0x6ce9c1(0x147)]('|');let _0x38867d=0x0;while(!![]){switch(_0x3a583d[_0x38867d++]){case'0':this['isPaused']=![];continue;case'1':this['isConnected']=![];continue;case'2':return!![];case'3':this[_0x6ce9c1(0x13c)]=![];continue;case'4':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;case'5':this[_0x6ce9c1(0x159)]&&(await this[_0x6ce9c1(0x159)]['stop'](),await this['consumer']['disconnect']());continue;}break;}}catch(_0x483b5c){return console[_0x6ce9c1(0x17a)]('[KafkaConsumer]\x20Stop\x20error:\x20'+_0x483b5c[_0x6ce9c1(0x18c)]),![];}}async['seekToOffset'](_0x4b2ada,_0x5ca055,_0x892eb5){const _0x29a938=a0_0xd59b98;if(!this['isConnected'])return console['error'](_0x29a938(0x158)),![];try{return this['consumer']['seek']({'topic':_0x4b2ada,'partition':_0x5ca055,'offset':_0x892eb5['toString']()}),console[_0x29a938(0x143)](_0x29a938(0x181)+_0x892eb5+_0x29a938(0x135)+_0x4b2ada+':'+_0x5ca055),!![];}catch(_0x27770c){return console[_0x29a938(0x17a)](_0x29a938(0x1a1)+_0x27770c['message']),![];}}['getStatus'](){const _0x4ae0a4=a0_0xd59b98,_0x267398=this[_0x4ae0a4(0x145)]();return{'enabled':_0x267398['enabled'],'connected':this['isConnected'],'running':this[_0x4ae0a4(0x13c)],'paused':this[_0x4ae0a4(0x19e)],'brokers':_0x267398['brokers'],'clientId':_0x267398['clientId'],'groupId':this[_0x4ae0a4(0x149)],'subscribedTopics':this['subscribedTopics']};}[a0_0xd59b98(0x18f)](){const _0x521a39=a0_0xd59b98,_0x3d4e29={'qKajN':function(_0x3c4aaf,_0x59ac42){return _0x3c4aaf>_0x59ac42;},'Gysdf':function(_0x2ec747,_0x4a98eb){return _0x2ec747/_0x4a98eb;},'WUCiu':function(_0x542363,_0xf35c3e){return _0x542363+_0xf35c3e;},'lWhZI':function(_0x2e9c26,_0x2fa341){return _0x2e9c26/_0x2fa341;},'zlowK':function(_0x359d43,_0x3c4f4b){return _0x359d43+_0x3c4f4b;}},_0x1e9d50=_0x3d4e29['qKajN'](this['metrics'][_0x521a39(0x1a8)][_0x521a39(0x18b)],0x0)?_0x3d4e29[_0x521a39(0x144)](this[_0x521a39(0x15f)]['processingTimes'][_0x521a39(0x196)]((_0x1fb70a,_0x1a6750)=>_0x1fb70a+_0x1a6750,0x0),this['metrics']['processingTimes'][_0x521a39(0x18b)]):0x0,_0x55b329=this[_0x521a39(0x15f)]['processingTimes']['length']>0x0?Math[_0x521a39(0x138)](...this[_0x521a39(0x15f)][_0x521a39(0x1a8)]):0x0,_0x4ad014=this['metrics'][_0x521a39(0x1a8)]['length']>0x0?Math[_0x521a39(0x13f)](...this[_0x521a39(0x15f)]['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x521a39(0x1a9)],'messagesProcessed':this[_0x521a39(0x15f)][_0x521a39(0x133)],'messagesFailed':this[_0x521a39(0x15f)]['messagesFailed'],'successRate':this[_0x521a39(0x15f)]['messagesReceived']>0x0?_0x3d4e29[_0x521a39(0x139)]((_0x3d4e29[_0x521a39(0x1a2)](this[_0x521a39(0x15f)][_0x521a39(0x133)],this['metrics'][_0x521a39(0x1a9)])*0x64)[_0x521a39(0x157)](0x2),'%'):'0%','lastMessageTime':this['metrics'][_0x521a39(0x1a3)],'startTime':this['metrics']['startTime'],'uptime':this['metrics'][_0x521a39(0x140)]?_0x3d4e29[_0x521a39(0x139)](Math['floor']((Date['now']()-this['metrics']['startTime'][_0x521a39(0x155)]())/0x3e8),'s'):'0s','processingTime':{'avg':Math['round'](_0x1e9d50)+'ms','min':_0x3d4e29['zlowK'](_0x55b329,'ms'),'max':_0x4ad014+'ms'}};}['resetMetrics'](){const _0x508840=a0_0xd59b98,_0x3ec3f5={'BAljM':_0x508840(0x187)};this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x508840(0x13c)]?new Date():null,'processingTimes':[]},console[_0x508840(0x143)](_0x3ec3f5['BAljM']);}async[a0_0xd59b98(0x1a6)](){await this['stop']();}}function a0_0x39d6(){const _0x5c3be0=['rvjst1i','mJHrshrVs0W','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','nxWXFdn8mhW0Fdi','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','AgvHCNrIzwf0sw50zxj2ywW','s0fgs0fFuKvuuLLFrevmqvK','tw1bEwm','BgvUz3rO','BwvZC2fNzq','v0fstG','icHNCM91CeLKoIa','z2v0twv0CMLJCW','ndqXntqWodrAAxPywvG','BwvZC2fNzxngywLSzwq','Bwf4qNL0zxnqzxjqyxj0AxrPB24','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','mta5mdKXn2HJA0nkuW','uuD1qNG','CMvKDwnL','s0fgs0fFqLjps0vsuW','ufHvBuu','vvLHBKK','Cgf1C2u','BwvZC2fNzuHHBMrSzxi','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','tLfhrg4','AxnqyxvZzwq','CMv0CNLezwXHEq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','BfDOwKK','BgfZDe1LC3nHz2vuAw1L','s3LKALK','zxHWB3j0CW','y2XVC2u','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzxnszwnLAxzLza','A2v5','yNjVA2vYCW','Dhj1zq','nZC4mdmWmK55uun1wa','BwvZC2fNzxnqCM9JzxnZzwq','mZaWma','ig9Uia','mZG5mdC0Aw1oB0n1','A2fMA2e','BwLU','v1vdAxu','C2HPzNq','C3vIC2nYAwjL','AxnsDw5UAw5N','mta0odu3nG','Bg9JywXOB3n0oJKWoti','Bwf4','C3rHCNruAw1L','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Bg9N','r3LZzgy','z2v0q29UzMLN','yxv0B0nVBw1PDa','C3bSAxq','s0fgs0fFuKvuuLLFtufyx0rftefz','z3jVDxbjza','CMvZDgzVCMDLlq','DxvPza','s0fgs0fFu0fttf9vu0vstKfnrq','Bg9Ntgv2zwW','zw50CMLLCW','AxnjBML0AwfSAxPPBMC','B2zMC2v0','CgfYC2u','mZuYotzqvwvhrLC','s0fgs0fFu1nm','y29UBMvJDgLVBLbYB21PC2u','z2v0vgLTzq','DMfSDwu','Dg9gAxHLza','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','y29UC3vTzxi','AxndB25Uzwn0zwq','mtHfqM9nDKu','DgLTzxn0yw1W','C2vZC2LVBLrPBwvVDxq','Dg9tDhjPBMC','Bwv0CMLJCW','mtbUqvDsBNe','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','zw5HyMXLza','s0fgs0fFu0vtu0LptL9usu1ft1vu','CgfYC2vizwfKzxjZ','oda3odK1yxvxA3jv','y29UC3vTzxiUzgLZy29UBMvJDa','mteYs1r4EfrR','CNvU','C2v0DxbfDMvUDeHHBMrSzxjZ','qLzmtgq','Aw5PDgLHBgL6zq','y29UBMvJDgLVBLrPBwvVDxq','C3vIC2nYAwjLzfrVCgLJCW','zw52','s0fgs0fFu0fttf9nruniqu5ju00','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','t1LIEKG','AgvHzgvYCW','uKLrteS','mtC1ndq1ngnIBxv0Aq','s0fgs0fFte9hx0XfvKvm','C3rVCa','CMvXDwvZDfrPBwvVDxq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','ChvZAa','zxjYB3i','mtfMz2rzDwS','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','y29UBMvJDa','z2v0tg9Ntgv2zwW','AM9PBG','y1vjqMe','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','BM93'];a0_0x39d6=function(){return _0x5c3be0;};return a0_0x39d6();}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function createInstance(){return new KafkaConsumerService();}function a0_0x5d44(_0x53c1dd,_0x17c30e){_0x53c1dd=_0x53c1dd-0x130;const _0x39d60c=a0_0x39d6();let _0x5d4448=_0x39d60c[_0x53c1dd];if(a0_0x5d44['aVKelO']===undefined){var _0x187823=function(_0x199d7c){const _0x4b1d9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x23aeaf='',_0x16650c='';for(let _0x256d47=0x0,_0x5ee3bf,_0xfe572d,_0x130ca2=0x0;_0xfe572d=_0x199d7c['charAt'](_0x130ca2++);~_0xfe572d&&(_0x5ee3bf=_0x256d47%0x4?_0x5ee3bf*0x40+_0xfe572d:_0xfe572d,_0x256d47++%0x4)?_0x23aeaf+=String['fromCharCode'](0xff&_0x5ee3bf>>(-0x2*_0x256d47&0x6)):0x0){_0xfe572d=_0x4b1d9f['indexOf'](_0xfe572d);}for(let _0x50c2f2=0x0,_0x5c5e25=_0x23aeaf['length'];_0x50c2f2<_0x5c5e25;_0x50c2f2++){_0x16650c+='%'+('00'+_0x23aeaf['charCodeAt'](_0x50c2f2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x16650c);};a0_0x5d44['cOtmNG']=_0x187823,a0_0x5d44['WPNckR']={},a0_0x5d44['aVKelO']=!![];}const _0x4c837c=_0x39d60c[0x0],_0x202b1f=_0x53c1dd+_0x4c837c,_0x237ea6=a0_0x5d44['WPNckR'][_0x202b1f];return!_0x237ea6?(_0x5d4448=a0_0x5d44['cOtmNG'](_0x5d4448),a0_0x5d44['WPNckR'][_0x202b1f]=_0x5d4448):_0x5d4448=_0x237ea6,_0x5d4448;}module[a0_0xd59b98(0x1a5)]={'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_0x4749ce=a0_0x414b;(function(_0x124a52,_0x38c37e){const _0x2f1bdf=a0_0x414b,_0x22ba29=_0x124a52();while(!![]){try{const _0x5149cd=-parseInt(_0x2f1bdf(0x1e2))/0x1*(parseInt(_0x2f1bdf(0x1cf))/0x2)+-parseInt(_0x2f1bdf(0x1a0))/0x3+parseInt(_0x2f1bdf(0x1d4))/0x4*(parseInt(_0x2f1bdf(0x1ae))/0x5)+-parseInt(_0x2f1bdf(0x1cc))/0x6+-parseInt(_0x2f1bdf(0x1b0))/0x7*(-parseInt(_0x2f1bdf(0x1ba))/0x8)+-parseInt(_0x2f1bdf(0x191))/0x9*(parseInt(_0x2f1bdf(0x1c1))/0xa)+-parseInt(_0x2f1bdf(0x196))/0xb*(-parseInt(_0x2f1bdf(0x1af))/0xc);if(_0x5149cd===_0x38c37e)break;else _0x22ba29['push'](_0x22ba29['shift']());}catch(_0x3528a9){_0x22ba29['push'](_0x22ba29['shift']());}}}(a0_0x1d7d,0x8fb4b));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4749ce(0x1ab));function a0_0x414b(_0x3708ea,_0x2d39a7){_0x3708ea=_0x3708ea-0x18b;const _0x1d7d22=a0_0x1d7d();let _0x414b51=_0x1d7d22[_0x3708ea];if(a0_0x414b['aOkdsA']===undefined){var _0x3149af=function(_0x14ce4d){const _0x3f9541='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f94c8='',_0x45bdd3='';for(let _0x4f53e9=0x0,_0x25ceb3,_0x1ef352,_0x5a7994=0x0;_0x1ef352=_0x14ce4d['charAt'](_0x5a7994++);~_0x1ef352&&(_0x25ceb3=_0x4f53e9%0x4?_0x25ceb3*0x40+_0x1ef352:_0x1ef352,_0x4f53e9++%0x4)?_0x4f94c8+=String['fromCharCode'](0xff&_0x25ceb3>>(-0x2*_0x4f53e9&0x6)):0x0){_0x1ef352=_0x3f9541['indexOf'](_0x1ef352);}for(let _0x17de0f=0x0,_0x56a72=_0x4f94c8['length'];_0x17de0f<_0x56a72;_0x17de0f++){_0x45bdd3+='%'+('00'+_0x4f94c8['charCodeAt'](_0x17de0f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45bdd3);};a0_0x414b['NsGviF']=_0x3149af,a0_0x414b['gYCHjR']={},a0_0x414b['aOkdsA']=!![];}const _0x184421=_0x1d7d22[0x0],_0x129728=_0x3708ea+_0x184421,_0x4b12b4=a0_0x414b['gYCHjR'][_0x129728];return!_0x4b12b4?(_0x414b51=a0_0x414b['NsGviF'](_0x414b51),a0_0x414b['gYCHjR'][_0x129728]=_0x414b51):_0x414b51=_0x4b12b4,_0x414b51;}class KafkaService{constructor(){const _0x5d63c0=a0_0x4749ce;this['kafka']=null,this['producer']=null,this[_0x5d63c0(0x1a9)]=![],this['isInitializing']=![],this['connectionPromise']=null;}['getConfig'](){const _0x374831=a0_0x4749ce,_0x53676b={'nMtXp':function(_0x43d8d7,_0x27ee9e){return _0x43d8d7===_0x27ee9e;},'hykjO':'true','RIlNj':'3000','utNUO':_0x374831(0x1d0),'rkzxP':'default','YbDTn':_0x374831(0x1c0)};return{'enabled':_0x53676b[_0x374831(0x18c)](process['env']['KAFKA_ENABLED'],_0x53676b['hykjO']),'brokers':(process['env']['KAFKA_BROKERS']||_0x374831(0x1c2))[_0x374831(0x19c)](','),'clientId':process[_0x374831(0x1e1)]['KAFKA_CLIENT_ID']||'restforge-'+(process['env'][_0x374831(0x1d7)]||'default')+_0x374831(0x1dd),'connectionTimeout':parseInt(process[_0x374831(0x1e1)]['KAFKA_CONNECTION_TIMEOUT']||_0x53676b['RIlNj']),'requestTimeout':parseInt(process['env'][_0x374831(0x1e4)]||_0x374831(0x1b9)),'topicPattern':process[_0x374831(0x1e1)][_0x374831(0x18d)]||_0x53676b[_0x374831(0x1ad)],'tenantId':process[_0x374831(0x1e1)][_0x374831(0x198)]||_0x53676b['rkzxP'],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x53676b[_0x374831(0x1a5)]),'logLevel':process['env'][_0x374831(0x1da)]||_0x374831(0x1c4)};}[a0_0x4749ce(0x1a4)](_0x479110){const _0x3cecae=a0_0x4749ce,_0x4875e4={'nothing':logLevel[_0x3cecae(0x195)],'error':logLevel[_0x3cecae(0x1b1)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x3cecae(0x1b3)]};return _0x4875e4[_0x479110['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0x5f1b04=a0_0x4749ce,_0x30eb71={'FfgIQ':function(_0x303cb3,_0x38425f){return _0x303cb3===_0x38425f;},'IhdAN':'producer.disconnect','WTfQr':function(_0x1687a7,_0x542786){return _0x1687a7(_0x542786);},'SxzYy':_0x5f1b04(0x1c6)},_0x27e105=this[_0x5f1b04(0x1a1)]();if(!_0x27e105[_0x5f1b04(0x1bf)])return console['log'](_0x30eb71['SxzYy']),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x5f1b04(0x1b4)])return this[_0x5f1b04(0x1b4)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x52ccdb=>{const _0x48814d=_0x5f1b04;try{let _0x30b8b8=undefined;_0x30eb71[_0x48814d(0x1c5)](process[_0x48814d(0x1e1)]['KAFKA_SSL'],_0x48814d(0x1e0))&&(_0x30b8b8=!![]);let _0x128a83=undefined;process[_0x48814d(0x1e1)]['KAFKA_SASL_MECHANISM']&&(_0x128a83={'mechanism':process[_0x48814d(0x1e1)]['KAFKA_SASL_MECHANISM'],'username':process[_0x48814d(0x1e1)]['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x27e105[_0x48814d(0x199)],'brokers':_0x27e105[_0x48814d(0x190)],'connectionTimeout':_0x27e105['connectionTimeout'],'requestTimeout':_0x27e105['requestTimeout'],'logLevel':this['getLogLevel'](_0x27e105[_0x48814d(0x1de)]),'ssl':_0x30b8b8,'sasl':_0x128a83,'retry':{'initialRetryTime':_0x27e105['retryDelay'],'retries':_0x27e105['retryAttempts']}}),this['producer']=this[_0x48814d(0x1b7)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x48814d(0x1cd)]}),await this['producer']['connect'](),this[_0x48814d(0x1a9)]=!![],console[_0x48814d(0x19a)](_0x48814d(0x1b8)+_0x27e105[_0x48814d(0x190)]['join'](',\x20')),this['producer']['on'](_0x30eb71['IhdAN'],()=>{const _0x43a932=_0x48814d;console[_0x43a932(0x19a)]('[Kafka]\x20Producer\x20disconnected'),this[_0x43a932(0x1a9)]=![];}),_0x30eb71[_0x48814d(0x1bc)](_0x52ccdb,!![]);}catch(_0x5ae548){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x5ae548[_0x48814d(0x19b)]),this['isConnected']=![],_0x52ccdb(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x4749ce(0x1c7)](_0x4c05c0){const _0x346625=a0_0x4749ce,_0x53bd08={'unpgF':function(_0x37c982,_0x28a4ae){return _0x37c982(_0x28a4ae);},'NeeOo':function(_0x48a20e,_0x5bd863){return _0x48a20e(_0x5bd863);},'syFiE':function(_0x5285c6,_0x57f1be){return _0x5285c6(_0x57f1be);}},_0x50ff6f=_0x4c05c0||new Date(),_0x18ade0=_0x50ff6f[_0x346625(0x1b5)](),_0x2c3219=_0x53bd08[_0x346625(0x194)](String,_0x50ff6f['getMonth']()+0x1)[_0x346625(0x1ce)](0x2,'0'),_0x164f8b=String(_0x50ff6f['getDate']())[_0x346625(0x1ce)](0x2,'0'),_0x43e1dd=_0x53bd08['NeeOo'](String,_0x50ff6f['getHours']())[_0x346625(0x1ce)](0x2,'0'),_0x232563=_0x53bd08[_0x346625(0x1ac)](String,_0x50ff6f['getMinutes']())[_0x346625(0x1ce)](0x2,'0'),_0x59e462=String(_0x50ff6f['getSeconds']())[_0x346625(0x1ce)](0x2,'0');return _0x18ade0+'-'+_0x2c3219+'-'+_0x164f8b+'\x20'+_0x43e1dd+':'+_0x232563+':'+_0x59e462;}[a0_0x4749ce(0x197)](_0x17d8c3,_0x326c27,_0x107d1a,_0x166aab=null){const _0x5455e3=a0_0x4749ce;if(_0x166aab)return _0x166aab;const _0xd518af=this[_0x5455e3(0x1a1)]()['topicPattern'];return _0xd518af[_0x5455e3(0x192)]('{module}',_0x17d8c3)[_0x5455e3(0x192)]('{endpoint}',_0x326c27)['replace']('{action}',_0x107d1a);}[a0_0x4749ce(0x1db)](_0x3f6bc7,_0x1523dd,_0x1b4072,_0x532f48={}){const _0x75140a=a0_0x4749ce,_0x5e958e={'SAGDU':function(_0x3d2575){return _0x3d2575();},'gCEcb':function(_0x5c6fa1){return _0x5c6fa1();},'oHEpT':_0x75140a(0x1bb)},_0x618e1c=new Date(),_0x35ac27=this['formatDateTime'](_0x618e1c),_0x555c30=_0x532f48['correlationId']||_0x75140a(0x1d2)+_0x5e958e[_0x75140a(0x18f)](uuidv7);return{'eventId':_0x75140a(0x18e)+_0x5e958e['gCEcb'](uuidv7),'eventType':_0x3f6bc7,'eventTime':_0x35ac27,'eventVersion':_0x75140a(0x19f),'source':'restforge-'+(_0x532f48[_0x75140a(0x1d1)]||'unknown'),'correlationId':_0x555c30,'newData':_0x1b4072,'oldData':_0x1523dd,'metadata':{'createdBy':_0x532f48['createdBy']||'SYSTEM','createdAt':_0x35ac27,'systemId':'RESTFORGE-'+(_0x532f48['module']||_0x5e958e[_0x75140a(0x1bd)])[_0x75140a(0x1d9)](),'tenantId':this[_0x75140a(0x1a1)]()[_0x75140a(0x19d)],'endpoint':_0x532f48[_0x75140a(0x1a3)]||null,'tableName':_0x532f48[_0x75140a(0x18b)]||null}};}async[a0_0x4749ce(0x1c9)](_0x73c12f,_0x461d3c,_0x103b23,_0x482a37,_0x39d41b={}){const _0x449346=a0_0x4749ce,_0x2ecbb4={'pEqjY':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','ghwRw':function(_0x1e3425,_0x51e6f2){return _0x1e3425(_0x51e6f2);}},_0x288a7e=this[_0x449346(0x1a1)]();if(!_0x288a7e[_0x449346(0x1bf)])return{'success':![],'reason':'Kafka\x20producer\x20is\x20disabled','published':![]};if(!this[_0x449346(0x1a9)]){const _0x3906c7=await this['initialize']();if(!_0x3906c7)return{'success':![],'reason':_0x2ecbb4['pEqjY'],'published':![]};}try{const _0x32e822=this['buildEventMessage'](_0x461d3c,_0x103b23,_0x482a37,_0x39d41b),_0x4c04c7=_0x39d41b['keyField']||'id',_0x52fd7c=_0x482a37?.[_0x4c04c7]||_0x103b23?.[_0x4c04c7]||uuidv7(),_0x950327=await this[_0x449346(0x1d3)][_0x449346(0x1c3)]({'topic':_0x73c12f,'messages':[{'key':_0x2ecbb4['ghwRw'](String,_0x52fd7c),'value':JSON[_0x449346(0x1a7)](_0x32e822),'headers':{'event-type':_0x461d3c,'correlation-id':_0x32e822[_0x449346(0x1dc)],'source':_0x32e822[_0x449346(0x1d5)]}}]});return console['log'](_0x449346(0x1b2)+_0x73c12f+':\x20'+_0x461d3c+_0x449346(0x1b6)+_0x52fd7c+')'),{'success':!![],'correlationId':_0x32e822['correlationId'],'topic':_0x73c12f,'partition':_0x950327[0x0]?.[_0x449346(0x193)],'offset':_0x950327[0x0]?.[_0x449346(0x19e)],'published':!![]};}catch(_0x43e6b6){return console[_0x449346(0x1a2)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x73c12f+':\x20'+_0x43e6b6['message']),{'success':![],'error':_0x43e6b6[_0x449346(0x19b)],'published':![]};}}async[a0_0x4749ce(0x1d8)](_0xfe66f1,_0x2de646,_0x2fffc6,_0x498b0a={}){const _0x979495=a0_0x4749ce,_0x4b73bc=this[_0x979495(0x197)](_0xfe66f1,_0x2de646,_0x979495(0x1be),_0x498b0a['topic']);return this['publishEvent'](_0x4b73bc,_0x979495(0x1a6),null,_0x2fffc6,{'module':_0xfe66f1,'endpoint':_0x2de646,'keyField':_0x498b0a[_0x979495(0x1cb)],'tableName':_0x498b0a[_0x979495(0x18b)],'correlationId':_0x498b0a['correlationId']});}async['publishUpdate'](_0x433806,_0x29dd9f,_0x2b5a7f,_0x2c2991,_0x2373d1={}){const _0x38dfd3=a0_0x4749ce,_0x235214={'GOHrw':'ENTITY_UPDATED'},_0x201d5a=this[_0x38dfd3(0x197)](_0x433806,_0x29dd9f,_0x38dfd3(0x1d6),_0x2373d1[_0x38dfd3(0x1e3)]);return this[_0x38dfd3(0x1c9)](_0x201d5a,_0x235214['GOHrw'],_0x2b5a7f,_0x2c2991,{'module':_0x433806,'endpoint':_0x29dd9f,'keyField':_0x2373d1[_0x38dfd3(0x1cb)],'tableName':_0x2373d1[_0x38dfd3(0x18b)],'correlationId':_0x2373d1[_0x38dfd3(0x1dc)]});}async['publishDelete'](_0x51dd3d,_0x3b791e,_0x8704d,_0x372674={}){const _0x18f9c8=a0_0x4749ce,_0x5ccccb={'tkcTV':'deleted','wmppP':'ENTITY_DELETED'},_0x19a2a2=this[_0x18f9c8(0x197)](_0x51dd3d,_0x3b791e,_0x5ccccb[_0x18f9c8(0x1ca)],_0x372674['topic']);return this[_0x18f9c8(0x1c9)](_0x19a2a2,_0x5ccccb['wmppP'],_0x8704d,null,{'module':_0x51dd3d,'endpoint':_0x3b791e,'keyField':_0x372674[_0x18f9c8(0x1cb)],'tableName':_0x372674['tableName'],'correlationId':_0x372674[_0x18f9c8(0x1dc)]});}[a0_0x4749ce(0x1df)](){const _0x3671d4=a0_0x4749ce,_0x16a07e=this[_0x3671d4(0x1a1)]();return{'enabled':_0x16a07e[_0x3671d4(0x1bf)],'connected':this[_0x3671d4(0x1a9)],'brokers':_0x16a07e[_0x3671d4(0x190)],'clientId':_0x16a07e[_0x3671d4(0x199)],'topicPattern':_0x16a07e[_0x3671d4(0x1aa)]};}async[a0_0x4749ce(0x1a8)](){const _0x7ea809=a0_0x4749ce,_0x864755={'JnikP':_0x7ea809(0x1c8)};if(this[_0x7ea809(0x1d3)]&&this[_0x7ea809(0x1a9)])try{await this['producer']['disconnect'](),this[_0x7ea809(0x1a9)]=![],console['log'](_0x864755['JnikP']);}catch(_0x35c91b){console[_0x7ea809(0x1a2)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x35c91b['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x1a6dd2=a0_0x4749ce;instance&&(instance[_0x1a6dd2(0x1a8)](),instance=null);}function a0_0x1d7d(){const _0x545c29=['yNvPBgrfDMvUDe1LC3nHz2u','y29YCMvSyxrPB25jza','lxbYB2r1y2vY','Bg9Ntgv2zwW','z2v0u3rHDhvZ','Dhj1zq','zw52','m1HzB2PpCW','Dg9WAwm','s0fgs0fFuKvrvuvtvf9usu1ft1vu','DgfIBgvoyw1L','BK10wha','s0fgs0fFve9qsunFuefuvevstG','zxz0lq','u0fhrfu','yNjVA2vYCW','nZCZndK0mK5mrxD6qW','CMvWBgfJzq','CgfYDgL0Aw9U','Dw5Wz0y','tK9useLorW','nJCWodeZENftrxDg','yNvPBgruB3bPy05HBwu','s0fgs0fFvevoqu5ux0Le','y2XPzw50swq','Bg9N','BwvZC2fNzq','C3bSAxq','DgvUyw50swq','yMfZzu9MzNnLDa','ms4W','mJq5mtu2zejczMLy','z2v0q29UzMLN','zxjYB3i','zw5KCg9PBNq','z2v0tg9Ntgv2zwW','wwjevg4','ru5usvrzx0nsrufuruq','C3rYAw5NAwz5','y2XVC2u','AxndB25Uzwn0zwq','Dg9WAwnqyxr0zxjU','DxvPza','C3LgAuu','Dxrovu8','mJy3mJi5mfHTy29ACW','mJa0AMTVCNDw','ndmYmtfzzwTUBhq','rvjst1i','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','revcvuC','y29UBMvJDgLVBLbYB21PC2u','z2v0rNvSBfLLyxi','icHRzxK6ia','A2fMA2e','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','mJuWmda','mtq0ogHcB2LUqG','Dw5RBM93BG','v1rMuxi','B0HfCfq','y3jLyxrLza','zw5HyMXLza','mtaWma','mtbvtNPYAeG','Bg9JywXOB3n0oJKWoti','C2vUza','D2fYBG','rMzNsve','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','zM9YBwf0rgf0zvrPBwu','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','ChvIBgLZAev2zw50','DgTJvfy','A2v5rMLLBgq','mJq2ntC4nhLgvvrXvq','tgvNywn5ugfYDgL0Aw9Uzxi','CgfKu3rHCNq','ndK3nJa2sM5mug1g','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','Bw9KDwXL','y29YCI0','ChjVzhvJzxi','nfDoqwDbvq','C291CMnL','DxbKyxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ChvIBgLZAeLUC2vYDa','Dg9vChbLCKnHC2u','s0fgs0fFte9hx0XfvKvm'];a0_0x1d7d=function(){return _0x545c29;};return a0_0x1d7d();}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_0x3685c3=a0_0xf753;function a0_0xf753(_0x7238a3,_0x5f3e18){_0x7238a3=_0x7238a3-0x1a2;const _0x13d828=a0_0x13d8();let _0xf753aa=_0x13d828[_0x7238a3];if(a0_0xf753['nOPCob']===undefined){var _0x27263f=function(_0x5090c7){const _0x12a62c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dc452='',_0x19398e='';for(let _0x2900d8=0x0,_0x15c20b,_0x99b64b,_0x2543b8=0x0;_0x99b64b=_0x5090c7['charAt'](_0x2543b8++);~_0x99b64b&&(_0x15c20b=_0x2900d8%0x4?_0x15c20b*0x40+_0x99b64b:_0x99b64b,_0x2900d8++%0x4)?_0x5dc452+=String['fromCharCode'](0xff&_0x15c20b>>(-0x2*_0x2900d8&0x6)):0x0){_0x99b64b=_0x12a62c['indexOf'](_0x99b64b);}for(let _0x58f800=0x0,_0x5740c6=_0x5dc452['length'];_0x58f800<_0x5740c6;_0x58f800++){_0x19398e+='%'+('00'+_0x5dc452['charCodeAt'](_0x58f800)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x19398e);};a0_0xf753['NAqulD']=_0x27263f,a0_0xf753['Iywqya']={},a0_0xf753['nOPCob']=!![];}const _0xe5640=_0x13d828[0x0],_0x4afe03=_0x7238a3+_0xe5640,_0x5bb84f=a0_0xf753['Iywqya'][_0x4afe03];return!_0x5bb84f?(_0xf753aa=a0_0xf753['NAqulD'](_0xf753aa),a0_0xf753['Iywqya'][_0x4afe03]=_0xf753aa):_0xf753aa=_0x5bb84f,_0xf753aa;}(function(_0x1a2b2a,_0x33356e){const _0x2a6a4e=a0_0xf753,_0x407ef0=_0x1a2b2a();while(!![]){try{const _0x1d538c=parseInt(_0x2a6a4e(0x1ee))/0x1*(parseInt(_0x2a6a4e(0x1ca))/0x2)+-parseInt(_0x2a6a4e(0x1b6))/0x3*(parseInt(_0x2a6a4e(0x1c9))/0x4)+-parseInt(_0x2a6a4e(0x1d9))/0x5*(-parseInt(_0x2a6a4e(0x1ef))/0x6)+-parseInt(_0x2a6a4e(0x1e2))/0x7+-parseInt(_0x2a6a4e(0x1e0))/0x8+-parseInt(_0x2a6a4e(0x1be))/0x9+-parseInt(_0x2a6a4e(0x1ab))/0xa*(-parseInt(_0x2a6a4e(0x1de))/0xb);if(_0x1d538c===_0x33356e)break;else _0x407ef0['push'](_0x407ef0['shift']());}catch(_0x856cdc){_0x407ef0['push'](_0x407ef0['shift']());}}}(a0_0x13d8,0xe8db4));const dotenv=require(a0_0x3685c3(0x1d3)),path=require(a0_0x3685c3(0x1d8)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,a0_0x3685c3(0x1bd));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3685c3(0x1ed)](a0_0x3685c3(0x1f6)+messagehubPath);else throw new Error(a0_0x3685c3(0x1ac)+messagehubPath);}catch(a0_0x2e60e2){console['error']('Error\x20loading\x20MessageHub\x20SDK:\x20'+a0_0x2e60e2['message']);throw a0_0x2e60e2;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function a0_0x13d8(){const _0x2521a1=['twfrwhe','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','qNnSDKq','BwvZC2fNzq','u3vIC2nYAwjLieTLEtOG','Dg9mB2nHBgvtDhjPBMC','ksbWywrHia','s29UzMLNDxjHC2KGugXHDgzVCM06ia','Ehv4B0u','Bg9N','murKDKzfCa','nduYmJj3t0zttw0','igrPDgvYAw1Hig9SzwGG','u3rHDhvZieXPC3rLBMvYoIa','CxvfDfG','zK5ozKu','EKHPzvO','CMnUsLa','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','t0v5Exq','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','C0znsum','CMvHC29U','zNvUy3rPB24','sKDUEg4','zgLZy29UBMvJDa','DMfNsve','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','CMvJzwL2zxjjza','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','CMvXDwLYzufJAW','mZi1ntyWmgjkwKXMrq','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','q2XPzw50ieLel1vZzxjjrdOG','AxnfCNjVCLjLBgf0zwq','vw5RBM93BIbLCNjVCG','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','CgLK','CMvZDgzVCMDL','EeLNv0i','ChvIBgLZAa','AxLJr3m','mJiXmdDKwK1TBKu','C3rYAw5NAwz5','y29UzMLYBwf0Aw9Uq291BNq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9ju09tDhjPBMC','zxbxAe4','yNjVywrJyxn0','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','ntGYmdKYmvbPv0jAEG','Aw5fD0q','tND5DwO','Cg1pyK0','yuPmrNG','BMfTzq','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','C3vIC2nYAwjLs2v5','uMTyuxG','u3vNDeK','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','nZG4rgHfq1zH','mZu5mtCWogPlCwHLvG','tvnivujFvvnfuL9jra','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','twvZC2fNzsbuExbLoIa','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','Bg9JywXOB3n0','q2HHBM5LBcbuyxjNzxq6ia','B2nRDKi','q29UBMvJDgLVBIb0Aw1LB3v0','zg90zw52','BwvZC2fNzs1YzwnLAxzLza','zw52','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','tvnivujFq09ntvvosunbveLptL9uwvbf','Cgf0Aa','oty1u1veCwvP','y2HHBM5LBa','Dhj1zq','CgXHDgzVCM1dB25MAwC','y2f0zwDVCNK','ntvoyxrOy20','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','mti1mZK5mKfqB2jOvW','CMvJzwL2zxjjBMzV','mte2oduXmJHJBNr2wMe','C29JA2v0'];a0_0x13d8=function(){return _0x2521a1;};return a0_0x13d8();}function log(_0x51418c){const _0x352d37=a0_0x3685c3,_0x4486c3=new Date()[_0x352d37(0x1ba)]();console['log']('['+_0x4486c3+']\x20'+_0x51418c);}async function initMessageHub(){const _0x4161bf=a0_0x3685c3,_0xf3d90a={'rcnJP':function(_0x2b2461,_0x19266e){return _0x2b2461(_0x19266e);},'zHieZ':function(_0x41a166,_0x35b308){return _0x41a166===_0x35b308;},'xIgWB':'Tidak\x20diketahui','ockvB':function(_0xab3da7,_0x4da880){return _0xab3da7(_0x4da880);},'JGnxn':function(_0x286f9f,_0x5b3f69){return _0x286f9f(_0x5b3f69);},'inEwD':'message-sent','RkXQx':function(_0x36055d,_0xdb6112){return _0x36055d(_0xdb6112);},'qvTVL':'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan','QOJcW':_0x4161bf(0x1d2),'aJLFx':function(_0x4deb79,_0x370f95){return _0x4deb79(_0x370f95);},'MaQXq':'Mode:\x20Koneksi\x20Nyata','vagIQ':function(_0x4e589f,_0x344426){return _0x4e589f===_0x344426;},'sFMIC':_0x4161bf(0x1db),'KWhOv':_0x4161bf(0x1b0),'BslvD':function(_0xae4713,_0x21cb6a,_0x2f9ed2){return _0xae4713(_0x21cb6a,_0x2f9ed2);},'epWhN':'Error\x20inisialisasi\x20MessageHub:','OEyyt':function(_0x378ed3,_0x4d838f){return _0x378ed3&&_0x4d838f;}};if(_0xf3d90a[_0x4161bf(0x1f7)](messagehub,isConnected))return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return _0xf3d90a[_0x4161bf(0x1f5)](log,_0x4161bf(0x1d6)),connectionPromise;return connectionPromise=new Promise(async(_0xd5d66f,_0x515c09)=>{const _0x4e98b4=_0x4161bf;try{_0xf3d90a[_0x4e98b4(0x1d1)](log,'======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),_0xf3d90a[_0x4e98b4(0x1c2)](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x4e98b4(0x1e9)]()),_0xf3d90a[_0x4e98b4(0x1c6)](log,_0xf3d90a[_0x4e98b4(0x1e4)]);const _0x1f5aab={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x4e98b4(0x1d5)][_0x4e98b4(0x1cb)]||'restforge-'+(process['env'][_0x4e98b4(0x1b9)]||'default')+'-'+process[_0x4e98b4(0x1b1)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x4e98b4(0x1bc),'autoAcknowledge':_0xf3d90a[_0x4e98b4(0x1a6)](process[_0x4e98b4(0x1d5)]['MSHUB_AUTO_ACKNOWLEDGE'],_0xf3d90a['sFMIC']),'acknowledgeMessages':process[_0x4e98b4(0x1d5)]['MSHUB_ACKNOWLEDGE_MESSAGES']===_0xf3d90a[_0x4e98b4(0x1f9)],'platform':{'type':process['env'][_0x4e98b4(0x1d7)]||'websocket','host':process[_0x4e98b4(0x1d5)]['MSHUB_HOST']||_0x4e98b4(0x1cf),'api_port':_0xf3d90a[_0x4e98b4(0x1d1)](parseInt,process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0xf3d90a['JGnxn'](parseInt,process[_0x4e98b4(0x1d5)]['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1f5aab),_0xf3d90a['rcnJP'](log,'======\x20INFORMASI\x20CLIENT\x20MESSAGEHUB\x20======'),log(_0x4e98b4(0x1ad)+messagehub['userId']),_0xf3d90a['RkXQx'](log,'Publish\x20Key:\x20'+messagehub['publishKey']),log(_0x4e98b4(0x1e8)+messagehub[_0x4e98b4(0x1c5)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),_0xf3d90a[_0x4e98b4(0x1d1)](log,_0x4e98b4(0x1eb)+JSON[_0x4e98b4(0x1b7)](messagehub[_0x4e98b4(0x1dc)])),log(_0xf3d90a['KWhOv']),messagehub['addListener']({'status':function(_0x1cc48c){const _0xed0cf6=_0x4e98b4;_0xf3d90a[_0xed0cf6(0x1f5)](log,_0xed0cf6(0x1f1)+_0x1cc48c['category']);if(_0x1cc48c['category']==='connected')_0xf3d90a['rcnJP'](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0xd5d66f(!![]);else{if(_0xf3d90a['zHieZ'](_0x1cc48c[_0xed0cf6(0x1dd)],'disconnected')){const _0x1154c7=_0xf3d90a['zHieZ'](_0x1cc48c[_0xed0cf6(0x1ae)],!![]);!_0x1154c7&&(_0xf3d90a[_0xed0cf6(0x1f5)](log,_0xed0cf6(0x1a9)+(_0x1cc48c[_0xed0cf6(0x1a2)]||_0xf3d90a[_0xed0cf6(0x1b3)])),isConnected=![],connectionPromise&&(_0xf3d90a[_0xed0cf6(0x1d1)](_0x515c09,new Error('Koneksi\x20terputus:\x20'+(_0x1cc48c['reason']||_0xf3d90a[_0xed0cf6(0x1b3)]))),connectionPromise=null));}else{if(_0xf3d90a[_0xed0cf6(0x1f4)](_0x1cc48c[_0xed0cf6(0x1dd)],'error')){let _0x5ac38e=_0x1cc48c['errorDetail']||_0x1cc48c['error']||_0xed0cf6(0x1af);_0xf3d90a[_0xed0cf6(0x1a4)](log,'⚠️\x20Error:\x20'+_0x5ac38e),isConnected=![],connectionPromise&&(_0xf3d90a['rcnJP'](_0x515c09,new Error(_0x5ac38e)),connectionPromise=null);}else{if(_0xf3d90a[_0xed0cf6(0x1f4)](_0x1cc48c['category'],_0xf3d90a[_0xed0cf6(0x1bf)]))log(_0xed0cf6(0x1e5)+_0x1cc48c['requestId']);else{if(_0x1cc48c['category']===_0xed0cf6(0x1d4)){const _0xcc1f71=_0x1cc48c['receiverInfo']?.[_0xed0cf6(0x1c3)]||'Unknown',_0x41d01e=_0x1cc48c[_0xed0cf6(0x1e1)]?.['id']||_0x1cc48c[_0xed0cf6(0x1a8)],_0x37905c=new Date(_0x1cc48c['receiverInfo']?.['receivedAt']||_0x1cc48c['receivedAt']||new Date())['toLocaleTimeString']();log(_0xed0cf6(0x1c4)+_0x1cc48c['requestId']+_0xed0cf6(0x1f0)+_0xcc1f71+'\x20('+_0x41d01e+_0xed0cf6(0x1ea)+_0x37905c+'.\x20Total\x20konfirmasi:\x20'+(_0x1cc48c[_0xed0cf6(0x1b8)]||0x1));}}}}}}}),timeoutHandler=_0xf3d90a[_0x4e98b4(0x1e6)](setTimeout,()=>{const _0x31ff9b=_0x4e98b4;!isConnected&&connectionPromise&&(_0xf3d90a[_0x31ff9b(0x1c6)](log,_0xf3d90a['qvTVL']),_0x515c09(new Error(_0xf3d90a['QOJcW'])),connectionPromise=null);},0x2710);}catch(_0x40aeb2){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x40aeb2[_0x4e98b4(0x1e7)]),console['error'](_0xf3d90a[_0x4e98b4(0x1bb)],_0x40aeb2),connectionPromise=null,_0x515c09(_0x40aeb2);}}),connectionPromise;}async function publishMessage(_0x3bdb74,_0x5053de,_0x5667e0,_0x33f924={}){const _0xb1fc8e=a0_0x3685c3,_0x74e7c2={'pmObM':function(_0x35edd4,_0x5e161f){return _0x35edd4(_0x5e161f);},'DOofO':'======\x20DATA\x20PUBLISH\x20MESSAGE\x20======','llHEX':function(_0x4e25a6,_0x3cc4bb){return _0x4e25a6(_0x3cc4bb);},'fNNfE':function(_0x1f028a,_0x59c8a0){return _0x1f028a!==_0x59c8a0;},'KgkBs':_0xb1fc8e(0x1b2),'iycGs':_0xb1fc8e(0x1f8),'quEtX':_0xb1fc8e(0x1cc)};try{!isConnected&&await initMessageHub();const _0x39a610=messagehub[_0xb1fc8e(0x1da)](_0x3bdb74);_0x74e7c2[_0xb1fc8e(0x1c1)](log,_0x74e7c2['DOofO']),_0x74e7c2['llHEX'](log,_0xb1fc8e(0x1d0)+_0x39a610['topic']),log(_0xb1fc8e(0x1cd)+_0x5053de),log(_0xb1fc8e(0x1a7));const _0x590f61={'requireAck':_0x33f924[_0xb1fc8e(0x1aa)]!==undefined?_0x33f924['requireAck']:![],'clearCache':_0x74e7c2[_0xb1fc8e(0x1f3)](_0x33f924['clearCache'],undefined)?_0x33f924['clearCache']:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0x74e7c2['KgkBs']};log(_0x74e7c2[_0xb1fc8e(0x1b5)]);const _0x45f57f={'type':_0x5053de,'content':_0x5667e0},_0x50cc8b=await _0x39a610[_0xb1fc8e(0x1b4)](_0x45f57f,_0x590f61);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x3bdb74),{'success':!![],'requestId':_0x50cc8b['requestId'],'topic':_0x3bdb74,'message':'Message\x20sent\x20successfully'};}catch(_0x3b5de5){return _0x74e7c2[_0xb1fc8e(0x1c1)](log,_0xb1fc8e(0x1c8)+_0x3b5de5[_0xb1fc8e(0x1e7)]),{'success':![],'error':_0x3b5de5[_0xb1fc8e(0x1e7)],'topic':_0x3bdb74,'message':_0x74e7c2[_0xb1fc8e(0x1f2)]};}}async function closeConnection(){const _0x2eaade=a0_0x3685c3,_0xdc8aad={'rygLN':'function','huBTj':_0x2eaade(0x1ce),'xuxoE':function(_0x12e722,_0x1cf185){return _0x12e722(_0x1cf185);},'SugtI':function(_0x1d4557,_0x52c765){return _0x1d4557===_0x52c765;},'Nwyuj':_0x2eaade(0x1df),'JsLiv':'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub'};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(typeof messagehub[_0x2eaade(0x1a5)]===_0xdc8aad['rygLN'])await messagehub[_0x2eaade(0x1a5)](),log(_0xdc8aad['huBTj']);else{if(typeof messagehub['close']===_0xdc8aad['rygLN'])await messagehub['close'](),_0xdc8aad[_0x2eaade(0x1ec)](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x2eaade(0x1e3)]&&_0xdc8aad[_0x2eaade(0x1c7)](typeof messagehub[_0x2eaade(0x1e3)]['disconnect'],_0x2eaade(0x1a3))?(messagehub['socket']['disconnect'](),log(_0xdc8aad[_0x2eaade(0x1c0)])):log(_0xdc8aad['JsLiv']);}isConnected=![],connectionPromise=null;}catch(_0x4afd8d){_0xdc8aad[_0x2eaade(0x1ec)](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x4afd8d[_0x2eaade(0x1e7)]);}}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};
|