@restforgejs/platform 5.0.9 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/migrate/field-type-resolver.js +18 -5
  7. package/generators/lib/payload/payload-runner.js +724 -39
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- 'use strict';const a0_0x38d682=a0_0x21db;(function(_0x23bc45,_0x22a67a){const _0x4e1fef=a0_0x21db,_0x2dc347=_0x23bc45();while(!![]){try{const _0x9521de=-parseInt(_0x4e1fef(0x114))/0x1+-parseInt(_0x4e1fef(0x118))/0x2*(-parseInt(_0x4e1fef(0xf5))/0x3)+-parseInt(_0x4e1fef(0x11b))/0x4+parseInt(_0x4e1fef(0x11a))/0x5+-parseInt(_0x4e1fef(0x125))/0x6*(-parseInt(_0x4e1fef(0x117))/0x7)+-parseInt(_0x4e1fef(0xfb))/0x8*(parseInt(_0x4e1fef(0xfe))/0x9)+parseInt(_0x4e1fef(0x101))/0xa;if(_0x9521de===_0x22a67a)break;else _0x2dc347['push'](_0x2dc347['shift']());}catch(_0x41cdf3){_0x2dc347['push'](_0x2dc347['shift']());}}}(a0_0x15a5,0xa5f56));function a0_0x15a5(){const _0x4b2475=['BgvUz3rO','Dg9vChbLCKnHC2u','Bw9KDwXL','nM96BMXxuW','DgvTCerPCG','oti3yw9VDfbe','x2rLBgv0zvrLBxbgAwXL','u1HPqvG','Bwf0y2G','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','BM93','mtzLzLHSwKG','BxvSDgvY','DhjPBq','mtqXmZuXm0joCK5qyW','ChjVBwLZzxm','C2L6zq','nZy4mdKWzKz1BefX','zxHPC3rZu3LUyW','zw52','Aw5JBhvKzxm','zxjYB3i','q05TuhO','Agv4','y3jLyxrLuMvHzfn0CMvHBq','Cgf0Aa','A2v5','vvbmt0fex1rftvbFreLs','t1vWwK0','DxbSB2fK','B3jPz2LUywXUyw1L','x3rLBxbeAxi','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','x3bHCNnLrMLSzvnPEMu','DxjS','DwDPDvO','mZC2nJqWvfDOwLHf','Dg9tDhjPBMC','AwLSz3G','ntq5mJeZn21SCffzwq','mtGYDuHnDLDQ','zMLSzxm','nta2mJuZmgj6B1HMsW','mJeYnJaYmfffsLPzEa','DxbSB2fKzwrcEq','Bwf4rMLSzxm','zgvMyxvSDa','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','DgvTCa','BgLIBgq'];a0_0x15a5=function(){return _0x4b2475;};return a0_0x15a5();}const multer=require(a0_0x38d682(0xfc)),path=require(a0_0x38d682(0x109)),crypto=require('crypto'),fs=require('fs')[a0_0x38d682(0xff)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x3d9cb3=a0_0x38d682;this[_0x3d9cb3(0x10f)]=null;}get[a0_0x38d682(0xf4)](){const _0x4ea610=a0_0x38d682,_0x3ef389={'OUpZM':_0x4ea610(0x11e)};if(!this[_0x4ea610(0x10f)]){const _0x16c347=process[_0x4ea610(0x103)]['RESTFORGE_PROJECT_NAME']||_0x3ef389[_0x4ea610(0x10c)];this['_tempDir']=process[_0x4ea610(0x103)][_0x4ea610(0x10b)]||path['join'](process['cwd'](),_0x4ea610(0x120),'uploads',_0x16c347),!fsSync['existsSync'](this['_tempDir'])&&fsSync['mkdirSync'](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}[a0_0x38d682(0x110)](_0x3dff51={}){const _0x4d1b6b=a0_0x38d682,_0x43fcb3={'tfrrn':function(_0x1d79b9,_0x34a32c,_0x1a3abb){return _0x1d79b9(_0x34a32c,_0x1a3abb);},'fbuZN':function(_0x3f4014,_0xfe38bc,_0x2f43a9){return _0x3f4014(_0xfe38bc,_0x2f43a9);},'KkDyS':function(_0x1026cb,_0x7568fd){return _0x1026cb(_0x7568fd);},'iilgx':'10MB','CNmPz':_0x4d1b6b(0x119)},_0x3613e5=_0x3dff51[_0x4d1b6b(0x11d)]||0x5,_0x13e5ab=this['_parseFileSize'](_0x3dff51['maxFileSize']||_0x43fcb3[_0x4d1b6b(0x116)]),_0x5b4412=_0x3dff51['allowedTypes']||[],_0x237588=multer['diskStorage']({'destination':(_0x492248,_0x2af506,_0x57f7d7)=>{const _0x5836b3=_0x4d1b6b;!fsSync[_0x5836b3(0x102)](this[_0x5836b3(0xf4)])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x57f7d7(null,this['tempDir']);},'filename':(_0x376384,_0x770e54,_0xb9b612)=>{const _0x4f624c=_0x4d1b6b,_0x705e3=crypto['randomBytes'](0x8)[_0x4f624c(0x115)](_0x4f624c(0x107)),_0x20b4b7=Date[_0x4f624c(0xfa)](),_0x1c5247=path['extname'](_0x770e54['originalname']);_0x43fcb3['tfrrn'](_0xb9b612,null,'upload-'+_0x20b4b7+'-'+_0x705e3+_0x1c5247);}}),_0x2bbdae=(_0x1bef56,_0x6bc819,_0x24576a)=>{const _0x49218a=_0x4d1b6b;if(_0x5b4412[_0x49218a(0x122)]===0x0)return _0x24576a(null,!![]);const _0xe94e5c=path['extname'](_0x6bc819[_0x49218a(0x10e)])['toLowerCase']()['replace']('.','');_0x5b4412[_0x49218a(0x104)](_0xe94e5c)?_0x43fcb3['fbuZN'](_0x24576a,null,!![]):_0x43fcb3['KkDyS'](_0x24576a,new Error('File\x20type\x20\x22.'+_0xe94e5c+_0x49218a(0xf9)+_0x5b4412['join'](',\x20')));};return multer({'storage':_0x237588,'limits':{'fileSize':_0x13e5ab,'files':_0x3613e5},'fileFilter':_0x2bbdae})['array'](_0x43fcb3[_0x4d1b6b(0x106)],_0x3613e5);}async['processUploadedFiles'](_0x5624bb,_0x28b224,_0x3c48d4={}){const _0x2ff94d=a0_0x38d682,_0x1a41ff={'libld':function(_0x5719c2,_0x414cd9){return _0x5719c2(_0x414cd9);}},{createFileMetadata:_0x17251a}=_0x1a41ff[_0x2ff94d(0x121)](require,_0x2ff94d(0x11f)),_0x422d1b=[];for(const _0x461681 of _0x5624bb){try{const _0x267058=_0x28b224['generateKey'](_0x461681[_0x2ff94d(0x10e)],{'prefix':_0x3c48d4['prefix']||'','project':_0x3c48d4['project']||'','module':_0x3c48d4[_0x2ff94d(0x124)]||'','endpoint':_0x3c48d4['endpoint']||''}),_0xbf6a49=fsSync[_0x2ff94d(0x108)](_0x461681[_0x2ff94d(0x109)]),_0x3876f7=await _0x28b224[_0x2ff94d(0x10d)](_0xbf6a49,_0x267058,{'contentType':_0x461681['mimetype'],'fileSize':_0x461681[_0x2ff94d(0x100)]}),_0xcfefe9=_0x17251a({'key':_0x3876f7[_0x2ff94d(0x10a)],'originalName':_0x461681[_0x2ff94d(0x10e)],'fileName':path['basename'](_0x267058),'contentType':_0x461681['mimetype'],'size':_0x461681[_0x2ff94d(0x100)],'url':_0x3876f7[_0x2ff94d(0x112)],'provider':_0x28b224['providerName'],'bucket':_0x28b224['bucket']||null,'uploadedBy':_0x3c48d4[_0x2ff94d(0x11c)]||null});_0x422d1b['push'](_0xcfefe9);}catch(_0xf50647){logger[_0x2ff94d(0x105)]({'event':'upload_v2_process_error','file':_0x461681['originalname'],'error':_0xf50647['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x461681['originalname']);throw _0xf50647;}finally{await this[_0x2ff94d(0xf6)](_0x461681['path']);}}return _0x422d1b;}async['_deleteTempFile'](_0xb6bba2){const _0x1ef4b8=a0_0x38d682,_0x34997d={'SXiAX':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0xb6bba2);}catch(_0x30c280){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0xb6bba2,'error':_0x30c280['message']},_0x34997d[_0x1ef4b8(0xf7)]);}}[a0_0x38d682(0x111)](_0x325076){const _0x3278d2=a0_0x38d682,_0x1b3ab1={'lTaOH':'number','bWAwd':function(_0x575324,_0x2a9a60){return _0x575324(_0x2a9a60);},'ugiuZ':function(_0x4ff4e5,_0x577eec){return _0x4ff4e5*_0x577eec;},'vztuc':function(_0x40deba,_0x812e67){return _0x40deba*_0x812e67;}};if(typeof _0x325076===_0x1b3ab1['lTaOH'])return _0x325076;const _0x39d52d=_0x1b3ab1['bWAwd'](String,_0x325076)[_0x3278d2(0xfd)]()[_0x3278d2(0xf8)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x39d52d)return 0xa*0x400*0x400;const _0xf30a79=parseFloat(_0x39d52d[0x1]),_0x504329=_0x39d52d[0x2][_0x3278d2(0x123)](),_0x25fbdc={'B':0x1,'KB':0x400,'MB':_0x1b3ab1[_0x3278d2(0x113)](0x400,0x400),'GB':_0x1b3ab1['vztuc'](0x400*0x400,0x400)};return Math['floor'](_0x1b3ab1['vztuc'](_0xf30a79,_0x25fbdc[_0x504329]||0x1));}}function a0_0x21db(_0x1c436d,_0x1c9815){_0x1c436d=_0x1c436d-0xf4;const _0x15a575=a0_0x15a5();let _0x21dbe1=_0x15a575[_0x1c436d];if(a0_0x21db['cuSljC']===undefined){var _0x3724ac=function(_0x34035a){const _0x2d5057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x222845='',_0x1de876='';for(let _0x1f137a=0x0,_0x4efc69,_0x5f4227,_0x4d359b=0x0;_0x5f4227=_0x34035a['charAt'](_0x4d359b++);~_0x5f4227&&(_0x4efc69=_0x1f137a%0x4?_0x4efc69*0x40+_0x5f4227:_0x5f4227,_0x1f137a++%0x4)?_0x222845+=String['fromCharCode'](0xff&_0x4efc69>>(-0x2*_0x1f137a&0x6)):0x0){_0x5f4227=_0x2d5057['indexOf'](_0x5f4227);}for(let _0x126feb=0x0,_0x4c010=_0x222845['length'];_0x126feb<_0x4c010;_0x126feb++){_0x1de876+='%'+('00'+_0x222845['charCodeAt'](_0x126feb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1de876);};a0_0x21db['hQDRBJ']=_0x3724ac,a0_0x21db['TbXdPM']={},a0_0x21db['cuSljC']=!![];}const _0xe418a2=_0x15a575[0x0],_0x232469=_0x1c436d+_0xe418a2,_0x5e53b2=a0_0x21db['TbXdPM'][_0x232469];return!_0x5e53b2?(_0x21dbe1=a0_0x21db['hQDRBJ'](_0x21dbe1),a0_0x21db['TbXdPM'][_0x232469]=_0x21dbe1):_0x21dbe1=_0x5e53b2,_0x21dbe1;}module['exports']=new UploadHandlerV2();
1
+ 'use strict';const a0_0x312e38=a0_0x8077;(function(_0x15dbb2,_0x18dd09){const _0x204e67=a0_0x8077,_0x3f5937=_0x15dbb2();while(!![]){try{const _0x2ac7e4=-parseInt(_0x204e67(0x147))/0x1*(-parseInt(_0x204e67(0x138))/0x2)+parseInt(_0x204e67(0x15e))/0x3*(parseInt(_0x204e67(0x135))/0x4)+parseInt(_0x204e67(0x15f))/0x5*(parseInt(_0x204e67(0x151))/0x6)+-parseInt(_0x204e67(0x163))/0x7+-parseInt(_0x204e67(0x132))/0x8+parseInt(_0x204e67(0x14e))/0x9*(parseInt(_0x204e67(0x14c))/0xa)+-parseInt(_0x204e67(0x160))/0xb;if(_0x2ac7e4===_0x18dd09)break;else _0x3f5937['push'](_0x3f5937['shift']());}catch(_0x42dd9d){_0x3f5937['push'](_0x3f5937['shift']());}}}(a0_0x25ac,0x9d88d));function a0_0x8077(_0x4a1c10,_0x5df302){_0x4a1c10=_0x4a1c10-0x12a;const _0x25ac3b=a0_0x25ac();let _0x8077dc=_0x25ac3b[_0x4a1c10];if(a0_0x8077['uAapGq']===undefined){var _0x3d5415=function(_0x42f9d2){const _0x45f2af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x25a5e6='',_0x177b55='';for(let _0x19031c=0x0,_0x389735,_0x3dd68f,_0x1e007e=0x0;_0x3dd68f=_0x42f9d2['charAt'](_0x1e007e++);~_0x3dd68f&&(_0x389735=_0x19031c%0x4?_0x389735*0x40+_0x3dd68f:_0x3dd68f,_0x19031c++%0x4)?_0x25a5e6+=String['fromCharCode'](0xff&_0x389735>>(-0x2*_0x19031c&0x6)):0x0){_0x3dd68f=_0x45f2af['indexOf'](_0x3dd68f);}for(let _0x51610c=0x0,_0x47d178=_0x25a5e6['length'];_0x51610c<_0x47d178;_0x51610c++){_0x177b55+='%'+('00'+_0x25a5e6['charCodeAt'](_0x51610c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x177b55);};a0_0x8077['MxuOtQ']=_0x3d5415,a0_0x8077['QbpMWj']={},a0_0x8077['uAapGq']=!![];}const _0x5dc4fa=_0x25ac3b[0x0],_0x289511=_0x4a1c10+_0x5dc4fa,_0x2a9566=a0_0x8077['QbpMWj'][_0x289511];return!_0x2a9566?(_0x8077dc=a0_0x8077['MxuOtQ'](_0x8077dc),a0_0x8077['QbpMWj'][_0x289511]=_0x8077dc):_0x8077dc=_0x2a9566,_0x8077dc;}function a0_0x25ac(){const _0x474dfa=['DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','zMLSzxm','yMfZzw5HBwu','BxvSDgvY','ChjVy2vZC1vWBg9HzgvKrMLSzxm','B3jPz2LUywXUyw1L','Bwf4rMLSzvnPEMu','AM9PBG','DxjS','sxDyDMO','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','x2rLBgv0zvrLBxbgAwXL','C2L6zq','rwPiwKG','mvbNyw1ouW','y3DK','rMLSzsb0ExbLiciU','Agv4','tuvyww4','ndeWBvbtAu1u','ChjVDMLKzxjoyw1L','mJe0nta2uNrnqxb6','BwvZC2fNzq','ChjLzML4','ntu2mZaYwhvUyu5z','zw5KCg9PBNq','z21YvNi','zxjYB3i','zxH0BMfTzq','Cgf0Aa','BNvTyMvY','DxbSB2fKlq','x3bHCNnLrMLSzvnPEMu','Aw5JBhvKzxm','ue9syMq','DgvTCerPCG','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','mJm5oduZwgLluMrL','ndbUy0zHqNi','mtyZmta3ndvUq01NALO','BwTKAxjtEw5J','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mJG1mtiXmNPQsg1qAq','ChjVAMvJDa','BwLTzxr5Cgu','zw52','DxbSB2fKzwrcEq','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','DgvTCa','Dw5SAw5R','CMvWBgfJzq','mZaXmtC4nhPlC2Lpyq','Bw9KDwXL','x3rLBxbeAxi','ndHTz09jzw4','zxHPC3rZu3LUyW','DhjPBq','ndy3mda2B1jvuu9J'];a0_0x25ac=function(){return _0x474dfa;};return a0_0x25ac();}const multer=require(a0_0x312e38(0x13c)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x36a353=a0_0x312e38;this[_0x36a353(0x134)]=null;}get[a0_0x312e38(0x15c)](){const _0x71a259=a0_0x312e38,_0x4e8bfd={'gmrVr':'default','IwXvj':_0x71a259(0x12f),'ZfFqp':'uploads'};if(!this['_tempDir']){const _0x4c9e0c=process['env'][_0x71a259(0x162)]||_0x4e8bfd[_0x71a259(0x153)];this['_tempDir']=process[_0x71a259(0x12c)]['UPLOAD_TEMP_DIR']||path[_0x71a259(0x140)](process[_0x71a259(0x148)](),_0x4e8bfd[_0x71a259(0x142)],_0x4e8bfd['ZfFqp'],_0x4c9e0c),!fsSync[_0x71a259(0x136)](this['_tempDir'])&&fsSync[_0x71a259(0x161)](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}[a0_0x312e38(0x15d)](_0x83c011={}){const _0x47dab3=a0_0x312e38,_0x1bed95={'HTDDg':function(_0x579602,_0x14c93e,_0x2e7981){return _0x579602(_0x14c93e,_0x2e7981);},'PORbd':function(_0x5877ae,_0x47f41e){return _0x5877ae===_0x47f41e;}},_0x334473=_0x83c011['maxFiles']||0x5,_0x3c8918=this[_0x47dab3(0x159)](_0x83c011[_0x47dab3(0x13f)]||'10MB'),_0x332afb=_0x83c011['allowedTypes']||[],_0x409ec0=multer['diskStorage']({'destination':(_0x5375d2,_0x334997,_0x456ec6)=>{const _0xf0c92f=_0x47dab3;!fsSync[_0xf0c92f(0x136)](this[_0xf0c92f(0x15c)])&&fsSync[_0xf0c92f(0x161)](this[_0xf0c92f(0x15c)],{'recursive':!![]}),_0x456ec6(null,this['tempDir']);},'filename':(_0xa4f12c,_0x288263,_0x597ace)=>{const _0x2ab546=_0x47dab3,_0x44caf4=crypto['randomBytes'](0x8)['toString'](_0x2ab546(0x14a)),_0xc743c3=Date['now'](),_0x11c883=path['extname'](_0x288263['originalname']);_0x1bed95['HTDDg'](_0x597ace,null,_0x2ab546(0x158)+_0xc743c3+'-'+_0x44caf4+_0x11c883);}}),_0x26cc07=(_0x54fc23,_0x2d4937,_0x3dda52)=>{const _0x3a6e55=_0x47dab3;if(_0x1bed95[_0x3a6e55(0x15b)](_0x332afb['length'],0x0))return _0x3dda52(null,!![]);const _0x28b407=path[_0x3a6e55(0x155)](_0x2d4937[_0x3a6e55(0x13e)])['toLowerCase']()[_0x3a6e55(0x131)]('.','');_0x332afb[_0x3a6e55(0x15a)](_0x28b407)?_0x3dda52(null,!![]):_0x3dda52(new Error(_0x3a6e55(0x149)+_0x28b407+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x332afb[_0x3a6e55(0x140)](',\x20')));};return multer({'storage':_0x409ec0,'limits':{'fileSize':_0x3c8918,'files':_0x334473},'fileFilter':_0x26cc07})['array'](_0x47dab3(0x13a),_0x334473);}async[a0_0x312e38(0x13d)](_0x4f4d68,_0x5bad0a,_0x44421d={}){const _0x54a75c=a0_0x312e38,{createFileMetadata:_0x4c4f8d}=require(_0x54a75c(0x143)),_0x5d7a47=[];for(const _0x151186 of _0x4f4d68){try{const _0x459b8e=_0x5bad0a['generateKey'](_0x151186[_0x54a75c(0x13e)],{'prefix':_0x44421d[_0x54a75c(0x150)]||'','project':_0x44421d[_0x54a75c(0x12a)]||'','module':_0x44421d[_0x54a75c(0x133)]||'','endpoint':_0x44421d[_0x54a75c(0x152)]||''}),_0x13dc4a=fsSync['createReadStream'](_0x151186['path']),_0x5820d3=await _0x5bad0a['upload'](_0x13dc4a,_0x459b8e,{'contentType':_0x151186[_0x54a75c(0x12b)],'fileSize':_0x151186[_0x54a75c(0x145)]}),_0x40f5c2=_0x4c4f8d({'key':_0x5820d3['key'],'originalName':_0x151186[_0x54a75c(0x13e)],'fileName':path[_0x54a75c(0x13b)](_0x459b8e),'contentType':_0x151186['mimetype'],'size':_0x151186['size'],'url':_0x5820d3[_0x54a75c(0x141)],'provider':_0x5bad0a[_0x54a75c(0x14d)],'bucket':_0x5bad0a['bucket']||null,'uploadedBy':_0x44421d[_0x54a75c(0x12d)]||null});_0x5d7a47['push'](_0x40f5c2);}catch(_0x22b08c){logger[_0x54a75c(0x154)]({'event':_0x54a75c(0x139),'file':_0x151186[_0x54a75c(0x13e)],'error':_0x22b08c[_0x54a75c(0x14f)]},_0x54a75c(0x12e)+_0x151186['originalname']);throw _0x22b08c;}finally{await this['_deleteTempFile'](_0x151186[_0x54a75c(0x156)]);}}return _0x5d7a47;}async[a0_0x312e38(0x144)](_0x1dde36){const _0x1160cb=a0_0x312e38;try{await fs[_0x1160cb(0x130)](_0x1dde36);}catch(_0x68af5b){logger['warn']({'event':'upload_v2_temp_delete_warn','filePath':_0x1dde36,'error':_0x68af5b['message']},'Failed\x20to\x20delete\x20temp\x20file');}}[a0_0x312e38(0x159)](_0x34d0d8){const _0x57bf60=a0_0x312e38,_0xfc9482={'MEXYn':_0x57bf60(0x157),'Krnqb':function(_0x90d741,_0x5eac92){return _0x90d741(_0x5eac92);},'EjHZH':function(_0x2dfb7b,_0xe86545){return _0x2dfb7b*_0xe86545;},'fsmJX':function(_0x3c3cb0,_0x3b5ee7){return _0x3c3cb0*_0x3b5ee7;}};if(typeof _0x34d0d8===_0xfc9482[_0x57bf60(0x14b)])return _0x34d0d8;const _0x5c3dbb=_0xfc9482['Krnqb'](String,_0x34d0d8)[_0x57bf60(0x137)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x5c3dbb)return _0xfc9482[_0x57bf60(0x146)](0xa*0x400,0x400);const _0x1aa0b0=parseFloat(_0x5c3dbb[0x1]),_0x4ae109=_0x5c3dbb[0x2]['toUpperCase'](),_0x50b9f0={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0xfc9482['fsmJX'](0x400*0x400,0x400)};return Math['floor'](_0x1aa0b0*(_0x50b9f0[_0x4ae109]||0x1));}}module['exports']=new UploadHandlerV2();
@@ -1 +1 @@
1
- function a0_0x6e6b(){const _0x2f4b28=['z2v0vxbSB2fKtwLKzgXLD2fYzq','zxHPC3rZu3LUyW','odCXnZC2yNLiENvm','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','DxbSB2fKlq','B3jPz2LUywXUyw1L','Dg9tDhjPBMC','mtiXotuYne16zKTYqG','x3vWBg9HzerPCG','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','r3rVBKu','mta4odu0odbJBeDovu8','BM93','qMDXtfi','sNzht1C','mteWodiYmvnfzNnozq','zxjYB3i','Agv4','tevKquy','nZCZn3PHvenNqq','AKLlDfC','Aw5MBW','AM9PBG','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','oeXXtwvtDG','zgvSzxrLrMLSzq','mtmWmJuXmgnzsvLMrq','BwvZC2fNzq','DxbSB2fKrgLY','ChjVBwLZzxm','BwTKAxjtEw5J','Dg9mB3DLCKnHC2u','Aw9xzu0','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','ze15zLe','rM9guhu','lNHSC3G','txrTCvy','zgvMyxvSDa','ndK0mdGXmxboBwvxtG','rM9KC0m','z2v0u3rVCMfNzq','Aw5JBhvKzxm','Bwf4rMLSzvnPEMu','y3jtrLm','mJHlq3HIEgC','mZq4zfvQB050'];a0_0x6e6b=function(){return _0x2f4b28;};return a0_0x6e6b();}const a0_0x393017=a0_0xedb9;(function(_0xcff9e1,_0x379cb7){const _0x35fad6=a0_0xedb9,_0x1de5b3=_0xcff9e1();while(!![]){try{const _0x49f918=parseInt(_0x35fad6(0xa0))/0x1+-parseInt(_0x35fad6(0x90))/0x2*(-parseInt(_0x35fad6(0xa4))/0x3)+-parseInt(_0x35fad6(0x93))/0x4+-parseInt(_0x35fad6(0xab))/0x5+-parseInt(_0x35fad6(0x98))/0x6*(parseInt(_0x35fad6(0x8f))/0x7)+parseInt(_0x35fad6(0xa9))/0x8*(-parseInt(_0x35fad6(0x89))/0x9)+parseInt(_0x35fad6(0x9c))/0xa;if(_0x49f918===_0x379cb7)break;else _0x1de5b3['push'](_0x1de5b3['shift']());}catch(_0x506eb8){_0x1de5b3['push'](_0x1de5b3['shift']());}}}(a0_0x6e6b,0xc48d2));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x393017(0xae)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x4cd10a=a0_0x393017,_0x599cfa={'ioWeM':function(_0x3ee074,_0x460481){return _0x3ee074*_0x460481;}};this['_uploadDir']=null,this[_0x4cd10a(0x8d)]=_0x599cfa[_0x4cd10a(0xb1)](0xa,0x400)*0x400;}get[a0_0x393017(0xad)](){const _0x3c2eea=a0_0x393017,_0x36a05e={'MtmqV':_0x3c2eea(0x88),'LEdAF':'Upload\x20handler\x20initialized','crSFS':_0x3c2eea(0x9a),'dMyfQ':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x3c2eea(0x99)]){const _0x28cfe3=process['env']['RESTFORGE_PROJECT_NAME']||_0x36a05e[_0x3c2eea(0xb6)];this[_0x3c2eea(0x99)]=process['env']['UPLOAD_DIR']||path[_0x3c2eea(0xa7)](__dirname,'../../temp/uploads/'+_0x28cfe3);try{!fsSync[_0x3c2eea(0x92)](this['_uploadDir'])&&fsSync[_0x3c2eea(0xaf)](this['_uploadDir'],{'recursive':!![]}),logger[_0x3c2eea(0xa6)]({'event':'upload_handler_init','dir':this['_uploadDir']},_0x36a05e[_0x3c2eea(0xa3)]);}catch(_0x54d21e){logger[_0x3c2eea(0xa1)]({'event':_0x36a05e[_0x3c2eea(0x8e)],'error':_0x54d21e[_0x3c2eea(0xac)]},_0x36a05e[_0x3c2eea(0xb3)]);}}return this[_0x3c2eea(0x99)];}['getStorage'](){const _0x5de253={'JvGOW':function(_0x2d4761,_0x5e9b61,_0x10bdbc){return _0x2d4761(_0x5e9b61,_0x10bdbc);}};return multer['diskStorage']({'destination':(_0x315b7a,_0x46aff5,_0x5ad2a6)=>{const _0x2ab570=a0_0xedb9;!fsSync[_0x2ab570(0x92)](this['uploadDir'])&&fsSync[_0x2ab570(0xaf)](this['uploadDir'],{'recursive':!![]}),_0x5ad2a6(null,this['uploadDir']);},'filename':(_0x22e60b,_0x288c44,_0x2b4c4b)=>{const _0x1590b4=a0_0xedb9,_0x4e394a=crypto['randomBytes'](0x8)[_0x1590b4(0x97)](_0x1590b4(0xa2)),_0x502bcf=Date[_0x1590b4(0x9d)](),_0x1ae4ba=path['extname'](_0x288c44[_0x1590b4(0x96)]);_0x5de253[_0x1590b4(0x9f)](_0x2b4c4b,null,_0x1590b4(0x95)+_0x502bcf+'-'+_0x4e394a+_0x1ae4ba);}});}[a0_0x393017(0x91)](){const _0x59d5c5=a0_0x393017,_0x4b86c2={'NlUhi':'application/vnd.ms-excel','FoFPu':_0x59d5c5(0xb5),'UAGjw':'.xls','BgqLR':function(_0x4e7a1d,_0x1272aa,_0x2d9ebf){return _0x4e7a1d(_0x1272aa,_0x2d9ebf);},'FodsC':function(_0x21e066,_0x2625c4){return _0x21e066(_0x2625c4);}};return multer({'storage':this[_0x59d5c5(0x8b)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x3e46e4,_0x220fd3,_0x2edc7f)=>{const _0x226b9a=_0x59d5c5,_0x4db9d2=[_0x226b9a(0xb2),_0x4b86c2['NlUhi']],_0x142769=[_0x4b86c2[_0x226b9a(0xb4)],_0x4b86c2['UAGjw']],_0x27ee8c=path['extname'](_0x220fd3[_0x226b9a(0x96)])[_0x226b9a(0xb0)]();_0x4db9d2[_0x226b9a(0x8c)](_0x220fd3['mimetype'])&&_0x142769[_0x226b9a(0x8c)](_0x27ee8c)?_0x4b86c2[_0x226b9a(0x9e)](_0x2edc7f,null,!![]):_0x4b86c2[_0x226b9a(0x8a)](_0x2edc7f,new Error(_0x226b9a(0x94)));}})['single']('file');}async[a0_0x393017(0xaa)](_0x242a20){const _0x38039c=a0_0x393017,_0xe32cf1={'GtonE':'upload_file_deleted','NyvOf':'upload_file_delete_error','jIKtW':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x242a20),logger['info']({'event':_0xe32cf1[_0x38039c(0x9b)],'filePath':_0x242a20},_0x38039c(0xa8));}catch(_0x36333d){logger[_0x38039c(0xa1)]({'event':_0xe32cf1['NyvOf'],'filePath':_0x242a20,'error':_0x36333d[_0x38039c(0xac)]},_0xe32cf1[_0x38039c(0xa5)]);}}}function a0_0xedb9(_0x41751e,_0x3b22c3){_0x41751e=_0x41751e-0x88;const _0x6e6b69=a0_0x6e6b();let _0xedb979=_0x6e6b69[_0x41751e];if(a0_0xedb9['ZCFljF']===undefined){var _0x32d51d=function(_0x577026){const _0x28eef6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3c33cc='',_0x3388ca='';for(let _0xb4b8a5=0x0,_0x227c94,_0x45dddc,_0x71348c=0x0;_0x45dddc=_0x577026['charAt'](_0x71348c++);~_0x45dddc&&(_0x227c94=_0xb4b8a5%0x4?_0x227c94*0x40+_0x45dddc:_0x45dddc,_0xb4b8a5++%0x4)?_0x3c33cc+=String['fromCharCode'](0xff&_0x227c94>>(-0x2*_0xb4b8a5&0x6)):0x0){_0x45dddc=_0x28eef6['indexOf'](_0x45dddc);}for(let _0x325562=0x0,_0x2037d4=_0x3c33cc['length'];_0x325562<_0x2037d4;_0x325562++){_0x3388ca+='%'+('00'+_0x3c33cc['charCodeAt'](_0x325562)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3388ca);};a0_0xedb9['KVwiVJ']=_0x32d51d,a0_0xedb9['NYEtIs']={},a0_0xedb9['ZCFljF']=!![];}const _0x1fc875=_0x6e6b69[0x0],_0xc3001f=_0x41751e+_0x1fc875,_0x288658=a0_0xedb9['NYEtIs'][_0xc3001f];return!_0x288658?(_0xedb979=a0_0xedb9['KVwiVJ'](_0xedb979),a0_0xedb9['NYEtIs'][_0xc3001f]=_0xedb979):_0xedb979=_0x288658,_0xedb979;}module['exports']=new UploadHandler();
1
+ function a0_0x4ebc(_0x3d9f32,_0x209f73){_0x3d9f32=_0x3d9f32-0x11f;const _0x371f37=a0_0x371f();let _0x4ebcce=_0x371f37[_0x3d9f32];if(a0_0x4ebc['kSmZGx']===undefined){var _0x3927a7=function(_0x3ec4d6){const _0x3a3405='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x194da9='',_0x12586d='';for(let _0x181fa0=0x0,_0x2eff6d,_0x24fdac,_0x31a779=0x0;_0x24fdac=_0x3ec4d6['charAt'](_0x31a779++);~_0x24fdac&&(_0x2eff6d=_0x181fa0%0x4?_0x2eff6d*0x40+_0x24fdac:_0x24fdac,_0x181fa0++%0x4)?_0x194da9+=String['fromCharCode'](0xff&_0x2eff6d>>(-0x2*_0x181fa0&0x6)):0x0){_0x24fdac=_0x3a3405['indexOf'](_0x24fdac);}for(let _0x3f9a8b=0x0,_0x4fb10d=_0x194da9['length'];_0x3f9a8b<_0x4fb10d;_0x3f9a8b++){_0x12586d+='%'+('00'+_0x194da9['charCodeAt'](_0x3f9a8b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12586d);};a0_0x4ebc['VRNiOs']=_0x3927a7,a0_0x4ebc['hDrNfO']={},a0_0x4ebc['kSmZGx']=!![];}const _0x36696e=_0x371f37[0x0],_0x5c7619=_0x3d9f32+_0x36696e,_0x30b62=a0_0x4ebc['hDrNfO'][_0x5c7619];return!_0x30b62?(_0x4ebcce=a0_0x4ebc['VRNiOs'](_0x4ebcce),a0_0x4ebc['hDrNfO'][_0x5c7619]=_0x4ebcce):_0x4ebcce=_0x30b62,_0x4ebcce;}const a0_0x379247=a0_0x4ebc;(function(_0x2bbed8,_0x2f9c66){const _0x12d4eb=a0_0x4ebc,_0x243d37=_0x2bbed8();while(!![]){try{const _0x5eb769=-parseInt(_0x12d4eb(0x13b))/0x1*(-parseInt(_0x12d4eb(0x147))/0x2)+-parseInt(_0x12d4eb(0x131))/0x3+-parseInt(_0x12d4eb(0x128))/0x4*(-parseInt(_0x12d4eb(0x133))/0x5)+parseInt(_0x12d4eb(0x138))/0x6*(-parseInt(_0x12d4eb(0x135))/0x7)+parseInt(_0x12d4eb(0x12c))/0x8+parseInt(_0x12d4eb(0x145))/0x9*(parseInt(_0x12d4eb(0x137))/0xa)+parseInt(_0x12d4eb(0x125))/0xb*(-parseInt(_0x12d4eb(0x130))/0xc);if(_0x5eb769===_0x2f9c66)break;else _0x243d37['push'](_0x243d37['shift']());}catch(_0x53be87){_0x243d37['push'](_0x243d37['shift']());}}}(a0_0x371f,0x5ab95));function a0_0x371f(){const _0x57b453=['mMjwtKnuwq','C2LUz2XL','z2v0u3rVCMfNzq','DxbSB2fKx2HHBMrSzxjFAw5PDa','BxvSDgvY','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','Aw5JBhvKzxm','DxbSB2fKrgLY','x3vWBg9HzerPCG','zgLZA1n0B3jHz2u','mti0m3LVAMPlCG','AM9PBG','DxbSB2fKlq','mJH1zuXAqu4','Ahv1DLC','B3jPz2LUywXUyw1L','zxHPC3rZu3LUyW','mZaYmtK2mfHywKPRzW','vvbmt0fex0rjuG','BwTKAxjtEw5J','lNHSCW','mJa5nJrpwNDTyxy','mtu0nZi5nvDOu3nQuq','B0DzDui','mtCZmJu1zNHbDuLU','lI4VlI4VDgvTCc91CgXVywrZlW','nZi4shbPC2To','zMLSzq','ndbpA0PQyKS','mZaYntjMB3DsEeq','Bwf4rMLSzvnPEMu','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','ndG1mJG3zNDjsvjP','zxHWB3j0CW','rgP4tuy','zw52','zxjYB3i','Dg9tDhjPBMC','BwvZC2fNzq','Cgf0Aa','wuTuC0i','zxH0BMfTzq','mteZmZaXmfLKzLngBa','DxP5DxG'];a0_0x371f=function(){return _0x57b453;};return a0_0x371f();}const multer=require(a0_0x379247(0x11f)),path=require(a0_0x379247(0x142)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x538f37=a0_0x379247,_0x205514={'VoJxs':function(_0x1179e9,_0x3632bb){return _0x1179e9*_0x3632bb;},'IpLuS':function(_0x469730,_0x5766de){return _0x469730*_0x5766de;}};this['_uploadDir']=null,this[_0x538f37(0x139)]=_0x205514['VoJxs'](_0x205514['IpLuS'](0xa,0x400),0x400);}get[a0_0x379247(0x122)](){const _0x4cb473=a0_0x379247,_0x4f86b4={'EWcyk':'default','oGYuB':_0x4cb473(0x14a),'YKTsB':_0x4cb473(0x120)};if(!this['_uploadDir']){const _0x726019=process[_0x4cb473(0x13e)]['RESTFORGE_PROJECT_NAME']||_0x4f86b4['EWcyk'];this['_uploadDir']=process['env'][_0x4cb473(0x12d)]||path[_0x4cb473(0x126)](__dirname,_0x4cb473(0x134)+_0x726019);try{!fsSync[_0x4cb473(0x12b)](this['_uploadDir'])&&fsSync[_0x4cb473(0x12e)](this[_0x4cb473(0x123)],{'recursive':!![]}),logger['info']({'event':_0x4f86b4[_0x4cb473(0x132)],'dir':this[_0x4cb473(0x123)]},_0x4f86b4[_0x4cb473(0x143)]);}catch(_0x380cb1){logger[_0x4cb473(0x13f)]({'event':_0x4cb473(0x13a),'error':_0x380cb1[_0x4cb473(0x141)]},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}['getStorage'](){const _0x265158=a0_0x379247,_0x20f0f9={'DjxMF':function(_0x1f4ce4,_0x6d75b,_0x95894f){return _0x1f4ce4(_0x6d75b,_0x95894f);}};return multer[_0x265158(0x124)]({'destination':(_0x42ec48,_0x4e1f22,_0x286efe)=>{const _0x3264f7=_0x265158;!fsSync[_0x3264f7(0x12b)](this[_0x3264f7(0x122)])&&fsSync['mkdirSync'](this[_0x3264f7(0x122)],{'recursive':!![]}),_0x20f0f9[_0x3264f7(0x13d)](_0x286efe,null,this['uploadDir']);},'filename':(_0x27be09,_0x54c0b4,_0x548604)=>{const _0x1032f4=_0x265158,_0x4ad41c=crypto['randomBytes'](0x8)[_0x1032f4(0x140)]('hex'),_0x142d99=Date['now'](),_0x39a7aa=path[_0x1032f4(0x144)](_0x54c0b4[_0x1032f4(0x12a)]);_0x20f0f9['DjxMF'](_0x548604,null,_0x1032f4(0x127)+_0x142d99+'-'+_0x4ad41c+_0x39a7aa);}});}['getUploadMiddleware'](){const _0x468486=a0_0x379247,_0x4b4bd0={'STQVp':'application/vnd.ms-excel','nlJKW':function(_0x26b492,_0x45a0aa,_0x2cf7e6){return _0x26b492(_0x45a0aa,_0x2cf7e6);},'eVgmm':function(_0x1f2f24,_0x163fa2){return _0x1f2f24(_0x163fa2);},'uzyux':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed','zjveC':function(_0x3347a4,_0x202667){return _0x3347a4(_0x202667);}};return _0x4b4bd0['zjveC'](multer,{'storage':this[_0x468486(0x149)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x5688bc,_0x4171bd,_0x58fee8)=>{const _0x82b42a=_0x468486,_0x684e65=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x4b4bd0['STQVp']],_0x201743=['.xlsx',_0x82b42a(0x12f)],_0x9c1af6=path[_0x82b42a(0x144)](_0x4171bd[_0x82b42a(0x12a)])['toLowerCase']();_0x684e65[_0x82b42a(0x121)](_0x4171bd['mimetype'])&&_0x201743['includes'](_0x9c1af6)?_0x4b4bd0['nlJKW'](_0x58fee8,null,!![]):_0x4b4bd0['eVgmm'](_0x58fee8,new Error(_0x4b4bd0[_0x82b42a(0x146)]));}})[_0x468486(0x148)](_0x468486(0x136));}async['deleteFile'](_0x53f00a){const _0x449c12=a0_0x379247,_0x258544={'huuvW':'upload_file_deleted','NfiEV':'upload_file_delete_error','OyPqo':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x53f00a),logger['info']({'event':_0x258544[_0x449c12(0x129)],'filePath':_0x53f00a},'Uploaded\x20file\x20deleted');}catch(_0x417c56){logger['error']({'event':_0x258544['NfiEV'],'filePath':_0x53f00a,'error':_0x417c56[_0x449c12(0x141)]},_0x258544['OyPqo']);}}}module[a0_0x379247(0x13c)]=new UploadHandler();
@@ -1 +1 @@
1
- function a0_0x4a0a(){const _0x260100=['mZGWnZeXnhrMsvbIzq','mJmYmda2mhnyzuPAtq','lcbtDgf0Dxm6ia','zxHWB3j0CW','BwvZC2fNzq','otC3mZe2mejTANLusW','mti0mZmXnJbKve9IzgW','yxHPB3m','yxbWBgLJyxrPB24VANnVBG','n0vwu1jtvW','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','wMLHqwW','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','mta5nJy0mtbszKPkvuG','mJC2mtK2z25jt05r','nefXz1DtrW','C3rHDhvZ','Bg9N','tNLMCKq','Cg9ZDa','nJKYmJu3mgPvEKTpCW','ndros3zOCKm','uMvZDezVCMDLlvDLyMHVB2SVms4W','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','mtf3DfryzNy'];a0_0x4a0a=function(){return _0x260100;};return a0_0x4a0a();}const a0_0x23241c=a0_0x55db;(function(_0x45e818,_0x26e50e){const _0x31a0da=a0_0x55db,_0x14e0ed=_0x45e818();while(!![]){try{const _0x3b5eab=parseInt(_0x31a0da(0x1a1))/0x1*(-parseInt(_0x31a0da(0x1b1))/0x2)+parseInt(_0x31a0da(0x1a2))/0x3*(-parseInt(_0x31a0da(0x1b2))/0x4)+parseInt(_0x31a0da(0x19d))/0x5+parseInt(_0x31a0da(0x1a7))/0x6+-parseInt(_0x31a0da(0x1ab))/0x7*(parseInt(_0x31a0da(0x1a8))/0x8)+parseInt(_0x31a0da(0x1b0))/0x9+parseInt(_0x31a0da(0x1a3))/0xa*(parseInt(_0x31a0da(0x19e))/0xb);if(_0x3b5eab===_0x26e50e)break;else _0x14e0ed['push'](_0x14e0ed['shift']());}catch(_0x5263f8){_0x14e0ed['push'](_0x14e0ed['shift']());}}}(a0_0x4a0a,0xc79db));function a0_0x55db(_0x423a1e,_0x4fdb5b){_0x423a1e=_0x423a1e-0x199;const _0x4a0ac5=a0_0x4a0a();let _0x55db3e=_0x4a0ac5[_0x423a1e];if(a0_0x55db['HQZgdU']===undefined){var _0x241992=function(_0x696de2){const _0x4bbc76='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f7989='',_0x42ea89='';for(let _0x36baae=0x0,_0x278c8d,_0x32104e,_0x2a39e4=0x0;_0x32104e=_0x696de2['charAt'](_0x2a39e4++);~_0x32104e&&(_0x278c8d=_0x36baae%0x4?_0x278c8d*0x40+_0x32104e:_0x32104e,_0x36baae++%0x4)?_0x3f7989+=String['fromCharCode'](0xff&_0x278c8d>>(-0x2*_0x36baae&0x6)):0x0){_0x32104e=_0x4bbc76['indexOf'](_0x32104e);}for(let _0x5e01bb=0x0,_0x45308b=_0x3f7989['length'];_0x5e01bb<_0x45308b;_0x5e01bb++){_0x42ea89+='%'+('00'+_0x3f7989['charCodeAt'](_0x5e01bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x42ea89);};a0_0x55db['ItueNe']=_0x241992,a0_0x55db['CEjODL']={},a0_0x55db['HQZgdU']=!![];}const _0x3de95e=_0x4a0ac5[0x0],_0x4d130e=_0x423a1e+_0x3de95e,_0x55a1c2=a0_0x55db['CEjODL'][_0x4d130e];return!_0x55a1c2?(_0x55db3e=a0_0x55db['ItueNe'](_0x55db3e),a0_0x55db['CEjODL'][_0x4d130e]=_0x55db3e):_0x55db3e=_0x55a1c2,_0x55db3e;}const axios=require(a0_0x23241c(0x1a9));async function sendInsertWebhook(_0x16063b,_0xd9e8b2,_0x5ab1b1={}){const _0x47aa72=a0_0x23241c,_0x2a7519={'ZiaAl':'RestForge-Webhook/1.0','iPvRk':_0x47aa72(0x1ac),'qZJdl':'Error\x20sending\x20insert\x20webhook:'};try{const _0x44211e={'event':'insert','timestamp':new Date()['toISOString'](),'data':_0xd9e8b2},_0x56f8e3=await axios[_0x47aa72(0x19c)](_0x16063b,_0x44211e,{'headers':{'Content-Type':'application/json','User-Agent':_0x2a7519[_0x47aa72(0x1ad)],..._0x5ab1b1},'timeout':0x2710});return console[_0x47aa72(0x19a)](_0x47aa72(0x1a0)+_0x16063b+',\x20Status:\x20'+_0x56f8e3[_0x47aa72(0x199)]),{'success':!![],'message':_0x2a7519['iPvRk'],'status':_0x56f8e3['status'],'url':_0x16063b};}catch(_0x480c2f){return console['error'](_0x2a7519['qZJdl'],_0x480c2f[_0x47aa72(0x1a6)]),{'success':![],'message':_0x47aa72(0x1ae),'error':_0x480c2f[_0x47aa72(0x1a6)],'url':_0x16063b};}}async function sendDeleteWebhook(_0x4a28c2,_0x474d1a,_0xb1463f={}){const _0x4eb91e=a0_0x23241c,_0x244701={'EVEuw':'delete','NyfrD':'Error\x20sending\x20delete\x20webhook:','KAVjO':_0x4eb91e(0x1af)};try{const _0xbb30b3={'event':_0x244701['EVEuw'],'timestamp':new Date()['toISOString'](),'deleted_data':_0x474d1a},_0x3093c3=await axios[_0x4eb91e(0x19c)](_0x4a28c2,_0xbb30b3,{'headers':{'Content-Type':_0x4eb91e(0x1aa),'User-Agent':_0x4eb91e(0x19f),..._0xb1463f},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x4a28c2+_0x4eb91e(0x1a4)+_0x3093c3['status']),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x3093c3['status'],'url':_0x4a28c2};}catch(_0x2bd139){return console['error'](_0x244701[_0x4eb91e(0x19b)],_0x2bd139['message']),{'success':![],'message':_0x244701['KAVjO'],'error':_0x2bd139['message'],'url':_0x4a28c2};}}module[a0_0x23241c(0x1a5)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
1
+ function a0_0x38aa(_0x2924ec,_0x1cc6c7){_0x2924ec=_0x2924ec-0x1a4;const _0x156e53=a0_0x156e();let _0x38aa39=_0x156e53[_0x2924ec];if(a0_0x38aa['bqWfGS']===undefined){var _0xebfd2e=function(_0x3892e4){const _0x3b8da0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d3bd1='',_0x256897='';for(let _0x4a600a=0x0,_0x1b0a5f,_0x151bf8,_0x4da529=0x0;_0x151bf8=_0x3892e4['charAt'](_0x4da529++);~_0x151bf8&&(_0x1b0a5f=_0x4a600a%0x4?_0x1b0a5f*0x40+_0x151bf8:_0x151bf8,_0x4a600a++%0x4)?_0x1d3bd1+=String['fromCharCode'](0xff&_0x1b0a5f>>(-0x2*_0x4a600a&0x6)):0x0){_0x151bf8=_0x3b8da0['indexOf'](_0x151bf8);}for(let _0xb62a56=0x0,_0x1047fc=_0x1d3bd1['length'];_0xb62a56<_0x1047fc;_0xb62a56++){_0x256897+='%'+('00'+_0x1d3bd1['charCodeAt'](_0xb62a56)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x256897);};a0_0x38aa['eTIrNf']=_0xebfd2e,a0_0x38aa['DWtWLP']={},a0_0x38aa['bqWfGS']=!![];}const _0x1900e9=_0x156e53[0x0],_0x5447fa=_0x2924ec+_0x1900e9,_0x69ee6b=a0_0x38aa['DWtWLP'][_0x5447fa];return!_0x69ee6b?(_0x38aa39=a0_0x38aa['eTIrNf'](_0x38aa39),a0_0x38aa['DWtWLP'][_0x5447fa]=_0x38aa39):_0x38aa39=_0x69ee6b,_0x38aa39;}(function(_0x928293,_0x3d1d43){const _0x2c358e=a0_0x38aa,_0x2820cb=_0x928293();while(!![]){try{const _0x560937=-parseInt(_0x2c358e(0x1bb))/0x1+-parseInt(_0x2c358e(0x1af))/0x2+parseInt(_0x2c358e(0x1a9))/0x3+parseInt(_0x2c358e(0x1a5))/0x4+-parseInt(_0x2c358e(0x1a8))/0x5+-parseInt(_0x2c358e(0x1a4))/0x6*(parseInt(_0x2c358e(0x1b6))/0x7)+parseInt(_0x2c358e(0x1b2))/0x8;if(_0x560937===_0x3d1d43)break;else _0x2820cb['push'](_0x2820cb['shift']());}catch(_0x574b8d){_0x2820cb['push'](_0x2820cb['shift']());}}}(a0_0x156e,0x37835));function a0_0x156e(){const _0x206590=['zxjYB3i','r01nrui','mteXody5nNHOvgLMqW','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','mtGYn2nxEfHiuq','AKLoDxO','lcbtDgf0Dxm6ia','yxbWBgLJyxrPB24VANnVBG','BwvZC2fNzq','mtu0mdy1qKv5swz3','mJa0nNvQCfPLsa','mte2mJq1mMLSBNPera','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','C3rHDhvZ','nZeZnta1tvHNtwrg','mti1nJi5mNPuqwTwEq','zgvSzxrL','Cg9ZDa','Bhz5q0K','Bg9N','uMvZDezVCMDLlvDLyMHVB2SVms4W','ndCYmtmYyxPtDMzI'];a0_0x156e=function(){return _0x206590;};return a0_0x156e();}const axios=require('axios');async function sendInsertWebhook(_0x5a6743,_0x37be0e,_0x4f6636={}){const _0x3a1473=a0_0x38aa,_0x258450={'TwlLo':'insert','jINuz':_0x3a1473(0x1ae)};try{const _0x4a370d={'event':_0x258450['TwlLo'],'timestamp':new Date()['toISOString'](),'data':_0x37be0e},_0x4626dd=await axios[_0x3a1473(0x1ab)](_0x5a6743,_0x4a370d,{'headers':{'Content-Type':_0x3a1473(0x1b9),'User-Agent':_0x258450[_0x3a1473(0x1b7)],..._0x4f6636},'timeout':0x2710});return console['log'](_0x3a1473(0x1b4)+_0x5a6743+',\x20Status:\x20'+_0x4626dd['status']),{'success':!![],'message':_0x3a1473(0x1b5),'status':_0x4626dd['status'],'url':_0x5a6743};}catch(_0x3e0906){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x3e0906['message']),{'success':![],'message':'Failed\x20to\x20send\x20insert\x20webhook','error':_0x3e0906[_0x3a1473(0x1ba)],'url':_0x5a6743};}}async function sendDeleteWebhook(_0x3cd567,_0x3cf239,_0x4a1eae={}){const _0x6ad82b=a0_0x38aa,_0x3cf04b={'lvyCI':'RestForge-Webhook/1.0','GMMEB':'Delete\x20webhook\x20sent\x20successfully'};try{const _0x5bf775={'event':_0x6ad82b(0x1aa),'timestamp':new Date()['toISOString'](),'deleted_data':_0x3cf239},_0x2239c6=await axios['post'](_0x3cd567,_0x5bf775,{'headers':{'Content-Type':_0x6ad82b(0x1b9),'User-Agent':_0x3cf04b[_0x6ad82b(0x1ac)],..._0x4a1eae},'timeout':0x2710});return console[_0x6ad82b(0x1ad)](_0x6ad82b(0x1b3)+_0x3cd567+_0x6ad82b(0x1b8)+_0x2239c6[_0x6ad82b(0x1a7)]),{'success':!![],'message':_0x3cf04b[_0x6ad82b(0x1b1)],'status':_0x2239c6['status'],'url':_0x3cd567};}catch(_0x2911f0){return console[_0x6ad82b(0x1b0)]('Error\x20sending\x20delete\x20webhook:',_0x2911f0[_0x6ad82b(0x1ba)]),{'success':![],'message':_0x6ad82b(0x1a6),'error':_0x2911f0['message'],'url':_0x3cd567};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
@@ -1 +1 @@
1
- const a0_0x4fa4a9=a0_0x3864;(function(_0x1d9763,_0x34174b){const _0x549247=a0_0x3864,_0x23897b=_0x1d9763();while(!![]){try{const _0x113b65=parseInt(_0x549247(0x191))/0x1+parseInt(_0x549247(0x189))/0x2*(parseInt(_0x549247(0x194))/0x3)+parseInt(_0x549247(0x175))/0x4*(-parseInt(_0x549247(0x17f))/0x5)+-parseInt(_0x549247(0x18c))/0x6+parseInt(_0x549247(0x181))/0x7*(-parseInt(_0x549247(0x182))/0x8)+-parseInt(_0x549247(0x186))/0x9+parseInt(_0x549247(0x183))/0xa;if(_0x113b65===_0x34174b)break;else _0x23897b['push'](_0x23897b['shift']());}catch(_0x390dbc){_0x23897b['push'](_0x23897b['shift']());}}}(a0_0x4f4f,0x8db16));function a0_0x4f4f(){const _0x1f3ab8=['mtbcCe9lr0i','l3n0yxr1CW','mtmZodq3EKPorvbe','mtKYt3LWzhjf','odC3mZu1mfvMrw9ICa','u3LUBgu','zxHWCMvZCW','mtmXnJuYow50DfDICq','C3rHDhvZ','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','nJuZmZKYA3rJq0zS','zxjYB3i','yM9KEq','otmYnda2rMXmtLjW','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','BwvZC2fNzq','ywHot1y','EKTqwgy','mteZmdm5r2fVvNL0','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','zxHWB3j0CW','owTUEKXdsq','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mti1ota0nfnlzgvSDG','C3vJy2vZCW','vvbprwK','Cg9ZDa','ANnVBG','whbXr1K','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','AMnLywi','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','l2fJCxvPCMu'];a0_0x4f4f=function(){return _0x1f3ab8;};return a0_0x4f4f();}function a0_0x3864(_0x512e3d,_0x40f798){_0x512e3d=_0x512e3d-0x174;const _0x4f4f09=a0_0x4f4f();let _0x3864aa=_0x4f4f09[_0x512e3d];if(a0_0x3864['xHtdQA']===undefined){var _0x3a6cf9=function(_0x387a3e){const _0x50442d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xab8964='',_0x1045c4='';for(let _0x5ddd0f=0x0,_0xca10bc,_0x1c288d,_0x58b3a9=0x0;_0x1c288d=_0x387a3e['charAt'](_0x58b3a9++);~_0x1c288d&&(_0xca10bc=_0x5ddd0f%0x4?_0xca10bc*0x40+_0x1c288d:_0x1c288d,_0x5ddd0f++%0x4)?_0xab8964+=String['fromCharCode'](0xff&_0xca10bc>>(-0x2*_0x5ddd0f&0x6)):0x0){_0x1c288d=_0x50442d['indexOf'](_0x1c288d);}for(let _0x1d0569=0x0,_0x1beff8=_0xab8964['length'];_0x1d0569<_0x1beff8;_0x1d0569++){_0x1045c4+='%'+('00'+_0xab8964['charCodeAt'](_0x1d0569)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1045c4);};a0_0x3864['iuGguy']=_0x3a6cf9,a0_0x3864['gCPrCZ']={},a0_0x3864['xHtdQA']=!![];}const _0x5b8dd1=_0x4f4f09[0x0],_0x331040=_0x512e3d+_0x5b8dd1,_0x2d4a2b=a0_0x3864['gCPrCZ'][_0x331040];return!_0x2d4a2b?(_0x3864aa=a0_0x3864['iuGguy'](_0x3864aa),a0_0x3864['gCPrCZ'][_0x331040]=_0x3864aa):_0x3864aa=_0x2d4a2b,_0x3864aa;}const express=require(a0_0x4fa4a9(0x185)),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x1f91c3=a0_0x4fa4a9,_0x263d10={'UhNyz':function(_0x1e94b7,_0x116ba6){return _0x1e94b7(_0x116ba6);},'zKPXf':'./resource-lock-manager','tKhIZ':function(_0x237331,_0x507b7b){return _0x237331===_0x507b7b;},'ovlnv':'Resource\x20lock\x20conflict','Synle':_0x1f91c3(0x174),'jceab':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','IsuKT':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','UPOEi':function(_0x3e3d7b){return _0x3e3d7b();},'syZiy':'lock_release_route_error','yffwE':function(_0x2cb821,_0x32e73d){return _0x2cb821||_0x32e73d;},'XpqGY':_0x1f91c3(0x188),'NpwUz':_0x1f91c3(0x192),'ahNOV':_0x1f91c3(0x180)},_0xa4a10d=express['Router']();let _0x3d0a21=null;function _0x5f097e(){const _0x46f576=_0x1f91c3;return!_0x3d0a21&&(_0x3d0a21=_0x263d10['UhNyz'](require,_0x263d10[_0x46f576(0x190)])),_0x3d0a21;}return _0xa4a10d['post'](_0x1f91c3(0x17e),async(_0x5a869b,_0x38bec9)=>{const _0x3bd392=_0x1f91c3;try{const {resource:_0x30d5a7,lock_keys:_0x53d322,ttl:_0x2e3170,owner:_0x56d0bd}=_0x5a869b[_0x3bd392(0x18b)];if(!_0x30d5a7||!_0x53d322||!_0x2e3170||!_0x56d0bd)return _0x38bec9[_0x3bd392(0x187)](0x190)[_0x3bd392(0x179)]({'success':![],'error':_0x3bd392(0x17d)});const _0x36e381=_0x5f097e(),_0x16324a=await _0x36e381['acquireResourceLocks']({'resource':_0x30d5a7,'lockKeys':_0x53d322,'ttl':_0x2e3170,'owner':_0x56d0bd});if(_0x16324a['success'])return _0x38bec9['json'](_0x16324a);const _0x1aa4b1=_0x263d10['tKhIZ'](_0x16324a[_0x3bd392(0x18a)],_0x263d10['ovlnv'])?0x199:0x190;return _0x38bec9['status'](_0x1aa4b1)['json'](_0x16324a);}catch(_0x4d9c85){logger[_0x3bd392(0x18a)]({'event':_0x263d10[_0x3bd392(0x184)],'error':_0x4d9c85[_0x3bd392(0x18e)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x4d9c85['message']),_0x38bec9['status'](0x1f4)['json']({'success':![],'error':_0x263d10[_0x3bd392(0x17c)]});}}),_0xa4a10d[_0x1f91c3(0x178)]('/release',async(_0xc496a8,_0x4bbc70)=>{const _0x2cd675=_0x1f91c3;try{const {resource:_0x4e6308,lock_keys:_0x55646e,lock_token:_0x1ecfab}=_0xc496a8['body'];if(!_0x4e6308||!_0x55646e||!_0x1ecfab)return _0x4bbc70[_0x2cd675(0x187)](0x190)['json']({'success':![],'error':_0x263d10['IsuKT']});const _0x2c4ab8=_0x263d10[_0x2cd675(0x177)](_0x5f097e),_0x18e2ed=await _0x2c4ab8['releaseResourceLocks']({'resource':_0x4e6308,'lockKeys':_0x55646e,'lockToken':_0x1ecfab});if(_0x18e2ed['success'])return _0x4bbc70[_0x2cd675(0x179)](_0x18e2ed);return _0x4bbc70[_0x2cd675(0x187)](0x190)['json'](_0x18e2ed);}catch(_0x5ae0f7){logger[_0x2cd675(0x18a)]({'event':_0x263d10['syZiy'],'error':_0x5ae0f7['message']},'Lock\x20release\x20route\x20error:\x20'+_0x5ae0f7['message']),_0x4bbc70[_0x2cd675(0x187)](0x1f4)['json']({'success':![],'error':_0x2cd675(0x17b)});}}),_0xa4a10d[_0x1f91c3(0x178)](_0x263d10[_0x1f91c3(0x18f)],async(_0x1e1fe7,_0x4f8410)=>{const _0x393869=_0x1f91c3;try{const {resource:_0x283bae,lock_keys:_0x4b5ee3}=_0x1e1fe7[_0x393869(0x18b)];if(_0x263d10['yffwE'](!_0x283bae,!_0x4b5ee3))return _0x4f8410[_0x393869(0x187)](0x190)[_0x393869(0x179)]({'success':![],'error':_0x393869(0x18d)});const _0x415474=_0x5f097e(),_0xedfaa4=await _0x415474['getResourceLockStatus']({'resource':_0x283bae,'lockKeys':_0x4b5ee3});if(_0xedfaa4[_0x393869(0x176)])return _0x4f8410[_0x393869(0x179)](_0xedfaa4);return _0x4f8410[_0x393869(0x187)](0x190)[_0x393869(0x179)](_0xedfaa4);}catch(_0x1300d2){logger[_0x393869(0x18a)]({'event':_0x263d10[_0x393869(0x17a)],'error':_0x1300d2[_0x393869(0x18e)]},'Lock\x20status\x20route\x20error:\x20'+_0x1300d2[_0x393869(0x18e)]),_0x4f8410[_0x393869(0x187)](0x1f4)[_0x393869(0x179)]({'success':![],'error':_0x263d10['NpwUz']});}}),_0xa4a10d;}module[a0_0x4fa4a9(0x193)]=createLockRoutes;
1
+ function a0_0x18fa(_0x1ec20f,_0xad6c17){_0x1ec20f=_0x1ec20f-0x1a2;const _0x2aef7e=a0_0x2aef();let _0x18fa42=_0x2aef7e[_0x1ec20f];if(a0_0x18fa['oHnIvH']===undefined){var _0x1df449=function(_0xc50715){const _0x160d6a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ceea8='',_0x22c7f9='';for(let _0x12650b=0x0,_0x25a56f,_0x68382e,_0x1413ec=0x0;_0x68382e=_0xc50715['charAt'](_0x1413ec++);~_0x68382e&&(_0x25a56f=_0x12650b%0x4?_0x25a56f*0x40+_0x68382e:_0x68382e,_0x12650b++%0x4)?_0x1ceea8+=String['fromCharCode'](0xff&_0x25a56f>>(-0x2*_0x12650b&0x6)):0x0){_0x68382e=_0x160d6a['indexOf'](_0x68382e);}for(let _0x5d069f=0x0,_0x3c4280=_0x1ceea8['length'];_0x5d069f<_0x3c4280;_0x5d069f++){_0x22c7f9+='%'+('00'+_0x1ceea8['charCodeAt'](_0x5d069f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x22c7f9);};a0_0x18fa['UGxiOD']=_0x1df449,a0_0x18fa['WBGDch']={},a0_0x18fa['oHnIvH']=!![];}const _0x4a1c9f=_0x2aef7e[0x0],_0x59abfd=_0x1ec20f+_0x4a1c9f,_0x317bcd=a0_0x18fa['WBGDch'][_0x59abfd];return!_0x317bcd?(_0x18fa42=a0_0x18fa['UGxiOD'](_0x18fa42),a0_0x18fa['WBGDch'][_0x59abfd]=_0x18fa42):_0x18fa42=_0x317bcd,_0x18fa42;}const a0_0xda3999=a0_0x18fa;(function(_0x17203c,_0x572ac1){const _0x361dd8=a0_0x18fa,_0x13208e=_0x17203c();while(!![]){try{const _0x2318b5=-parseInt(_0x361dd8(0x1b2))/0x1+parseInt(_0x361dd8(0x1ad))/0x2+parseInt(_0x361dd8(0x1c1))/0x3+-parseInt(_0x361dd8(0x1ae))/0x4+parseInt(_0x361dd8(0x1b5))/0x5+parseInt(_0x361dd8(0x1a3))/0x6+-parseInt(_0x361dd8(0x1b4))/0x7;if(_0x2318b5===_0x572ac1)break;else _0x13208e['push'](_0x13208e['shift']());}catch(_0x57e4e7){_0x13208e['push'](_0x13208e['shift']());}}}(a0_0x2aef,0xafbc2));const express=require(a0_0xda3999(0x1c0)),{logger}=require(a0_0xda3999(0x1b8));function a0_0x2aef(){const _0x2db95b=['Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','nta3mtC2B3vovK9w','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','mte0odiZodDIvKHysuS','ntKYmJG1nu9gu1DgsW','CMvSzwfZzvjLC291CMnLtg9JA3m','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','lI4VlI4VDxrPBhmVBg9Nz2vY','C3rHDhvZ','ELP5t00','ywnXDwLYzvjLC291CMnLtg9JA3m','zfLVsfm','z2LyD28','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','l3n0yxr1CW','zxHWCMvZCW','mJG4nJiXmgLou3Plsa','BgXzDKe','nJuYmte5mePtrvLlBa','yM9KEq','BwvZC2fNzq','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihn0yxr1CYbJAgvJAW','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','ANnVBG','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','mte4mtmXnfPnsxvJEG','mZGYnZm0nfL6AKL5tq','zxjYB3i','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi'];a0_0x2aef=function(){return _0x2db95b;};return a0_0x2aef();}function createLockRoutes(){const _0x2a2032=a0_0xda3999,_0x4069b6={'VGvPf':function(_0x45e162,_0xa9e451){return _0x45e162(_0xa9e451);},'dYoHS':function(_0x230a08,_0x380979){return _0x230a08||_0x380979;},'lLugA':'Internal\x20server\x20error\x20during\x20lock\x20acquisition','OebeQ':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','llYvA':_0x2a2032(0x1aa),'bfloV':function(_0x245ee0){return _0x245ee0();},'zZyOM':_0x2a2032(0x1a7),'giXwo':_0x2a2032(0x1a9),'RRsLQ':'/acquire'},_0x3d393d=express['Router']();let _0x1e856b=null;function _0x1605b1(){const _0xccf782=_0x2a2032;return!_0x1e856b&&(_0x1e856b=_0x4069b6['VGvPf'](require,_0xccf782(0x1b0))),_0x1e856b;}return _0x3d393d['post'](_0x4069b6['RRsLQ'],async(_0x180aa8,_0x2440a3)=>{const _0x7187d=_0x2a2032;try{const {resource:_0x176149,lock_keys:_0x46c5af,ttl:_0x2e51eb,owner:_0x4c3bd2}=_0x180aa8['body'];if(_0x4069b6['dYoHS'](!_0x176149,!_0x46c5af)||!_0x2e51eb||!_0x4c3bd2)return _0x2440a3['status'](0x190)[_0x7187d(0x1ab)]({'success':![],'error':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner'});const _0x274d8b=_0x1605b1(),_0x191108=await _0x274d8b[_0x7187d(0x1bb)]({'resource':_0x176149,'lockKeys':_0x46c5af,'ttl':_0x2e51eb,'owner':_0x4c3bd2});if(_0x191108['success'])return _0x2440a3['json'](_0x191108);const _0x3fcd04=_0x191108['error']===_0x7187d(0x1b3)?0x199:0x190;return _0x2440a3[_0x7187d(0x1b9)](_0x3fcd04)['json'](_0x191108);}catch(_0x2d2ff4){logger[_0x7187d(0x1af)]({'event':_0x7187d(0x1a8),'error':_0x2d2ff4['message']},_0x7187d(0x1a6)+_0x2d2ff4[_0x7187d(0x1a5)]),_0x2440a3['status'](0x1f4)['json']({'success':![],'error':_0x4069b6['lLugA']});}}),_0x3d393d['post']('/release',async(_0x483c8f,_0x5d6494)=>{const _0x21c5a0=_0x2a2032;try{const {resource:_0x17bff2,lock_keys:_0x564eba,lock_token:_0xc590e1}=_0x483c8f['body'];if(_0x4069b6[_0x21c5a0(0x1bc)](!_0x17bff2,!_0x564eba)||!_0xc590e1)return _0x5d6494[_0x21c5a0(0x1b9)](0x190)[_0x21c5a0(0x1ab)]({'success':![],'error':_0x4069b6['OebeQ']});const _0x268521=_0x1605b1(),_0x3a701a=await _0x268521[_0x21c5a0(0x1b6)]({'resource':_0x17bff2,'lockKeys':_0x564eba,'lockToken':_0xc590e1});if(_0x3a701a['success'])return _0x5d6494[_0x21c5a0(0x1ab)](_0x3a701a);return _0x5d6494[_0x21c5a0(0x1b9)](0x190)['json'](_0x3a701a);}catch(_0x6a8ff1){logger['error']({'event':_0x21c5a0(0x1b1),'error':_0x6a8ff1['message']},'Lock\x20release\x20route\x20error:\x20'+_0x6a8ff1['message']),_0x5d6494['status'](0x1f4)['json']({'success':![],'error':_0x21c5a0(0x1ac)});}}),_0x3d393d['post'](_0x2a2032(0x1bf),async(_0x132d2d,_0x3bfdef)=>{const _0x25d94d=_0x2a2032;try{const {resource:_0x876f35,lock_keys:_0x4d3fd0}=_0x132d2d[_0x25d94d(0x1a4)];if(!_0x876f35||!_0x4d3fd0)return _0x3bfdef[_0x25d94d(0x1b9)](0x190)['json']({'success':![],'error':_0x4069b6[_0x25d94d(0x1a2)]});const _0x4a55ab=_0x4069b6['bfloV'](_0x1605b1),_0x2c0201=await _0x4a55ab[_0x25d94d(0x1b7)]({'resource':_0x876f35,'lockKeys':_0x4d3fd0});if(_0x2c0201['success'])return _0x3bfdef[_0x25d94d(0x1ab)](_0x2c0201);return _0x3bfdef['status'](0x190)['json'](_0x2c0201);}catch(_0x3fe52a){logger[_0x25d94d(0x1af)]({'event':_0x4069b6[_0x25d94d(0x1ba)],'error':_0x3fe52a['message']},_0x25d94d(0x1be)+_0x3fe52a['message']),_0x3bfdef[_0x25d94d(0x1b9)](0x1f4)['json']({'success':![],'error':_0x4069b6[_0x25d94d(0x1bd)]});}}),_0x3d393d;}module['exports']=createLockRoutes;
@@ -1 +1 @@
1
- const a0_0x270ce2=a0_0x4770;(function(_0x201399,_0x5a44e9){const _0x1b6b7d=a0_0x4770,_0x32f435=_0x201399();while(!![]){try{const _0x369922=-parseInt(_0x1b6b7d(0x227))/0x1*(parseInt(_0x1b6b7d(0x211))/0x2)+parseInt(_0x1b6b7d(0x230))/0x3*(-parseInt(_0x1b6b7d(0x22b))/0x4)+-parseInt(_0x1b6b7d(0x223))/0x5+-parseInt(_0x1b6b7d(0x209))/0x6*(parseInt(_0x1b6b7d(0x239))/0x7)+parseInt(_0x1b6b7d(0x231))/0x8*(-parseInt(_0x1b6b7d(0x200))/0x9)+-parseInt(_0x1b6b7d(0x214))/0xa+parseInt(_0x1b6b7d(0x237))/0xb;if(_0x369922===_0x5a44e9)break;else _0x32f435['push'](_0x32f435['shift']());}catch(_0x58485c){_0x32f435['push'](_0x32f435['shift']());}}}(a0_0x473e,0x4bb83));function a0_0x4770(_0x4ef2c7,_0x191823){_0x4ef2c7=_0x4ef2c7-0x1f2;const _0x473ebf=a0_0x473e();let _0x47703e=_0x473ebf[_0x4ef2c7];if(a0_0x4770['BnkFEJ']===undefined){var _0x386f8b=function(_0x2063b6){const _0x14a436='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x217c03='',_0x3000fd='';for(let _0x15ee48=0x0,_0x36cf9f,_0x355615,_0x57f5e3=0x0;_0x355615=_0x2063b6['charAt'](_0x57f5e3++);~_0x355615&&(_0x36cf9f=_0x15ee48%0x4?_0x36cf9f*0x40+_0x355615:_0x355615,_0x15ee48++%0x4)?_0x217c03+=String['fromCharCode'](0xff&_0x36cf9f>>(-0x2*_0x15ee48&0x6)):0x0){_0x355615=_0x14a436['indexOf'](_0x355615);}for(let _0x2319bc=0x0,_0x39f484=_0x217c03['length'];_0x2319bc<_0x39f484;_0x2319bc++){_0x3000fd+='%'+('00'+_0x217c03['charCodeAt'](_0x2319bc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3000fd);};a0_0x4770['aAEsjG']=_0x386f8b,a0_0x4770['bMQfba']={},a0_0x4770['BnkFEJ']=!![];}const _0x5324d7=_0x473ebf[0x0],_0x428b97=_0x4ef2c7+_0x5324d7,_0x49e0ce=a0_0x4770['bMQfba'][_0x428b97];return!_0x49e0ce?(_0x47703e=a0_0x4770['aAEsjG'](_0x47703e),a0_0x4770['bMQfba'][_0x428b97]=_0x47703e):_0x47703e=_0x49e0ce,_0x47703e;}const redisClient=require('../../utils/redis-client'),{logger}=require(a0_0x270ce2(0x218)),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x29ed7b=a0_0x270ce2,_0x1c6e54={'mAXAw':'default'},_0x1d0197=process[_0x29ed7b(0x23b)]['RESTFORGE_PROJECT_NAME']||_0x1c6e54[_0x29ed7b(0x208)];return _0x29ed7b(0x20f)+_0x1d0197+_0x29ed7b(0x213);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x270ce2(0x217);class ResourceLockManager{[a0_0x270ce2(0x219)](_0x5e51c9,_0x338516,_0x29f305){const _0x315f66=a0_0x270ce2,_0x302e6f={'SbmXi':function(_0x4d1287){return _0x4d1287();}};return''+_0x302e6f[_0x315f66(0x1fa)](getPrefix)+_0x5e51c9+':'+_0x338516+':'+_0x29f305;}[a0_0x270ce2(0x1f7)](_0x1b099b){const _0x2cc83a=a0_0x270ce2;return _0x1b099b+':'+uuidv4()+':'+Date[_0x2cc83a(0x21a)]();}[a0_0x270ce2(0x22a)](_0x28edc7){const _0x5cecfc=a0_0x270ce2,_0x252eb5={'wofeO':function(_0x35b78a,_0x286205){return _0x35b78a>_0x286205;}};if(!_0x28edc7)return'unknown';const _0x1ad621=_0x28edc7[_0x5cecfc(0x21c)](':');return _0x252eb5['wofeO'](_0x1ad621,0x0)?_0x28edc7[_0x5cecfc(0x20d)](0x0,_0x1ad621):_0x28edc7;}['getMaxTTLSeconds'](){const _0x2cdb92=a0_0x270ce2,_0x37d21b={'jItvR':function(_0x501585,_0x30d618,_0x5da573){return _0x501585(_0x30d618,_0x5da573);}};return _0x37d21b[_0x2cdb92(0x22d)](parseInt,process[_0x2cdb92(0x23b)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x51bda0,lockKeys:_0x41859e,ttl:_0x10d819,owner:_0x78a09d}){const _0x610efb=a0_0x270ce2,_0x17e01d={'Cdwpt':function(_0x53eeef,_0x5717fa){return _0x53eeef<_0x5717fa;},'qeVZX':function(_0x1bba46,_0x372830){return _0x1bba46===_0x372830;},'SEJcE':'resource_lock_acquired','iahmh':'resource_lock_rollback_error','cWqTQ':_0x610efb(0x1f8),'fEyCD':'resource_lock_acquire_error'},_0x4dcf4a=this['_validateAcquireInput']({'resource':_0x51bda0,'lockKeys':_0x41859e,'ttl':_0x10d819,'owner':_0x78a09d});if(!_0x4dcf4a['valid'])return{'success':![],'error':_0x4dcf4a['error']};const _0x3aae7a=this[_0x610efb(0x241)](),_0x19a577=Math[_0x610efb(0x20b)](_0x10d819,_0x3aae7a),_0x43f8d3=this['generateToken'](_0x78a09d),_0x443936=[];try{const _0x45df33=redisClient[_0x610efb(0x20c)]();for(let _0x3b4b6a=0x0;_0x17e01d['Cdwpt'](_0x3b4b6a,_0x41859e['length']);_0x3b4b6a++){const {key:_0x403a66,value:_0x551f10}=_0x41859e[_0x3b4b6a],_0x5982c4=this['buildKey'](_0x51bda0,_0x403a66,_0x551f10),_0xf4a460=await _0x45df33[_0x610efb(0x207)](_0x5982c4,_0x43f8d3,'EX',_0x19a577,'NX');if(_0x17e01d[_0x610efb(0x203)](_0xf4a460,'OK'))_0x443936['push'](_0x5982c4);else{await this['_rollbackKeys'](_0x45df33,_0x443936,_0x43f8d3);const _0x2d4cb3=await this[_0x610efb(0x23e)](_0x45df33,_0x5982c4);return logger['warn']({'event':_0x610efb(0x238),'resource':_0x51bda0,'conflicting_key':{'key':_0x403a66,'value':_0x551f10},'locked_by':_0x2d4cb3[_0x610efb(0x215)],'ttl_remaining':_0x2d4cb3['ttlRemaining'],'attempted_by':_0x78a09d},_0x610efb(0x221)+_0x51bda0+':'+_0x403a66+':'+_0x551f10),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x403a66,'value':_0x551f10},'locked_by':_0x2d4cb3[_0x610efb(0x215)],'ttl_remaining':_0x2d4cb3[_0x610efb(0x210)]}};}}const _0x5f031b=_0x41859e[_0x610efb(0x1fc)](({key:_0x4bd9c2,value:_0x3ffc86})=>({'key':_0x4bd9c2,'value':_0x3ffc86,'lock_key':this[_0x610efb(0x219)](_0x51bda0,_0x4bd9c2,_0x3ffc86)}));return logger[_0x610efb(0x235)]({'event':_0x17e01d['SEJcE'],'resource':_0x51bda0,'keys_count':_0x41859e[_0x610efb(0x21b)],'ttl':_0x19a577,'owner':_0x78a09d},'Resource\x20lock\x20acquired:\x20'+_0x51bda0+'\x20('+_0x41859e['length']+'\x20keys,\x20TTL:\x20'+_0x19a577+'s)'),{'success':!![],'data':{'lock_token':_0x43f8d3,'resource':_0x51bda0,'locked_keys':_0x5f031b,'ttl':_0x19a577,'owner':_0x78a09d,'acquired_at':new Date()['toISOString']()}};}catch(_0x4f559b){try{const _0x2f48cc=redisClient[_0x610efb(0x20c)]();await this[_0x610efb(0x21f)](_0x2f48cc,_0x443936,_0x43f8d3);}catch(_0x6067be){logger[_0x610efb(0x1f9)]({'event':_0x17e01d[_0x610efb(0x204)],'error':_0x6067be['message']},_0x17e01d['cWqTQ']);}return logger['error']({'event':_0x17e01d[_0x610efb(0x201)],'resource':_0x51bda0,'owner':_0x78a09d,'error':_0x4f559b[_0x610efb(0x23f)]},_0x610efb(0x1f5)+_0x4f559b['message']),{'success':![],'error':_0x610efb(0x22e)+_0x4f559b[_0x610efb(0x23f)]};}}async[a0_0x270ce2(0x23a)]({resource:_0x1ae74a,lockKeys:_0x4cde2d,lockToken:_0x39eee2}){const _0x3b7085=a0_0x270ce2,_0xd87645={'AkSIv':'resource_lock_released'},_0x954e12=this['_validateReleaseInput']({'resource':_0x1ae74a,'lockKeys':_0x4cde2d,'lockToken':_0x39eee2});if(!_0x954e12['valid'])return{'success':![],'error':_0x954e12['error']};try{const _0x2649a1=redisClient['getClient']();let _0x11bc14=0x0;for(const {key:_0x3ab06a,value:_0x2aec33}of _0x4cde2d){const _0x44ba32=this[_0x3b7085(0x219)](_0x1ae74a,_0x3ab06a,_0x2aec33),_0x380325=await _0x2649a1[_0x3b7085(0x21d)](RELEASE_LUA_SCRIPT,0x1,_0x44ba32,_0x39eee2);_0x380325===0x1&&_0x11bc14++;}return logger[_0x3b7085(0x235)]({'event':_0xd87645[_0x3b7085(0x224)],'resource':_0x1ae74a,'released_keys':_0x11bc14,'total_keys':_0x4cde2d['length'],'owner':this['extractOwner'](_0x39eee2)},_0x3b7085(0x233)+_0x1ae74a+'\x20('+_0x11bc14+'/'+_0x4cde2d['length']+_0x3b7085(0x220)),{'success':!![],'data':{'resource':_0x1ae74a,'released_keys':_0x11bc14,'total_keys':_0x4cde2d[_0x3b7085(0x21b)]}};}catch(_0x4b4b2c){return logger['error']({'event':_0x3b7085(0x1f3),'resource':_0x1ae74a,'error':_0x4b4b2c[_0x3b7085(0x23f)]},'Resource\x20lock\x20release\x20error:\x20'+_0x4b4b2c['message']),{'success':![],'error':_0x3b7085(0x205)+_0x4b4b2c['message']};}}async['getResourceLockStatus']({resource:_0x121a76,lockKeys:_0x4edf09}){const _0xa7a3c4=a0_0x270ce2,_0x32d9b9={'RLtFR':function(_0xdd4f02,_0x10433f){return _0xdd4f02===_0x10433f;},'hYDhb':_0xa7a3c4(0x212),'eDxvc':function(_0x5d0def,_0x7e5822){return _0x5d0def>_0x7e5822;},'QoAHx':_0xa7a3c4(0x225)};if(!_0x121a76||!Array['isArray'](_0x4edf09)||_0x32d9b9['RLtFR'](_0x4edf09['length'],0x0))return{'success':![],'error':_0x32d9b9['hYDhb']};try{const _0x5c5777=redisClient[_0xa7a3c4(0x20c)](),_0x5f4b80=[];for(const {key:_0x11a201,value:_0x174672}of _0x4edf09){const _0xe42d51=this[_0xa7a3c4(0x219)](_0x121a76,_0x11a201,_0x174672),[_0x475223,_0x3d7e3e]=await Promise[_0xa7a3c4(0x1fb)]([_0x5c5777['get'](_0xe42d51),_0x5c5777['ttl'](_0xe42d51)]),_0x385bea=_0x475223!==null;_0x5f4b80['push']({'key':_0x11a201,'value':_0x174672,'locked':_0x385bea,'owner':_0x385bea?this[_0xa7a3c4(0x22a)](_0x475223):null,'ttl_remaining':_0x385bea&&_0x32d9b9[_0xa7a3c4(0x1fd)](_0x3d7e3e,0x0)?_0x3d7e3e:null});}return{'success':!![],'data':{'resource':_0x121a76,'keys':_0x5f4b80}};}catch(_0x269fe4){return logger['error']({'event':_0x32d9b9[_0xa7a3c4(0x23d)],'resource':_0x121a76,'error':_0x269fe4['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x269fe4['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x269fe4[_0xa7a3c4(0x23f)]};}}async['_rollbackKeys'](_0xa20212,_0x5195e1,_0x142cef){const _0x5ad0d7=a0_0x270ce2;for(const _0x4a090e of _0x5195e1){try{await _0xa20212[_0x5ad0d7(0x21d)](RELEASE_LUA_SCRIPT,0x1,_0x4a090e,_0x142cef);}catch(_0x3975aa){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x4a090e,'error':_0x3975aa[_0x5ad0d7(0x23f)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x4a090e);}}}async[a0_0x270ce2(0x23e)](_0x155d9a,_0x5b35bf){const _0x21636d=a0_0x270ce2,_0x374b64={'epunv':_0x21636d(0x23c)};try{const [_0x501241,_0x2c4521]=await Promise['all']([_0x155d9a[_0x21636d(0x232)](_0x5b35bf),_0x155d9a['ttl'](_0x5b35bf)]);return{'owner':_0x501241?this['extractOwner'](_0x501241):_0x374b64['epunv'],'ttlRemaining':_0x2c4521>0x0?_0x2c4521:null};}catch{return{'owner':_0x21636d(0x23c),'ttlRemaining':null};}}[a0_0x270ce2(0x1f4)]({resource:_0x42fa05,lockKeys:_0x3889aa,ttl:_0x3c1a37,owner:_0x1dcd8b}){const _0x39ebd8=a0_0x270ce2,_0x223438={'aJPsy':'string','XfypW':function(_0x42d2db,_0x1f59e1){return _0x42d2db===_0x1f59e1;},'NtDIY':_0x39ebd8(0x226),'zPKuB':function(_0x136a8f,_0x2aacfa){return _0x136a8f>_0x2aacfa;},'WQoYB':function(_0x4a2d0b,_0xf14700){return _0x4a2d0b!==_0xf14700;},'ZGMcX':function(_0x18f5d1,_0x1330a6){return _0x18f5d1<_0x1330a6;},'iYzCd':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};if(!_0x42fa05||typeof _0x42fa05!==_0x223438['aJPsy'])return{'valid':![],'error':_0x39ebd8(0x229)};if(!Array['isArray'](_0x3889aa)||_0x223438[_0x39ebd8(0x1fe)](_0x3889aa[_0x39ebd8(0x21b)],0x0))return{'valid':![],'error':_0x223438['NtDIY']};if(_0x223438['zPKuB'](_0x3889aa['length'],0x64))return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0xa3219f=0x0;_0xa3219f<_0x3889aa['length'];_0xa3219f++){const _0x2f4c81=_0x3889aa[_0xa3219f];if(!_0x2f4c81||!_0x2f4c81[_0x39ebd8(0x22f)]||!_0x2f4c81[_0x39ebd8(0x216)])return{'valid':![],'error':'lock_keys['+_0xa3219f+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x3c1a37||_0x223438[_0x39ebd8(0x202)](typeof _0x3c1a37,_0x39ebd8(0x206))||_0x223438[_0x39ebd8(0x21e)](_0x3c1a37,0x1))return{'valid':![],'error':_0x223438['iYzCd']};const _0x169199=this['getMaxTTLSeconds']();if(_0x3c1a37>_0x169199)return{'valid':![],'error':_0x39ebd8(0x1f2)+_0x169199+_0x39ebd8(0x222)};if(!_0x1dcd8b||_0x223438[_0x39ebd8(0x202)](typeof _0x1dcd8b,_0x223438[_0x39ebd8(0x22c)]))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x26cd5c,lockKeys:_0x4913b0,lockToken:_0x5c582a}){const _0x45f26f=a0_0x270ce2,_0x515bc2={'ninyM':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','EIbZr':function(_0x5d415d,_0x4fd1c5){return _0x5d415d===_0x4fd1c5;},'Jdpon':function(_0x11d7dc,_0x2a5e6f){return _0x11d7dc!==_0x2a5e6f;},'FYJXk':'string'};if(!_0x26cd5c||typeof _0x26cd5c!==_0x45f26f(0x236))return{'valid':![],'error':_0x515bc2[_0x45f26f(0x228)]};if(!Array['isArray'](_0x4913b0)||_0x515bc2[_0x45f26f(0x240)](_0x4913b0[_0x45f26f(0x21b)],0x0))return{'valid':![],'error':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array'};for(let _0x42e798=0x0;_0x42e798<_0x4913b0['length'];_0x42e798++){const _0x3cca4b=_0x4913b0[_0x42e798];if(!_0x3cca4b||!_0x3cca4b['key']||!_0x3cca4b[_0x45f26f(0x216)])return{'valid':![],'error':_0x45f26f(0x20a)+_0x42e798+_0x45f26f(0x1ff)};}if(!_0x5c582a||_0x515bc2[_0x45f26f(0x234)](typeof _0x5c582a,_0x515bc2['FYJXk']))return{'valid':![],'error':_0x45f26f(0x20e)};return{'valid':!![]};}}function a0_0x473e(){const _0x39cba2=['z2v0','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','sMrWB24','Aw5MBW','C3rYAw5N','mJi1mdu2otjquhHXz3u','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','mZqWmLbdtwrbyq','CMvSzwfZzvjLC291CMnLtg9JA3m','zw52','Dw5RBM93BG','uw9bshG','x2DLDenVBMzSAwn0sw5MBW','BwvZC2fNzq','ruLIwNi','z2v0twf4vfrmu2vJB25KCW','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','x3zHBgLKyxrLqwnXDwLYzuLUChv0','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','zxHWB3j0CW','z2vUzxjHDgvuB2TLBG','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','zxjYB3i','u2jTwgK','ywXS','BwfW','zur4DMm','wgz5CfC','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','mJG4ouzpDMDPAW','zKv5q0q','v1fVwui','CwvwwLG','AwfOBwG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','BNvTyMvY','C2v0','BufyqxC','mJq2meXyAg1wEq','Bg9JA19RzxLZwW','BwLU','z2v0q2XPzw50','C3vIC3rYAw5N','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','CMy6','DhrSuMvTywLUAw5N','ntm0q2nUDNLN','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','oNjSB2nRoG','mZa4mti2meXhuMHhyG','B3DUzxi','DMfSDwu','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','lI4VlI4VDxrPBhmVBg9Nz2vY','yNvPBgrlzxK','BM93','BgvUz3rO','Aw5KzxHpzG','zxzHBa','wKDny1G','x3jVBgXIywnRs2v5CW','igTLExmP','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','mJm4mZaZmgDRzhLryW','qwTtsxy','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','mti3nM9qyMLWDG','BMLUEu0','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxH0CMfJDe93BMvY','mtjTtKnUDMu','yuPqC3K','AKL0DLi','tg9JAYbHy3f1AxjLigzHAwXLzdOG','A2v5','mZa5nZa1rfDbDuzv','mJuYohLqDw12sq'];a0_0x473e=function(){return _0x39cba2;};return a0_0x473e();}module[a0_0x270ce2(0x1f6)]=new ResourceLockManager();
1
+ const a0_0x337371=a0_0x14f5;(function(_0xc6a2b4,_0x3b4d9b){const _0x4f70b8=a0_0x14f5,_0x41de5d=_0xc6a2b4();while(!![]){try{const _0x1f598a=-parseInt(_0x4f70b8(0x1af))/0x1*(parseInt(_0x4f70b8(0x1c1))/0x2)+parseInt(_0x4f70b8(0x1bf))/0x3*(parseInt(_0x4f70b8(0x1ec))/0x4)+parseInt(_0x4f70b8(0x1e2))/0x5+-parseInt(_0x4f70b8(0x1cf))/0x6+parseInt(_0x4f70b8(0x1e9))/0x7*(-parseInt(_0x4f70b8(0x1e6))/0x8)+-parseInt(_0x4f70b8(0x1de))/0x9*(-parseInt(_0x4f70b8(0x1cd))/0xa)+parseInt(_0x4f70b8(0x1ce))/0xb;if(_0x1f598a===_0x3b4d9b)break;else _0x41de5d['push'](_0x41de5d['shift']());}catch(_0x3edd46){_0x41de5d['push'](_0x41de5d['shift']());}}}(a0_0x1b13,0xa0c17));function a0_0x14f5(_0x5a4968,_0x340945){_0x5a4968=_0x5a4968-0x1ae;const _0x1b13a8=a0_0x1b13();let _0x14f5e1=_0x1b13a8[_0x5a4968];if(a0_0x14f5['lTuZsu']===undefined){var _0x434d0c=function(_0x5b3e56){const _0x3e10f5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d50bd='',_0x441023='';for(let _0x44cd13=0x0,_0x41e2d5,_0x4f0a6b,_0x16db36=0x0;_0x4f0a6b=_0x5b3e56['charAt'](_0x16db36++);~_0x4f0a6b&&(_0x41e2d5=_0x44cd13%0x4?_0x41e2d5*0x40+_0x4f0a6b:_0x4f0a6b,_0x44cd13++%0x4)?_0x4d50bd+=String['fromCharCode'](0xff&_0x41e2d5>>(-0x2*_0x44cd13&0x6)):0x0){_0x4f0a6b=_0x3e10f5['indexOf'](_0x4f0a6b);}for(let _0x404447=0x0,_0x51a34e=_0x4d50bd['length'];_0x404447<_0x51a34e;_0x404447++){_0x441023+='%'+('00'+_0x4d50bd['charCodeAt'](_0x404447)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x441023);};a0_0x14f5['DGzGxa']=_0x434d0c,a0_0x14f5['KHKboz']={},a0_0x14f5['lTuZsu']=!![];}const _0x59f78e=_0x1b13a8[0x0],_0x3ed3c6=_0x5a4968+_0x59f78e,_0x13ba31=a0_0x14f5['KHKboz'][_0x3ed3c6];return!_0x13ba31?(_0x14f5e1=a0_0x14f5['DGzGxa'](_0x14f5e1),a0_0x14f5['KHKboz'][_0x3ed3c6]=_0x14f5e1):_0x14f5e1=_0x13ba31,_0x14f5e1;}const redisClient=require(a0_0x337371(0x1b3)),{logger}=require(a0_0x337371(0x1d0)),{v4:uuidv4}=require(a0_0x337371(0x1ba));function a0_0x1b13(){const _0x51d0bc=['yNvPBgrlzxK','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','oNjSB2nRoG','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','ywnXDwLYzvjLC291CMnLtg9JA3m','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','mte0odu3ohLIvLnLDq','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','zxHWB3j0CW','x2DLDenVBMzSAwn0sw5MBW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Dw5RBM93BG','BwvZC2fNzq','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','ywXS','AxnbCNjHEq','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','DxvPza','BwfW','Bg9JA19RzxLZwW','z2v0twf4vfrmu2vJB25KCW','A2v5','mtuXmJb2vxDUwee','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','mLzlDK9quq','z2vUzxjHDgvuB2TLBG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','CuvmvuS','zu11rMq','x3jVBgXIywnRs2v5CW','ELrKBfy','DhrSuMvTywLUAw5N','BgvUz3rO','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','C2v0','zxzHBa','mJm4ntm2menTtg9sEa','otq0ndu4ou5nB3j5vq','mtC1nJG0mLPmAMHssW','lI4VlI4VDxrPBhmVBg9Nz2vY','C3rYAw5N','EgvOD3y','uwnZB1a','Aw5KzxHpzG','ufbADgG','BNvTyMvY','tg9JAYbYzwXLyxnLigzHAwXLzdOG','zxjYB3i','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','Bg9JA19RzxLZigv4y2vLzhmGBwf4Aw11BsbVzIaXmdaGAxrLBxm','Dg9ju09tDhjPBMC','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19RzxLFzxjYB3i','AxnRseC','mtHStwfzs1y','AhLfBMe','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DhrS','mZeZnJaZmhrrsu92tq','zw52','z2v0q2XPzw50','z2v0','mtm2sfv5zKfP','zxH0CMfJDe93BMvY','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','mJe1ndy3zefNBfb1','CMy6','s3rcqNe','nti0CujnBfvL'];a0_0x1b13=function(){return _0x51d0bc;};return a0_0x1b13();}function getPrefix(){const _0x50e6e6=a0_0x337371,_0x58e008=process[_0x50e6e6(0x1e3)]['RESTFORGE_PROJECT_NAME']||'default';return _0x50e6e6(0x1ea)+_0x58e008+_0x50e6e6(0x1ef);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x337371(0x1ca);class ResourceLockManager{[a0_0x337371(0x1ed)](_0x5677d2,_0x451085,_0x2319cc){return''+getPrefix()+_0x5677d2+':'+_0x451085+':'+_0x2319cc;}[a0_0x337371(0x1c2)](_0xc9ae81){return _0xc9ae81+':'+uuidv4()+':'+Date['now']();}['extractOwner'](_0x8b4f79){const _0x241a4c=a0_0x337371,_0x3b367f={'zTdlV':function(_0x2f7533,_0x2842c6){return _0x2f7533>_0x2842c6;}};if(!_0x8b4f79)return'unknown';const _0x5eb0bc=_0x8b4f79[_0x241a4c(0x1d4)](':');return _0x3b367f[_0x241a4c(0x1c7)](_0x5eb0bc,0x0)?_0x8b4f79['substring'](0x0,_0x5eb0bc):_0x8b4f79;}[a0_0x337371(0x1bd)](){const _0x13456b=a0_0x337371;return parseInt(process[_0x13456b(0x1e3)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x337371(0x1f1)]({resource:_0x3b6393,lockKeys:_0x5ce647,ttl:_0x4397dd,owner:_0x44a5e1}){const _0x301ae6=a0_0x337371,_0x4909d3={'iskHG':function(_0x3b48fb,_0x5e5b3a){return _0x3b48fb===_0x5e5b3a;},'QcsoP':'resource_lock_conflict','HXsAg':'resource_lock_acquired','NhFPV':'resource_lock_rollback_error'},_0x3a786a=this[_0x301ae6(0x1c3)]({'resource':_0x3b6393,'lockKeys':_0x5ce647,'ttl':_0x4397dd,'owner':_0x44a5e1});if(!_0x3a786a['valid'])return{'success':![],'error':_0x3a786a['error']};const _0x393ee5=this[_0x301ae6(0x1bd)](),_0xbb0202=Math['min'](_0x4397dd,_0x393ee5),_0x4f027a=this['generateToken'](_0x44a5e1),_0x3f4a52=[];try{const _0x178121=redisClient[_0x301ae6(0x1e4)]();for(let _0x1b473f=0x0;_0x1b473f<_0x5ce647[_0x301ae6(0x1c9)];_0x1b473f++){const {key:_0x5b0f82,value:_0x4bc2db}=_0x5ce647[_0x1b473f],_0x2ad152=this['buildKey'](_0x3b6393,_0x5b0f82,_0x4bc2db),_0x2b4e44=await _0x178121[_0x301ae6(0x1cb)](_0x2ad152,_0x4f027a,'EX',_0xbb0202,'NX');if(_0x4909d3[_0x301ae6(0x1dd)](_0x2b4e44,'OK'))_0x3f4a52['push'](_0x2ad152);else{await this[_0x301ae6(0x1c6)](_0x178121,_0x3f4a52,_0x4f027a);const _0x34783f=await this[_0x301ae6(0x1b2)](_0x178121,_0x2ad152);return logger['warn']({'event':_0x4909d3[_0x301ae6(0x1d3)],'resource':_0x3b6393,'conflicting_key':{'key':_0x5b0f82,'value':_0x4bc2db},'locked_by':_0x34783f['owner'],'ttl_remaining':_0x34783f[_0x301ae6(0x1c8)],'attempted_by':_0x44a5e1},_0x301ae6(0x1c0)+_0x3b6393+':'+_0x5b0f82+':'+_0x4bc2db),{'success':![],'error':_0x301ae6(0x1ee),'data':{'conflicting_key':{'key':_0x5b0f82,'value':_0x4bc2db},'locked_by':_0x34783f['owner'],'ttl_remaining':_0x34783f['ttlRemaining']}};}}const _0x12734d=_0x5ce647[_0x301ae6(0x1bb)](({key:_0xef9330,value:_0x188976})=>({'key':_0xef9330,'value':_0x188976,'lock_key':this['buildKey'](_0x3b6393,_0xef9330,_0x188976)}));return logger['info']({'event':_0x4909d3['HXsAg'],'resource':_0x3b6393,'keys_count':_0x5ce647[_0x301ae6(0x1c9)],'ttl':_0xbb0202,'owner':_0x44a5e1},'Resource\x20lock\x20acquired:\x20'+_0x3b6393+'\x20('+_0x5ce647[_0x301ae6(0x1c9)]+'\x20keys,\x20TTL:\x20'+_0xbb0202+'s)'),{'success':!![],'data':{'lock_token':_0x4f027a,'resource':_0x3b6393,'locked_keys':_0x12734d,'ttl':_0xbb0202,'owner':_0x44a5e1,'acquired_at':new Date()[_0x301ae6(0x1db)]()}};}catch(_0x3d6028){try{const _0xc3e3ee=redisClient['getClient']();await this[_0x301ae6(0x1c6)](_0xc3e3ee,_0x3f4a52,_0x4f027a);}catch(_0x349725){logger['error']({'event':_0x4909d3['NhFPV'],'error':_0x349725['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger['error']({'event':'resource_lock_acquire_error','resource':_0x3b6393,'owner':_0x44a5e1,'error':_0x3d6028[_0x301ae6(0x1b5)]},_0x301ae6(0x1b9)+_0x3d6028['message']),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x3d6028['message']};}}async['releaseResourceLocks']({resource:_0x2acc63,lockKeys:_0x3bbde7,lockToken:_0x1aba1c}){const _0x5c8318=a0_0x337371,_0x1a87cf={'jfKHI':function(_0x51b2b0,_0x552977){return _0x51b2b0===_0x552977;},'KtBBq':'resource_lock_release_error'},_0x2b33f2=this['_validateReleaseInput']({'resource':_0x2acc63,'lockKeys':_0x3bbde7,'lockToken':_0x1aba1c});if(!_0x2b33f2['valid'])return{'success':![],'error':_0x2b33f2[_0x5c8318(0x1d8)]};try{const _0x347262=redisClient[_0x5c8318(0x1e4)]();let _0x1f3d85=0x0;for(const {key:_0x38233c,value:_0x3fafc0}of _0x3bbde7){const _0x17a679=this['buildKey'](_0x2acc63,_0x38233c,_0x3fafc0),_0x56d823=await _0x347262[_0x5c8318(0x1cc)](RELEASE_LUA_SCRIPT,0x1,_0x17a679,_0x1aba1c);_0x1a87cf['jfKHI'](_0x56d823,0x1)&&_0x1f3d85++;}return logger['info']({'event':'resource_lock_released','resource':_0x2acc63,'released_keys':_0x1f3d85,'total_keys':_0x3bbde7['length'],'owner':this['extractOwner'](_0x1aba1c)},'Resource\x20lock\x20released:\x20'+_0x2acc63+'\x20('+_0x1f3d85+'/'+_0x3bbde7[_0x5c8318(0x1c9)]+'\x20keys)'),{'success':!![],'data':{'resource':_0x2acc63,'released_keys':_0x1f3d85,'total_keys':_0x3bbde7['length']}};}catch(_0x43c7f2){return logger[_0x5c8318(0x1d8)]({'event':_0x1a87cf[_0x5c8318(0x1eb)],'resource':_0x2acc63,'error':_0x43c7f2['message']},'Resource\x20lock\x20release\x20error:\x20'+_0x43c7f2['message']),{'success':![],'error':_0x5c8318(0x1d7)+_0x43c7f2['message']};}}async[a0_0x337371(0x1b6)]({resource:_0x2dce25,lockKeys:_0x20438c}){const _0xce7b32=a0_0x337371,_0x544c22={'yxfRA':function(_0x40a607,_0x113269){return _0x40a607===_0x113269;},'okMCu':function(_0x13954c,_0x61496d){return _0x13954c!==_0x61496d;},'WESeN':function(_0x179b0f,_0x1809dc){return _0x179b0f>_0x1809dc;}};if(!_0x2dce25||!Array['isArray'](_0x20438c)||_0x544c22['yxfRA'](_0x20438c['length'],0x0))return{'success':![],'error':'resource\x20and\x20lock_keys\x20are\x20required'};try{const _0x1ca74a=redisClient[_0xce7b32(0x1e4)](),_0x3b7eef=[];for(const {key:_0x1f470e,value:_0x261185}of _0x20438c){const _0x27663a=this['buildKey'](_0x2dce25,_0x1f470e,_0x261185),[_0x444757,_0x10bfee]=await Promise[_0xce7b32(0x1b7)]([_0x1ca74a[_0xce7b32(0x1e5)](_0x27663a),_0x1ca74a['ttl'](_0x27663a)]),_0x48c6ce=_0x544c22['okMCu'](_0x444757,null);_0x3b7eef['push']({'key':_0x1f470e,'value':_0x261185,'locked':_0x48c6ce,'owner':_0x48c6ce?this[_0xce7b32(0x1e7)](_0x444757):null,'ttl_remaining':_0x48c6ce&&_0x544c22['WESeN'](_0x10bfee,0x0)?_0x10bfee:null});}return{'success':!![],'data':{'resource':_0x2dce25,'keys':_0x3b7eef}};}catch(_0x213754){return logger[_0xce7b32(0x1d8)]({'event':'resource_lock_status_error','resource':_0x2dce25,'error':_0x213754['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x213754[_0xce7b32(0x1b5)]),{'success':![],'error':_0xce7b32(0x1e0)+_0x213754['message']};}}async['_rollbackKeys'](_0x505159,_0x32466e,_0x266170){const _0x4c6689=a0_0x337371;for(const _0x117ac0 of _0x32466e){try{await _0x505159['eval'](RELEASE_LUA_SCRIPT,0x1,_0x117ac0,_0x266170);}catch(_0x175183){logger[_0x4c6689(0x1d8)]({'event':_0x4c6689(0x1dc),'key':_0x117ac0,'error':_0x175183[_0x4c6689(0x1b5)]},'Failed\x20to\x20rollback\x20key:\x20'+_0x117ac0);}}}async[a0_0x337371(0x1b2)](_0x2996f5,_0x6d1b4f){const _0x206aa9=a0_0x337371,_0xe8cfdf={'PPZth':_0x206aa9(0x1b4)};try{const [_0x4c64a7,_0x4da801]=await Promise['all']([_0x2996f5['get'](_0x6d1b4f),_0x2996f5[_0x206aa9(0x1e1)](_0x6d1b4f)]);return{'owner':_0x4c64a7?this[_0x206aa9(0x1e7)](_0x4c64a7):_0xe8cfdf['PPZth'],'ttlRemaining':_0x4da801>0x0?_0x4da801:null};}catch{return{'owner':_0xe8cfdf[_0x206aa9(0x1d5)],'ttlRemaining':null};}}[a0_0x337371(0x1c3)]({resource:_0x5c038a,lockKeys:_0x496067,ttl:_0x5c6a66,owner:_0x372184}){const _0x2d8119=a0_0x337371,_0x4dd0d1={'XJLyy':function(_0x312f3d,_0x3b7324){return _0x312f3d!==_0x3b7324;},'qELUK':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','qftHa':function(_0x3cb056,_0x2cb9a0){return _0x3cb056===_0x2cb9a0;},'sKfRX':_0x2d8119(0x1da),'eMuFd':_0x2d8119(0x1e8),'GjRsT':_0x2d8119(0x1d1)};if(!_0x5c038a||_0x4dd0d1['XJLyy'](typeof _0x5c038a,_0x2d8119(0x1d1)))return{'valid':![],'error':_0x4dd0d1[_0x2d8119(0x1c4)]};if(!Array[_0x2d8119(0x1b8)](_0x496067)||_0x4dd0d1['qftHa'](_0x496067[_0x2d8119(0x1c9)],0x0))return{'valid':![],'error':_0x2d8119(0x1f0)};if(_0x496067[_0x2d8119(0x1c9)]>0x64)return{'valid':![],'error':_0x4dd0d1['sKfRX']};for(let _0x5468fa=0x0;_0x5468fa<_0x496067[_0x2d8119(0x1c9)];_0x5468fa++){const _0x1024c5=_0x496067[_0x5468fa];if(!_0x1024c5||!_0x1024c5[_0x2d8119(0x1be)]||!_0x1024c5['value'])return{'valid':![],'error':_0x2d8119(0x1bc)+_0x5468fa+_0x2d8119(0x1ae)};}if(!_0x5c6a66||_0x4dd0d1['XJLyy'](typeof _0x5c6a66,_0x2d8119(0x1d6))||_0x5c6a66<0x1)return{'valid':![],'error':_0x4dd0d1[_0x2d8119(0x1c5)]};const _0xd1c6bc=this['getMaxTTLSeconds']();if(_0x5c6a66>_0xd1c6bc)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0xd1c6bc+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x372184||typeof _0x372184!==_0x4dd0d1['GjRsT'])return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x317380,lockKeys:_0x2a3fdb,lockToken:_0x941928}){const _0x297c7a=a0_0x337371,_0x471a16={'hyEna':function(_0x328f27,_0x51372d){return _0x328f27!==_0x51372d;},'Neexr':_0x297c7a(0x1b0),'cmFYS':function(_0x2bcbf6,_0x5a3999){return _0x2bcbf6<_0x5a3999;},'xehwv':_0x297c7a(0x1d1)};if(!_0x317380||_0x471a16[_0x297c7a(0x1df)](typeof _0x317380,'string'))return{'valid':![],'error':_0x471a16['Neexr']};if(!Array['isArray'](_0x2a3fdb)||_0x2a3fdb[_0x297c7a(0x1c9)]===0x0)return{'valid':![],'error':_0x297c7a(0x1f0)};for(let _0x24804b=0x0;_0x471a16['cmFYS'](_0x24804b,_0x2a3fdb[_0x297c7a(0x1c9)]);_0x24804b++){const _0x42c125=_0x2a3fdb[_0x24804b];if(!_0x42c125||!_0x42c125[_0x297c7a(0x1be)]||!_0x42c125['value'])return{'valid':![],'error':'lock_keys['+_0x24804b+_0x297c7a(0x1ae)};}if(!_0x941928||_0x471a16[_0x297c7a(0x1df)](typeof _0x941928,_0x471a16[_0x297c7a(0x1d2)]))return{'valid':![],'error':_0x297c7a(0x1d9)};return{'valid':!![]};}}module[a0_0x337371(0x1b1)]=new ResourceLockManager();
@@ -1 +1 @@
1
- const a0_0x3fccc1=a0_0x2b43;(function(_0x2e632c,_0x34320c){const _0xb45a74=a0_0x2b43,_0x5130f1=_0x2e632c();while(!![]){try{const _0x266a47=-parseInt(_0xb45a74(0xab))/0x1*(parseInt(_0xb45a74(0xf8))/0x2)+parseInt(_0xb45a74(0x112))/0x3+parseInt(_0xb45a74(0xfd))/0x4*(parseInt(_0xb45a74(0xaf))/0x5)+-parseInt(_0xb45a74(0xa6))/0x6*(-parseInt(_0xb45a74(0xaa))/0x7)+-parseInt(_0xb45a74(0xb5))/0x8*(-parseInt(_0xb45a74(0x116))/0x9)+-parseInt(_0xb45a74(0xde))/0xa+parseInt(_0xb45a74(0xcb))/0xb*(-parseInt(_0xb45a74(0x105))/0xc);if(_0x266a47===_0x34320c)break;else _0x5130f1['push'](_0x5130f1['shift']());}catch(_0x1f9f2b){_0x5130f1['push'](_0x5130f1['shift']());}}}(a0_0x2f17,0x8e1ff));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x4a11ef=a0_0x2b43;this[_0x4a11ef(0xac)]=null,this['consumer']=null,this['isConnected']=![],this['isInitializing']=![],this['isRunning']=![],this[_0x4a11ef(0xc4)]=![],this[_0x4a11ef(0xca)]=null,this['subscribedTopics']=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x3fccc1(0xbd)](){const _0x26b254=a0_0x3fccc1,_0x406524={'zTffg':'true','jnmdR':_0x26b254(0xfa),'fnDsc':'default','fiDLI':'25000','pdGdX':_0x26b254(0xe4),'Twhhj':function(_0x46950e,_0x3bd0a5){return _0x46950e(_0x3bd0a5);},'JmcPB':function(_0x5b5cb5,_0x32fbd3){return _0x5b5cb5(_0x32fbd3);},'izJES':_0x26b254(0xae),'auJAb':_0x26b254(0xf3)};return{'enabled':process['env'][_0x26b254(0x124)]===_0x406524[_0x26b254(0xf7)],'brokers':(process['env'][_0x26b254(0x9d)]||_0x406524[_0x26b254(0xb1)])[_0x26b254(0xe1)](','),'clientId':process['env'][_0x26b254(0xf0)]||_0x26b254(0xdf)+(process['env'][_0x26b254(0x11f)]||_0x406524['fnDsc'])+_0x26b254(0xa2),'connectionTimeout':parseInt(process[_0x26b254(0xbc)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||_0x406524[_0x26b254(0x106)]),'sessionTimeout':parseInt(process[_0x26b254(0xbc)][_0x26b254(0xfe)]||_0x406524[_0x26b254(0x100)]),'heartbeatInterval':parseInt(process[_0x26b254(0xbc)][_0x26b254(0xdd)]||_0x26b254(0x9f)),'maxBytesPerPartition':_0x406524[_0x26b254(0xa4)](parseInt,process['env'][_0x26b254(0x11e)]||_0x26b254(0x98)),'autoCommit':process[_0x26b254(0xbc)]['KAFKA_AUTO_COMMIT']==='true','autoCommitInterval':parseInt(process['env'][_0x26b254(0xa3)]||_0x26b254(0xfb)),'retryAttempts':parseInt(process['env'][_0x26b254(0xa1)]||'3'),'retryDelay':_0x406524['JmcPB'](parseInt,process['env'][_0x26b254(0xec)]||_0x406524[_0x26b254(0xd2)]),'retryMaxDelay':parseInt(process[_0x26b254(0xbc)]['KAFKA_RETRY_MAX_DELAY']||_0x406524['pdGdX']),'logLevel':process['env'][_0x26b254(0xed)]||_0x406524['auJAb']};}[a0_0x3fccc1(0xee)](_0x3268c6){const _0x2fea3a=a0_0x3fccc1,_0x27a8ce={'nothing':logLevel[_0x2fea3a(0xea)],'error':logLevel[_0x2fea3a(0xba)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x27a8ce[_0x3268c6[_0x2fea3a(0x10a)]()]||logLevel['WARN'];}async['initialize'](_0xbabdbc={}){const _0x5e4d4c=a0_0x3fccc1,_0x1bf041={'uvPMu':'default','bVNBl':function(_0x1f9d53,_0x2bcfa){return _0x1f9d53(_0x2bcfa);},'AwPMo':function(_0x48ade1,_0x282385){return _0x48ade1(_0x282385);}},_0x82d0b9=this[_0x5e4d4c(0xbd)]();if(!_0x82d0b9[_0x5e4d4c(0xc5)])return console[_0x5e4d4c(0x110)](_0x5e4d4c(0xb9)),![];if(this['isConnected'])return!![];if(this[_0x5e4d4c(0xce)]&&this['connectionPromise'])return this[_0x5e4d4c(0xca)];return this['isInitializing']=!![],this[_0x5e4d4c(0xca)]=new Promise(async _0x307d55=>{const _0x4f5ad2=_0x5e4d4c;try{let _0x4344a0=undefined;process['env'][_0x4f5ad2(0xc7)]===_0x4f5ad2(0xef)&&(_0x4344a0=!![]);let _0x1aad75=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x1aad75={'mechanism':process[_0x4f5ad2(0xbc)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x4f5ad2(0x122)]||'','password':process[_0x4f5ad2(0xbc)]['KAFKA_SASL_PASSWORD']||''}),this[_0x4f5ad2(0xac)]=new Kafka({'clientId':_0xbabdbc[_0x4f5ad2(0xd3)]||_0x82d0b9['clientId'],'brokers':_0x82d0b9[_0x4f5ad2(0xbf)],'connectionTimeout':_0x82d0b9[_0x4f5ad2(0x120)],'requestTimeout':_0x82d0b9[_0x4f5ad2(0xa8)],'logLevel':this['getLogLevel'](_0x82d0b9[_0x4f5ad2(0x101)]),'ssl':_0x4344a0,'sasl':_0x1aad75,'retry':{'initialRetryTime':_0x82d0b9[_0x4f5ad2(0xd5)],'retries':_0x82d0b9['retryAttempts'],'maxRetryTime':_0x82d0b9[_0x4f5ad2(0x10e)]}}),this['groupId']=_0xbabdbc['groupId']||_0x4f5ad2(0xdf)+(process[_0x4f5ad2(0xbc)]['RESTFORGE_PROJECT_NAME']||_0x1bf041[_0x4f5ad2(0xa9)])+_0x4f5ad2(0x109),this[_0x4f5ad2(0xd7)]=this['kafka']['consumer']({'groupId':this[_0x4f5ad2(0xad)],'sessionTimeout':_0x82d0b9[_0x4f5ad2(0xe2)],'heartbeatInterval':_0x82d0b9['heartbeatInterval'],'maxBytesPerPartition':_0x82d0b9[_0x4f5ad2(0xcc)],'allowAutoTopicCreation':![]}),await this[_0x4f5ad2(0xd7)][_0x4f5ad2(0xf1)](),this['isConnected']=!![],console[_0x4f5ad2(0x110)](_0x4f5ad2(0xb4)+_0x82d0b9['brokers']['join'](',\x20')+_0x4f5ad2(0x102)+this['groupId']+')'),this['setupEventHandlers'](),_0x1bf041['bVNBl'](_0x307d55,!![]);}catch(_0x49a740){console['error'](_0x4f5ad2(0xf6)+_0x49a740['message']),this['isConnected']=![],_0x1bf041['AwPMo'](_0x307d55,![]);}finally{this['isInitializing']=![];}}),this[_0x5e4d4c(0xca)];}['setupEventHandlers'](){const _0x4addd9=a0_0x3fccc1,_0x36a223={'ZtLEm':_0x4addd9(0x10d),'VRrUN':_0x4addd9(0xe9),'PwSMY':'consumer.stop','OOHbc':_0x4addd9(0xa0),'byOZE':'consumer.rebalancing'};if(!this['consumer'])return;this['consumer']['on'](_0x4addd9(0x9a),()=>{const _0x21010c=_0x4addd9;console['log'](_0x36a223['ZtLEm']),this[_0x21010c(0xda)]=![],this[_0x21010c(0x115)]=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223[_0x4addd9(0xe0)],()=>{const _0x2672d4=_0x4addd9;console[_0x2672d4(0x110)](_0x36a223[_0x2672d4(0x99)]),this['isRunning']=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223[_0x4addd9(0x9b)],_0x17defb=>{const _0x446f43=_0x4addd9;console[_0x446f43(0xf4)](_0x446f43(0xdc)+_0x17defb[_0x446f43(0xe7)]['error']['message']),this[_0x446f43(0x115)]=![];}),this[_0x4addd9(0xd7)]['on'](_0x36a223['byOZE'],()=>{const _0x5ef5ba=_0x4addd9;console[_0x5ef5ba(0x110)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async['subscribe'](_0x4e3d7e,_0x314464=![]){const _0x373d5d=a0_0x3fccc1,_0x212b39={'LXLQr':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console[_0x373d5d(0xf4)](_0x212b39['LXLQr']),![];try{const _0x1366a9=Array['isArray'](_0x4e3d7e)?_0x4e3d7e:[_0x4e3d7e];for(const _0x3cee94 of _0x1366a9){await this['consumer']['subscribe']({'topic':_0x3cee94,'fromBeginning':_0x314464}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x3cee94+'\x20(fromBeginning:\x20'+_0x314464+')');}return this[_0x373d5d(0x107)]=[...new Set([...this[_0x373d5d(0x107)],..._0x1366a9])],!![];}catch(_0x925ca8){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x925ca8['message']),![];}}async[a0_0x3fccc1(0x118)](_0x124767,_0x39dddf={}){const _0x207cdf=a0_0x3fccc1,_0x5f0b75={'clMAN':function(_0xd91ed3){return _0xd91ed3();},'OwsZN':_0x207cdf(0x121),'DQCGs':function(_0x470e72,_0x4d76cb){return _0x470e72!==_0x4d76cb;}};if(!this[_0x207cdf(0xda)])return console['error'](_0x5f0b75[_0x207cdf(0xc0)]),![];if(this[_0x207cdf(0x115)])return console[_0x207cdf(0x110)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x410722=this[_0x207cdf(0xbd)]();this['messageHandler']=_0x124767;try{return this[_0x207cdf(0x97)]['startTime']=new Date(),await this['consumer'][_0x207cdf(0x9c)]({'autoCommit':_0x5f0b75[_0x207cdf(0xc1)](_0x39dddf['autoCommit'],undefined)?_0x39dddf['autoCommit']:_0x410722[_0x207cdf(0xb0)],'autoCommitInterval':_0x410722['autoCommitInterval'],'eachMessage':async({topic:_0x237c24,partition:_0x2d888c,message:_0x333b75,heartbeat:_0x53db59})=>{const _0x13a080=_0x207cdf,_0x517bf5=Date[_0x13a080(0xa7)]();this['metrics'][_0x13a080(0x10f)]++,this[_0x13a080(0x97)][_0x13a080(0x11a)]=new Date();try{const _0xac86e2=_0x333b75[_0x13a080(0xe5)]?_0x333b75['value']['toString']():null;let _0x2b0600=null;try{_0x2b0600=_0xac86e2?JSON['parse'](_0xac86e2):null;}catch(_0x17eafc){_0x2b0600=_0xac86e2;}const _0x491841={'topic':_0x237c24,'partition':_0x2d888c,'offset':_0x333b75[_0x13a080(0xb7)],'key':_0x333b75['key']?_0x333b75[_0x13a080(0x11d)]['toString']():null,'headers':this[_0x13a080(0x10c)](_0x333b75[_0x13a080(0xb2)]),'timestamp':_0x333b75[_0x13a080(0xe3)],'value':_0x2b0600,'raw':_0xac86e2};this[_0x13a080(0x123)]&&await this[_0x13a080(0x123)](_0x491841);!_0x410722['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x237c24,'partition':_0x2d888c,'offset':(parseInt(_0x333b75['offset'])+0x1)['toString']()}]);this[_0x13a080(0x97)]['messagesProcessed']++;const _0x79db68=Date[_0x13a080(0xa7)]()-_0x517bf5;this[_0x13a080(0x97)]['processingTimes']['push'](_0x79db68),this[_0x13a080(0x97)][_0x13a080(0xeb)]['length']>0x64&&this[_0x13a080(0x97)][_0x13a080(0xeb)][_0x13a080(0xbb)](),await _0x5f0b75[_0x13a080(0xc3)](_0x53db59);}catch(_0x5c73b4){this['metrics'][_0x13a080(0x103)]++,console[_0x13a080(0xf4)](_0x13a080(0x9e)+_0x5c73b4[_0x13a080(0x10b)]);throw _0x5c73b4;}}}),this[_0x207cdf(0x115)]=!![],console['log'](_0x207cdf(0x117)+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x13a532){return console['error'](_0x207cdf(0xc6)+_0x13a532['message']),![];}}[a0_0x3fccc1(0x10c)](_0xc6e9ba){const _0x478bb8=a0_0x3fccc1;if(!_0xc6e9ba)return{};const _0x2dbd83={};for(const [_0x50df1e,_0x5e5963]of Object[_0x478bb8(0xf5)](_0xc6e9ba)){_0x2dbd83[_0x50df1e]=_0x5e5963?_0x5e5963['toString']():null;}return _0x2dbd83;}async['pause'](){const _0x5b7a8a=a0_0x3fccc1,_0x54fdba={'ACkjJ':_0x5b7a8a(0xd8),'sqVkP':'[KafkaConsumer]\x20Consumer\x20already\x20paused'};if(!this['isConnected']||!this['isRunning'])return console[_0x5b7a8a(0x110)](_0x54fdba[_0x5b7a8a(0x11c)]),![];if(this[_0x5b7a8a(0xc4)])return console[_0x5b7a8a(0x110)](_0x54fdba['sqVkP']),!![];try{const _0x532b81=this[_0x5b7a8a(0x107)]['map'](_0x33a507=>({'topic':_0x33a507}));return this['consumer']['pause'](_0x532b81),this['isPaused']=!![],console[_0x5b7a8a(0x110)](_0x5b7a8a(0xdb)),!![];}catch(_0xd3be2){return console[_0x5b7a8a(0xf4)]('[KafkaConsumer]\x20Pause\x20error:\x20'+_0xd3be2[_0x5b7a8a(0x10b)]),![];}}async[a0_0x3fccc1(0xd0)](){const _0x4d4859=a0_0x3fccc1,_0x40e209={'ITNwL':'[KafkaConsumer]\x20Cannot\x20resume\x20-\x20consumer\x20not\x20running','mRYGo':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x4d4859(0xda)]||!this[_0x4d4859(0x115)])return console[_0x4d4859(0x110)](_0x40e209[_0x4d4859(0xc8)]),![];if(!this[_0x4d4859(0xc4)])return console['log']('[KafkaConsumer]\x20Consumer\x20not\x20paused'),!![];try{const _0x11f04b=this[_0x4d4859(0x107)]['map'](_0x4ebeb6=>({'topic':_0x4ebeb6}));return this[_0x4d4859(0xd7)]['resume'](_0x11f04b),this['isPaused']=![],console['log'](_0x40e209['mRYGo']),!![];}catch(_0x2c3db9){return console[_0x4d4859(0xf4)](_0x4d4859(0xb8)+_0x2c3db9['message']),![];}}async[a0_0x3fccc1(0xb6)](){const _0x4742a1=a0_0x3fccc1,_0xec781d={'izhgJ':'2|4|1|3|0|5','HKmsJ':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4742a1(0xda)])return console['log'](_0x4742a1(0xf9)),!![];try{const _0x4c9e78=_0xec781d[_0x4742a1(0xc9)]['split']('|');let _0x448a1c=0x0;while(!![]){switch(_0x4c9e78[_0x448a1c++]){case'0':console[_0x4742a1(0x110)](_0xec781d[_0x4742a1(0xb3)]);continue;case'1':this['isRunning']=![];continue;case'2':this['consumer']&&(await this[_0x4742a1(0xd7)][_0x4742a1(0xb6)](),await this[_0x4742a1(0xd7)][_0x4742a1(0xa5)]());continue;case'3':this[_0x4742a1(0xc4)]=![];continue;case'4':this['isConnected']=![];continue;case'5':return!![];}break;}}catch(_0x4d66c3){return console[_0x4742a1(0xf4)](_0x4742a1(0xc2)+_0x4d66c3['message']),![];}}async[a0_0x3fccc1(0xfc)](_0x2fe073,_0x55b373,_0x34deea){const _0x3329a0=a0_0x3fccc1;if(!this['isConnected'])return console[_0x3329a0(0xf4)](_0x3329a0(0xe8)),![];try{return this[_0x3329a0(0xd7)][_0x3329a0(0xd4)]({'topic':_0x2fe073,'partition':_0x55b373,'offset':_0x34deea[_0x3329a0(0xcf)]()}),console['log'](_0x3329a0(0xd9)+_0x34deea+_0x3329a0(0x11b)+_0x2fe073+':'+_0x55b373),!![];}catch(_0xeed1e){return console[_0x3329a0(0xf4)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0xeed1e['message']),![];}}['getStatus'](){const _0x42e548=a0_0x3fccc1,_0x5b8efe=this[_0x42e548(0xbd)]();return{'enabled':_0x5b8efe['enabled'],'connected':this['isConnected'],'running':this[_0x42e548(0x115)],'paused':this[_0x42e548(0xc4)],'brokers':_0x5b8efe['brokers'],'clientId':_0x5b8efe[_0x42e548(0xd3)],'groupId':this['groupId'],'subscribedTopics':this[_0x42e548(0x107)]};}['getMetrics'](){const _0x55161e=a0_0x3fccc1,_0x4633ff={'KGmSM':function(_0x342eb8,_0x2b78f2){return _0x342eb8>_0x2b78f2;},'tjXsA':function(_0x9fc32a,_0x59f734){return _0x9fc32a*_0x59f734;},'VgIKt':function(_0x244b47,_0x1a30ec){return _0x244b47/_0x1a30ec;},'SWNBn':function(_0x4140b1,_0x308fd4){return _0x4140b1+_0x308fd4;},'WrrlK':function(_0x27dc0,_0x455afe){return _0x27dc0/_0x455afe;},'eYqev':function(_0x257ddc,_0x3db3c5){return _0x257ddc-_0x3db3c5;}},_0x50c629=_0x4633ff['KGmSM'](this['metrics']['processingTimes'][_0x55161e(0xd1)],0x0)?this['metrics']['processingTimes']['reduce']((_0x528134,_0x4ceee9)=>_0x528134+_0x4ceee9,0x0)/this[_0x55161e(0x97)][_0x55161e(0xeb)]['length']:0x0,_0x3023d7=_0x4633ff[_0x55161e(0x113)](this['metrics'][_0x55161e(0xeb)][_0x55161e(0xd1)],0x0)?Math[_0x55161e(0xf2)](...this[_0x55161e(0x97)][_0x55161e(0xeb)]):0x0,_0x232078=_0x4633ff[_0x55161e(0x113)](this[_0x55161e(0x97)]['processingTimes']['length'],0x0)?Math[_0x55161e(0xe6)](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics'][_0x55161e(0x10f)],'messagesProcessed':this[_0x55161e(0x97)][_0x55161e(0x111)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':_0x4633ff[_0x55161e(0x113)](this[_0x55161e(0x97)][_0x55161e(0x10f)],0x0)?_0x4633ff[_0x55161e(0x119)](_0x4633ff[_0x55161e(0xd6)](this['metrics']['messagesProcessed'],this['metrics'][_0x55161e(0x10f)]),0x64)[_0x55161e(0x114)](0x2)+'%':'0%','lastMessageTime':this['metrics'][_0x55161e(0x11a)],'startTime':this['metrics'][_0x55161e(0xbe)],'uptime':this['metrics'][_0x55161e(0xbe)]?_0x4633ff['SWNBn'](Math['floor'](_0x4633ff[_0x55161e(0x108)](_0x4633ff['eYqev'](Date['now'](),this['metrics'][_0x55161e(0xbe)][_0x55161e(0x104)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math[_0x55161e(0xcd)](_0x50c629)+'ms','min':_0x3023d7+'ms','max':_0x232078+'ms'}};}['resetMetrics'](){const _0x1a99f4=a0_0x3fccc1;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x1a99f4(0x115)]?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x2b43(_0x123d84,_0x29de11){_0x123d84=_0x123d84-0x97;const _0x2f1725=a0_0x2f17();let _0x2b4385=_0x2f1725[_0x123d84];if(a0_0x2b43['IMQceG']===undefined){var _0x5d08f1=function(_0x3a180a){const _0x4a8806='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fb821='',_0x3b1edb='';for(let _0x3e55ab=0x0,_0x5573b2,_0x481da4,_0xe031db=0x0;_0x481da4=_0x3a180a['charAt'](_0xe031db++);~_0x481da4&&(_0x5573b2=_0x3e55ab%0x4?_0x5573b2*0x40+_0x481da4:_0x481da4,_0x3e55ab++%0x4)?_0x2fb821+=String['fromCharCode'](0xff&_0x5573b2>>(-0x2*_0x3e55ab&0x6)):0x0){_0x481da4=_0x4a8806['indexOf'](_0x481da4);}for(let _0x333583=0x0,_0x4a8aad=_0x2fb821['length'];_0x333583<_0x4a8aad;_0x333583++){_0x3b1edb+='%'+('00'+_0x2fb821['charCodeAt'](_0x333583)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b1edb);};a0_0x2b43['yozsej']=_0x5d08f1,a0_0x2b43['NqZWjz']={},a0_0x2b43['IMQceG']=!![];}const _0x57a754=_0x2f1725[0x0],_0x16bc8a=_0x123d84+_0x57a754,_0x39c278=a0_0x2b43['NqZWjz'][_0x16bc8a];return!_0x39c278?(_0x2b4385=a0_0x2b43['yozsej'](_0x2b4385),a0_0x2b43['NqZWjz'][_0x16bc8a]=_0x2b4385):_0x2b4385=_0x39c278,_0x2b4385;}function a0_0x2f17(){const _0x42db28=['BwvZC2fNzuHHBMrSzxi','s0fgs0fFru5bqKXfra','Bwv0CMLJCW','mta0odu3nG','vLjYvu4','y29UC3vTzxiUzgLZy29UBMvJDa','t09iyMm','CNvU','s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','mZaWma','y29UC3vTzxiUy3jHC2G','s0fgs0fFuKvuuLLFqvruru1qvfm','lwnVBNn1BwvY','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','vhDOAgO','zgLZy29UBMvJDa','mtmWodG3nKnLAefzBq','BM93','CMvXDwvZDfrPBwvVDxq','Dxzqtxu','mZvdChDbAva','mZG2nJy0BfzYC3jX','A2fMA2e','z3jVDxbjza','mtaWma','ntyYndyZnvb1AgvjrW','yxv0B0nVBw1PDa','AM5Tzfi','AgvHzgvYCW','seTTC0O','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','oeHMy0zUCG','C3rVCa','B2zMC2v0','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','rvjst1i','C2HPzNq','zw52','z2v0q29UzMLN','C3rHCNruAw1L','yNjVA2vYCW','t3DZwK4','rffdr3m','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','y2Xnqu4','AxnqyxvZzwq','zw5HyMXLza','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','s0fgs0fFu1nm','svroD0W','AxPOz0O','y29UBMvJDgLVBLbYB21PC2u','nZe1qxznvLrf','Bwf4qNL0zxnqzxjqyxj0AxrPB24','CM91BMq','AxnjBML0AwfSAxPPBMC','Dg9tDhjPBMC','CMvZDw1L','BgvUz3rO','AxPkrvm','y2XPzw50swq','C2vLAW','CMv0CNLezwXHEq','vMDjs3q','y29UC3vTzxi','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','AxndB25Uzwn0zwq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','s0fgs0fFsevbuLrcrufux0LovevsvKfm','ndG1ntq2mgrlEKDvsq','CMvZDgzVCMDLlq','uhDttvK','C3bSAxq','C2vZC2LVBLrPBwvVDxq','DgLTzxn0yw1W','mZaWmda','DMfSDwu','Bwf4','Cgf5Bg9Hza','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','tK9useLorW','ChjVy2vZC2LUz1rPBwvZ','s0fgs0fFuKvuuLLFrevmqvK','s0fgs0fFte9hx0XfvKvm','z2v0tg9Ntgv2zwW','Dhj1zq','s0fgs0fFq0Xjru5ux0Le','y29UBMvJDa','BwLU','D2fYBG','zxjYB3i','zw50CMLLCW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','ELrMzMC','mKLUyNjIEG','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','Bg9JywXOB3n0oJKWoti','ntaWma','C2vLA1rVt2zMC2v0','ngTvBgPrsa','s0fgs0fFu0vtu0LptL9usu1ft1vu','zxHWB3j0CW','CgrhzfG','Bg9Ntgv2zwW','icHNCM91CeLKoIa','BwvZC2fNzxngywLSzwq','z2v0vgLTzq','mZuZmtCYvMn4y1DJ','zMLeteK','C3vIC2nYAwjLzfrVCgLJCW','v3jYBeS','lwnVBNn1BwvYlwDYB3vW','Dg9mB3DLCKnHC2u','BwvZC2fNzq','CgfYC2vizwfKzxjZ','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','CMv0CNLnyxHezwXHEq','BwvZC2fNzxnszwnLAxzLza','Bg9N','BwvZC2fNzxnqCM9JzxnZzwq','mtK5ndC2ouvpENPmEa','s0DTu00','Dg9gAxHLza','AxnsDw5UAw5N','ndm4mta5mMnSCKXgBG','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','C3rHCNrdB25ZDw1PBMC','DgPyC0e','BgfZDe1LC3nHz2vuAw1L','ig9Uia','qunRAKO','A2v5','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','s0fgs0fFu0fttf9vu0vstKfnrq'];a0_0x2f17=function(){return _0x42db28;};return a0_0x2f17();}function createInstance(){return new KafkaConsumerService();}module[a0_0x3fccc1(0xff)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x5a97c7=a0_0x51df;function a0_0x51df(_0x4ea9ad,_0x239105){_0x4ea9ad=_0x4ea9ad-0xc2;const _0x1a1349=a0_0x1a13();let _0x51dff7=_0x1a1349[_0x4ea9ad];if(a0_0x51df['bTzRUq']===undefined){var _0x3f16f1=function(_0x3809dd){const _0x114e42='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f9c71='',_0x30cc01='';for(let _0x59092a=0x0,_0x210887,_0x121821,_0x14f717=0x0;_0x121821=_0x3809dd['charAt'](_0x14f717++);~_0x121821&&(_0x210887=_0x59092a%0x4?_0x210887*0x40+_0x121821:_0x121821,_0x59092a++%0x4)?_0x1f9c71+=String['fromCharCode'](0xff&_0x210887>>(-0x2*_0x59092a&0x6)):0x0){_0x121821=_0x114e42['indexOf'](_0x121821);}for(let _0x4ff507=0x0,_0x3a03d1=_0x1f9c71['length'];_0x4ff507<_0x3a03d1;_0x4ff507++){_0x30cc01+='%'+('00'+_0x1f9c71['charCodeAt'](_0x4ff507)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30cc01);};a0_0x51df['EIuYPQ']=_0x3f16f1,a0_0x51df['BDIEzl']={},a0_0x51df['bTzRUq']=!![];}const _0x532daf=_0x1a1349[0x0],_0x4404c0=_0x4ea9ad+_0x532daf,_0x13b3a1=a0_0x51df['BDIEzl'][_0x4404c0];return!_0x13b3a1?(_0x51dff7=a0_0x51df['EIuYPQ'](_0x51dff7),a0_0x51df['BDIEzl'][_0x4404c0]=_0x51dff7):_0x51dff7=_0x13b3a1,_0x51dff7;}(function(_0x22d2ed,_0x5d36e3){const _0x1f41d7=a0_0x51df,_0x8a27db=_0x22d2ed();while(!![]){try{const _0x55564c=parseInt(_0x1f41d7(0x12e))/0x1+-parseInt(_0x1f41d7(0x137))/0x2*(-parseInt(_0x1f41d7(0x101))/0x3)+-parseInt(_0x1f41d7(0x11b))/0x4*(parseInt(_0x1f41d7(0xcc))/0x5)+-parseInt(_0x1f41d7(0xd5))/0x6*(-parseInt(_0x1f41d7(0xd9))/0x7)+-parseInt(_0x1f41d7(0xdd))/0x8+-parseInt(_0x1f41d7(0xd4))/0x9*(parseInt(_0x1f41d7(0xd6))/0xa)+parseInt(_0x1f41d7(0x108))/0xb;if(_0x55564c===_0x5d36e3)break;else _0x8a27db['push'](_0x8a27db['shift']());}catch(_0x1730f7){_0x8a27db['push'](_0x8a27db['shift']());}}}(a0_0x1a13,0x855f4));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaConsumerService{constructor(){const _0x12229c=a0_0x51df,_0x5715ec={'xFeIP':'1|7|2|8|3|10|0|6|4|9|5'},_0x19ba48=_0x5715ec[_0x12229c(0xde)]['split']('|');let _0x52e441=0x0;while(!![]){switch(_0x19ba48[_0x52e441++]){case'0':this[_0x12229c(0xf9)]=null;continue;case'1':this['kafka']=null;continue;case'2':this[_0x12229c(0xe1)]=![];continue;case'3':this[_0x12229c(0x121)]=![];continue;case'4':this[_0x12229c(0xe6)]=null;continue;case'5':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'6':this['subscribedTopics']=[];continue;case'7':this[_0x12229c(0xd7)]=null;continue;case'8':this['isInitializing']=![];continue;case'9':this['messageHandler']=null;continue;case'10':this['isPaused']=![];continue;}break;}}[a0_0x5a97c7(0x10d)](){const _0x91e0eb=a0_0x5a97c7,_0x494a0e={'lczie':_0x91e0eb(0xee),'Mlwkl':function(_0x440047,_0x1e70e9){return _0x440047(_0x1e70e9);},'CbZWD':'3000','OWZCg':_0x91e0eb(0xf4),'JEAsN':_0x91e0eb(0x10a),'OCUYZ':function(_0x13cdee,_0x8de84b){return _0x13cdee(_0x8de84b);},'gIent':_0x91e0eb(0xe0)};return{'enabled':process['env'][_0x91e0eb(0x11e)]==='true','brokers':(process[_0x91e0eb(0x12f)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x91e0eb(0x12f)]['KAFKA_CLIENT_ID']||_0x91e0eb(0x12c)+(process['env'][_0x91e0eb(0x102)]||_0x494a0e[_0x91e0eb(0xc9)])+'-consumer','connectionTimeout':_0x494a0e[_0x91e0eb(0x136)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':_0x494a0e['Mlwkl'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x91e0eb(0x112)),'sessionTimeout':parseInt(process['env']['KAFKA_SESSION_TIMEOUT']||_0x91e0eb(0xe0)),'heartbeatInterval':_0x494a0e[_0x91e0eb(0x136)](parseInt,process[_0x91e0eb(0x12f)][_0x91e0eb(0x11a)]||_0x494a0e['CbZWD']),'maxBytesPerPartition':_0x494a0e['Mlwkl'](parseInt,process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||_0x494a0e[_0x91e0eb(0x135)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0x91e0eb(0x119),'autoCommitInterval':_0x494a0e[_0x91e0eb(0x136)](parseInt,process[_0x91e0eb(0x12f)][_0x91e0eb(0xc5)]||_0x494a0e[_0x91e0eb(0xcf)]),'retryAttempts':_0x494a0e['OCUYZ'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0x494a0e['Mlwkl'](parseInt,process[_0x91e0eb(0x12f)]['KAFKA_RETRY_DELAY']||_0x91e0eb(0x10b)),'retryMaxDelay':_0x494a0e['Mlwkl'](parseInt,process['env'][_0x91e0eb(0x117)]||_0x494a0e[_0x91e0eb(0xda)]),'logLevel':process[_0x91e0eb(0x12f)]['KAFKA_LOG_LEVEL']||'warn'};}[a0_0x5a97c7(0x12a)](_0x365126){const _0x93e26d=a0_0x5a97c7,_0xe476d8={'nothing':logLevel[_0x93e26d(0xd8)],'error':logLevel['ERROR'],'warn':logLevel[_0x93e26d(0x106)],'info':logLevel[_0x93e26d(0xea)],'debug':logLevel[_0x93e26d(0x139)]};return _0xe476d8[_0x365126['toLowerCase']()]||logLevel[_0x93e26d(0x106)];}async[a0_0x5a97c7(0x11d)](_0x4a495f={}){const _0x2fb49c=a0_0x5a97c7,_0x16c62c={'YzQQz':function(_0x379930,_0x5dedbf){return _0x379930===_0x5dedbf;},'vGxmc':_0x2fb49c(0x119),'sojWE':_0x2fb49c(0xee),'rFPUI':function(_0xdd9143,_0x27ce8a){return _0xdd9143(_0x27ce8a);}},_0xccc070=this['getConfig']();if(!_0xccc070['enabled'])return console[_0x2fb49c(0x105)]('[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x2fb49c(0xe1)])return!![];if(this[_0x2fb49c(0x13a)]&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3edd8c=>{const _0xef83bf=_0x2fb49c;try{let _0xb20b30=undefined;_0x16c62c[_0xef83bf(0x11f)](process[_0xef83bf(0x12f)]['KAFKA_SSL'],_0x16c62c['vGxmc'])&&(_0xb20b30=!![]);let _0x593ce0=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x593ce0={'mechanism':process[_0xef83bf(0x12f)]['KAFKA_SASL_MECHANISM'],'username':process[_0xef83bf(0x12f)][_0xef83bf(0x126)]||'','password':process[_0xef83bf(0x12f)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4a495f['clientId']||_0xccc070[_0xef83bf(0xf7)],'brokers':_0xccc070['brokers'],'connectionTimeout':_0xccc070[_0xef83bf(0x10c)],'requestTimeout':_0xccc070[_0xef83bf(0xe8)],'logLevel':this['getLogLevel'](_0xccc070['logLevel']),'ssl':_0xb20b30,'sasl':_0x593ce0,'retry':{'initialRetryTime':_0xccc070['retryDelay'],'retries':_0xccc070[_0xef83bf(0x111)],'maxRetryTime':_0xccc070[_0xef83bf(0x107)]}}),this['groupId']=_0x4a495f[_0xef83bf(0xe6)]||'restforge-'+(process[_0xef83bf(0x12f)]['RESTFORGE_PROJECT_NAME']||_0x16c62c['sojWE'])+'-consumer-group',this['consumer']=this[_0xef83bf(0xdb)]['consumer']({'groupId':this[_0xef83bf(0xe6)],'sessionTimeout':_0xccc070[_0xef83bf(0xc8)],'heartbeatInterval':_0xccc070[_0xef83bf(0xfd)],'maxBytesPerPartition':_0xccc070[_0xef83bf(0xf5)],'allowAutoTopicCreation':![]}),await this['consumer'][_0xef83bf(0x115)](),this[_0xef83bf(0xe1)]=!![],console['log'](_0xef83bf(0xc2)+_0xccc070[_0xef83bf(0x103)]['join'](',\x20')+_0xef83bf(0x12d)+this[_0xef83bf(0xe6)]+')'),this['setupEventHandlers'](),_0x3edd8c(!![]);}catch(_0x5c1ac8){console['error'](_0xef83bf(0xec)+_0x5c1ac8['message']),this['isConnected']=![],_0x16c62c['rFPUI'](_0x3edd8c,![]);}finally{this[_0xef83bf(0x13a)]=![];}}),this['connectionPromise'];}['setupEventHandlers'](){const _0x45d825=a0_0x5a97c7,_0x331796={'KhrHR':'3|4|1|0|2','RRVNH':_0x45d825(0x100)},_0x40fc32=_0x331796['KhrHR'][_0x45d825(0x125)]('|');let _0x402541=0x0;while(!![]){switch(_0x40fc32[_0x402541++]){case'0':this['consumer']['on']('consumer.crash',_0x3745ba=>{const _0x55d33b=_0x45d825;console['error'](_0x55d33b(0xf3)+_0x3745ba[_0x55d33b(0xf6)]['error']['message']),this[_0x55d33b(0x121)]=![];});continue;case'1':this['consumer']['on'](_0x45d825(0xfe),()=>{const _0x2287d2=_0x45d825;console['log']('[KafkaConsumer]\x20Consumer\x20stopped'),this[_0x2287d2(0x121)]=![];});continue;case'2':this['consumer']['on'](_0x45d825(0xe3),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});continue;case'3':if(!this['consumer'])return;continue;case'4':this[_0x45d825(0xd7)]['on'](_0x331796[_0x45d825(0x114)],()=>{const _0x279b62=_0x45d825;console['log']('[KafkaConsumer]\x20Consumer\x20disconnected'),this['isConnected']=![],this[_0x279b62(0x121)]=![];});continue;}break;}}async['subscribe'](_0x52bb8e,_0x5961d5=![]){const _0x4d7551=a0_0x5a97c7,_0x1cfab1={'HvXed':_0x4d7551(0xf2)};if(!this[_0x4d7551(0xe1)])return console[_0x4d7551(0xfc)](_0x1cfab1['HvXed']),![];try{const _0x19b299=Array[_0x4d7551(0x120)](_0x52bb8e)?_0x52bb8e:[_0x52bb8e];for(const _0xc9f058 of _0x19b299){await this['consumer'][_0x4d7551(0xd1)]({'topic':_0xc9f058,'fromBeginning':_0x5961d5}),console[_0x4d7551(0x105)](_0x4d7551(0x116)+_0xc9f058+'\x20(fromBeginning:\x20'+_0x5961d5+')');}return this[_0x4d7551(0xff)]=[...new Set([...this['subscribedTopics'],..._0x19b299])],!![];}catch(_0xb5ab77){return console['error'](_0x4d7551(0xc3)+_0xb5ab77['message']),![];}}async['startConsuming'](_0x23a4c5,_0x382e4d={}){const _0xf609a7=a0_0x5a97c7,_0x194b7e={'Sunbd':function(_0x11513f,_0x26189c){return _0x11513f(_0x26189c);},'WQPAu':function(_0x1b0a46){return _0x1b0a46();},'odjyY':_0xf609a7(0xed)};if(!this[_0xf609a7(0xe1)])return console[_0xf609a7(0xfc)](_0xf609a7(0x12b)),![];if(this[_0xf609a7(0x121)])return console[_0xf609a7(0x105)](_0x194b7e['odjyY']),!![];const _0x1ab9b8=this[_0xf609a7(0x10d)]();this['messageHandler']=_0x23a4c5;try{return this[_0xf609a7(0xc4)][_0xf609a7(0xe5)]=new Date(),await this[_0xf609a7(0xd7)][_0xf609a7(0xe7)]({'autoCommit':_0x382e4d[_0xf609a7(0x13b)]!==undefined?_0x382e4d['autoCommit']:_0x1ab9b8['autoCommit'],'autoCommitInterval':_0x1ab9b8[_0xf609a7(0x109)],'eachMessage':async({topic:_0x54ab66,partition:_0x17d2ee,message:_0x3ca3f4,heartbeat:_0x50ea95})=>{const _0x5f2016=_0xf609a7,_0x2734d9=Date['now']();this[_0x5f2016(0xc4)]['messagesReceived']++,this[_0x5f2016(0xc4)][_0x5f2016(0xe9)]=new Date();try{const _0x1ebb09=_0x3ca3f4['value']?_0x3ca3f4['value'][_0x5f2016(0xfa)]():null;let _0x5a9fd4=null;try{_0x5a9fd4=_0x1ebb09?JSON[_0x5f2016(0x113)](_0x1ebb09):null;}catch(_0x376397){_0x5a9fd4=_0x1ebb09;}const _0x29d15f={'topic':_0x54ab66,'partition':_0x17d2ee,'offset':_0x3ca3f4['offset'],'key':_0x3ca3f4['key']?_0x3ca3f4['key']['toString']():null,'headers':this['parseHeaders'](_0x3ca3f4['headers']),'timestamp':_0x3ca3f4['timestamp'],'value':_0x5a9fd4,'raw':_0x1ebb09};this[_0x5f2016(0x131)]&&await this[_0x5f2016(0x131)](_0x29d15f);!_0x1ab9b8[_0x5f2016(0x13b)]&&await this[_0x5f2016(0xd7)]['commitOffsets']([{'topic':_0x54ab66,'partition':_0x17d2ee,'offset':(_0x194b7e['Sunbd'](parseInt,_0x3ca3f4[_0x5f2016(0x129)])+0x1)[_0x5f2016(0xfa)]()}]);this['metrics'][_0x5f2016(0x127)]++;const _0x59e90f=Date['now']()-_0x2734d9;this[_0x5f2016(0xc4)][_0x5f2016(0xd0)]['push'](_0x59e90f),this['metrics'][_0x5f2016(0xd0)]['length']>0x64&&this[_0x5f2016(0xc4)][_0x5f2016(0xd0)]['shift'](),await _0x194b7e[_0x5f2016(0x110)](_0x50ea95);}catch(_0x315cbd){this[_0x5f2016(0xc4)][_0x5f2016(0x124)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x315cbd[_0x5f2016(0x133)]);throw _0x315cbd;}}}),this['isRunning']=!![],console[_0xf609a7(0x105)](_0xf609a7(0xeb)+this['subscribedTopics'][_0xf609a7(0x10e)](',\x20')),!![];}catch(_0x3fe6d1){return console['error'](_0xf609a7(0x11c)+_0x3fe6d1[_0xf609a7(0x133)]),![];}}['parseHeaders'](_0x265eba){const _0x1c68d9=a0_0x5a97c7;if(!_0x265eba)return{};const _0x28101a={};for(const [_0x83880e,_0xdbaa51]of Object['entries'](_0x265eba)){_0x28101a[_0x83880e]=_0xdbaa51?_0xdbaa51[_0x1c68d9(0xfa)]():null;}return _0x28101a;}async['pause'](){const _0x292fd8=a0_0x5a97c7,_0x5e8ccc={'oIMdH':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x292fd8(0xe1)]||!this['isRunning'])return console[_0x292fd8(0x105)]('[KafkaConsumer]\x20Cannot\x20pause\x20-\x20consumer\x20not\x20running'),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x492335=this[_0x292fd8(0xff)]['map'](_0x3b45c2=>({'topic':_0x3b45c2}));return this[_0x292fd8(0xd7)]['pause'](_0x492335),this['isPaused']=!![],console['log'](_0x5e8ccc[_0x292fd8(0xd3)]),!![];}catch(_0x7cc38a){return console['error']('[KafkaConsumer]\x20Pause\x20error:\x20'+_0x7cc38a['message']),![];}}async['resume'](){const _0x3a714b=a0_0x5a97c7,_0x41b98a={'pwEqP':'[KafkaConsumer]\x20Consumer\x20not\x20paused'};if(!this[_0x3a714b(0xe1)]||!this[_0x3a714b(0x121)])return console[_0x3a714b(0x105)](_0x3a714b(0xef)),![];if(!this[_0x3a714b(0xdc)])return console[_0x3a714b(0x105)](_0x41b98a['pwEqP']),!![];try{const _0x5acf56=this['subscribedTopics']['map'](_0x8a57be=>({'topic':_0x8a57be}));return this['consumer'][_0x3a714b(0xd2)](_0x5acf56),this[_0x3a714b(0xdc)]=![],console['log'](_0x3a714b(0xfb)),!![];}catch(_0x5b0989){return console[_0x3a714b(0xfc)](_0x3a714b(0x10f)+_0x5b0989[_0x3a714b(0x133)]),![];}}async['stop'](){const _0x2436ee=a0_0x5a97c7,_0x1258d5={'YsDCu':_0x2436ee(0x130),'TTTdh':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this['isConnected'])return console['log'](_0x1258d5[_0x2436ee(0xcd)]),!![];try{return this['consumer']&&(await this[_0x2436ee(0xd7)]['stop'](),await this[_0x2436ee(0xd7)]['disconnect']()),this['isConnected']=![],this['isRunning']=![],this[_0x2436ee(0xdc)]=![],console[_0x2436ee(0x105)](_0x1258d5[_0x2436ee(0xf8)]),!![];}catch(_0x4f2544){return console[_0x2436ee(0xfc)](_0x2436ee(0x122)+_0x4f2544[_0x2436ee(0x133)]),![];}}async[a0_0x5a97c7(0x132)](_0x503d14,_0x34b4a3,_0x5d25ed){const _0xbe00a5=a0_0x5a97c7;if(!this[_0xbe00a5(0xe1)])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0xbe00a5(0xd7)][_0xbe00a5(0xf1)]({'topic':_0x503d14,'partition':_0x34b4a3,'offset':_0x5d25ed['toString']()}),console['log']('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0x5d25ed+_0xbe00a5(0x134)+_0x503d14+':'+_0x34b4a3),!![];}catch(_0x9c1a06){return console[_0xbe00a5(0xfc)]('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x9c1a06['message']),![];}}['getStatus'](){const _0x23d4cf=a0_0x5a97c7,_0x3025bc=this[_0x23d4cf(0x10d)]();return{'enabled':_0x3025bc['enabled'],'connected':this[_0x23d4cf(0xe1)],'running':this['isRunning'],'paused':this[_0x23d4cf(0xdc)],'brokers':_0x3025bc['brokers'],'clientId':_0x3025bc[_0x23d4cf(0xf7)],'groupId':this[_0x23d4cf(0xe6)],'subscribedTopics':this['subscribedTopics']};}[a0_0x5a97c7(0xcb)](){const _0x32b8fb=a0_0x5a97c7,_0x544e8c={'XzDEZ':function(_0x3671ad,_0x506a8e){return _0x3671ad>_0x506a8e;},'doVHL':function(_0x385a1b,_0x35ea16){return _0x385a1b>_0x35ea16;},'eryHW':function(_0x64ea0,_0x5aa67a){return _0x64ea0+_0x5aa67a;},'PsZIV':function(_0x2e3162,_0x793850){return _0x2e3162*_0x793850;},'SbwKI':function(_0x3c8b65,_0x376453){return _0x3c8b65/_0x376453;},'qrtOQ':function(_0x4a2faf,_0x199d06){return _0x4a2faf+_0x199d06;},'tRrVt':function(_0x2f5bca,_0x14dfbf){return _0x2f5bca-_0x14dfbf;}},_0x465a95=_0x544e8c[_0x32b8fb(0xc7)](this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)][_0x32b8fb(0xc6)],0x0)?this['metrics'][_0x32b8fb(0xd0)][_0x32b8fb(0xe2)]((_0x2e39dc,_0x5efa80)=>_0x2e39dc+_0x5efa80,0x0)/this['metrics'][_0x32b8fb(0xd0)]['length']:0x0,_0x50675f=this['metrics'][_0x32b8fb(0xd0)][_0x32b8fb(0xc6)]>0x0?Math['min'](...this['metrics']['processingTimes']):0x0,_0x13343a=_0x544e8c[_0x32b8fb(0x138)](this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)]['length'],0x0)?Math[_0x32b8fb(0xe4)](...this[_0x32b8fb(0xc4)][_0x32b8fb(0xd0)]):0x0;return{'messagesReceived':this['metrics'][_0x32b8fb(0xca)],'messagesProcessed':this['metrics'][_0x32b8fb(0x127)],'messagesFailed':this[_0x32b8fb(0xc4)][_0x32b8fb(0x124)],'successRate':this['metrics'][_0x32b8fb(0xca)]>0x0?_0x544e8c[_0x32b8fb(0x118)](_0x544e8c['PsZIV'](_0x544e8c['SbwKI'](this['metrics'][_0x32b8fb(0x127)],this['metrics'][_0x32b8fb(0xca)]),0x64)[_0x32b8fb(0xf0)](0x2),'%'):'0%','lastMessageTime':this[_0x32b8fb(0xc4)]['lastMessageTime'],'startTime':this[_0x32b8fb(0xc4)]['startTime'],'uptime':this[_0x32b8fb(0xc4)]['startTime']?_0x544e8c['qrtOQ'](Math[_0x32b8fb(0x13c)](_0x544e8c[_0x32b8fb(0x123)](_0x544e8c['tRrVt'](Date[_0x32b8fb(0xdf)](),this[_0x32b8fb(0xc4)]['startTime'][_0x32b8fb(0xce)]()),0x3e8)),'s'):'0s','processingTime':{'avg':Math['round'](_0x465a95)+'ms','min':_0x50675f+'ms','max':_0x13343a+'ms'}};}[a0_0x5a97c7(0x128)](){const _0x3438ef=a0_0x5a97c7;this[_0x3438ef(0xc4)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log']('[KafkaConsumer]\x20Metrics\x20reset');}async['close'](){await this['stop']();}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function a0_0x1a13(){const _0x2b5c0d=['w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','Bwv0CMLJCW','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','BgvUz3rO','whPervO','C2vZC2LVBLrPBwvVDxq','Bgn6Awu','BwvZC2fNzxnszwnLAxzLza','z2v0twv0CMLJCW','mJa1ruDlBwj3','wxneq3u','z2v0vgLTzq','sKvbC04','ChjVy2vZC2LUz1rPBwvZ','C3vIC2nYAwjL','CMvZDw1L','B0LnzeG','mteYmta0oxDzBhv5tq','mZblsMTpshC','ndbIAfHdD2e','y29UC3vTzxi','tK9useLorW','mtCWmZe3r0TMu1D2','z0LLBNq','A2fMA2e','AxnqyxvZzwq','oti3ntq0D2vkD3z3','EezLsva','BM93','mZaWmda','AxndB25Uzwn0zwq','CMvKDwnL','y29UC3vTzxiUCMvIywXHBMnPBMC','Bwf4','C3rHCNruAw1L','z3jVDxbjza','CNvU','CMvXDwvZDfrPBwvVDxq','BgfZDe1LC3nHz2vuAw1L','su5gtW','w0THzMTHq29UC3vTzxjDifn0yxj0zwqGy29UC3vTAw5NigzYB20GDg9WAwnZoIa','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','zgvMyxvSDa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','Dg9gAxHLza','C2vLAW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignYyxnOzwq6ia','mta0odu3nG','Bwf4qNL0zxnqzxjqyxj0AxrPB24','Cgf5Bg9Hza','y2XPzw50swq','vfruzgG','y29UBMvJDgLVBLbYB21PC2u','Dg9tDhjPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','zxjYB3i','AgvHCNrIzwf0sw50zxj2ywW','y29UC3vTzxiUC3rVCa','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUzgLZy29UBMvJDa','mtjtAu5MtK8','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yNjVA2vYCW','y2XVC2u','Bg9N','v0fstG','CMv0CNLnyxHezwXHEq','ndm1nJy2me5IBNbLBa','yxv0B0nVBw1PDeLUDgvYDMfS','ntaWma','mtaWma','y29UBMvJDgLVBLrPBwvVDxq','z2v0q29UzMLN','AM9PBG','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','v1fqqxu','CMv0CNLbDhrLBxb0CW','mJuWmda','CgfYC2u','uLjwtKG','y29UBMvJDa','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','s0fgs0fFuKvuuLLFtufyx0rftefz','zxj5sfC','Dhj1zq','s0fgs0fFsevbuLrcrufux0LovevsvKfm','mti4mJbfseLJyxu','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Aw5PDgLHBgL6zq','s0fgs0fFru5bqKXfra','wxPruxO','AxnbCNjHEq','AxnsDw5UAw5N','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','u2j3s0K','BwvZC2fNzxngywLSzwq','C3bSAxq','s0fgs0fFu0fttf9vu0vstKfnrq','BwvZC2fNzxnqCM9JzxnZzwq','CMvZzxrnzxrYAwnZ','B2zMC2v0','z2v0tg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','CMvZDgzVCMDLlq','icHNCM91CeLKoIa','mZe1odvywNz5DNi','zw52','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','BwvZC2fNzuHHBMrSzxi','C2vLA1rVt2zMC2v0','BwvZC2fNzq','ig9Uia','t1DAq2C','twX3A2W','mZCXmJKYAgPJzvb1','zg9wseW','revcvuC','AxnjBML0AwfSAxPPBMC','yxv0B0nVBw1PDa','zMXVB3i','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa'];a0_0x1a13=function(){return _0x2b5c0d;};return a0_0x1a13();}function resetInstance(){const _0x10bde2=a0_0x5a97c7;instance&&(instance[_0x10bde2(0x104)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
@@ -1 +1 @@
1
- function a0_0x5b78(_0x50db5d,_0x456038){_0x50db5d=_0x50db5d-0xec;const _0x380d88=a0_0x380d();let _0x5b7862=_0x380d88[_0x50db5d];if(a0_0x5b78['zxTrwc']===undefined){var _0x42dda9=function(_0x557e4d){const _0x7d9863='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x17876e='',_0x9eb901='';for(let _0x4545d3=0x0,_0x528506,_0x3071bd,_0x4e29b9=0x0;_0x3071bd=_0x557e4d['charAt'](_0x4e29b9++);~_0x3071bd&&(_0x528506=_0x4545d3%0x4?_0x528506*0x40+_0x3071bd:_0x3071bd,_0x4545d3++%0x4)?_0x17876e+=String['fromCharCode'](0xff&_0x528506>>(-0x2*_0x4545d3&0x6)):0x0){_0x3071bd=_0x7d9863['indexOf'](_0x3071bd);}for(let _0x5f9c7=0x0,_0x58491a=_0x17876e['length'];_0x5f9c7<_0x58491a;_0x5f9c7++){_0x9eb901+='%'+('00'+_0x17876e['charCodeAt'](_0x5f9c7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x9eb901);};a0_0x5b78['gtBAAf']=_0x42dda9,a0_0x5b78['FINeKP']={},a0_0x5b78['zxTrwc']=!![];}const _0x3ecf33=_0x380d88[0x0],_0xa9537=_0x50db5d+_0x3ecf33,_0x1a2898=a0_0x5b78['FINeKP'][_0xa9537];return!_0x1a2898?(_0x5b7862=a0_0x5b78['gtBAAf'](_0x5b7862),a0_0x5b78['FINeKP'][_0xa9537]=_0x5b7862):_0x5b7862=_0x1a2898,_0x5b7862;}const a0_0x656d20=a0_0x5b78;(function(_0x44c99e,_0x591084){const _0x4f96bb=a0_0x5b78,_0xf2b122=_0x44c99e();while(!![]){try{const _0x86f489=-parseInt(_0x4f96bb(0x141))/0x1+-parseInt(_0x4f96bb(0x11b))/0x2+parseInt(_0x4f96bb(0xf4))/0x3*(-parseInt(_0x4f96bb(0x102))/0x4)+parseInt(_0x4f96bb(0x10b))/0x5+-parseInt(_0x4f96bb(0xfa))/0x6*(parseInt(_0x4f96bb(0x10a))/0x7)+-parseInt(_0x4f96bb(0x128))/0x8*(parseInt(_0x4f96bb(0x101))/0x9)+parseInt(_0x4f96bb(0x11d))/0xa;if(_0x86f489===_0x591084)break;else _0xf2b122['push'](_0xf2b122['shift']());}catch(_0x1f377c){_0xf2b122['push'](_0xf2b122['shift']());}}}(a0_0x380d,0x7d9b9));const {Kafka,logLevel,Partitioners}=require(a0_0x656d20(0x134)),{v7:uuidv7}=require(a0_0x656d20(0x119));class KafkaService{constructor(){const _0x1a8728=a0_0x656d20,_0x2f6570={'axnsB':'4|0|3|2|1'},_0x3ba0d7=_0x2f6570['axnsB']['split']('|');let _0x3841dc=0x0;while(!![]){switch(_0x3ba0d7[_0x3841dc++]){case'0':this[_0x1a8728(0x13b)]=null;continue;case'1':this[_0x1a8728(0x14d)]=null;continue;case'2':this['isInitializing']=![];continue;case'3':this[_0x1a8728(0x108)]=![];continue;case'4':this[_0x1a8728(0xfe)]=null;continue;}break;}}['getConfig'](){const _0x565cad=a0_0x656d20,_0x3015b7={'jNCbZ':'localhost:9092','tRCDO':'default','pBdSw':_0x565cad(0x118),'CcNTM':function(_0x27d68c,_0x1065e2){return _0x27d68c(_0x1065e2);},'GmCug':'25000','YCNyx':'{module}.{endpoint}.events','wiyfs':function(_0x2f79e1,_0x4ccca3){return _0x2f79e1(_0x4ccca3);},'mgYBA':function(_0x7b796f,_0x15d0db){return _0x7b796f(_0x15d0db);},'rExQt':_0x565cad(0x138),'iIgOE':_0x565cad(0xf8)};return{'enabled':process[_0x565cad(0xef)]['KAFKA_ENABLED']==='true','brokers':(process['env']['KAFKA_BROKERS']||_0x3015b7[_0x565cad(0x107)])[_0x565cad(0x110)](','),'clientId':process['env'][_0x565cad(0x116)]||_0x565cad(0x132)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x3015b7[_0x565cad(0x109)])+'-producer','connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x3015b7['pBdSw']),'requestTimeout':_0x3015b7[_0x565cad(0xfb)](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x3015b7[_0x565cad(0x147)]),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x3015b7[_0x565cad(0xff)],'tenantId':process['env'][_0x565cad(0x149)]||_0x3015b7['tRCDO'],'retryAttempts':_0x3015b7[_0x565cad(0x131)](parseInt,process['env'][_0x565cad(0x106)]||'3'),'retryDelay':_0x3015b7['mgYBA'](parseInt,process['env'][_0x565cad(0x125)]||_0x3015b7['rExQt']),'logLevel':process['env'][_0x565cad(0x117)]||_0x3015b7['iIgOE']};}['getLogLevel'](_0x6fdab4){const _0x517ed8=a0_0x656d20,_0x50538d={'nothing':logLevel['NOTHING'],'error':logLevel[_0x517ed8(0x133)],'warn':logLevel['WARN'],'info':logLevel[_0x517ed8(0x12f)],'debug':logLevel[_0x517ed8(0x11e)]};return _0x50538d[_0x6fdab4['toLowerCase']()]||logLevel['WARN'];}async[a0_0x656d20(0x124)](){const _0x5d85de=a0_0x656d20,_0x494f4e={'mSSYE':function(_0x176cf1,_0x4bd1d5){return _0x176cf1===_0x4bd1d5;},'fnpAI':_0x5d85de(0x10e),'smQbk':function(_0x2ec5e0,_0x4d81bf){return _0x2ec5e0(_0x4d81bf);},'fbFhf':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3b5d0c=this['getConfig']();if(!_0x3b5d0c['enabled'])return console[_0x5d85de(0x126)](_0x494f4e['fbFhf']),![];if(this[_0x5d85de(0x108)])return!![];if(this[_0x5d85de(0x11a)]&&this['connectionPromise'])return this[_0x5d85de(0x14d)];return this[_0x5d85de(0x11a)]=!![],this['connectionPromise']=new Promise(async _0x51b2b1=>{const _0x29e799=_0x5d85de;try{let _0x1d28a5=undefined;_0x494f4e['mSSYE'](process[_0x29e799(0xef)][_0x29e799(0x142)],'true')&&(_0x1d28a5=!![]);let _0x3f8809=undefined;process[_0x29e799(0xef)][_0x29e799(0x12b)]&&(_0x3f8809={'mechanism':process[_0x29e799(0xef)][_0x29e799(0x12b)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x29e799(0xfe)]=new Kafka({'clientId':_0x3b5d0c[_0x29e799(0xf7)],'brokers':_0x3b5d0c[_0x29e799(0x11c)],'connectionTimeout':_0x3b5d0c[_0x29e799(0x127)],'requestTimeout':_0x3b5d0c[_0x29e799(0x10c)],'logLevel':this['getLogLevel'](_0x3b5d0c[_0x29e799(0x120)]),'ssl':_0x1d28a5,'sasl':_0x3f8809,'retry':{'initialRetryTime':_0x3b5d0c['retryDelay'],'retries':_0x3b5d0c[_0x29e799(0x104)]}}),this[_0x29e799(0x13b)]=this['kafka'][_0x29e799(0x13b)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer']['connect'](),this['isConnected']=!![],console[_0x29e799(0x126)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x3b5d0c['brokers']['join'](',\x20')),this['producer']['on'](_0x494f4e[_0x29e799(0x143)],()=>{const _0x274aa9=_0x29e799;console[_0x274aa9(0x126)]('[Kafka]\x20Producer\x20disconnected'),this[_0x274aa9(0x108)]=![];}),_0x494f4e[_0x29e799(0x121)](_0x51b2b1,!![]);}catch(_0x4954f7){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x4954f7[_0x29e799(0x146)]),this['isConnected']=![],_0x51b2b1(![]);}finally{this[_0x29e799(0x11a)]=![];}}),this[_0x5d85de(0x14d)];}['formatDateTime'](_0x491c51){const _0x1edfdc=a0_0x656d20,_0x1a9605={'IcGTt':function(_0x1f5192,_0x3b5f03){return _0x1f5192(_0x3b5f03);},'rIFgN':function(_0x2e4124,_0x3377a7){return _0x2e4124(_0x3377a7);}},_0x148500=_0x491c51||new Date(),_0x109bb1=_0x148500[_0x1edfdc(0x140)](),_0x8010da=String(_0x148500[_0x1edfdc(0xf9)]()+0x1)[_0x1edfdc(0x12d)](0x2,'0'),_0x3896aa=_0x1a9605[_0x1edfdc(0x14a)](String,_0x148500['getDate']())[_0x1edfdc(0x12d)](0x2,'0'),_0x5dc607=String(_0x148500[_0x1edfdc(0x130)]())[_0x1edfdc(0x12d)](0x2,'0'),_0x28eb9d=_0x1a9605[_0x1edfdc(0xee)](String,_0x148500[_0x1edfdc(0x14b)]())['padStart'](0x2,'0'),_0x496605=String(_0x148500['getSeconds']())['padStart'](0x2,'0');return _0x109bb1+'-'+_0x8010da+'-'+_0x3896aa+'\x20'+_0x5dc607+':'+_0x28eb9d+':'+_0x496605;}[a0_0x656d20(0xfc)](_0x1327d1,_0x292b36,_0x5b928a,_0x4a5da7=null){const _0x2430f2=a0_0x656d20,_0x44fcb1={'sdFac':_0x2430f2(0x139),'QZgvY':'{endpoint}'};if(_0x4a5da7)return _0x4a5da7;const _0x4b5a15=this['getConfig']()['topicPattern'];return _0x4b5a15['replace'](_0x44fcb1['sdFac'],_0x1327d1)['replace'](_0x44fcb1['QZgvY'],_0x292b36)[_0x2430f2(0x148)]('{action}',_0x5b928a);}['buildEventMessage'](_0x359107,_0x3c1775,_0x79fb63,_0x5a8e2d={}){const _0x449a1=a0_0x656d20,_0x29a8a8={'ihQHd':'1.0','yMHqx':_0x449a1(0x11f),'tDxtk':'SYSTEM'},_0x28e091=new Date(),_0x826cce=this[_0x449a1(0xed)](_0x28e091),_0x2fd76c=_0x5a8e2d['correlationId']||'corr-'+uuidv7();return{'eventId':'evt-'+uuidv7(),'eventType':_0x359107,'eventTime':_0x826cce,'eventVersion':_0x29a8a8[_0x449a1(0x10f)],'source':'restforge-'+(_0x5a8e2d['module']||_0x29a8a8['yMHqx']),'correlationId':_0x2fd76c,'newData':_0x79fb63,'oldData':_0x3c1775,'metadata':{'createdBy':_0x5a8e2d[_0x449a1(0x12a)]||_0x29a8a8[_0x449a1(0xf6)],'createdAt':_0x826cce,'systemId':_0x449a1(0xfd)+(_0x5a8e2d['module']||_0x29a8a8[_0x449a1(0x10d)])['toUpperCase'](),'tenantId':this[_0x449a1(0xf5)]()[_0x449a1(0x12c)],'endpoint':_0x5a8e2d[_0x449a1(0x136)]||null,'tableName':_0x5a8e2d[_0x449a1(0xec)]||null}};}async[a0_0x656d20(0x12e)](_0x392fc3,_0x18b792,_0xa35a4,_0x474808,_0x3253d3={}){const _0x6a9abd=a0_0x656d20,_0x367f39={'WuAZc':_0x6a9abd(0x123),'YcdqW':function(_0x3032b5){return _0x3032b5();},'OXETJ':function(_0x49286b,_0x557eb8){return _0x49286b(_0x557eb8);}},_0x5f3cf8=this[_0x6a9abd(0xf5)]();if(!_0x5f3cf8['enabled'])return{'success':![],'reason':_0x367f39['WuAZc'],'published':![]};if(!this['isConnected']){const _0x454927=await this['initialize']();if(!_0x454927)return{'success':![],'reason':_0x6a9abd(0x14c),'published':![]};}try{const _0x2bc849=this['buildEventMessage'](_0x18b792,_0xa35a4,_0x474808,_0x3253d3),_0x262ba1=_0x3253d3['keyField']||'id',_0x5c301a=_0x474808?.[_0x262ba1]||_0xa35a4?.[_0x262ba1]||_0x367f39[_0x6a9abd(0x135)](uuidv7),_0x227ed5=await this['producer'][_0x6a9abd(0x145)]({'topic':_0x392fc3,'messages':[{'key':_0x367f39[_0x6a9abd(0x13a)](String,_0x5c301a),'value':JSON['stringify'](_0x2bc849),'headers':{'event-type':_0x18b792,'correlation-id':_0x2bc849[_0x6a9abd(0xf2)],'source':_0x2bc849[_0x6a9abd(0x13f)]}}]});return console['log'](_0x6a9abd(0x112)+_0x392fc3+':\x20'+_0x18b792+_0x6a9abd(0xf0)+_0x5c301a+')'),{'success':!![],'correlationId':_0x2bc849['correlationId'],'topic':_0x392fc3,'partition':_0x227ed5[0x0]?.[_0x6a9abd(0x137)],'offset':_0x227ed5[0x0]?.['baseOffset'],'published':!![]};}catch(_0x224a44){return console['error'](_0x6a9abd(0x144)+_0x392fc3+':\x20'+_0x224a44['message']),{'success':![],'error':_0x224a44['message'],'published':![]};}}async['publishInsert'](_0x239b25,_0x11f9be,_0x2b7d7a,_0xacc366={}){const _0xa5d26=a0_0x656d20,_0xd765a8={'FowuS':_0xa5d26(0x111)},_0x49c933=this['buildTopicName'](_0x239b25,_0x11f9be,_0xd765a8['FowuS'],_0xacc366['topic']);return this[_0xa5d26(0x12e)](_0x49c933,'ENTITY_CREATED',null,_0x2b7d7a,{'module':_0x239b25,'endpoint':_0x11f9be,'keyField':_0xacc366['keyField'],'tableName':_0xacc366['tableName'],'correlationId':_0xacc366['correlationId']});}async[a0_0x656d20(0x105)](_0x36e6be,_0x5b6139,_0xb594bb,_0x5b3030,_0x157cea={}){const _0x3fc919=a0_0x656d20,_0x3fcfc6={'tlXkM':_0x3fc919(0x100)},_0x42e1e0=this['buildTopicName'](_0x36e6be,_0x5b6139,_0x3fc919(0x129),_0x157cea['topic']);return this['publishEvent'](_0x42e1e0,_0x3fcfc6[_0x3fc919(0xf1)],_0xb594bb,_0x5b3030,{'module':_0x36e6be,'endpoint':_0x5b6139,'keyField':_0x157cea['keyField'],'tableName':_0x157cea[_0x3fc919(0xec)],'correlationId':_0x157cea['correlationId']});}async[a0_0x656d20(0x13e)](_0x38bccd,_0x4797d9,_0x9a470,_0x2ce415={}){const _0x7e4904=a0_0x656d20,_0x394686={'AVVwG':'deleted','wBwLa':_0x7e4904(0x113)},_0x3bb8c6=this['buildTopicName'](_0x38bccd,_0x4797d9,_0x394686['AVVwG'],_0x2ce415['topic']);return this['publishEvent'](_0x3bb8c6,_0x394686['wBwLa'],_0x9a470,null,{'module':_0x38bccd,'endpoint':_0x4797d9,'keyField':_0x2ce415['keyField'],'tableName':_0x2ce415[_0x7e4904(0xec)],'correlationId':_0x2ce415[_0x7e4904(0xf2)]});}[a0_0x656d20(0x122)](){const _0x147a27=a0_0x656d20,_0x50cbc4=this[_0x147a27(0xf5)]();return{'enabled':_0x50cbc4[_0x147a27(0x103)],'connected':this[_0x147a27(0x108)],'brokers':_0x50cbc4['brokers'],'clientId':_0x50cbc4['clientId'],'topicPattern':_0x50cbc4[_0x147a27(0x114)]};}async['close'](){const _0x5339e1=a0_0x656d20;if(this[_0x5339e1(0x13b)]&&this[_0x5339e1(0x108)])try{await this[_0x5339e1(0x13b)][_0x5339e1(0x115)](),this['isConnected']=![],console[_0x5339e1(0x126)]('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x19f92c){console[_0x5339e1(0x13c)](_0x5339e1(0xf3)+_0x19f92c[_0x5339e1(0x146)]);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x4cf490=a0_0x656d20;instance&&(instance[_0x4cf490(0x13d)](),instance=null);}function a0_0x380d(){const _0x15c090=['ndG2nJaWBg5csgDy','CMvXDwvZDfrPBwvVDxq','Eu1iCxG','ChjVzhvJzxiUzgLZy29UBMvJDa','AwHrsgq','C3bSAxq','y3jLyxrLza','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','ru5usvrzx0rftevuruq','Dg9WAwnqyxr0zxjU','zgLZy29UBMvJDa','s0fgs0fFq0Xjru5ux0Le','s0fgs0fFte9hx0XfvKvm','mZaWma','DxvPza','AxnjBML0AwfSAxPPBMC','mJGYmta0wer4rLrb','yNjVA2vYCW','mJuYmJm2otbNrhDnELK','revcvuC','Dw5RBM93BG','Bg9Ntgv2zwW','C21ryMS','z2v0u3rHDhvZ','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','Aw5PDgLHBgL6zq','s0fgs0fFuKvuuLLFrevmqvK','Bg9N','y29UBMvJDgLVBLrPBwvVDxq','ntm2vMfPu0fz','DxbKyxrLza','y3jLyxrLzej5','s0fgs0fFu0fttf9nruniqu5ju00','DgvUyw50swq','CgfKu3rHCNq','ChvIBgLZAev2zw50','su5gtW','z2v0sg91CNm','D2L5zNm','CMvZDgzVCMDLlq','rvjst1i','A2fMA2fQCW','wwnKCvC','zw5KCg9PBNq','CgfYDgL0Aw9U','mtaWma','E21VzhvSzx0','t1HfveO','ChjVzhvJzxi','zxjYB3i','y2XVC2u','ChvIBgLZAerLBgv0zq','C291CMnL','z2v0rNvSBfLLyxi','mtmZmJi1tgnsvK1m','s0fgs0fFu1nm','zM5WquK','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','C2vUza','BwvZC2fNzq','r21dDwC','CMvWBgfJzq','s0fgs0fFvevoqu5ux0Le','swnhvhq','z2v0twLUDxrLCW','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','y29UBMvJDgLVBLbYB21PC2u','DgfIBgvoyw1L','zM9YBwf0rgf0zvrPBwu','CKLgz04','zw52','icHRzxK6ia','DgXyA00','y29YCMvSyxrPB25jza','w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','ntKXnJzvA0L4yue','z2v0q29UzMLN','Der4DgS','y2XPzw50swq','D2fYBG','z2v0tw9UDgG','ntu5mKD3sKnpAq','q2nove0','yNvPBgruB3bPy05HBwu','uKvtvezpuKDflq','A2fMA2e','wunoExG','ru5usvrzx1vqrefuruq','ntm1ntLiyKfUtKm','otjyqurUqwG','zw5HyMXLza','CMv0CNLbDhrLBxb0CW','ChvIBgLZAfvWzgf0zq','s0fgs0fFuKvuuLLFqvruru1qvfm','AK5dyLO','AxndB25Uzwn0zwq','Dfjdre8','nZm1menIENbcyG'];a0_0x380d=function(){return _0x15c090;};return a0_0x380d();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
1
+ function a0_0x4f22(){const _0x381f9a=['w0THzMTHxsbfCNjVCIbKAxnJB25Uzwn0Aw5NoIa','zw5HyMXLza','DxvPza','D3HtCNe','y2XVC2u','y29YCMvSyxrPB25jza','s0fgs0fFvevoqu5ux0Le','yNvPBgrfDMvUDe1LC3nHz2u','AuHQww8','s3PYsu8','mtmWEvfSBuzu','A2fMA2e','zxzNCK4','mJe0nte2mNHZuejoAG','Bg9N','y2XPzw50swq','s0fgs0fFu0fttf9nruniqu5ju00','nMjIuMjnyq','tgvNywn5ugfYDgL0Aw9Uzxi','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','v0fstG','mtHSr3DVwNm','zgvSzxrLza','C291CMnL','u1Ltvevn','z2v0tg9Ntgv2zwW','uMXjsKq','y3jLyxrLzej5','zM9YBwf0rgf0zvrPBwu','ChvIBgLZAev2zw50','s0fgs0fFru5bqKXfra','AxndB25Uzwn0zwq','rvjst1i','z2v0q29UzMLN','y29UBMvJDgLVBLbYB21PC2u','y29UBMvJDa','CMv0CNLezwXHEq','ChvIBgLZAeLUC2vYDa','CMvWBgfJzq','E21VzhvSzx0','y29YCI0','nZC0otm1n3jWtNLkuq','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','uwfYvMm','s0fgs0fFte9hx0XfvKvm','lxbYB2r1y2vY','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','revcvuC','nZG0otG0zKDLyuPq','CgfKu3rHCNq','ChjVzhvJzxi','ru5usvrzx1vqrefuruq','Dg9WAwm','Bw9KDwXL','otG1mdaXr3DPv09K','tK9useLorW','Dw5RBM93BG','z2v0u2vJB25KCW','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','BwvZC2fNzq','C3bSAxq','EwvSChq','mJa0ndy2odbKuvfHu0K','Dg9WAwnqyxr0zxjU','mtm1oty4uev0vhfe','z2v0u3rHDhvZ','CgfYDgL0Aw9U','ALbyseO','Dhj1zq','icHRzxK6ia','Bg9Ntgv2zwW','A2v5rMLLBgq','DgfIBgvoyw1L','Ahf1EM0','AxnjBML0AwfSAxPPBMC','A2fMA2fQCW','C2vUza','yNvPBgruB3bPy05HBwu','ufbAy2i','DgTQAhi','mty0ntiWnKzVwe9qBa','zw52','E2fJDgLVBN0','su5gtW','DgvUyw50swq','s0fgs0fFu0fttf9vu0vstKfnrq','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','yNjVA2vYCW','s0fgs0fFq0Xjru5ux0Le'];a0_0x4f22=function(){return _0x381f9a;};return a0_0x4f22();}function a0_0xbf31(_0x36a144,_0xebf0de){_0x36a144=_0x36a144-0x82;const _0x4f22aa=a0_0x4f22();let _0xbf3153=_0x4f22aa[_0x36a144];if(a0_0xbf31['klbSGE']===undefined){var _0x3f71c7=function(_0x2d7ceb){const _0x38e094='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ec0e0='',_0xfc59e7='';for(let _0x1fe948=0x0,_0x586110,_0x28d21a,_0x1b09d1=0x0;_0x28d21a=_0x2d7ceb['charAt'](_0x1b09d1++);~_0x28d21a&&(_0x586110=_0x1fe948%0x4?_0x586110*0x40+_0x28d21a:_0x28d21a,_0x1fe948++%0x4)?_0x1ec0e0+=String['fromCharCode'](0xff&_0x586110>>(-0x2*_0x1fe948&0x6)):0x0){_0x28d21a=_0x38e094['indexOf'](_0x28d21a);}for(let _0x6e6fc8=0x0,_0x593de4=_0x1ec0e0['length'];_0x6e6fc8<_0x593de4;_0x6e6fc8++){_0xfc59e7+='%'+('00'+_0x1ec0e0['charCodeAt'](_0x6e6fc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xfc59e7);};a0_0xbf31['HgQSoj']=_0x3f71c7,a0_0xbf31['HbNAif']={},a0_0xbf31['klbSGE']=!![];}const _0x86975f=_0x4f22aa[0x0],_0x15005f=_0x36a144+_0x86975f,_0x4abe9a=a0_0xbf31['HbNAif'][_0x15005f];return!_0x4abe9a?(_0xbf3153=a0_0xbf31['HgQSoj'](_0xbf3153),a0_0xbf31['HbNAif'][_0x15005f]=_0xbf3153):_0xbf3153=_0x4abe9a,_0xbf3153;}const a0_0x1b41c0=a0_0xbf31;(function(_0x34e46d,_0x5ae4a1){const _0x7be480=a0_0xbf31,_0x2e5e84=_0x34e46d();while(!![]){try{const _0x244688=parseInt(_0x7be480(0x91))/0x1+-parseInt(_0x7be480(0xc1))/0x2+parseInt(_0x7be480(0xab))/0x3+parseInt(_0x7be480(0x9b))/0x4*(parseInt(_0x7be480(0xbe))/0x5)+parseInt(_0x7be480(0xc5))/0x6*(parseInt(_0x7be480(0x82))/0x7)+parseInt(_0x7be480(0x8b))/0x8*(parseInt(_0x7be480(0xc9))/0x9)+-parseInt(_0x7be480(0x99))/0xa;if(_0x244688===_0x5ae4a1)break;else _0x2e5e84['push'](_0x2e5e84['shift']());}catch(_0x377b2c){_0x2e5e84['push'](_0x2e5e84['shift']());}}}(a0_0x4f22,0x9346b));const {Kafka,logLevel,Partitioners}=require(a0_0x1b41c0(0xa6)),{v7:uuidv7}=require(a0_0x1b41c0(0xb6));class KafkaService{constructor(){const _0x2625b1=a0_0x1b41c0,_0x580758='4|0|2|1|3'['split']('|');let _0x213ca1=0x0;while(!![]){switch(_0x580758[_0x213ca1++]){case'0':this['producer']=null;continue;case'1':this['isInitializing']=![];continue;case'2':this[_0x2625b1(0xd3)]=![];continue;case'3':this[_0x2625b1(0xd6)]=null;continue;case'4':this['kafka']=null;continue;}break;}}['getConfig'](){const _0x2229f1=a0_0x1b41c0,_0x9bbd8e={'iHjYo':'true','UxNPc':'localhost:9092','tkjhr':'default','ffutZ':function(_0x26194a,_0x568447){return _0x26194a(_0x568447);},'YCVDO':'1000'};return{'enabled':process['env'][_0x2229f1(0xd2)]===_0x9bbd8e[_0x2229f1(0xbc)],'brokers':(process['env']['KAFKA_BROKERS']||_0x9bbd8e['UxNPc'])[_0x2229f1(0x97)](','),'clientId':process[_0x2229f1(0xac)][_0x2229f1(0xb3)]||'restforge-'+(process[_0x2229f1(0xac)][_0x2229f1(0x85)]||_0x9bbd8e[_0x2229f1(0xaa)])+_0x2229f1(0x88),'connectionTimeout':_0x9bbd8e['ffutZ'](parseInt,process[_0x2229f1(0xac)]['KAFKA_CONNECTION_TIMEOUT']||'3000'),'requestTimeout':parseInt(process['env']['KAFKA_REQUEST_TIMEOUT']||'25000'),'topicPattern':process['env']['KAFKA_TOPIC_PATTERN']||_0x2229f1(0x83),'tenantId':process['env'][_0x2229f1(0xba)]||'default','retryAttempts':_0x9bbd8e['ffutZ'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env']['KAFKA_RETRY_DELAY']||_0x9bbd8e['YCVDO']),'logLevel':process[_0x2229f1(0xac)][_0x2229f1(0x87)]||'warn'};}[a0_0x1b41c0(0xcd)](_0x44c89c){const _0x5b2f76=a0_0x1b41c0,_0x308f93={'nothing':logLevel[_0x5b2f76(0x92)],'error':logLevel[_0x5b2f76(0xd4)],'warn':logLevel[_0x5b2f76(0xc8)],'info':logLevel[_0x5b2f76(0xae)],'debug':logLevel[_0x5b2f76(0x8a)]};return _0x308f93[_0x44c89c['toLowerCase']()]||logLevel[_0x5b2f76(0xc8)];}async['initialize'](){const _0x3dd4fb=a0_0x1b41c0,_0x4d010e={'cOEil':_0x3dd4fb(0x9f),'RlIJD':function(_0x45d454,_0x5160f5){return _0x45d454(_0x5160f5);}},_0x14c9bb=this[_0x3dd4fb(0xd5)]();if(!_0x14c9bb['enabled'])return console['log']('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0x3dd4fb(0xd3)])return!![];if(this[_0x3dd4fb(0xa5)]&&this[_0x3dd4fb(0xd6)])return this[_0x3dd4fb(0xd6)];return this[_0x3dd4fb(0xa5)]=!![],this[_0x3dd4fb(0xd6)]=new Promise(async _0x240585=>{const _0x53e79a=_0x3dd4fb;try{let _0x36807b=undefined;process[_0x53e79a(0xac)]['KAFKA_SSL']===_0x4d010e['cOEil']&&(_0x36807b=!![]);let _0x5846c7=undefined;process[_0x53e79a(0xac)][_0x53e79a(0xc4)]&&(_0x5846c7={'mechanism':process[_0x53e79a(0xac)][_0x53e79a(0xc4)],'username':process['env'][_0x53e79a(0xb0)]||'','password':process['env']['KAFKA_SASL_PASSWORD']||''}),this[_0x53e79a(0xbf)]=new Kafka({'clientId':_0x14c9bb[_0x53e79a(0xc3)],'brokers':_0x14c9bb['brokers'],'connectionTimeout':_0x14c9bb['connectionTimeout'],'requestTimeout':_0x14c9bb['requestTimeout'],'logLevel':this[_0x53e79a(0xcd)](_0x14c9bb[_0x53e79a(0xa1)]),'ssl':_0x36807b,'sasl':_0x5846c7,'retry':{'initialRetryTime':_0x14c9bb[_0x53e79a(0xd8)],'retries':_0x14c9bb['retryAttempts']}}),this['producer']=this[_0x53e79a(0xbf)][_0x53e79a(0x8d)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x53e79a(0xc6)]}),await this[_0x53e79a(0x8d)][_0x53e79a(0xd7)](),this['isConnected']=!![],console[_0x53e79a(0xc2)](_0x53e79a(0xc7)+_0x14c9bb['brokers']['join'](',\x20')),this[_0x53e79a(0x8d)]['on']('producer.disconnect',()=>{const _0x55ec53=_0x53e79a;console[_0x55ec53(0xc2)](_0x55ec53(0x95)),this['isConnected']=![];}),_0x4d010e['RlIJD'](_0x240585,!![]);}catch(_0x13d808){console['error'](_0x53e79a(0x89)+_0x13d808[_0x53e79a(0x96)]),this['isConnected']=![],_0x4d010e[_0x53e79a(0xce)](_0x240585,![]);}finally{this['isInitializing']=![];}}),this[_0x3dd4fb(0xd6)];}[a0_0x1b41c0(0xd0)](_0x53147c){const _0x24c79f=a0_0x1b41c0,_0x1134f2={'oNynL':function(_0x3539b0,_0x4481cf){return _0x3539b0(_0x4481cf);},'OqXCo':function(_0x595d93,_0x160238){return _0x595d93+_0x160238;}},_0x419f5d=_0x53147c||new Date(),_0x5e2190=_0x419f5d['getFullYear'](),_0x17f1e1=_0x1134f2['oNynL'](String,_0x1134f2['OqXCo'](_0x419f5d['getMonth'](),0x1))['padStart'](0x2,'0'),_0x547f11=String(_0x419f5d['getDate']())[_0x24c79f(0x8c)](0x2,'0'),_0x4f50e9=String(_0x419f5d['getHours']())[_0x24c79f(0x8c)](0x2,'0'),_0x46bc66=String(_0x419f5d['getMinutes']())[_0x24c79f(0x8c)](0x2,'0'),_0x4c14e8=String(_0x419f5d[_0x24c79f(0x94)]())[_0x24c79f(0x8c)](0x2,'0');return _0x5e2190+'-'+_0x17f1e1+'-'+_0x547f11+'\x20'+_0x4f50e9+':'+_0x46bc66+':'+_0x4c14e8;}[a0_0x1b41c0(0xa8)](_0x2f102c,_0x295374,_0x3efc41,_0x16e136=null){const _0x4575d5=a0_0x1b41c0,_0x4df38a={'hLvgi':_0x4575d5(0xdb),'CoxHu':_0x4575d5(0xad)};if(_0x16e136)return _0x16e136;const _0xa20a4c=this[_0x4575d5(0xd5)]()[_0x4575d5(0x9a)];return _0xa20a4c['replace'](_0x4df38a['hLvgi'],_0x2f102c)['replace']('{endpoint}',_0x295374)[_0x4575d5(0xda)](_0x4df38a['CoxHu'],_0x3efc41);}[a0_0x1b41c0(0xbb)](_0x338201,_0x3e6ce2,_0x4095dd,_0x1c109e={}){const _0x169bef=a0_0x1b41c0,_0x23d87b={'KzrIO':function(_0x212be6){return _0x212be6();},'jPXHJ':function(_0x6f6b8){return _0x6f6b8();},'FBJlm':'1.0','wxSrq':_0x169bef(0xcc),'PPZcb':_0x169bef(0x93)},_0x34f00f=new Date(),_0x585166=this['formatDateTime'](_0x34f00f),_0x1fdc01=_0x1c109e[_0x169bef(0xb9)]||_0x169bef(0xdc)+_0x23d87b[_0x169bef(0xbd)](uuidv7);return{'eventId':'evt-'+_0x23d87b[_0x169bef(0x9e)](uuidv7),'eventType':_0x338201,'eventTime':_0x585166,'eventVersion':_0x23d87b['FBJlm'],'source':'restforge-'+(_0x1c109e[_0x169bef(0x90)]||'unknown'),'correlationId':_0x1fdc01,'newData':_0x4095dd,'oldData':_0x3e6ce2,'metadata':{'createdBy':_0x1c109e[_0x169bef(0xcf)]||_0x23d87b[_0x169bef(0xb7)],'createdAt':_0x585166,'systemId':'RESTFORGE-'+(_0x1c109e['module']||_0x23d87b[_0x169bef(0xa9)])['toUpperCase'](),'tenantId':this[_0x169bef(0xd5)]()[_0x169bef(0xaf)],'endpoint':_0x1c109e['endpoint']||null,'tableName':_0x1c109e[_0x169bef(0xa3)]||null}};}async[a0_0x1b41c0(0xd1)](_0x2278d3,_0x2fc2d4,_0x222348,_0xb96650,_0x46fcac={}){const _0xa7866f=a0_0x1b41c0,_0x19de01={'yelpt':'Kafka\x20producer\x20is\x20disabled','evgrN':_0xa7866f(0xb1),'hquzm':function(_0x3e3711,_0x262ac6){return _0x3e3711(_0x262ac6);}},_0x16d32c=this[_0xa7866f(0xd5)]();if(!_0x16d32c[_0xa7866f(0xb5)])return{'success':![],'reason':_0x19de01[_0xa7866f(0x98)],'published':![]};if(!this[_0xa7866f(0xd3)]){const _0x53556a=await this['initialize']();if(!_0x53556a)return{'success':![],'reason':_0x19de01[_0xa7866f(0xc0)],'published':![]};}try{const _0x2d82bd=this[_0xa7866f(0xbb)](_0x2fc2d4,_0x222348,_0xb96650,_0x46fcac),_0x490436=_0x46fcac['keyField']||'id',_0x347bc0=_0xb96650?.[_0x490436]||_0x222348?.[_0x490436]||uuidv7(),_0x2cb21f=await this['producer'][_0xa7866f(0xa7)]({'topic':_0x2278d3,'messages':[{'key':_0x19de01[_0xa7866f(0xa4)](String,_0x347bc0),'value':JSON['stringify'](_0x2d82bd),'headers':{'event-type':_0x2fc2d4,'correlation-id':_0x2d82bd['correlationId'],'source':_0x2d82bd[_0xa7866f(0xcb)]}}]});return console['log']('[Kafka]\x20Event\x20published\x20to\x20'+_0x2278d3+':\x20'+_0x2fc2d4+_0xa7866f(0xa0)+_0x347bc0+')'),{'success':!![],'correlationId':_0x2d82bd[_0xa7866f(0xb9)],'topic':_0x2278d3,'partition':_0x2cb21f[0x0]?.[_0xa7866f(0x9d)],'offset':_0x2cb21f[0x0]?.['baseOffset'],'published':!![]};}catch(_0x249526){return console['error'](_0xa7866f(0x84)+_0x2278d3+':\x20'+_0x249526['message']),{'success':![],'error':_0x249526['message'],'published':![]};}}async[a0_0x1b41c0(0xd9)](_0x30249f,_0x1b4db3,_0x5f24a6,_0x4b86b2={}){const _0x2a4202=a0_0x1b41c0,_0x5c8a2f={'VTcbt':'created','QarVc':'ENTITY_CREATED'},_0x508ee0=this[_0x2a4202(0xa8)](_0x30249f,_0x1b4db3,_0x5c8a2f['VTcbt'],_0x4b86b2['topic']);return this['publishEvent'](_0x508ee0,_0x5c8a2f[_0x2a4202(0x86)],null,_0x5f24a6,{'module':_0x30249f,'endpoint':_0x1b4db3,'keyField':_0x4b86b2['keyField'],'tableName':_0x4b86b2[_0x2a4202(0xa3)],'correlationId':_0x4b86b2[_0x2a4202(0xb9)]});}async['publishUpdate'](_0x4311b0,_0x2416c4,_0x1abe29,_0x5e600b,_0x5065e5={}){const _0x18cc59=a0_0x1b41c0,_0xe8e7a2={'AcpAo':_0x18cc59(0x8e)},_0x258edb=this[_0x18cc59(0xa8)](_0x4311b0,_0x2416c4,'updated',_0x5065e5[_0x18cc59(0x8f)]);return this['publishEvent'](_0x258edb,_0xe8e7a2['AcpAo'],_0x1abe29,_0x5e600b,{'module':_0x4311b0,'endpoint':_0x2416c4,'keyField':_0x5065e5['keyField'],'tableName':_0x5065e5['tableName'],'correlationId':_0x5065e5['correlationId']});}async['publishDelete'](_0x5c4846,_0x46fce2,_0x3d9cba,_0x555c19={}){const _0x42f1a2=a0_0x1b41c0,_0x2afd3f={'vUCGr':_0x42f1a2(0xca)},_0x30a5db=this['buildTopicName'](_0x5c4846,_0x46fce2,_0x2afd3f['vUCGr'],_0x555c19[_0x42f1a2(0x8f)]);return this[_0x42f1a2(0xd1)](_0x30a5db,'ENTITY_DELETED',_0x3d9cba,null,{'module':_0x5c4846,'endpoint':_0x46fce2,'keyField':_0x555c19[_0x42f1a2(0xa2)],'tableName':_0x555c19[_0x42f1a2(0xa3)],'correlationId':_0x555c19['correlationId']});}[a0_0x1b41c0(0x9c)](){const _0xa4d9f1=a0_0x1b41c0,_0x398f98=this['getConfig']();return{'enabled':_0x398f98[_0xa4d9f1(0xb5)],'connected':this['isConnected'],'brokers':_0x398f98[_0xa4d9f1(0xb2)],'clientId':_0x398f98[_0xa4d9f1(0xc3)],'topicPattern':_0x398f98['topicPattern']};}async[a0_0x1b41c0(0xb8)](){const _0x21875c=a0_0x1b41c0;if(this['producer']&&this['isConnected'])try{await this['producer']['disconnect'](),this['isConnected']=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x3b5cfe){console['error'](_0x21875c(0xb4)+_0x3b5cfe['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x17b6b9=a0_0x1b41c0;instance&&(instance[_0x17b6b9(0xb8)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
@@ -1 +1 @@
1
- const a0_0x132c8b=a0_0x1f56;function a0_0x1f56(_0x5afdad,_0x422448){_0x5afdad=_0x5afdad-0x1ef;const _0x21321c=a0_0x2132();let _0x1f5695=_0x21321c[_0x5afdad];if(a0_0x1f56['ZTzUVs']===undefined){var _0x38a67c=function(_0x89306b){const _0x172321='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11e125='',_0x3c6a10='';for(let _0x5d93a3=0x0,_0x344295,_0x121181,_0x180691=0x0;_0x121181=_0x89306b['charAt'](_0x180691++);~_0x121181&&(_0x344295=_0x5d93a3%0x4?_0x344295*0x40+_0x121181:_0x121181,_0x5d93a3++%0x4)?_0x11e125+=String['fromCharCode'](0xff&_0x344295>>(-0x2*_0x5d93a3&0x6)):0x0){_0x121181=_0x172321['indexOf'](_0x121181);}for(let _0x394612=0x0,_0x54edf3=_0x11e125['length'];_0x394612<_0x54edf3;_0x394612++){_0x3c6a10+='%'+('00'+_0x11e125['charCodeAt'](_0x394612)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3c6a10);};a0_0x1f56['GpfJZn']=_0x38a67c,a0_0x1f56['rrMMMa']={},a0_0x1f56['ZTzUVs']=!![];}const _0x413fa3=_0x21321c[0x0],_0x576046=_0x5afdad+_0x413fa3,_0x2520ea=a0_0x1f56['rrMMMa'][_0x576046];return!_0x2520ea?(_0x1f5695=a0_0x1f56['GpfJZn'](_0x1f5695),a0_0x1f56['rrMMMa'][_0x576046]=_0x1f5695):_0x1f5695=_0x2520ea,_0x1f5695;}(function(_0x2a01c9,_0x214de7){const _0x361738=a0_0x1f56,_0x1c6cc6=_0x2a01c9();while(!![]){try{const _0x13f8ed=-parseInt(_0x361738(0x224))/0x1+-parseInt(_0x361738(0x1fe))/0x2*(parseInt(_0x361738(0x20f))/0x3)+-parseInt(_0x361738(0x22c))/0x4+parseInt(_0x361738(0x21b))/0x5*(parseInt(_0x361738(0x1f7))/0x6)+-parseInt(_0x361738(0x20c))/0x7*(-parseInt(_0x361738(0x20e))/0x8)+-parseInt(_0x361738(0x245))/0x9+parseInt(_0x361738(0x208))/0xa*(parseInt(_0x361738(0x248))/0xb);if(_0x13f8ed===_0x214de7)break;else _0x1c6cc6['push'](_0x1c6cc6['shift']());}catch(_0x1d962e){_0x1c6cc6['push'](_0x1c6cc6['shift']());}}}(a0_0x2132,0x506fe));const dotenv=require(a0_0x132c8b(0x235)),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x132c8b(0x241));dotenv[a0_0x132c8b(0x23b)]();let MessageHub;function a0_0x2132(){const _0x5e8c79=['Bg9N','BwvZC2fNzq','rNvPvwu','tvnivujFu0vsvKLdrv9qt1ju','zgvMyxvSDa','tvnivujFq09ntvvosunbveLptL9uwvbf','mtmXmJC4mhfYyvPvBq','vNLeEgu','Dg9mB2nHBgvtDhjPBMC','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','tvnivujFqvvut19bq0Tot1Dmrurhrq','CMvYtwK','y2XVC2u','zePWweW','CMvZDgzVCMDLlq','zg90zw52','lIbuB3rHBcbRB25MAxjTyxnPoIa','sfj4CgC','q1HwAuC','ChvIBgLZAa','Dg9mB2nHBgvuAw1Lu3rYAw5N','y29UzMLN','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','y2XLyxjdywnOzq','vhDdqvK','DxvPza','CgXHDgzVCM1dB25MAwC','CgLK','CMvJzwL2zxjjza','ntyZmde5m1bVuNvvra','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','C3vIC2nYAwjLs2v5','mtu4mteZmdfwD1DnDe4','y2HHBM5LBa','C29JA2v0','y29UzMLYBwf0Aw9Uq291BNq','A3j6vei','BeT6yue','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','zNvUy3rPB24','s29UzMLNDxjHC2KGugXHDgzVCM06ia','ywrKtgLZDgvUzxi','y2f0zwDVCNK','AKXHCLO','tfniEhq','ksbWywrHia','CMvZDgzVCMDL','twvZC2fNzuH1yIbtreSGzM91BMqGyxqG','CMvXDwLYzufJAW','D2vIC29JA2v0','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','CMvXDwvZDeLK','BwvZC2fNzs1YzwnLAxzLza','nM1SCfj2vG','4PQG77IpievYCM9Yihb1yMXPC2HPBMCGBwvZC2fNztOG','Dg9WAwm','zgLZy29UBMvJDa','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','yu5SBM4','ndq4vgfVuLfh','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUigrPC2nVBM5Ly3qOkq','zMDvBwW','CMvHC29U','twvZC2fNzsbuExbLoIa','qxDYEMG','q2TZq2G','zxjYB3i','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','y29UBMvJDgvK','mtbur2DsDg4','BMfTzq','uwHgC3y','CMvJzwL2zwrbDa','mJi1mJzgv1vJAee','tvnivujFvvnfuL9jra','mtm4ngfsuLfgCa','ndyXngDHB3L4yW','CMvJzwL2zxjjBMzV','q29UBMvJDgLVBIb0Aw1LB3v0','tK1zsvi','vxjzrvq','rM1dEKW','uhvIBgLZAcblzxK6ia','qLvrDvC','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','EfrewLe','Dhj1zq','BKjNA1q','mtaWmJC1nuvorLfHBG','s29UzwTZAsb0zxjWDxr1CZOG','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','zw52','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','u01RzNK','yNjVywrJyxn0','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','nty2otaYv0HNCNLT','sM54q1O'];a0_0x2132=function(){return _0x5e8c79;};return a0_0x2132();}try{const messagehubPath=path['resolve'](__dirname,a0_0x132c8b(0x206));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log'](a0_0x132c8b(0x1f1)+messagehubPath);else throw new Error(a0_0x132c8b(0x217)+messagehubPath);}catch(a0_0xaff1f2){console[a0_0x132c8b(0x205)](a0_0x132c8b(0x223)+a0_0xaff1f2[a0_0x132c8b(0x227)]);throw a0_0xaff1f2;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x838e04){const _0x221994=a0_0x132c8b,_0x5f5c13=new Date()['toISOString']();console[_0x221994(0x226)]('['+_0x5f5c13+']\x20'+_0x838e04);}async function initMessageHub(){const _0x47388b=a0_0x132c8b,_0x10bf27={'FmCzL':function(_0x517170,_0x5e9c81){return _0x517170(_0x5e9c81);},'SMkfy':function(_0xd6f8f0,_0x23fc37){return _0xd6f8f0===_0x23fc37;},'aNlnn':_0x47388b(0x207),'jLarZ':function(_0x4abdbb,_0x57509b){return _0x4abdbb(_0x57509b);},'rerMi':function(_0x47f734,_0x5a04b2){return _0x47f734(_0x5a04b2);},'TwCAY':function(_0x3feb00,_0x34c3bd){return _0x3feb00===_0x34c3bd;},'ZwHRE':'Tidak\x20diketahui','UrYET':function(_0x1080dd,_0x3bb774){return _0x1080dd(_0x3bb774);},'bFEVI':function(_0x52979a,_0x1952ea){return _0x52979a(_0x1952ea);},'krzTB':function(_0x2f0bf6,_0x16a65d){return _0x2f0bf6(_0x16a65d);},'QhFsv':'Unknown','azkkC':function(_0xeba452,_0x2c3dd6){return _0xeba452(_0x2c3dd6);},'NMYIR':'Mode:\x20Koneksi\x20Nyata','xTDZQ':_0x47388b(0x221),'Awrzh':function(_0x566de8,_0x2a77a4){return _0x566de8===_0x2a77a4;},'fgUml':'true','HRxpg':_0x47388b(0x1f3),'LhhSf':'localhost','CXViG':_0x47388b(0x21d),'CksCh':function(_0x17e8ba,_0x44449a){return _0x17e8ba(_0x44449a);},'iPlyY':function(_0x55e2dd,_0x498d15,_0x1c5e72){return _0x55e2dd(_0x498d15,_0x1c5e72);},'JgQTr':function(_0x15b1e8,_0x116950){return _0x15b1e8(_0x116950);},'BUQuW':function(_0x1bfd98,_0x28e02e){return _0x1bfd98&&_0x28e02e;}};if(_0x10bf27[_0x47388b(0x216)](messagehub,isConnected))return _0x10bf27[_0x47388b(0x214)](log,_0x47388b(0x22f)),!![];if(connectionPromise)return log(_0x47388b(0x246)),connectionPromise;return connectionPromise=new Promise(async(_0x3ef4f4,_0x5bfe2c)=>{const _0x2b5fec=_0x47388b;try{_0x10bf27[_0x2b5fec(0x253)](log,_0x2b5fec(0x23c)),_0x10bf27['azkkC'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x2b5fec(0x22e)]()),log(_0x10bf27[_0x2b5fec(0x212)]);const _0x2b4b1a={'publishKey':process['env']['MSHUB_PUBLISH_KEY'],'subscribeKey':process['env']['MSHUB_SUBSCRIBE_KEY'],'userId':process['env'][_0x2b5fec(0x20d)]||_0x2b5fec(0x234)+(process[_0x2b5fec(0x21e)][_0x2b5fec(0x24e)]||_0x2b5fec(0x22a))+'-'+process[_0x2b5fec(0x243)],'communicationType':process['env'][_0x2b5fec(0x22b)]||_0x10bf27[_0x2b5fec(0x218)],'autoAcknowledge':_0x10bf27[_0x2b5fec(0x203)](process[_0x2b5fec(0x21e)][_0x2b5fec(0x230)],_0x2b5fec(0x219)),'acknowledgeMessages':process['env']['MSHUB_ACKNOWLEDGE_MESSAGES']===_0x10bf27[_0x2b5fec(0x200)],'platform':{'type':process['env'][_0x2b5fec(0x22b)]||_0x10bf27[_0x2b5fec(0x237)],'host':process[_0x2b5fec(0x21e)]['MSHUB_HOST']||_0x10bf27['LhhSf'],'api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':_0x10bf27[_0x2b5fec(0x213)](parseInt,process['env'][_0x2b5fec(0x229)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x2b4b1a),log(_0x10bf27[_0x2b5fec(0x238)]),log('Client\x20ID/UserID:\x20'+messagehub['userId']),_0x10bf27[_0x2b5fec(0x204)](log,_0x2b5fec(0x215)+messagehub['publishKey']),log('Subscribe\x20Key:\x20'+messagehub[_0x2b5fec(0x247)]),log('Tipe\x20Komunikasi:\x20'+messagehub['communicationType']),log(_0x2b5fec(0x250)+JSON['stringify'](messagehub[_0x2b5fec(0x242)])),log('========================================'),messagehub[_0x2b5fec(0x251)]({'status':function(_0x5bfe64){const _0x40c939=_0x2b5fec;_0x10bf27[_0x40c939(0x214)](log,'Status\x20Listener:\x20'+_0x5bfe64['category']);if(_0x10bf27[_0x40c939(0x220)](_0x5bfe64[_0x40c939(0x252)],_0x10bf27[_0x40c939(0x1fd)]))_0x10bf27['jLarZ'](log,_0x40c939(0x222)),isConnected=!![],timeoutHandler&&(_0x10bf27['rerMi'](clearTimeout,timeoutHandler),timeoutHandler=null),_0x3ef4f4(!![]);else{if(_0x10bf27[_0x40c939(0x240)](_0x5bfe64['category'],'disconnected')){const _0x412952=_0x5bfe64['isErrorRelated']===!![];!_0x412952&&(_0x10bf27[_0x40c939(0x231)](log,_0x40c939(0x1fb)+(_0x5bfe64[_0x40c939(0x201)]||_0x10bf27['ZwHRE'])),isConnected=![],connectionPromise&&(_0x5bfe2c(new Error(_0x40c939(0x21c)+(_0x5bfe64[_0x40c939(0x201)]||'Tidak\x20diketahui'))),connectionPromise=null));}else{if(_0x5bfe64['category']===_0x40c939(0x205)){let _0x39ee6f=_0x5bfe64['errorDetail']||_0x5bfe64['error']||'Unknown\x20error';_0x10bf27[_0x40c939(0x213)](log,'⚠️\x20Error:\x20'+_0x39ee6f),isConnected=![],connectionPromise&&(_0x10bf27['bFEVI'](_0x5bfe2c,new Error(_0x39ee6f)),connectionPromise=null);}else{if(_0x5bfe64['category']==='message-sent')_0x10bf27[_0x40c939(0x24c)](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x5bfe64['requestId']);else{if(_0x10bf27['TwCAY'](_0x5bfe64['category'],_0x40c939(0x1f6))){const _0x161582=_0x5bfe64[_0x40c939(0x210)]?.[_0x40c939(0x209)]||_0x10bf27[_0x40c939(0x20a)],_0x114b57=_0x5bfe64[_0x40c939(0x210)]?.['id']||_0x5bfe64[_0x40c939(0x244)],_0xc64962=new Date(_0x5bfe64[_0x40c939(0x210)]?.[_0x40c939(0x20b)]||_0x5bfe64['receivedAt']||new Date())[_0x40c939(0x23a)]();_0x10bf27['jLarZ'](log,_0x40c939(0x21f)+_0x5bfe64[_0x40c939(0x1f5)]+'\x20diterima\x20oleh\x20'+_0x161582+'\x20('+_0x114b57+_0x40c939(0x1ef)+_0xc64962+_0x40c939(0x236)+(_0x5bfe64[_0x40c939(0x24b)]||0x1));}}}}}}}),timeoutHandler=_0x10bf27['iPlyY'](setTimeout,()=>{const _0x44cc9e=_0x2b5fec;!isConnected&&connectionPromise&&(log('⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x5bfe2c(new Error(_0x44cc9e(0x211))),connectionPromise=null);},0x2710);}catch(_0x1d0c2e){log(_0x2b5fec(0x1f4)+_0x1d0c2e[_0x2b5fec(0x227)]),console['error'](_0x2b5fec(0x1fc),_0x1d0c2e),connectionPromise=null,_0x10bf27['JgQTr'](_0x5bfe2c,_0x1d0c2e);}}),connectionPromise;}async function publishMessage(_0x4dca93,_0x122dd8,_0x535d9d,_0x54aaa5={}){const _0x3021b6=a0_0x132c8b,_0x33402a={'dJpXL':function(_0x2fa2f3,_0x3df54a){return _0x2fa2f3(_0x3df54a);},'FuiUe':function(_0x3ac765,_0x1459db){return _0x3ac765!==_0x1459db;},'ORpGm':'Message\x20sent\x20successfully','XIZll':'Failed\x20to\x20send\x20message'};try{!isConnected&&await initMessageHub();const _0xf82205=messagehub[_0x3021b6(0x249)](_0x4dca93);log('======\x20DATA\x20PUBLISH\x20MESSAGE\x20======'),_0x33402a[_0x3021b6(0x233)](log,'Channel\x20Target:\x20'+_0xf82205[_0x3021b6(0x1f9)]),log(_0x3021b6(0x202)+_0x122dd8),_0x33402a[_0x3021b6(0x233)](log,_0x3021b6(0x23e));const _0x247793={'requireAck':_0x33402a[_0x3021b6(0x228)](_0x54aaa5['requireAck'],undefined)?_0x54aaa5[_0x3021b6(0x1f2)]:![],'clearCache':_0x33402a['FuiUe'](_0x54aaa5[_0x3021b6(0x23f)],undefined)?_0x54aaa5[_0x3021b6(0x23f)]:!![],'senderId':messagehub['socket']?messagehub['socket']['id']:_0x3021b6(0x1f0)};log('Mengirim\x20pesan\x20ke\x20server...');const _0x436f04={'type':_0x122dd8,'content':_0x535d9d},_0xd2c3b8=await _0xf82205[_0x3021b6(0x239)](_0x436f04,_0x247793);return log('Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x4dca93),{'success':!![],'requestId':_0xd2c3b8['requestId'],'topic':_0x4dca93,'message':_0x33402a['ORpGm']};}catch(_0x1b80b8){return log(_0x3021b6(0x1f8)+_0x1b80b8[_0x3021b6(0x227)]),{'success':![],'error':_0x1b80b8[_0x3021b6(0x227)],'topic':_0x4dca93,'message':_0x33402a['XIZll']};}}async function closeConnection(){const _0x56e30a=a0_0x132c8b,_0x67ccd0={'lKzaA':function(_0x51f153,_0x50528c){return _0x51f153(_0x50528c);},'LKSpa':function(_0x32ad8f,_0x4f132b){return _0x32ad8f===_0x4f132b;},'VyDxe':_0x56e30a(0x24f),'LSHxt':function(_0x24419e,_0x288014){return _0x24419e===_0x288014;},'nBgkT':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()','tvcst':function(_0x57be6c,_0x195e8a){return _0x57be6c===_0x195e8a;},'JnxCZ':function(_0x11ee9f,_0x160490){return _0x11ee9f(_0x160490);},'PeTMZ':function(_0x61433,_0x405041){return _0x61433(_0x405041);}};timeoutHandler&&(_0x67ccd0[_0x56e30a(0x24d)](clearTimeout,timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0x67ccd0['LKSpa'](typeof messagehub[_0x56e30a(0x1fa)],_0x67ccd0[_0x56e30a(0x22d)]))await messagehub[_0x56e30a(0x1fa)](),log(_0x56e30a(0x1ff));else{if(_0x67ccd0[_0x56e30a(0x254)](typeof messagehub[_0x56e30a(0x232)],'function'))await messagehub['close'](),log(_0x67ccd0[_0x56e30a(0x21a)]);else messagehub['socket']&&_0x67ccd0['tvcst'](typeof messagehub['socket'][_0x56e30a(0x1fa)],_0x67ccd0[_0x56e30a(0x22d)])?(messagehub[_0x56e30a(0x24a)][_0x56e30a(0x1fa)](),log(_0x56e30a(0x23d))):_0x67ccd0[_0x56e30a(0x225)](log,'Tidak\x20dapat\x20menemukan\x20metode\x20untuk\x20menutup\x20koneksi\x20MessageHub');}isConnected=![],connectionPromise=null;}catch(_0x1a5724){_0x67ccd0['PeTMZ'](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x1a5724['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
1
+ const a0_0x5200ba=a0_0xb0ce;(function(_0x537191,_0x4b4920){const _0x13d6b1=a0_0xb0ce,_0x340b01=_0x537191();while(!![]){try{const _0x568a76=-parseInt(_0x13d6b1(0x190))/0x1+parseInt(_0x13d6b1(0x191))/0x2*(-parseInt(_0x13d6b1(0x1ac))/0x3)+parseInt(_0x13d6b1(0x18e))/0x4*(parseInt(_0x13d6b1(0x198))/0x5)+-parseInt(_0x13d6b1(0x1be))/0x6+parseInt(_0x13d6b1(0x1d1))/0x7+parseInt(_0x13d6b1(0x1b9))/0x8+parseInt(_0x13d6b1(0x1b8))/0x9*(parseInt(_0x13d6b1(0x1b0))/0xa);if(_0x568a76===_0x4b4920)break;else _0x340b01['push'](_0x340b01['shift']());}catch(_0x4c4c0d){_0x340b01['push'](_0x340b01['shift']());}}}(a0_0x1899,0xbac32));const dotenv=require(a0_0x5200ba(0x1ad)),path=require(a0_0x5200ba(0x1c9)),fs=require('fs'),{v7:uuidv7}=require('uuid');dotenv['config']();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console['log']('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x20026d){console[a0_0x5200ba(0x1aa)](a0_0x5200ba(0x1d0)+a0_0x20026d['message']);throw a0_0x20026d;}function a0_0x1899(){const _0x4b8f38=['z2H0uKi','qK1TC2O','tvnivujFufvcteLtsf9lrvK','zfbtsLq','AxnfCNjVCLjLBgf0zwq','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt0','BwvZC2fNzs1YzwnLAxzLza','igrPDgvYAw1Hig9SzwGG','uK1itvC','CMvZDgzVCMDL','vw5RBM93BG','tvnivujFu1vcu0nssujfx0Tfwq','8j+tQsblB25MAxjTyxnPoIbqzxnHBIa','CMvXDwvZDeLK','v2fRDhuGsw5PC2LHBgLZyxnPoIa','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','EvfiEvK','t3zIrve','ndq0vKX0vMXr','y2XLyxjdywnOzq','nta2mZu0AeDhA0r0','ndi1ntHzuvLjB1O','CMvJzwL2zwrbDa','zgLZy29UBMvJDgvK','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','y0H4B00','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','mJyZotvtCxnKuuC','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','yxbNue8','Dg9mB2nHBgvuAw1Lu3rYAw5N','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','tvLgAvC','y29TBxvUAwnHDgLVBLr5Cgu','CgXHDgzVCM1dB25MAwC','CMvJzwL2zxjjza','qMvQrKe','D2vIC29JA2v0','wNrWyLe','rvHqB2q','CMvHC29U','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','ywrKtgLZDgvUzxi','yNjVywrJyxn0','zgvMyxvSDa','zxjYB3i','CMvZDgzVCMDLlq','mtm1sMjQugvp','zg90zw52','Dg9mB2nHBgvtDhjPBMC','C29JA2v0','mtbLD2vjreO','uxngtLy','tvnivujFqvvut19bq0Tot1Dmrurhrq','zvvzDM0','twvZC2fNzuH1yIbZDwrHAcb0zxjODwj1BMCSig1LBMDNDw5HA2fUigTVBMvRC2KGEwfUzYbHzge','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','ChvIBgLZAeTLEq','s29UzwTZAsb0zxjWDxr1CZOG','nZe3nZq3m2XRz3r5zq','ntqYndG5nMn5yvDLua','zgLZy29UBMvJDa','Dg9WAwm','tvnivujFu0vsvKLdrv9qt1ju','ChDkzLG','mteXnJC2mMnZEwnQsq','CMvJzwL2zxjjBMzV','C3vIC2nYAwjLs2v5','BMfTzq','z2vAtMy','zw52','BwvZC2fNzq','vgLWzsblB211BMLRyxnPoIa','uhvIBgLZAcblzxK6ia','4PQG77IpievYCM9YoIa','t2fSuKu','Cgf0Aa','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','y29UBMvJDgvK','Dhj1zq','zNvUy3rPB24','z0XozNa','s0fnz0y','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','mJq3nda1mKDNDwTUra','z1Dzz0G','CLjgBKO','u3vIC2nYAwjLieTLEtOG','tw9KztOGs29UzwTZAsboEwf0yq','twvZC2fNzsbuExbLoIa','z1zcBha','D21vs0u','tenAz2K'];a0_0x1899=function(){return _0x4b8f38;};return a0_0x1899();}function a0_0xb0ce(_0x11a165,_0x304786){_0x11a165=_0x11a165-0x185;const _0x18997e=a0_0x1899();let _0xb0ce4e=_0x18997e[_0x11a165];if(a0_0xb0ce['cruJwg']===undefined){var _0x447bc9=function(_0x54f4b3){const _0x31938e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x303314='',_0x56e4b1='';for(let _0x2cc202=0x0,_0x84d142,_0x653c09,_0x51e456=0x0;_0x653c09=_0x54f4b3['charAt'](_0x51e456++);~_0x653c09&&(_0x84d142=_0x2cc202%0x4?_0x84d142*0x40+_0x653c09:_0x653c09,_0x2cc202++%0x4)?_0x303314+=String['fromCharCode'](0xff&_0x84d142>>(-0x2*_0x2cc202&0x6)):0x0){_0x653c09=_0x31938e['indexOf'](_0x653c09);}for(let _0x2157bd=0x0,_0x1cab4b=_0x303314['length'];_0x2157bd<_0x1cab4b;_0x2157bd++){_0x56e4b1+='%'+('00'+_0x303314['charCodeAt'](_0x2157bd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x56e4b1);};a0_0xb0ce['EKDRCZ']=_0x447bc9,a0_0xb0ce['UTtPCo']={},a0_0xb0ce['cruJwg']=!![];}const _0x4e5e28=_0x18997e[0x0],_0x599077=_0x11a165+_0x4e5e28,_0x381485=a0_0xb0ce['UTtPCo'][_0x599077];return!_0x381485?(_0xb0ce4e=a0_0xb0ce['EKDRCZ'](_0xb0ce4e),a0_0xb0ce['UTtPCo'][_0x599077]=_0xb0ce4e):_0xb0ce4e=_0x381485,_0xb0ce4e;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x17a7d6){const _0xdfc772=new Date()['toISOString']();console['log']('['+_0xdfc772+']\x20'+_0x17a7d6);}async function initMessageHub(){const _0x261a8c=a0_0x5200ba,_0xfaad09={'EXPod':function(_0x5583ad,_0x229b18){return _0x5583ad(_0x229b18);},'rRFnJ':function(_0x2b8c89,_0x35056b){return _0x2b8c89===_0x35056b;},'MYFiW':function(_0x330bf0,_0x2fc613){return _0x330bf0(_0x2fc613);},'KAMgF':function(_0x503913,_0x4bb783){return _0x503913(_0x4bb783);},'ZBZHZ':_0x261a8c(0x193),'dPSJT':function(_0xeb3a1f,_0x4b0d52){return _0xeb3a1f(_0x4b0d52);},'ghtRB':'Tidak\x20diketahui','sQWER':'error','ZtpbQ':function(_0x3f3997,_0x1266f6){return _0x3f3997(_0x1266f6);},'pwJfX':function(_0x3a7c43,_0x3d014f){return _0x3a7c43&&_0x3d014f;},'OvbEQ':_0x261a8c(0x1d5),'pIvdA':_0x261a8c(0x1a9),'cHxoM':_0x261a8c(0x1a8),'yLJsf':_0x261a8c(0x1cc),'qjoZP':function(_0x54e822,_0x2b01cb){return _0x54e822===_0x2b01cb;},'BejFA':_0x261a8c(0x1a2),'eUYvm':function(_0x164a63,_0x36120f){return _0x164a63(_0x36120f);},'EcjXw':function(_0xf4fa56,_0x4ecbdb){return _0xf4fa56(_0x4ecbdb);},'PTNtL':function(_0x38edb2,_0x11622d){return _0x38edb2(_0x11622d);},'geZNf':'========================================','qSrML':function(_0x3416d0,_0x5269b5,_0x77cc51){return _0x3416d0(_0x5269b5,_0x77cc51);},'apgPO':function(_0x2f0192,_0x3bab94){return _0x2f0192(_0x3bab94);},'yQHyY':function(_0x345a09,_0x4779d7){return _0x345a09(_0x4779d7);},'CusJw':function(_0x3b2488,_0x3a15de){return _0x3b2488(_0x3a15de);}};if(_0xfaad09[_0x261a8c(0x1bd)](messagehub,isConnected))return _0xfaad09['CusJw'](log,_0x261a8c(0x1b4)),!![];if(connectionPromise)return log('Koneksi\x20MessageHub\x20sedang\x20berlangsung,\x20menunggu...'),connectionPromise;return connectionPromise=new Promise(async(_0x540d6a,_0x39df39)=>{const _0x51ade4=_0x261a8c,_0x5beb88={'RMHMW':function(_0x5741bf,_0x448044){return _0xfaad09['pwJfX'](_0x5741bf,_0x448044);},'gFagX':function(_0x2c9917,_0x5a655a){return _0x2c9917(_0x5a655a);},'tRxkb':function(_0x5356a9,_0x484039){return _0x5356a9(_0x484039);},'gLNfp':'Connection\x20timeout'};try{log('======\x20MULAI\x20INISIALISASI\x20MESSAGEHUB\x20======'),log(_0x51ade4(0x189)+new Date()[_0x51ade4(0x1ae)]()),_0xfaad09['KAMgF'](log,_0xfaad09[_0x51ade4(0x18d)]);const _0x29916e={'publishKey':process['env'][_0x51ade4(0x1dc)],'subscribeKey':process['env'][_0x51ade4(0x186)],'userId':process[_0x51ade4(0x1c3)]['MSHUB_USER_ID']||_0x51ade4(0x1ab)+(process[_0x51ade4(0x1c3)]['RESTFORGE_PROJECT_NAME']||_0xfaad09['pIvdA'])+'-'+process['pid'],'communicationType':process[_0x51ade4(0x1c3)]['MSHUB_COMMUNICATION_TYPE']||_0xfaad09[_0x51ade4(0x195)],'autoAcknowledge':process['env'][_0x51ade4(0x1b2)]===_0xfaad09['yLJsf'],'acknowledgeMessages':_0xfaad09['qjoZP'](process['env'][_0x51ade4(0x18a)],_0xfaad09['yLJsf']),'platform':{'type':process[_0x51ade4(0x1c3)]['MSHUB_COMMUNICATION_TYPE']||_0xfaad09[_0x51ade4(0x1a1)],'host':process[_0x51ade4(0x1c3)]['MSHUB_HOST']||'localhost','api_port':parseInt(process['env']['MSHUB_API_PORT']||0xdf8),'service_port':parseInt(process['env'][_0x51ade4(0x1bc)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x29916e),_0xfaad09['MYFiW'](log,_0x51ade4(0x18b)),_0xfaad09[_0x51ade4(0x1b3)](log,'Client\x20ID/UserID:\x20'+messagehub['userId']),log(_0x51ade4(0x1c6)+messagehub[_0x51ade4(0x1b6)]),log(_0x51ade4(0x1d4)+messagehub[_0x51ade4(0x1c0)]),_0xfaad09['EcjXw'](log,_0x51ade4(0x1c5)+messagehub[_0x51ade4(0x19e)]),_0xfaad09['PTNtL'](log,'Konfigurasi\x20Platform:\x20'+JSON['stringify'](messagehub[_0x51ade4(0x19f)])),log(_0xfaad09[_0x51ade4(0x1c2)]),messagehub[_0x51ade4(0x1a7)]({'status':function(_0x2393af){const _0x52db98=_0x51ade4;_0xfaad09[_0x52db98(0x1a4)](log,'Status\x20Listener:\x20'+_0x2393af['category']);if(_0xfaad09['rRFnJ'](_0x2393af['category'],_0x52db98(0x1cb)))_0xfaad09[_0x52db98(0x19d)](log,_0x52db98(0x19c)),isConnected=!![],timeoutHandler&&(_0xfaad09['MYFiW'](clearTimeout,timeoutHandler),timeoutHandler=null),_0xfaad09[_0x52db98(0x1cf)](_0x540d6a,!![]);else{if(_0xfaad09['rRFnJ'](_0x2393af['category'],_0xfaad09['ZBZHZ'])){const _0x214617=_0x2393af[_0x52db98(0x1de)]===!![];!_0x214617&&(_0xfaad09[_0x52db98(0x1dd)](log,_0x52db98(0x194)+(_0x2393af[_0x52db98(0x1a5)]||_0xfaad09['ghtRB'])),isConnected=![],connectionPromise&&(_0xfaad09[_0x52db98(0x1a4)](_0x39df39,new Error(_0x52db98(0x1b7)+(_0x2393af['reason']||_0xfaad09[_0x52db98(0x1da)]))),connectionPromise=null));}else{if(_0x2393af['category']===_0xfaad09['sQWER']){let _0x1b5e49=_0x2393af['errorDetail']||_0x2393af[_0x52db98(0x1aa)]||'Unknown\x20error';log(_0x52db98(0x1c7)+_0x1b5e49),isConnected=![],connectionPromise&&(_0xfaad09['ZtpbQ'](_0x39df39,new Error(_0x1b5e49)),connectionPromise=null);}else{if(_0x2393af['category']==='message-sent')log('📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x2393af['requestId']);else{if(_0xfaad09[_0x52db98(0x1d3)](_0x2393af['category'],_0x52db98(0x1e0))){const _0x355b92=_0x2393af[_0x52db98(0x1bf)]?.[_0x52db98(0x1c1)]||_0x52db98(0x185),_0x4ed325=_0x2393af[_0x52db98(0x1bf)]?.['id']||_0x2393af[_0x52db98(0x1a0)],_0x2436db=new Date(_0x2393af[_0x52db98(0x1bf)]?.[_0x52db98(0x192)]||_0x2393af[_0x52db98(0x192)]||new Date())[_0x52db98(0x19b)]();_0xfaad09[_0x52db98(0x1a3)](log,_0x52db98(0x187)+_0x2393af['requestId']+_0x52db98(0x1e1)+_0x355b92+'\x20('+_0x4ed325+')\x20pada\x20'+_0x2436db+'.\x20Total\x20konfirmasi:\x20'+(_0x2393af['confirmationCount']||0x1));}}}}}}}),timeoutHandler=_0xfaad09['qSrML'](setTimeout,()=>{const _0x497a28=_0x51ade4;_0x5beb88[_0x497a28(0x1e2)](!isConnected,connectionPromise)&&(_0x5beb88['gFagX'](log,'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x5beb88['tRxkb'](_0x39df39,new Error(_0x5beb88[_0x497a28(0x1ce)])),connectionPromise=null);},0x2710);}catch(_0x39787b){_0xfaad09[_0x51ade4(0x19a)](log,_0x51ade4(0x196)+_0x39787b['message']),console['error'](_0x51ade4(0x1a6),_0x39787b),connectionPromise=null,_0xfaad09[_0x51ade4(0x18c)](_0x39df39,_0x39787b);}}),connectionPromise;}async function publishMessage(_0x781c30,_0x21ac04,_0x310346,_0x5cf790={}){const _0x1046e9=a0_0x5200ba,_0x2c45b8={'gVBlp':function(_0x437d98){return _0x437d98();},'wmUKE':_0x1046e9(0x199),'OalRE':function(_0x58f839,_0x5b2192){return _0x58f839(_0x5b2192);},'kXwGC':_0x1046e9(0x1df),'LCZgi':function(_0x54703b,_0x52113d){return _0x54703b!==_0x52113d;},'gWYgH':_0x1046e9(0x1e3),'xCpfk':function(_0x5a65f8,_0x51949b){return _0x5a65f8(_0x51949b);},'uSOUg':'Failed\x20to\x20send\x20message'};try{!isConnected&&await _0x2c45b8[_0x1046e9(0x1d7)](initMessageHub);const _0x100e2c=messagehub['channel'](_0x781c30);log(_0x2c45b8[_0x1046e9(0x1d8)]),log('Channel\x20Target:\x20'+_0x100e2c[_0x1046e9(0x1bb)]),_0x2c45b8['OalRE'](log,_0x1046e9(0x1d6)+_0x21ac04),_0x2c45b8[_0x1046e9(0x1c8)](log,_0x2c45b8['kXwGC']);const _0x5cb2b9={'requireAck':_0x2c45b8[_0x1046e9(0x1d9)](_0x5cf790['requireAck'],undefined)?_0x5cf790['requireAck']:![],'clearCache':_0x2c45b8['LCZgi'](_0x5cf790['clearCache'],undefined)?_0x5cf790[_0x1046e9(0x18f)]:!![],'senderId':messagehub[_0x1046e9(0x1af)]?messagehub[_0x1046e9(0x1af)]['id']:_0x2c45b8[_0x1046e9(0x1d2)]};_0x2c45b8['xCpfk'](log,'Mengirim\x20pesan\x20ke\x20server...');const _0x5b3338={'type':_0x21ac04,'content':_0x310346},_0x384dc1=await _0x100e2c['publish'](_0x5b3338,_0x5cb2b9);return _0x2c45b8['OalRE'](log,_0x1046e9(0x1b5)+_0x781c30),{'success':!![],'requestId':_0x384dc1[_0x1046e9(0x188)],'topic':_0x781c30,'message':_0x1046e9(0x197)};}catch(_0x4f0bb4){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x4f0bb4[_0x1046e9(0x1c4)]),{'success':![],'error':_0x4f0bb4[_0x1046e9(0x1c4)],'topic':_0x781c30,'message':_0x2c45b8['uSOUg']};}}async function closeConnection(){const _0xcbdb0e=a0_0x5200ba,_0x167119={'kQwzK':function(_0x1514d8,_0x5d1072){return _0x1514d8&&_0x5d1072;},'BMmsj':'function','hwaxm':function(_0x3c8276,_0xd13f82){return _0x3c8276(_0xd13f82);},'QsFNV':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','KgPqx':_0xcbdb0e(0x1ca)};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x167119['kQwzK'](isConnected,messagehub))try{if(typeof messagehub['disconnect']===_0x167119[_0xcbdb0e(0x1db)])await messagehub[_0xcbdb0e(0x1ba)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(typeof messagehub['close']===_0xcbdb0e(0x1cd))await messagehub['close'](),_0x167119['hwaxm'](log,'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub['socket']&&typeof messagehub['socket'][_0xcbdb0e(0x1ba)]==='function'?(messagehub[_0xcbdb0e(0x1af)]['disconnect'](),_0x167119['hwaxm'](log,_0x167119[_0xcbdb0e(0x1b1)])):log(_0x167119['KgPqx']);}isConnected=![],connectionPromise=null;}catch(_0x216ac3){log('Error\x20saat\x20menutup\x20koneksi:\x20'+_0x216ac3['message']);}}module['exports']={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};