@restforgejs/platform 4.1.1 → 4.3.1

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 (340) hide show
  1. package/SECURITY.md +83 -4
  2. package/bin/sdf-tools.exe +0 -0
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/generators/cli/dashboard/create.js +4 -1
  7. package/generators/cli/endpoint/create.js +43 -4
  8. package/generators/cli/key/generate.js +2 -1
  9. package/generators/cli/key/revoke.js +2 -1
  10. package/generators/cli/payload/diff.js +3 -2
  11. package/generators/cli/payload/generate.js +3 -2
  12. package/generators/cli/payload/sync.js +3 -2
  13. package/generators/cli/payload/validate.js +3 -2
  14. package/generators/cli/processor/create.js +14 -3
  15. package/generators/cli/project/delete.js +2 -1
  16. package/generators/cli/query/validate.js +3 -2
  17. package/generators/cli/schema/apply.js +526 -0
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +322 -0
  20. package/generators/cli/schema/generate-ddl.js +7 -10
  21. package/generators/cli/schema/init.js +95 -172
  22. package/generators/cli/schema/introspect.js +3 -2
  23. package/generators/cli/schema/list.js +3 -2
  24. package/generators/cli/schema/migrate.js +13 -18
  25. package/generators/cli/schema/models.js +8 -12
  26. package/generators/cli/schema/template.js +222 -0
  27. package/generators/cli/schema/validate.js +8 -12
  28. package/generators/cli-entry.js +17 -2
  29. package/generators/lib/dbschema-kit/apply-engine.js +582 -0
  30. package/generators/lib/dbschema-kit/diff-engine.js +703 -0
  31. package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
  32. package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
  33. package/generators/lib/migration/audit-table-runner.js +213 -215
  34. package/generators/lib/payload/endpoint-schema-validator.js +171 -0
  35. package/generators/lib/payload/payload-runner.js +137 -220
  36. package/generators/lib/payload/schema-diff.js +277 -0
  37. package/generators/lib/templates/dashboard-catalog.js +1 -437
  38. package/generators/lib/templates/db-connection-env.js +1 -212
  39. package/generators/lib/templates/dbschema-catalog.js +1 -489
  40. package/generators/lib/templates/field-validation-catalog.js +1 -531
  41. package/generators/lib/templates/mysql-template.js +1 -3863
  42. package/generators/lib/templates/oracle-template.js +1 -3915
  43. package/generators/lib/templates/postgres-template.js +1 -5838
  44. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  45. package/generators/lib/templates/sqlite-template.js +1 -3440
  46. package/generators/lib/utils/audit-columns.js +181 -0
  47. package/generators/lib/utils/cli-output.js +17 -0
  48. package/generators/lib/utils/database-introspector.js +16 -13
  49. package/generators/lib/utils/env-manager.js +6 -0
  50. package/generators/lib/utils/path-validator.js +71 -0
  51. package/generators/lib/validators/payload-validator.js +1 -2
  52. package/integrity-manifest.json +28 -10
  53. package/package.json +11 -3
  54. package/scripts/verify-integrity.js +1 -1
  55. package/server.js +1 -1
  56. package/src/components/handlers/adjust_handler.js +1 -1
  57. package/src/components/handlers/audit_handler.js +1 -1
  58. package/src/components/handlers/delete_handler.js +1 -1
  59. package/src/components/handlers/export_handler.js +1 -1
  60. package/src/components/handlers/import_handler.js +1 -1
  61. package/src/components/handlers/insert_handler.js +1 -1
  62. package/src/components/handlers/update_handler.js +1 -1
  63. package/src/components/handlers/upload_handler.js +1 -1
  64. package/src/components/handlers/workflow_handler.js +1 -1
  65. package/src/components/integrations/webhook.js +1 -1
  66. package/src/consumers/baseConsumer.js +1 -1
  67. package/src/consumers/declarativeMapper.js +1 -1
  68. package/src/consumers/handlers/apiHandler.js +1 -1
  69. package/src/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/consumers/handlers/index.js +1 -1
  72. package/src/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/consumers/index.js +1 -1
  74. package/src/consumers/messageTransformer.js +1 -1
  75. package/src/consumers/validator.js +1 -1
  76. package/src/core/db/dialect/base-dialect.js +1 -1
  77. package/src/core/db/dialect/index.js +1 -1
  78. package/src/core/db/dialect/mysql-dialect.js +1 -1
  79. package/src/core/db/dialect/oracle-dialect.js +1 -1
  80. package/src/core/db/dialect/postgres-dialect.js +1 -1
  81. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  82. package/src/core/db/flatten-helper.js +1 -1
  83. package/src/core/db/query-builder-error.js +1 -1
  84. package/src/core/db/query-builder.js +1 -1
  85. package/src/core/db/relation-helper.js +1 -1
  86. package/src/core/handlers/delete_handler.js +1 -1
  87. package/src/core/handlers/insert_handler.js +1 -1
  88. package/src/core/handlers/update_handler.js +1 -1
  89. package/src/core/models/base-model.js +1 -1
  90. package/src/core/utils/cache-manager.js +1 -1
  91. package/src/core/utils/component-engine.js +1 -1
  92. package/src/core/utils/context-builder.js +1 -1
  93. package/src/core/utils/datetime-formatter.js +1 -1
  94. package/src/core/utils/datetime-parser.js +1 -1
  95. package/src/core/utils/db.js +1 -1
  96. package/src/core/utils/logger.js +1 -1
  97. package/src/core/utils/payload-loader.js +1 -1
  98. package/src/core/utils/security-checks.js +1 -1
  99. package/src/middleware/body-options.js +1 -1
  100. package/src/middleware/cors.js +1 -1
  101. package/src/middleware/idempotency.js +1 -1
  102. package/src/middleware/rate-limiter.js +1 -1
  103. package/src/middleware/request-logger.js +1 -1
  104. package/src/middleware/security-headers.js +1 -1
  105. package/src/models/base-model-mysql.js +1 -1
  106. package/src/models/base-model-oracle.js +1 -1
  107. package/src/models/base-model-sqlite.js +1 -1
  108. package/src/models/base-model.js +1 -1
  109. package/src/pro/caching/redis-client.js +1 -1
  110. package/src/pro/caching/redis-helper.js +1 -1
  111. package/src/pro/consumers/baseConsumer.js +1 -1
  112. package/src/pro/consumers/declarativeMapper.js +1 -1
  113. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  114. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  115. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  116. package/src/pro/consumers/handlers/index.js +1 -1
  117. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  118. package/src/pro/consumers/index.js +1 -1
  119. package/src/pro/consumers/messageTransformer.js +1 -1
  120. package/src/pro/consumers/validator.js +1 -1
  121. package/src/pro/database/base-model-mysql.js +1 -1
  122. package/src/pro/database/base-model-oracle.js +1 -1
  123. package/src/pro/database/base-model-sqlite.js +1 -1
  124. package/src/pro/database/db-mysql.js +1 -1
  125. package/src/pro/database/db-oracle.js +1 -1
  126. package/src/pro/database/db-sqlite.js +1 -1
  127. package/src/pro/excel/excel-generator.js +1 -1
  128. package/src/pro/excel/excel-parser.js +1 -1
  129. package/src/pro/excel/export-service.js +1 -1
  130. package/src/pro/excel/export_handler.js +1 -1
  131. package/src/pro/excel/import-service.js +1 -1
  132. package/src/pro/excel/import-validator.js +1 -1
  133. package/src/pro/excel/import_handler.js +1 -1
  134. package/src/pro/excel/upsert-builder.js +1 -1
  135. package/src/pro/idgen/idgen-routes.js +1 -1
  136. package/src/pro/integrations/lookup-resolver.js +1 -1
  137. package/src/pro/integrations/upload-handler-v2.js +1 -1
  138. package/src/pro/integrations/upload-handler.js +1 -1
  139. package/src/pro/integrations/webhook.js +1 -1
  140. package/src/pro/locking/lock-routes.js +1 -1
  141. package/src/pro/locking/resource-lock-manager.js +1 -1
  142. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  143. package/src/pro/messaging/kafkaService.js +1 -1
  144. package/src/pro/messaging/messagehubService.js +1 -1
  145. package/src/pro/messaging/rabbitmqService.js +1 -1
  146. package/src/pro/scheduler/job-manager.js +1 -1
  147. package/src/pro/scheduler/job-routes.js +1 -1
  148. package/src/pro/scheduler/job-validator.js +1 -1
  149. package/src/pro/storage/base-storage-provider.js +1 -1
  150. package/src/pro/storage/file-metadata-helper.js +1 -1
  151. package/src/pro/storage/index.js +1 -1
  152. package/src/pro/storage/local-storage-provider.js +1 -1
  153. package/src/pro/storage/s3-storage-provider.js +1 -1
  154. package/src/pro/storage/upload-cleanup-job.js +1 -1
  155. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  156. package/src/pro/storage/upload-pending-tracker.js +1 -1
  157. package/src/pro/websocket/broadcast-helper.js +1 -1
  158. package/src/pro/websocket/index.js +1 -1
  159. package/src/pro/websocket/livesync-server.js +1 -1
  160. package/src/pro/websocket/ws-broadcaster.js +1 -1
  161. package/src/services/export-service.js +1 -1
  162. package/src/services/import-service.js +1 -1
  163. package/src/services/kafkaConsumerService.js +1 -1
  164. package/src/services/kafkaService.js +1 -1
  165. package/src/services/messagehubService.js +1 -1
  166. package/src/services/rabbitmqService.js +1 -1
  167. package/src/utils/cache-invalidation-registry.js +1 -1
  168. package/src/utils/cache-manager.js +1 -1
  169. package/src/utils/component-engine.js +1 -1
  170. package/src/utils/config-extractor.js +1 -1
  171. package/src/utils/consumerLogger.js +1 -1
  172. package/src/utils/context-builder.js +1 -1
  173. package/src/utils/dashboard-helpers.js +1 -1
  174. package/src/utils/dateHelper.js +1 -1
  175. package/src/utils/datetime-formatter.js +1 -1
  176. package/src/utils/datetime-parser.js +1 -1
  177. package/src/utils/db-bootstrap.js +1 -1
  178. package/src/utils/db-mysql.js +1 -1
  179. package/src/utils/db-oracle.js +1 -1
  180. package/src/utils/db-sqlite.js +1 -1
  181. package/src/utils/db.js +1 -1
  182. package/src/utils/demo-generator.js +1 -1
  183. package/src/utils/excel-generator.js +1 -1
  184. package/src/utils/excel-parser.js +1 -1
  185. package/src/utils/file-watcher.js +1 -1
  186. package/src/utils/id-generator.js +1 -1
  187. package/src/utils/idempotency-manager.js +1 -1
  188. package/src/utils/import-validator.js +1 -1
  189. package/src/utils/license-client.js +1 -1
  190. package/src/utils/lock-manager.js +1 -1
  191. package/src/utils/logger.js +1 -1
  192. package/src/utils/lookup-resolver.js +1 -1
  193. package/src/utils/payload-loader.js +1 -1
  194. package/src/utils/processor-response.js +1 -1
  195. package/src/utils/rabbitmq.js +1 -1
  196. package/src/utils/redis-client.js +1 -1
  197. package/src/utils/redis-helper.js +1 -1
  198. package/src/utils/request-scope.js +1 -1
  199. package/src/utils/security-checks.js +1 -1
  200. package/src/utils/service-resolver.js +1 -1
  201. package/src/utils/shutdown-coordinator.js +1 -1
  202. package/src/utils/trusted-keys.js +1 -1
  203. package/src/utils/upload-handler.js +1 -1
  204. package/src/utils/upsert-builder.js +1 -1
  205. package/src/utils/workflow-hook-executor.js +1 -1
  206. package/generators/metadata/global.json +0 -58
  207. package/generators/metadata/test-mysql-workbench.json +0 -118
  208. package/generators/metadata/test-mysql.json +0 -56
  209. package/generators/metadata/test-oracle-workbench.json +0 -118
  210. package/generators/metadata/test-oracle.json +0 -56
  211. package/generators/metadata/test-pg-workbench.json +0 -118
  212. package/generators/metadata/test-pg.json +0 -56
  213. package/generators/scripts/obfuscate-source.js +0 -356
  214. package/generators/scripts/validate-catalog.js +0 -430
  215. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  216. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  217. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  218. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  219. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  220. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  221. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  222. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  223. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  224. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  225. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  226. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  227. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  228. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  229. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  230. package/generators/tests/integration-tahap4b/README.md +0 -145
  231. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  232. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  233. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  234. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  235. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  236. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  237. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  238. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  239. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  240. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  241. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  242. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  243. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  244. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  245. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  246. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  247. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  248. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  249. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  250. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  251. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  252. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  253. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  254. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  255. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  256. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  257. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  258. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  259. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  260. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  261. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  262. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  263. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  264. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  265. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  266. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  267. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  268. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  269. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  270. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  271. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  300. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  301. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  302. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  303. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  304. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  305. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  306. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  307. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  308. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  309. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  310. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  311. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  312. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  313. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  314. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  315. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  316. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  317. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  318. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  319. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  320. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  321. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  322. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  323. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  324. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  325. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  326. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  327. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  328. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  329. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  330. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  331. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  332. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  333. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  334. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  335. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  336. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  337. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  338. package/scripts/generate-integrity-manifest.js +0 -124
  339. package/scripts/snapshot-cli-contracts.js +0 -194
  340. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- 'use strict';const a0_0x270ca6=a0_0x2857;(function(_0x50b7b,_0x4c92c3){const _0x471008=a0_0x2857,_0x348a35=_0x50b7b();while(!![]){try{const _0x1f439e=-parseInt(_0x471008(0x13c))/0x1+parseInt(_0x471008(0x149))/0x2+parseInt(_0x471008(0x154))/0x3*(parseInt(_0x471008(0x161))/0x4)+-parseInt(_0x471008(0x159))/0x5*(-parseInt(_0x471008(0x153))/0x6)+-parseInt(_0x471008(0x13d))/0x7*(parseInt(_0x471008(0x162))/0x8)+parseInt(_0x471008(0x14d))/0x9*(-parseInt(_0x471008(0x15a))/0xa)+parseInt(_0x471008(0x157))/0xb;if(_0x1f439e===_0x4c92c3)break;else _0x348a35['push'](_0x348a35['shift']());}catch(_0x11f020){_0x348a35['push'](_0x348a35['shift']());}}}(a0_0x2171,0x52f7a));function a0_0x2171(){const _0x39c213=['y3j5ChrV','z2vUzxjHDgvlzxK','CMvWBgfJzq','zgvMyxvSDa','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','DgvTCerPCG','ody2mJiWB2rxDLr3','x3rLBxbeAxi','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','BNvTyMvY','mteYmJu3A2X2s3Dc','AM9PBG','zMXVB3i','zxjYB3i','zxHPC3rZu3LUyW','DhjPBq','mJK3mtuXohvQBgLUEG','nJaWndvKCu5Tz1K','Agv4','zxH0BMfTzq','odG4oteWDMfeEfbp','zgLZA1n0B3jHz2u','nw1RvhrPqG','mJeWA3bqC29y','BwvZC2fNzq','Dw5SAw5R','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','rMLSzsb0ExbLiciU','BwTKAxjtEw5J','DMztte0','nJHfBgXfBLi','mJr6DxfTrg8','Aurru3y','rMfPBgvKihrVigrLBgv0zsb0zw1WigzPBgu','CMfUzg9TqNL0zxm','C2L6zq','rLPfA08','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','y3DK','x3bHCNnLrMLSzvnPEMu','ChjLzML4','zw52','x2rLBgv0zvrLBxbgAwXL','Bwf4rMLSzxm','zxHWB3j0CW','Cgf0Aa','Dg9vChbLCKnHC2u','ChjVBwLZzxm','ntCYotmYzunbsxDP','nda3nZaXyKTlruHU','B3jPz2LUywXUyw1L','DxjS','ChjVy2vZC1vWBg9HzgvKrMLSzxm','Dg9mB3DLCKnHC2u','BgvUz3rO'];a0_0x2171=function(){return _0x39c213;};return a0_0x2171();}const multer=require('multer'),path=require(a0_0x270ca6(0x139)),crypto=require(a0_0x270ca6(0x143)),fs=require('fs')[a0_0x270ca6(0x13b)],fsSync=require('fs'),{logger}=require('./logger');function a0_0x2857(_0x916365,_0x38ccb7){_0x916365=_0x916365-0x133;const _0x21719c=a0_0x2171();let _0x285763=_0x21719c[_0x916365];if(a0_0x2857['CznFAX']===undefined){var _0x267dac=function(_0x3a6ce5){const _0x5261c1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x372b01='',_0x14ded7='';for(let _0x52caf6=0x0,_0x513dfd,_0x54efb0,_0x208eaa=0x0;_0x54efb0=_0x3a6ce5['charAt'](_0x208eaa++);~_0x54efb0&&(_0x513dfd=_0x52caf6%0x4?_0x513dfd*0x40+_0x54efb0:_0x54efb0,_0x52caf6++%0x4)?_0x372b01+=String['fromCharCode'](0xff&_0x513dfd>>(-0x2*_0x52caf6&0x6)):0x0){_0x54efb0=_0x5261c1['indexOf'](_0x54efb0);}for(let _0x4a8f72=0x0,_0x390c90=_0x372b01['length'];_0x4a8f72<_0x390c90;_0x4a8f72++){_0x14ded7+='%'+('00'+_0x372b01['charCodeAt'](_0x4a8f72)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14ded7);};a0_0x2857['fokBiJ']=_0x267dac,a0_0x2857['GHDqtq']={},a0_0x2857['CznFAX']=!![];}const _0xf319ca=_0x21719c[0x0],_0x288dfe=_0x916365+_0xf319ca,_0x35d5e0=a0_0x2857['GHDqtq'][_0x288dfe];return!_0x35d5e0?(_0x285763=a0_0x2857['fokBiJ'](_0x285763),a0_0x2857['GHDqtq'][_0x288dfe]=_0x285763):_0x285763=_0x35d5e0,_0x285763;}class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0x511ebb=a0_0x270ca6,_0x52b9c2={'qZIgO':_0x511ebb(0x146),'gmZSy':'uploads'};if(!this[_0x511ebb(0x14a)]){const _0x2db2c1=process['env']['RESTFORGE_PROJECT_NAME']||_0x52b9c2['qZIgO'];this['_tempDir']=process[_0x511ebb(0x135)]['UPLOAD_TEMP_DIR']||path[_0x511ebb(0x14e)](process[_0x511ebb(0x169)](),'temp',_0x52b9c2['gmZSy'],_0x2db2c1),!fsSync[_0x511ebb(0x151)](this['_tempDir'])&&fsSync[_0x511ebb(0x15f)](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0xd3e991={}){const _0x55c04f=a0_0x270ca6,_0x5bcb13={'Swjne':function(_0x4d3f3f,_0x4bf924,_0x412f35){return _0x4d3f3f(_0x4bf924,_0x412f35);},'pRiYt':function(_0x5e9904,_0x3b93ba){return _0x5e9904===_0x3b93ba;},'FZEkO':'files'},_0xf85b2a=_0xd3e991[_0x55c04f(0x137)]||0x5,_0x42e2ea=this[_0x55c04f(0x133)](_0xd3e991['maxFileSize']||'10MB'),_0x2ebb88=_0xd3e991['allowedTypes']||[],_0x3d9a21=multer[_0x55c04f(0x158)]({'destination':(_0x167498,_0x208762,_0x1f25c9)=>{const _0x196573=_0x55c04f;!fsSync['existsSync'](this['tempDir'])&&fsSync['mkdirSync'](this[_0x196573(0x148)],{'recursive':!![]}),_0x5bcb13['Swjne'](_0x1f25c9,null,this[_0x196573(0x148)]);},'filename':(_0xd3e941,_0x18de11,_0x98c63d)=>{const _0x21647c=_0x55c04f,_0x3f0f98=crypto[_0x21647c(0x165)](0x8)['toString'](_0x21647c(0x155)),_0x11c2ca=Date['now'](),_0x2699bc=path['extname'](_0x18de11[_0x21647c(0x13e)]);_0x98c63d(null,'upload-'+_0x11c2ca+'-'+_0x3f0f98+_0x2699bc);}}),_0x354841=(_0x751ec1,_0x670832,_0x3e6e13)=>{const _0x2d2a75=_0x55c04f;if(_0x5bcb13['pRiYt'](_0x2ebb88[_0x2d2a75(0x142)],0x0))return _0x3e6e13(null,!![]);const _0x1495a3=path[_0x2d2a75(0x156)](_0x670832[_0x2d2a75(0x13e)])[_0x2d2a75(0x141)]()[_0x2d2a75(0x145)]('.','');_0x2ebb88['includes'](_0x1495a3)?_0x3e6e13(null,!![]):_0x3e6e13(new Error(_0x2d2a75(0x15e)+_0x1495a3+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x2ebb88[_0x2d2a75(0x14e)](',\x20')));};return multer({'storage':_0x3d9a21,'limits':{'fileSize':_0x42e2ea,'files':_0xf85b2a},'fileFilter':_0x354841})['array'](_0x5bcb13[_0x55c04f(0x167)],_0xf85b2a);}async[a0_0x270ca6(0x140)](_0x126c87,_0x5e30da,_0x48b3bb={}){const _0x37715b=a0_0x270ca6,_0x1888b4={'ECRhn':_0x37715b(0x15d),'poJdV':function(_0x5388e7,_0x39ecd8){return _0x5388e7(_0x39ecd8);}},{createFileMetadata:_0x108b9d}=require(_0x1888b4['ECRhn']),_0x238854=[];for(const _0x783bfe of _0x126c87){try{const _0x50c2ad=_0x5e30da[_0x37715b(0x144)](_0x783bfe[_0x37715b(0x13e)],{'prefix':_0x48b3bb[_0x37715b(0x134)]||'','project':_0x48b3bb['project']||'','module':_0x48b3bb['module']||'','endpoint':_0x48b3bb['endpoint']||''}),_0x4bcc6e=fsSync['createReadStream'](_0x783bfe[_0x37715b(0x139)]),_0x4ebe92=await _0x5e30da['upload'](_0x4bcc6e,_0x50c2ad,{'contentType':_0x783bfe['mimetype'],'fileSize':_0x783bfe['size']}),_0x58bbc9=_0x1888b4['poJdV'](_0x108b9d,{'key':_0x4ebe92['key'],'originalName':_0x783bfe['originalname'],'fileName':path['basename'](_0x50c2ad),'contentType':_0x783bfe['mimetype'],'size':_0x783bfe[_0x37715b(0x166)],'url':_0x4ebe92[_0x37715b(0x13f)],'provider':_0x5e30da['providerName'],'bucket':_0x5e30da['bucket']||null,'uploadedBy':_0x48b3bb['uploadedBy']||null});_0x238854['push'](_0x58bbc9);}catch(_0x516e1b){logger[_0x37715b(0x150)]({'event':_0x37715b(0x147),'file':_0x783bfe['originalname'],'error':_0x516e1b[_0x37715b(0x15b)]},_0x37715b(0x14b)+_0x783bfe[_0x37715b(0x13e)]);throw _0x516e1b;}finally{await this['_deleteTempFile'](_0x783bfe[_0x37715b(0x139)]);}}return _0x238854;}async[a0_0x270ca6(0x136)](_0x110aba){const _0x3711e1=a0_0x270ca6,_0x4793ca={'BNUBv':_0x3711e1(0x168)};try{await fs[_0x3711e1(0x15c)](_0x110aba);}catch(_0x4f452e){logger['warn']({'event':_0x4793ca['BNUBv'],'filePath':_0x110aba,'error':_0x4f452e[_0x3711e1(0x15b)]},_0x3711e1(0x164));}}[a0_0x270ca6(0x133)](_0x43e272){const _0x168709=a0_0x270ca6,_0xdac416={'iDQSv':function(_0x4d436a,_0x5b504b){return _0x4d436a===_0x5b504b;},'NRRyG':_0x168709(0x14c),'vfSLM':function(_0x52b5e8,_0x44399c){return _0x52b5e8*_0x44399c;}};if(_0xdac416[_0x168709(0x163)](typeof _0x43e272,_0xdac416['NRRyG']))return _0x43e272;const _0x3426c3=String(_0x43e272)[_0x168709(0x152)]()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x3426c3)return _0xdac416[_0x168709(0x160)](0xa,0x400)*0x400;const _0x18cd59=parseFloat(_0x3426c3[0x1]),_0x8a4965=_0x3426c3[0x2][_0x168709(0x13a)](),_0x2eb020={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':0x400*0x400*0x400};return Math[_0x168709(0x14f)](_0xdac416[_0x168709(0x160)](_0x18cd59,_0x2eb020[_0x8a4965]||0x1));}}module[a0_0x270ca6(0x138)]=new UploadHandlerV2();
1
+ 'use strict';const a0_0x267843=a0_0xc1f8;function a0_0xc1f8(_0x9bdd35,_0x4bd9b3){_0x9bdd35=_0x9bdd35-0x114;const _0x42989c=a0_0x4298();let _0xc1f876=_0x42989c[_0x9bdd35];if(a0_0xc1f8['AMWUIE']===undefined){var _0x61e034=function(_0x267f6d){const _0x87538a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e995e='',_0x12d241='';for(let _0x12e86d=0x0,_0x334cbf,_0xf2e8fb,_0x33c02e=0x0;_0xf2e8fb=_0x267f6d['charAt'](_0x33c02e++);~_0xf2e8fb&&(_0x334cbf=_0x12e86d%0x4?_0x334cbf*0x40+_0xf2e8fb:_0xf2e8fb,_0x12e86d++%0x4)?_0x5e995e+=String['fromCharCode'](0xff&_0x334cbf>>(-0x2*_0x12e86d&0x6)):0x0){_0xf2e8fb=_0x87538a['indexOf'](_0xf2e8fb);}for(let _0x119330=0x0,_0x1fb872=_0x5e995e['length'];_0x119330<_0x1fb872;_0x119330++){_0x12d241+='%'+('00'+_0x5e995e['charCodeAt'](_0x119330)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x12d241);};a0_0xc1f8['vKDRNh']=_0x61e034,a0_0xc1f8['jLYfyN']={},a0_0xc1f8['AMWUIE']=!![];}const _0x2ba4f9=_0x42989c[0x0],_0x19d2f0=_0x9bdd35+_0x2ba4f9,_0x2ef65a=a0_0xc1f8['jLYfyN'][_0x19d2f0];return!_0x2ef65a?(_0xc1f876=a0_0xc1f8['vKDRNh'](_0xc1f876),a0_0xc1f8['jLYfyN'][_0x19d2f0]=_0xc1f876):_0xc1f876=_0x2ef65a,_0xc1f876;}(function(_0x34b369,_0x56b8c0){const _0x55d09d=a0_0xc1f8,_0x35db30=_0x34b369();while(!![]){try{const _0x1f55e8=parseInt(_0x55d09d(0x135))/0x1+parseInt(_0x55d09d(0x11b))/0x2*(-parseInt(_0x55d09d(0x144))/0x3)+-parseInt(_0x55d09d(0x13c))/0x4+parseInt(_0x55d09d(0x132))/0x5*(parseInt(_0x55d09d(0x12e))/0x6)+-parseInt(_0x55d09d(0x12b))/0x7+-parseInt(_0x55d09d(0x138))/0x8*(-parseInt(_0x55d09d(0x116))/0x9)+parseInt(_0x55d09d(0x140))/0xa;if(_0x1f55e8===_0x56b8c0)break;else _0x35db30['push'](_0x35db30['shift']());}catch(_0x3e0440){_0x35db30['push'](_0x35db30['shift']());}}}(a0_0x4298,0x34c2f));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')[a0_0x267843(0x130)],fsSync=require('fs'),{logger}=require(a0_0x267843(0x120));function a0_0x4298(){const _0x2b7d62=['mtu1mdiZzgzMBvbk','ChjVAMvJDa','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','mJq2nZm4ngLoCMLtsW','ALblB1i','zMLSzxm','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','odG3odC2uwzpA0Dk','zgLZA1n0B3jHz2u','zxHWB3j0CW','Dg9vChbLCKnHC2u','mJK1mdCYmgPmCenxAa','tw91vxq','CMfUzg9TqNL0zxm','Agv4','nZi1muHny0jQza','DgvTCerPCG','zxH0BMfTzq','BwvZC2fNzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','ywXSB3DLzfr5CgvZ','oxLgCef5AW','ExbJsLu','Cgf0Aa','zxHPC3rZu3LUyW','ChjVy2vZC1vWBg9HzgvKrMLSzxm','mZi2qMDLtuvj','CKnNDuK','zw52','Dg9tDhjPBMC','B3jPz2LUywXUyw1L','lI9SB2DNzxi','zLnzzMO','x2rLBgv0zvrLBxbgAwXL','Bwf4rMLSzvnPEMu','AM9PBG','vLLkBhu','BwTKAxjtEw5J','A2v5','DxjS','yMfZzw5HBwu','DxbSB2fKx3yYx3rLBxbFzgvSzxrLx3DHCM4','mtq2ody3n2LMrKzLsa','yxjYyxK','rvjgzwu','mZu0mtHrCNDkrK4','zgvMyxvSDa','ChjVBwLZzxm','EeHZzwy','mJqWDhrJBu9s','y3jLyxrLuMvHzfn0CMvHBq','x3rLBxbeAxi'];a0_0x4298=function(){return _0x2b7d62;};return a0_0x4298();}class UploadHandlerV2{constructor(){const _0x23dead=a0_0x267843;this[_0x23dead(0x134)]=null;}get[a0_0x267843(0x145)](){const _0x3b5e84=a0_0x267843,_0x479770={'xdcvH':_0x3b5e84(0x12f)};if(!this[_0x3b5e84(0x134)]){const _0x33ac47=process['env'][_0x3b5e84(0x114)]||_0x479770['xdcvH'];this[_0x3b5e84(0x134)]=process[_0x3b5e84(0x11d)]['UPLOAD_TEMP_DIR']||path[_0x3b5e84(0x124)](process['cwd'](),'temp','uploads',_0x33ac47),!fsSync['existsSync'](this[_0x3b5e84(0x134)])&&fsSync[_0x3b5e84(0x126)](this[_0x3b5e84(0x134)],{'recursive':!![]});}return this['_tempDir'];}['createUploadMiddleware'](_0x2d1d9c={}){const _0x3880c8=a0_0x267843,_0x44c9ef={'xHsef':_0x3880c8(0x143),'fSYfj':function(_0x560827,_0x4c31e1){return _0x560827===_0x4c31e1;},'gSCHX':function(_0x3e8a57,_0x53e18e,_0xf1e1f5){return _0x3e8a57(_0x53e18e,_0xf1e1f5);},'FUMhS':function(_0x32469f,_0x3a0a2c){return _0x32469f(_0x3a0a2c);}},_0x5a03b7=_0x2d1d9c['maxFiles']||0x5,_0x31e8ab=this['_parseFileSize'](_0x2d1d9c[_0x3880c8(0x123)]||'10MB'),_0x323112=_0x2d1d9c[_0x3880c8(0x115)]||[],_0x523347=multer[_0x3880c8(0x13d)]({'destination':(_0x59558b,_0x5a5d88,_0x18a729)=>{const _0x3c2bea=_0x3880c8;!fsSync[_0x3c2bea(0x119)](this['tempDir'])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x18a729(null,this[_0x3c2bea(0x145)]);},'filename':(_0x20211c,_0xacc6d7,_0x1e1ad7)=>{const _0x725b3=_0x3880c8,_0x3f25d8=crypto[_0x725b3(0x142)](0x8)[_0x725b3(0x11e)](_0x44c9ef[_0x725b3(0x131)]),_0x1ba510=Date['now'](),_0xce627e=path[_0x725b3(0x146)](_0xacc6d7[_0x725b3(0x11f)]);_0x1e1ad7(null,'upload-'+_0x1ba510+'-'+_0x3f25d8+_0xce627e);}}),_0x40d42c=(_0x49a599,_0x3f2fb0,_0x105099)=>{const _0x46127d=_0x3880c8;if(_0x44c9ef[_0x46127d(0x121)](_0x323112['length'],0x0))return _0x105099(null,!![]);const _0x10f5f6=path[_0x46127d(0x146)](_0x3f2fb0['originalname'])['toLowerCase']()['replace']('.','');_0x323112['includes'](_0x10f5f6)?_0x44c9ef['gSCHX'](_0x105099,null,!![]):_0x105099(new Error('File\x20type\x20\x22.'+_0x10f5f6+_0x46127d(0x13b)+_0x323112[_0x46127d(0x124)](',\x20')));};return _0x44c9ef['FUMhS'](multer,{'storage':_0x523347,'limits':{'fileSize':_0x31e8ab,'files':_0x5a03b7},'fileFilter':_0x40d42c})[_0x3880c8(0x12c)](_0x3880c8(0x13a),_0x5a03b7);}async[a0_0x267843(0x11a)](_0xe319e8,_0x21741b,_0x208236={}){const _0x14d244=a0_0x267843,_0x196f47={'HDZIN':function(_0x104459,_0x3c246c){return _0x104459(_0x3c246c);},'MouUt':'../storage/file-metadata-helper'},{createFileMetadata:_0x192192}=_0x196f47['HDZIN'](require,_0x196f47[_0x14d244(0x141)]),_0x125bba=[];for(const _0x5bd8f0 of _0xe319e8){try{const _0x92d2b6=_0x21741b['generateKey'](_0x5bd8f0[_0x14d244(0x11f)],{'prefix':_0x208236['prefix']||'','project':_0x208236[_0x14d244(0x136)]||'','module':_0x208236['module']||'','endpoint':_0x208236['endpoint']||''}),_0x137d60=fsSync[_0x14d244(0x133)](_0x5bd8f0[_0x14d244(0x118)]),_0x35c656=await _0x21741b['upload'](_0x137d60,_0x92d2b6,{'contentType':_0x5bd8f0['mimetype'],'fileSize':_0x5bd8f0['size']}),_0x3c3622=_0x192192({'key':_0x35c656[_0x14d244(0x127)],'originalName':_0x5bd8f0[_0x14d244(0x11f)],'fileName':path[_0x14d244(0x129)](_0x92d2b6),'contentType':_0x5bd8f0['mimetype'],'size':_0x5bd8f0['size'],'url':_0x35c656[_0x14d244(0x128)],'provider':_0x21741b['providerName'],'bucket':_0x21741b['bucket']||null,'uploadedBy':_0x208236['uploadedBy']||null});_0x125bba['push'](_0x3c3622);}catch(_0x56975b){logger['error']({'event':'upload_v2_process_error','file':_0x5bd8f0['originalname'],'error':_0x56975b[_0x14d244(0x147)]},_0x14d244(0x137)+_0x5bd8f0[_0x14d244(0x11f)]);throw _0x56975b;}finally{await this['_deleteTempFile'](_0x5bd8f0[_0x14d244(0x118)]);}}return _0x125bba;}async[a0_0x267843(0x122)](_0x429a3e){const _0x2060dd=a0_0x267843,_0x3cf94a={'ERFee':_0x2060dd(0x12a)};try{await fs['unlink'](_0x429a3e);}catch(_0x1a0d50){logger['warn']({'event':_0x3cf94a[_0x2060dd(0x12d)],'filePath':_0x429a3e,'error':_0x1a0d50[_0x2060dd(0x147)]},'Failed\x20to\x20delete\x20temp\x20file');}}['_parseFileSize'](_0x4916dc){const _0x52104c=a0_0x267843,_0x47e3fd={'jPKoR':function(_0x7614cd,_0x5dae93){return _0x7614cd===_0x5dae93;},'rCguI':'number','VYJlu':function(_0xbde74f,_0x256fde){return _0xbde74f*_0x256fde;},'ypcJU':function(_0x619e5d,_0x2bf44d){return _0x619e5d(_0x2bf44d);}};if(_0x47e3fd[_0x52104c(0x139)](typeof _0x4916dc,_0x47e3fd[_0x52104c(0x11c)]))return _0x4916dc;const _0x51b23c=String(_0x4916dc)['trim']()['match'](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x51b23c)return _0x47e3fd[_0x52104c(0x125)](0xa,0x400)*0x400;const _0x3c19e4=_0x47e3fd[_0x52104c(0x117)](parseFloat,_0x51b23c[0x1]),_0x24d35d=_0x51b23c[0x2][_0x52104c(0x13f)](),_0x8697dd={'B':0x1,'KB':0x400,'MB':_0x47e3fd['VYJlu'](0x400,0x400),'GB':0x400*0x400*0x400};return Math['floor'](_0x3c19e4*(_0x8697dd[_0x24d35d]||0x1));}}module[a0_0x267843(0x13e)]=new UploadHandlerV2();
@@ -1 +1 @@
1
- function a0_0x3a3a(){const _0x3657fd=['zxH0BMfTzq','z2v0u3rVCMfNzq','mtqXodqYnMDLt2zXua','q01srMi','zw5Qte4','Aw5MBW','lI9SB2DNzxi','ou92r3ftra','zw52','B3jPz2LUywXUyw1L','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','EhjxA0S','x3vWBg9HzerPCG','DxbSB2fKx2HHBMrSzxjFAw5PDa','BwLTzxr5Cgu','mte4ntG3mdrnzxHxAKm','vvbmt0fex0rjuG','Aw5JBhvKzxm','Agv4','BMDfwfu','ndu1nZGWu3jhwKvl','DxbSB2fKx2zPBgvFzgvSzxrLza','zxjYB3i','Dg9tDhjPBMC','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','nZe0mty4n0jhtxjLsq','mtu0oduYCMr6AuH4','DxbSB2fKrgLY','mZbwBMjRqw4','mZbVsvflvMy','nJK5mte0nhLdCKzxrq','mteZndaZmtbmue9rBKW','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zxHWB3j0CW','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','qu5lvue','CMfUzg9TqNL0zxm','BxvSDgvY','AM9PBG','z2v0vxbSB2fKtwLKzgXLD2fYzq'];a0_0x3a3a=function(){return _0x3657fd;};return a0_0x3a3a();}function a0_0x3b64(_0xeb5c3d,_0x1d0b6b){_0xeb5c3d=_0xeb5c3d-0x1cc;const _0x3a3ae2=a0_0x3a3a();let _0x3b6406=_0x3a3ae2[_0xeb5c3d];if(a0_0x3b64['soTXih']===undefined){var _0x5759fe=function(_0x1d4faa){const _0x1a0ecb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x378b41='',_0x4942b5='';for(let _0x3c2f4a=0x0,_0x4036f4,_0x260e49,_0x2d04bd=0x0;_0x260e49=_0x1d4faa['charAt'](_0x2d04bd++);~_0x260e49&&(_0x4036f4=_0x3c2f4a%0x4?_0x4036f4*0x40+_0x260e49:_0x260e49,_0x3c2f4a++%0x4)?_0x378b41+=String['fromCharCode'](0xff&_0x4036f4>>(-0x2*_0x3c2f4a&0x6)):0x0){_0x260e49=_0x1a0ecb['indexOf'](_0x260e49);}for(let _0x10b51b=0x0,_0x1a4673=_0x378b41['length'];_0x10b51b<_0x1a4673;_0x10b51b++){_0x4942b5+='%'+('00'+_0x378b41['charCodeAt'](_0x10b51b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4942b5);};a0_0x3b64['wrVHVU']=_0x5759fe,a0_0x3b64['QYvHyy']={},a0_0x3b64['soTXih']=!![];}const _0x5b09ec=_0x3a3ae2[0x0],_0x52a12e=_0xeb5c3d+_0x5b09ec,_0x2cd6fc=a0_0x3b64['QYvHyy'][_0x52a12e];return!_0x2cd6fc?(_0x3b6406=a0_0x3b64['wrVHVU'](_0x3b6406),a0_0x3b64['QYvHyy'][_0x52a12e]=_0x3b6406):_0x3b6406=_0x2cd6fc,_0x3b6406;}const a0_0x5bd6c1=a0_0x3b64;(function(_0x2401c9,_0x7f7e16){const _0x129295=a0_0x3b64,_0x36e790=_0x2401c9();while(!![]){try{const _0x52a85c=-parseInt(_0x129295(0x1e7))/0x1+-parseInt(_0x129295(0x1d7))/0x2*(-parseInt(_0x129295(0x1d9))/0x3)+parseInt(_0x129295(0x1db))/0x4+parseInt(_0x129295(0x1d1))/0x5*(parseInt(_0x129295(0x1da))/0x6)+-parseInt(_0x129295(0x1d6))/0x7+parseInt(_0x129295(0x1cc))/0x8+parseInt(_0x129295(0x1ec))/0x9*(-parseInt(_0x129295(0x1dc))/0xa);if(_0x52a85c===_0x7f7e16)break;else _0x36e790['push'](_0x36e790['shift']());}catch(_0x9d00fe){_0x36e790['push'](_0x36e790['shift']());}}}(a0_0x3a3a,0xd8aaa));const multer=require(a0_0x5bd6c1(0x1e2)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x5bd6c1(0x1eb));class UploadHandler{constructor(){const _0x5e68e4=a0_0x5bd6c1,_0x5d273a={'FBexU':function(_0x92d4f9,_0x2fe8c0){return _0x92d4f9*_0x2fe8c0;},'pHEYJ':function(_0x29cbc9,_0x2c40a4){return _0x29cbc9*_0x2c40a4;}};this[_0x5e68e4(0x1f1)]=null,this['maxFileSize']=_0x5d273a['FBexU'](_0x5d273a['pHEYJ'](0xa,0x400),0x400);}get[a0_0x5bd6c1(0x1d8)](){const _0x41d345=a0_0x5bd6c1,_0x2ed7d5={'CMRFb':'default','enjLN':_0x41d345(0x1df),'ngEXU':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x41d345(0x1f1)]){const _0x52f46b=process['env']['RESTFORGE_PROJECT_NAME']||_0x2ed7d5[_0x41d345(0x1e8)];this[_0x41d345(0x1f1)]=process[_0x41d345(0x1ed)][_0x41d345(0x1cd)]||path[_0x41d345(0x1e3)](__dirname,'../../temp/uploads/'+_0x52f46b);try{!fsSync['existsSync'](this[_0x41d345(0x1f1)])&&fsSync['mkdirSync'](this[_0x41d345(0x1f1)],{'recursive':!![]}),logger['info']({'event':_0x41d345(0x1f2),'dir':this[_0x41d345(0x1f1)]},_0x41d345(0x1d5));}catch(_0x5e3395){logger['error']({'event':_0x2ed7d5[_0x41d345(0x1e9)],'error':_0x5e3395['message']},_0x2ed7d5[_0x41d345(0x1d0)]);}}return this['_uploadDir'];}[a0_0x5bd6c1(0x1e6)](){const _0x31f865=a0_0x5bd6c1,_0xc7c0df={'xrWkK':_0x31f865(0x1cf),'ANKUA':function(_0x4ae1fc,_0x25cf12,_0x2fdf47){return _0x4ae1fc(_0x25cf12,_0x2fdf47);}};return multer['diskStorage']({'destination':(_0x50ddd9,_0x2f60fd,_0x469f1e)=>{const _0x20ee28=_0x31f865;!fsSync['existsSync'](this['uploadDir'])&&fsSync['mkdirSync'](this[_0x20ee28(0x1d8)],{'recursive':!![]}),_0x469f1e(null,this[_0x20ee28(0x1d8)]);},'filename':(_0x4aa8da,_0x203a31,_0x3469cc)=>{const _0x3cd89a=_0x31f865,_0x52de48=crypto[_0x3cd89a(0x1e1)](0x8)[_0x3cd89a(0x1d4)](_0xc7c0df[_0x3cd89a(0x1f0)]),_0x5c9780=Date['now'](),_0x13ade4=path['extname'](_0x203a31[_0x3cd89a(0x1ee)]);_0xc7c0df[_0x3cd89a(0x1e0)](_0x3469cc,null,'upload-'+_0x5c9780+'-'+_0x52de48+_0x13ade4);}});}[a0_0x5bd6c1(0x1e4)](){const _0x5aba44=a0_0x5bd6c1,_0x9ed628={'IwHhZ':function(_0x26dcae,_0x3bc672,_0x5c83c1){return _0x26dcae(_0x3bc672,_0x5c83c1);}};return multer({'storage':this[_0x5aba44(0x1e6)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2ba046,_0x56fab7,_0xbff8be)=>{const _0x212e4f=_0x5aba44,_0x7cb606=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x212e4f(0x1ef)],_0x4ee656=['.xlsx','.xls'],_0x4673ce=path[_0x212e4f(0x1e5)](_0x56fab7['originalname'])['toLowerCase']();_0x7cb606[_0x212e4f(0x1ce)](_0x56fab7[_0x212e4f(0x1f3)])&&_0x4ee656['includes'](_0x4673ce)?_0x9ed628['IwHhZ'](_0xbff8be,null,!![]):_0xbff8be(new Error(_0x212e4f(0x1dd)));}})['single']('file');}async['deleteFile'](_0x4bfb99){const _0x4b13a2=a0_0x5bd6c1;try{await fs['unlink'](_0x4bfb99),logger[_0x4b13a2(0x1ea)]({'event':_0x4b13a2(0x1d2),'filePath':_0x4bfb99},'Uploaded\x20file\x20deleted');}catch(_0x594561){logger[_0x4b13a2(0x1d3)]({'event':'upload_file_delete_error','filePath':_0x4bfb99,'error':_0x594561['message']},'Failed\x20to\x20delete\x20uploaded\x20file');}}}module[a0_0x5bd6c1(0x1de)]=new UploadHandler();
1
+ const a0_0xef4d3=a0_0x4e5f;(function(_0x22b086,_0x49acc5){const _0x5ea6e3=a0_0x4e5f,_0x258dac=_0x22b086();while(!![]){try{const _0x40eeea=parseInt(_0x5ea6e3(0x99))/0x1+parseInt(_0x5ea6e3(0xab))/0x2+-parseInt(_0x5ea6e3(0xa4))/0x3+parseInt(_0x5ea6e3(0xa0))/0x4+parseInt(_0x5ea6e3(0x9b))/0x5*(-parseInt(_0x5ea6e3(0x8e))/0x6)+-parseInt(_0x5ea6e3(0x9f))/0x7+parseInt(_0x5ea6e3(0x89))/0x8;if(_0x40eeea===_0x49acc5)break;else _0x258dac['push'](_0x258dac['shift']());}catch(_0x4e1d25){_0x258dac['push'](_0x258dac['shift']());}}}(a0_0x40b8,0x2a87e));function a0_0x40b8(){const _0x4bac82=['Cgf0Aa','CxjIsLC','Aw5JBhvKzxm','nty4mZK4s0PTAxfY','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','lI9SB2DNzxi','mty1nJe0nhbNDfnMyW','wuXNz2S','BwTKAxjtEw5J','lI4VlI4VDgvTCc91CgXVywrZlW','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mtHhyLPdtfy','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','Dg9mB3DLCKnHC2u','uhj0sgq','C2LUz2XL','DxbSB2fKrgLY','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','BwvZC2fNzq','Bwf4rMLSzvnPEMu','zxH0BMfTzq','ntC3mdvowuXIwLe','C3nNqLy','ntC2mdm1tLruyvn5','zxHWB3j0CW','B3jPz2LUywXUyw1L','CMfUzg9TqNL0zxm','nJeZotCWufvstwPJ','nJm4ntC2vhvzwePX','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','zfrorfq','x3vWBg9HzerPCG','mZaZmdG3uvbntLLX','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','ChjVBwLZzxm','Aw5MBW'];a0_0x40b8=function(){return _0x4bac82;};return a0_0x40b8();}const multer=require('multer'),path=require(a0_0xef4d3(0xa8)),crypto=require('crypto'),fs=require('fs')[a0_0xef4d3(0xa6)],fsSync=require('fs'),{logger}=require(a0_0xef4d3(0xad));class UploadHandler{constructor(){const _0x2623ad=a0_0xef4d3,_0x8f214c={'qrbJW':function(_0x433a28,_0x1d95f2){return _0x433a28*_0x1d95f2;},'ssgBV':function(_0x3d24e4,_0x4be479){return _0x3d24e4*_0x4be479;}};this['_uploadDir']=null,this[_0x2623ad(0x97)]=_0x8f214c[_0x2623ad(0xa9)](_0x8f214c[_0x2623ad(0x9a)](0xa,0x400),0x400);}get[a0_0xef4d3(0x93)](){const _0xbf761a=a0_0xef4d3,_0x3a9860={'YLggk':'Upload\x20handler\x20initialized'};if(!this[_0xbf761a(0xa3)]){const _0x100aac=process['env']['RESTFORGE_PROJECT_NAME']||'default';this[_0xbf761a(0xa3)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0xbf761a(0x8c)+_0x100aac);try{!fsSync['existsSync'](this[_0xbf761a(0xa3)])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger[_0xbf761a(0xa7)]({'event':'upload_handler_init','dir':this[_0xbf761a(0xa3)]},_0x3a9860[_0xbf761a(0x8a)]);}catch(_0x5d3b8d){logger['error']({'event':_0xbf761a(0xa5),'error':_0x5d3b8d[_0xbf761a(0x96)]},_0xbf761a(0xa1));}}return this[_0xbf761a(0xa3)];}['getStorage'](){const _0x463ea8={'PrtHd':'hex','vuiaM':function(_0x378149,_0x454de9,_0x4d6d99){return _0x378149(_0x454de9,_0x4d6d99);}};return multer['diskStorage']({'destination':(_0x115ebd,_0xb78913,_0x187193)=>{const _0x22772e=a0_0x4e5f;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x22772e(0x8b)](this[_0x22772e(0x93)],{'recursive':!![]}),_0x187193(null,this[_0x22772e(0x93)]);},'filename':(_0x4602fd,_0x124979,_0x381cec)=>{const _0x4fc2f5=a0_0x4e5f,_0x1df0cb=crypto[_0x4fc2f5(0x9e)](0x8)['toString'](_0x463ea8[_0x4fc2f5(0x91)]),_0x9b6f49=Date['now'](),_0x1aaa9d=path['extname'](_0x124979['originalname']);_0x463ea8['vuiaM'](_0x381cec,null,'upload-'+_0x9b6f49+'-'+_0x1df0cb+_0x1aaa9d);}});}['getUploadMiddleware'](){const _0x7fcd80=a0_0xef4d3,_0x2b536c={'TRJIK':_0x7fcd80(0x8d),'jDhfS':'.xlsx','KzSHB':'.xls','dTNDT':function(_0x2b8777,_0x5efb5b,_0x4bfdf1){return _0x2b8777(_0x5efb5b,_0x4bfdf1);}};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this[_0x7fcd80(0x97)],'files':0x1},'fileFilter':(_0x382089,_0x9a111,_0x1783c9)=>{const _0x1c1169=_0x7fcd80,_0x1f4fb0=[_0x2b536c['TRJIK'],_0x1c1169(0xac)],_0x4ed045=[_0x2b536c['jDhfS'],_0x2b536c['KzSHB']],_0x3dfdad=path[_0x1c1169(0x98)](_0x9a111[_0x1c1169(0x9d)])[_0x1c1169(0x90)]();_0x1f4fb0[_0x1c1169(0xaa)](_0x9a111['mimetype'])&&_0x4ed045['includes'](_0x3dfdad)?_0x2b536c[_0x1c1169(0xa2)](_0x1783c9,null,!![]):_0x1783c9(new Error(_0x1c1169(0x8f)));}})[_0x7fcd80(0x92)]('file');}async['deleteFile'](_0x42e7de){const _0x4fb841=a0_0xef4d3,_0x255579={'tjRvz':'upload_file_deleted','hAYTA':_0x4fb841(0x94)};try{await fs['unlink'](_0x42e7de),logger['info']({'event':_0x255579['tjRvz'],'filePath':_0x42e7de},_0x4fb841(0x95));}catch(_0x5b0ab6){logger['error']({'event':'upload_file_delete_error','filePath':_0x42e7de,'error':_0x5b0ab6[_0x4fb841(0x96)]},_0x255579['hAYTA']);}}}function a0_0x4e5f(_0xd0968e,_0x105ee8){_0xd0968e=_0xd0968e-0x89;const _0x40b801=a0_0x40b8();let _0x4e5f68=_0x40b801[_0xd0968e];if(a0_0x4e5f['VARWbV']===undefined){var _0x49db5a=function(_0x583f33){const _0x2361ec='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x28d42c='',_0x1e6b89='';for(let _0x24474a=0x0,_0x172046,_0x33699b,_0x2ac058=0x0;_0x33699b=_0x583f33['charAt'](_0x2ac058++);~_0x33699b&&(_0x172046=_0x24474a%0x4?_0x172046*0x40+_0x33699b:_0x33699b,_0x24474a++%0x4)?_0x28d42c+=String['fromCharCode'](0xff&_0x172046>>(-0x2*_0x24474a&0x6)):0x0){_0x33699b=_0x2361ec['indexOf'](_0x33699b);}for(let _0x5a4bdd=0x0,_0x4dd79a=_0x28d42c['length'];_0x5a4bdd<_0x4dd79a;_0x5a4bdd++){_0x1e6b89+='%'+('00'+_0x28d42c['charCodeAt'](_0x5a4bdd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e6b89);};a0_0x4e5f['NHZpIe']=_0x49db5a,a0_0x4e5f['WnfNio']={},a0_0x4e5f['VARWbV']=!![];}const _0xc15e9=_0x40b801[0x0],_0x2f446d=_0xd0968e+_0xc15e9,_0x1be830=a0_0x4e5f['WnfNio'][_0x2f446d];return!_0x1be830?(_0x4e5f68=a0_0x4e5f['NHZpIe'](_0x4e5f68),a0_0x4e5f['WnfNio'][_0x2f446d]=_0x4e5f68):_0x4e5f68=_0x1be830,_0x4e5f68;}module[a0_0xef4d3(0x9c)]=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0x3453d9=a0_0x4d06;function a0_0x4d06(_0x3ea86c,_0x34b6c9){_0x3ea86c=_0x3ea86c-0x1c5;const _0x57ab89=a0_0x57ab();let _0x4d06fd=_0x57ab89[_0x3ea86c];if(a0_0x4d06['CQrZrd']===undefined){var _0x3d4483=function(_0x224d60){const _0x50c8a2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4ecbb1='',_0x263fdb='';for(let _0x3601ac=0x0,_0x3782c3,_0x5017f6,_0x35bec5=0x0;_0x5017f6=_0x224d60['charAt'](_0x35bec5++);~_0x5017f6&&(_0x3782c3=_0x3601ac%0x4?_0x3782c3*0x40+_0x5017f6:_0x5017f6,_0x3601ac++%0x4)?_0x4ecbb1+=String['fromCharCode'](0xff&_0x3782c3>>(-0x2*_0x3601ac&0x6)):0x0){_0x5017f6=_0x50c8a2['indexOf'](_0x5017f6);}for(let _0x19a5a4=0x0,_0x39ae08=_0x4ecbb1['length'];_0x19a5a4<_0x39ae08;_0x19a5a4++){_0x263fdb+='%'+('00'+_0x4ecbb1['charCodeAt'](_0x19a5a4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x263fdb);};a0_0x4d06['jVWqhr']=_0x3d4483,a0_0x4d06['ENzhoS']={},a0_0x4d06['CQrZrd']=!![];}const _0x1d7741=_0x57ab89[0x0],_0x238431=_0x3ea86c+_0x1d7741,_0xa66ed7=a0_0x4d06['ENzhoS'][_0x238431];return!_0xa66ed7?(_0x4d06fd=a0_0x4d06['jVWqhr'](_0x4d06fd),a0_0x4d06['ENzhoS'][_0x238431]=_0x4d06fd):_0x4d06fd=_0xa66ed7,_0x4d06fd;}(function(_0x68055,_0xfbe14){const _0x257db6=a0_0x4d06,_0xe21812=_0x68055();while(!![]){try{const _0x1c37f6=parseInt(_0x257db6(0x1c5))/0x1+-parseInt(_0x257db6(0x1cd))/0x2+parseInt(_0x257db6(0x1c8))/0x3+-parseInt(_0x257db6(0x1db))/0x4*(parseInt(_0x257db6(0x1e0))/0x5)+parseInt(_0x257db6(0x1c6))/0x6*(parseInt(_0x257db6(0x1ce))/0x7)+parseInt(_0x257db6(0x1d1))/0x8*(parseInt(_0x257db6(0x1e2))/0x9)+parseInt(_0x257db6(0x1da))/0xa;if(_0x1c37f6===_0xfbe14)break;else _0xe21812['push'](_0xe21812['shift']());}catch(_0x2a2935){_0xe21812['push'](_0xe21812['shift']());}}}(a0_0x57ab,0x455f7));const axios=require('axios');async function sendInsertWebhook(_0x343ecd,_0x364fd0,_0x45aee9={}){const _0x1b0a26=a0_0x4d06,_0x2b21b6={'SRtEh':_0x1b0a26(0x1dc),'knuha':'application/json','oVEwh':'RestForge-Webhook/1.0','Zsloq':_0x1b0a26(0x1d9),'IROSo':'Error\x20sending\x20insert\x20webhook:'};try{const _0xfd0d15={'event':_0x2b21b6[_0x1b0a26(0x1d0)],'timestamp':new Date()[_0x1b0a26(0x1d2)](),'data':_0x364fd0},_0x327087=await axios[_0x1b0a26(0x1d7)](_0x343ecd,_0xfd0d15,{'headers':{'Content-Type':_0x2b21b6[_0x1b0a26(0x1c9)],'User-Agent':_0x2b21b6[_0x1b0a26(0x1cc)],..._0x45aee9},'timeout':0x2710});return console[_0x1b0a26(0x1cb)]('Insert\x20webhook\x20sent\x20to\x20'+_0x343ecd+',\x20Status:\x20'+_0x327087[_0x1b0a26(0x1dd)]),{'success':!![],'message':_0x2b21b6['Zsloq'],'status':_0x327087[_0x1b0a26(0x1dd)],'url':_0x343ecd};}catch(_0x2c75e0){return console[_0x1b0a26(0x1df)](_0x2b21b6[_0x1b0a26(0x1d4)],_0x2c75e0['message']),{'success':![],'message':_0x1b0a26(0x1d8),'error':_0x2c75e0[_0x1b0a26(0x1d6)],'url':_0x343ecd};}}async function sendDeleteWebhook(_0x303e1e,_0x22df2b,_0x490ed0={}){const _0x138bad=a0_0x4d06,_0x23b2a3={'tkQpo':_0x138bad(0x1e3),'ykXTz':_0x138bad(0x1ca)};try{const _0x162caa={'event':_0x138bad(0x1d5),'timestamp':new Date()[_0x138bad(0x1d2)](),'deleted_data':_0x22df2b},_0x116502=await axios['post'](_0x303e1e,_0x162caa,{'headers':{'Content-Type':_0x138bad(0x1e1),'User-Agent':_0x23b2a3['tkQpo'],..._0x490ed0},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x303e1e+_0x138bad(0x1c7)+_0x116502[_0x138bad(0x1dd)]),{'success':!![],'message':_0x138bad(0x1de),'status':_0x116502['status'],'url':_0x303e1e};}catch(_0x37b7df){return console[_0x138bad(0x1df)]('Error\x20sending\x20delete\x20webhook:',_0x37b7df[_0x138bad(0x1d6)]),{'success':![],'message':_0x23b2a3[_0x138bad(0x1d3)],'error':_0x37b7df['message'],'url':_0x303e1e};}}module[a0_0x3453d9(0x1cf)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};function a0_0x57ab(){const _0x3eca7d=['Aw5Zzxj0','C3rHDhvZ','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','zxjYB3i','mtq1nZy1yuDrzKfc','yxbWBgLJyxrPB24VANnVBG','nte0odyZve9fyw90','uMvZDezVCMDLlvDLyMHVB2SVms4W','ndm3nJK2EwfXCwzg','mJqXnJG2u3LSquPm','lcbtDgf0Dxm6ia','mJK0nZK1ywfVvefu','A251Age','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','Bg9N','B1zfD2G','nZCXodm2vLHKquXQ','n0LmqNjrwq','zxHWB3j0CW','u1j0rwG','ofv3q2D4sW','Dg9ju09tDhjPBMC','EwTyvhO','svjpu28','zgvSzxrL','BwvZC2fNzq','Cg9ZDa','rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','nde1nJa5mfLLv2zqEq','ntj2AMHbreW'];a0_0x57ab=function(){return _0x3eca7d;};return a0_0x57ab();}
1
+ const a0_0x1a96b3=a0_0x5796;function a0_0x5796(_0x280d91,_0x3d606f){_0x280d91=_0x280d91-0xe5;const _0x1639ca=a0_0x1639();let _0x579652=_0x1639ca[_0x280d91];if(a0_0x5796['iYTLIv']===undefined){var _0x11feb5=function(_0x24f18e){const _0xdb9e78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x52b735='',_0x1c155c='';for(let _0x21d74e=0x0,_0x365803,_0x222058,_0x3bc96e=0x0;_0x222058=_0x24f18e['charAt'](_0x3bc96e++);~_0x222058&&(_0x365803=_0x21d74e%0x4?_0x365803*0x40+_0x222058:_0x222058,_0x21d74e++%0x4)?_0x52b735+=String['fromCharCode'](0xff&_0x365803>>(-0x2*_0x21d74e&0x6)):0x0){_0x222058=_0xdb9e78['indexOf'](_0x222058);}for(let _0x52f35f=0x0,_0x33a56f=_0x52b735['length'];_0x52f35f<_0x33a56f;_0x52f35f++){_0x1c155c+='%'+('00'+_0x52b735['charCodeAt'](_0x52f35f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1c155c);};a0_0x5796['jBPfno']=_0x11feb5,a0_0x5796['VNXBlV']={},a0_0x5796['iYTLIv']=!![];}const _0x56a01a=_0x1639ca[0x0],_0x35a6ab=_0x280d91+_0x56a01a,_0x4e1c65=a0_0x5796['VNXBlV'][_0x35a6ab];return!_0x4e1c65?(_0x579652=a0_0x5796['jBPfno'](_0x579652),a0_0x5796['VNXBlV'][_0x35a6ab]=_0x579652):_0x579652=_0x4e1c65,_0x579652;}function a0_0x1639(){const _0x89cdee=['odu3CeHPsLj3','rxjYB3iGC2vUzgLUzYbKzwXLDguGD2vIAg9VAZO','BwvZC2fNzq','mZu0ouTmvMr1vG','zxHWB3j0CW','mtKWohjzrhL0Aq','Cg9ZDa','mty2mfPXBKfizq','mZz1EeHXBxm','nZCYmJyWm1PuAMr6BG','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','yxbWBgLJyxrPB24VANnVBG','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','nJyWmtmXmKTkD296yG','zxjYB3i','Bg9N','mZyYnda2nwHMt2XqBq','yxHPB3m','Dg9ju09tDhjPBMC','mti3mdi2mfHcsNzQqq','sLvgq0e','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','uMvZDezVCMDLlvDLyMHVB2SVms4W','rgvSzxrLihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK','BK5Kque','lcbtDgf0Dxm6ia','mti3nZyYoe1Ov3fgDW','C3rHDhvZ'];a0_0x1639=function(){return _0x89cdee;};return a0_0x1639();}(function(_0x1f4b02,_0x45f20c){const _0xd7e3e8=a0_0x5796,_0xb43a5a=_0x1f4b02();while(!![]){try{const _0x18444c=-parseInt(_0xd7e3e8(0xec))/0x1*(parseInt(_0xd7e3e8(0xf3))/0x2)+parseInt(_0xd7e3e8(0xef))/0x3*(parseInt(_0xd7e3e8(0xf1))/0x4)+parseInt(_0xd7e3e8(0xfc))/0x5+-parseInt(_0xd7e3e8(0xea))/0x6+-parseInt(_0xd7e3e8(0xf5))/0x7+parseInt(_0xd7e3e8(0xf9))/0x8+-parseInt(_0xd7e3e8(0xf4))/0x9*(-parseInt(_0xd7e3e8(0xff))/0xa);if(_0x18444c===_0x45f20c)break;else _0xb43a5a['push'](_0xb43a5a['shift']());}catch(_0x59b341){_0xb43a5a['push'](_0xb43a5a['shift']());}}}(a0_0x1639,0x913cf));const axios=require(a0_0x1a96b3(0xfd));async function sendInsertWebhook(_0x13ca7b,_0x6957fc,_0x1a36d7={}){const _0x409b28=a0_0x1a96b3,_0x182beb={'YYYki':'insert','ptjEm':'RestForge-Webhook/1.0','nNdAA':_0x409b28(0xe5)};try{const _0x3c17fb={'event':_0x182beb['YYYki'],'timestamp':new Date()[_0x409b28(0xfe)](),'data':_0x6957fc},_0x4a60a8=await axios[_0x409b28(0xf2)](_0x13ca7b,_0x3c17fb,{'headers':{'Content-Type':'application/json','User-Agent':_0x182beb['ptjEm'],..._0x1a36d7},'timeout':0x2710});return console['log']('Insert\x20webhook\x20sent\x20to\x20'+_0x13ca7b+',\x20Status:\x20'+_0x4a60a8[_0x409b28(0xeb)]),{'success':!![],'message':_0x182beb[_0x409b28(0xe8)],'status':_0x4a60a8['status'],'url':_0x13ca7b};}catch(_0x415400){return console['error']('Error\x20sending\x20insert\x20webhook:',_0x415400[_0x409b28(0xee)]),{'success':![],'message':'Failed\x20to\x20send\x20insert\x20webhook','error':_0x415400[_0x409b28(0xee)],'url':_0x13ca7b};}}async function sendDeleteWebhook(_0x27a660,_0x3790ff,_0x55b650={}){const _0x462540=a0_0x1a96b3,_0x6ce378={'JUFCA':'delete'};try{const _0x2b930b={'event':_0x6ce378[_0x462540(0x100)],'timestamp':new Date()[_0x462540(0xfe)](),'deleted_data':_0x3790ff},_0x115fce=await axios['post'](_0x27a660,_0x2b930b,{'headers':{'Content-Type':_0x462540(0xf7),'User-Agent':_0x462540(0xe6),..._0x55b650},'timeout':0x2710});return console[_0x462540(0xfb)](_0x462540(0xf8)+_0x27a660+_0x462540(0xe9)+_0x115fce['status']),{'success':!![],'message':_0x462540(0xe7),'status':_0x115fce['status'],'url':_0x27a660};}catch(_0x50393b){return console[_0x462540(0xfa)](_0x462540(0xed),_0x50393b['message']),{'success':![],'message':_0x462540(0xf6),'error':_0x50393b[_0x462540(0xee)],'url':_0x27a660};}}module[a0_0x1a96b3(0xf0)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
@@ -1 +1 @@
1
- const a0_0x2b537b=a0_0x4f27;(function(_0x2e4161,_0x32aa38){const _0x5c83d9=a0_0x4f27,_0x3f9f8a=_0x2e4161();while(!![]){try{const _0xbc1252=-parseInt(_0x5c83d9(0x173))/0x1*(-parseInt(_0x5c83d9(0x16b))/0x2)+-parseInt(_0x5c83d9(0x15d))/0x3*(-parseInt(_0x5c83d9(0x157))/0x4)+-parseInt(_0x5c83d9(0x15f))/0x5*(parseInt(_0x5c83d9(0x15a))/0x6)+parseInt(_0x5c83d9(0x16f))/0x7+parseInt(_0x5c83d9(0x16c))/0x8+parseInt(_0x5c83d9(0x154))/0x9*(-parseInt(_0x5c83d9(0x159))/0xa)+-parseInt(_0x5c83d9(0x168))/0xb*(parseInt(_0x5c83d9(0x161))/0xc);if(_0xbc1252===_0x32aa38)break;else _0x3f9f8a['push'](_0x3f9f8a['shift']());}catch(_0x4fbdfd){_0x3f9f8a['push'](_0x3f9f8a['shift']());}}}(a0_0x5a6c,0xcb35e));const express=require(a0_0x2b537b(0x151)),{logger}=require('../../utils/logger');function a0_0x4f27(_0x3fcbde,_0x21bd17){_0x3fcbde=_0x3fcbde-0x14f;const _0x5a6c1c=a0_0x5a6c();let _0x4f27e3=_0x5a6c1c[_0x3fcbde];if(a0_0x4f27['FprLJe']===undefined){var _0x3f1f4c=function(_0x402a64){const _0x20fd92='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a2063='',_0x23d8af='';for(let _0x363a67=0x0,_0x2de839,_0x37bbe8,_0x298424=0x0;_0x37bbe8=_0x402a64['charAt'](_0x298424++);~_0x37bbe8&&(_0x2de839=_0x363a67%0x4?_0x2de839*0x40+_0x37bbe8:_0x37bbe8,_0x363a67++%0x4)?_0x4a2063+=String['fromCharCode'](0xff&_0x2de839>>(-0x2*_0x363a67&0x6)):0x0){_0x37bbe8=_0x20fd92['indexOf'](_0x37bbe8);}for(let _0x4b9f9b=0x0,_0x189bc6=_0x4a2063['length'];_0x4b9f9b<_0x189bc6;_0x4b9f9b++){_0x23d8af+='%'+('00'+_0x4a2063['charCodeAt'](_0x4b9f9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23d8af);};a0_0x4f27['XIQJaN']=_0x3f1f4c,a0_0x4f27['FfrjEW']={},a0_0x4f27['FprLJe']=!![];}const _0x4ca52d=_0x5a6c1c[0x0],_0x5757df=_0x3fcbde+_0x4ca52d,_0x31b117=a0_0x4f27['FfrjEW'][_0x5757df];return!_0x31b117?(_0x4f27e3=a0_0x4f27['XIQJaN'](_0x4f27e3),a0_0x4f27['FfrjEW'][_0x5757df]=_0x4f27e3):_0x4f27e3=_0x31b117,_0x4f27e3;}function a0_0x5a6c(){const _0x2edfd8=['otaYodqWz2ffD2Db','uM91DgvY','mtjps0zwBva','l3n0yxr1CW','zxjYB3i','BwvZC2fNzq','B1r6see','C3vJy2vZCW','sLfSEhm','nte5nZCWowLqwgXHuG','ANnVBG','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','ntu4ntzgyw5pyw8','mta2mtuZotjiDu1ZDwq','uuH1Duy','BKLqr2S','mJCXmte0mM1xy1vUsa','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','CMvSzwfZzvjLC291CMnLtg9JA3m','mZfKwffWyNK','Cg9ZDa','l3jLBgvHC2u','zxHWCMvZCW','uK1py3m','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mtiZntK3z25orgjp','C3rHDhvZ','yM9KEq','mtzdBvLlzwG','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','mta5mg56EMHItq','ndjwtMHzu2C','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','AMrdDLG','mteXndmWoffgvvforG','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa'];a0_0x5a6c=function(){return _0x2edfd8;};return a0_0x5a6c();}function createLockRoutes(){const _0x364257=a0_0x2b537b,_0xa6310f={'CYULo':_0x364257(0x170),'TcAqt':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20ttl,\x20owner','QHuuF':_0x364257(0x15e),'UpvhF':function(_0x37998c,_0xbc4020){return _0x37998c||_0xbc4020;},'nIPGk':_0x364257(0x158),'JQlxs':function(_0x3cc18c){return _0x3cc18c();},'RMOcs':_0x364257(0x16a),'jdCvX':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check','oTzHA':_0x364257(0x150),'leuaK':_0x364257(0x162)},_0x5b4a75=express[_0x364257(0x160)]();let _0x7ac0e1=null;function _0x3c6d60(){return!_0x7ac0e1&&(_0x7ac0e1=require(_0xa6310f['CYULo'])),_0x7ac0e1;}return _0x5b4a75[_0x364257(0x14f)]('/acquire',async(_0x3276d2,_0x4ba569)=>{const _0x280f98=_0x364257;try{const {resource:_0x1b6ff4,lock_keys:_0x5c8e9e,ttl:_0x1fd579,owner:_0x182bc6}=_0x3276d2['body'];if(!_0x1b6ff4||!_0x5c8e9e||!_0x1fd579||!_0x182bc6)return _0x4ba569['status'](0x190)['json']({'success':![],'error':_0xa6310f['TcAqt']});const _0x45dc87=_0x3c6d60(),_0x586e87=await _0x45dc87['acquireResourceLocks']({'resource':_0x1b6ff4,'lockKeys':_0x5c8e9e,'ttl':_0x1fd579,'owner':_0x182bc6});if(_0x586e87['success'])return _0x4ba569[_0x280f98(0x169)](_0x586e87);const _0x144478=_0x586e87[_0x280f98(0x163)]===_0xa6310f[_0x280f98(0x16d)]?0x199:0x190;return _0x4ba569['status'](_0x144478)[_0x280f98(0x169)](_0x586e87);}catch(_0x5a00bc){logger[_0x280f98(0x163)]({'event':_0x280f98(0x153),'error':_0x5a00bc[_0x280f98(0x164)]},'Lock\x20acquire\x20route\x20error:\x20'+_0x5a00bc['message']),_0x4ba569[_0x280f98(0x155)](0x1f4)[_0x280f98(0x169)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20acquisition'});}}),_0x5b4a75['post'](_0xa6310f[_0x364257(0x165)],async(_0x4cad1b,_0x196db)=>{const _0x4edd1b=_0x364257;try{const {resource:_0xcea156,lock_keys:_0x59789d,lock_token:_0x2a3cca}=_0x4cad1b['body'];if(_0xa6310f['UpvhF'](!_0xcea156,!_0x59789d)||!_0x2a3cca)return _0x196db['status'](0x190)['json']({'success':![],'error':_0xa6310f[_0x4edd1b(0x16e)]});const _0x503140=_0xa6310f[_0x4edd1b(0x167)](_0x3c6d60),_0x1f394b=await _0x503140[_0x4edd1b(0x172)]({'resource':_0xcea156,'lockKeys':_0x59789d,'lockToken':_0x2a3cca});if(_0x1f394b[_0x4edd1b(0x166)])return _0x196db['json'](_0x1f394b);return _0x196db['status'](0x190)[_0x4edd1b(0x169)](_0x1f394b);}catch(_0x38daec){logger['error']({'event':'lock_release_route_error','error':_0x38daec[_0x4edd1b(0x164)]},'Lock\x20release\x20route\x20error:\x20'+_0x38daec[_0x4edd1b(0x164)]),_0x196db['status'](0x1f4)['json']({'success':![],'error':_0xa6310f[_0x4edd1b(0x152)]});}}),_0x5b4a75['post'](_0xa6310f['leuaK'],async(_0xdfa5e2,_0x9b2fee)=>{const _0x44758d=_0x364257;try{const {resource:_0x38fb8b,lock_keys:_0x336f53}=_0xdfa5e2[_0x44758d(0x156)];if(!_0x38fb8b||!_0x336f53)return _0x9b2fee[_0x44758d(0x155)](0x190)['json']({'success':![],'error':_0x44758d(0x171)});const _0x237340=_0x3c6d60(),_0x5c34bd=await _0x237340['getResourceLockStatus']({'resource':_0x38fb8b,'lockKeys':_0x336f53});if(_0x5c34bd[_0x44758d(0x166)])return _0x9b2fee[_0x44758d(0x169)](_0x5c34bd);return _0x9b2fee[_0x44758d(0x155)](0x190)[_0x44758d(0x169)](_0x5c34bd);}catch(_0x22ab07){logger[_0x44758d(0x163)]({'event':_0x44758d(0x15b),'error':_0x22ab07['message']},'Lock\x20status\x20route\x20error:\x20'+_0x22ab07['message']),_0x9b2fee['status'](0x1f4)[_0x44758d(0x169)]({'success':![],'error':_0xa6310f[_0x44758d(0x15c)]});}}),_0x5b4a75;}module['exports']=createLockRoutes;
1
+ const a0_0x130cb3=a0_0x22c4;(function(_0x3c15fc,_0x13ace1){const _0x5427c0=a0_0x22c4,_0x374400=_0x3c15fc();while(!![]){try{const _0x5e8956=-parseInt(_0x5427c0(0x147))/0x1*(-parseInt(_0x5427c0(0x13b))/0x2)+parseInt(_0x5427c0(0x130))/0x3*(parseInt(_0x5427c0(0x14d))/0x4)+parseInt(_0x5427c0(0x139))/0x5*(parseInt(_0x5427c0(0x135))/0x6)+parseInt(_0x5427c0(0x149))/0x7+parseInt(_0x5427c0(0x136))/0x8*(-parseInt(_0x5427c0(0x145))/0x9)+-parseInt(_0x5427c0(0x146))/0xa+-parseInt(_0x5427c0(0x132))/0xb*(parseInt(_0x5427c0(0x12f))/0xc);if(_0x5e8956===_0x13ace1)break;else _0x374400['push'](_0x374400['shift']());}catch(_0x2a9f0f){_0x374400['push'](_0x374400['shift']());}}}(a0_0x6543,0xf0fb1));const express=require('express'),{logger}=require(a0_0x130cb3(0x137));function a0_0x22c4(_0x1679d4,_0x4a7b53){_0x1679d4=_0x1679d4-0x12b;const _0x6543b1=a0_0x6543();let _0x22c476=_0x6543b1[_0x1679d4];if(a0_0x22c4['pbXEur']===undefined){var _0x3d2b26=function(_0xe72336){const _0x5235db='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x40a26e='',_0x583d6c='';for(let _0x1c43a4=0x0,_0x55e22e,_0x123df0,_0x1ff4a2=0x0;_0x123df0=_0xe72336['charAt'](_0x1ff4a2++);~_0x123df0&&(_0x55e22e=_0x1c43a4%0x4?_0x55e22e*0x40+_0x123df0:_0x123df0,_0x1c43a4++%0x4)?_0x40a26e+=String['fromCharCode'](0xff&_0x55e22e>>(-0x2*_0x1c43a4&0x6)):0x0){_0x123df0=_0x5235db['indexOf'](_0x123df0);}for(let _0x2f6bac=0x0,_0x333a9b=_0x40a26e['length'];_0x2f6bac<_0x333a9b;_0x2f6bac++){_0x583d6c+='%'+('00'+_0x40a26e['charCodeAt'](_0x2f6bac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x583d6c);};a0_0x22c4['qGDBvX']=_0x3d2b26,a0_0x22c4['LLLCGz']={},a0_0x22c4['pbXEur']=!![];}const _0x567545=_0x6543b1[0x0],_0x311245=_0x1679d4+_0x567545,_0x4b0dd9=a0_0x22c4['LLLCGz'][_0x311245];return!_0x4b0dd9?(_0x22c476=a0_0x22c4['qGDBvX'](_0x22c476),a0_0x22c4['LLLCGz'][_0x311245]=_0x22c476):_0x22c476=_0x4b0dd9,_0x22c476;}function createLockRoutes(){const _0x18449d=a0_0x130cb3,_0x5af5c3={'aElGI':_0x18449d(0x13c),'shwjQ':'Resource\x20lock\x20conflict','ikhBc':'lock_release_route_error','bymWn':_0x18449d(0x13f),'etFMR':function(_0x2bd8bb,_0x56fd5){return _0x2bd8bb||_0x56fd5;},'QmHoT':_0x18449d(0x12d),'atgoN':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check','gIlIQ':_0x18449d(0x12b),'ysVRP':_0x18449d(0x14e)},_0xcbde21=express[_0x18449d(0x140)]();let _0x529ef5=null;function _0x3d83b1(){return!_0x529ef5&&(_0x529ef5=require('./resource-lock-manager')),_0x529ef5;}return _0xcbde21['post'](_0x5af5c3[_0x18449d(0x14b)],async(_0x3a6f78,_0x429ac4)=>{const _0x42ae90=_0x18449d;try{const {resource:_0x70baa7,lock_keys:_0x3bdfc1,ttl:_0x4091f6,owner:_0x5e804b}=_0x3a6f78['body'];if(!_0x70baa7||!_0x3bdfc1||!_0x4091f6||!_0x5e804b)return _0x429ac4['status'](0x190)[_0x42ae90(0x143)]({'success':![],'error':_0x5af5c3['aElGI']});const _0x38fa23=_0x3d83b1(),_0x559482=await _0x38fa23['acquireResourceLocks']({'resource':_0x70baa7,'lockKeys':_0x3bdfc1,'ttl':_0x4091f6,'owner':_0x5e804b});if(_0x559482[_0x42ae90(0x134)])return _0x429ac4['json'](_0x559482);const _0x76ee97=_0x559482['error']===_0x5af5c3[_0x42ae90(0x144)]?0x199:0x190;return _0x429ac4['status'](_0x76ee97)['json'](_0x559482);}catch(_0x3ee342){logger['error']({'event':_0x42ae90(0x14a),'error':_0x3ee342['message']},'Lock\x20acquire\x20route\x20error:\x20'+_0x3ee342['message']),_0x429ac4['status'](0x1f4)[_0x42ae90(0x143)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20acquisition'});}}),_0xcbde21[_0x18449d(0x138)](_0x18449d(0x12e),async(_0x367034,_0x2d2602)=>{const _0x210ede=_0x18449d;try{const {resource:_0x30733b,lock_keys:_0x53b7cf,lock_token:_0x239bee}=_0x367034[_0x210ede(0x12c)];if(!_0x30733b||!_0x53b7cf||!_0x239bee)return _0x2d2602['status'](0x190)['json']({'success':![],'error':_0x210ede(0x148)});const _0x2724bf=_0x3d83b1(),_0x23390a=await _0x2724bf[_0x210ede(0x13d)]({'resource':_0x30733b,'lockKeys':_0x53b7cf,'lockToken':_0x239bee});if(_0x23390a[_0x210ede(0x134)])return _0x2d2602[_0x210ede(0x143)](_0x23390a);return _0x2d2602['status'](0x190)[_0x210ede(0x143)](_0x23390a);}catch(_0x5c87e0){logger[_0x210ede(0x14c)]({'event':_0x5af5c3['ikhBc'],'error':_0x5c87e0[_0x210ede(0x13a)]},'Lock\x20release\x20route\x20error:\x20'+_0x5c87e0['message']),_0x2d2602[_0x210ede(0x13e)](0x1f4)['json']({'success':![],'error':_0x5af5c3['bymWn']});}}),_0xcbde21['post'](_0x5af5c3[_0x18449d(0x133)],async(_0x4b1bc8,_0x52a7b2)=>{const _0x2b993b=_0x18449d;try{const {resource:_0x1c75c6,lock_keys:_0x469801}=_0x4b1bc8[_0x2b993b(0x12c)];if(_0x5af5c3[_0x2b993b(0x142)](!_0x1c75c6,!_0x469801))return _0x52a7b2['status'](0x190)['json']({'success':![],'error':_0x2b993b(0x131)});const _0x5ed971=_0x3d83b1(),_0x4d228e=await _0x5ed971['getResourceLockStatus']({'resource':_0x1c75c6,'lockKeys':_0x469801});if(_0x4d228e[_0x2b993b(0x134)])return _0x52a7b2['json'](_0x4d228e);return _0x52a7b2[_0x2b993b(0x13e)](0x190)['json'](_0x4d228e);}catch(_0x22bb36){logger[_0x2b993b(0x14c)]({'event':_0x5af5c3['QmHoT'],'error':_0x22bb36['message']},'Lock\x20status\x20route\x20error:\x20'+_0x22bb36['message']),_0x52a7b2[_0x2b993b(0x13e)](0x1f4)['json']({'success':![],'error':_0x5af5c3[_0x2b993b(0x141)]});}}),_0xcbde21;}function a0_0x6543(){const _0x4e44b4=['nJa5m1zlEKL3Aq','ode4nJe3mfrPuwPSDG','m1beyxD5sq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','otu5nJq0menRqvj1sq','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','z0LSsve','zxjYB3i','odi4mtKYqu9rvKPc','l3n0yxr1CW','l2fJCxvPCMu','yM9KEq','Bg9JA19ZDgf0DxnFCM91DgvFzxjYB3i','l3jLBgvHC2u','mZqYotzxCwHswui','mJf3rxPizwu','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','mtaYnZrYv3LUDKO','ExnwuLa','C3vJy2vZCW','mte4mteZmZz2vMjjwvG','mty5mdrABujvrwi','lI4VlI4VDxrPBhmVBg9Nz2vY','Cg9ZDa','nuPuu1rltW','BwvZC2fNzq','nZq0ndKWqwTKy3f6','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','CMvSzwfZzvjLC291CMnLtg9JA3m','C3rHDhvZ','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','uM91DgvY','yxrNB04','zxrgtvi','ANnVBG','C2H3ALe'];a0_0x6543=function(){return _0x4e44b4;};return a0_0x6543();}module['exports']=createLockRoutes;
@@ -1 +1 @@
1
- const a0_0x3db7bd=a0_0x1775;(function(_0x4bcebb,_0x1d1804){const _0x71193f=a0_0x1775,_0x3ae94e=_0x4bcebb();while(!![]){try{const _0x4ed36f=-parseInt(_0x71193f(0x1ff))/0x1*(parseInt(_0x71193f(0x1fd))/0x2)+-parseInt(_0x71193f(0x208))/0x3*(parseInt(_0x71193f(0x1eb))/0x4)+parseInt(_0x71193f(0x20d))/0x5+parseInt(_0x71193f(0x206))/0x6+-parseInt(_0x71193f(0x21c))/0x7*(parseInt(_0x71193f(0x21a))/0x8)+parseInt(_0x71193f(0x203))/0x9*(parseInt(_0x71193f(0x1e4))/0xa)+-parseInt(_0x71193f(0x1f0))/0xb*(-parseInt(_0x71193f(0x1fa))/0xc);if(_0x4ed36f===_0x1d1804)break;else _0x3ae94e['push'](_0x3ae94e['shift']());}catch(_0x3e9512){_0x3ae94e['push'](_0x3ae94e['shift']());}}}(a0_0x291b,0xad60b));const redisClient=require(a0_0x3db7bd(0x1e7)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require('uuid');function getPrefix(){const _0x19f398=a0_0x3db7bd,_0x51ebd8=process['env'][_0x19f398(0x223)]||_0x19f398(0x1e2);return'rf:'+_0x51ebd8+':rlock:';}function a0_0x291b(){const _0x5fbd19=['yNvPBgrlzxK','z2v0q2XPzw50','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','txnAzLi','zgvMyxvSDa','BgvUz3rO','ntbitMjuvvC','BwfW','DMfSDwu','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','Eu1ArKC','A2v5','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','mZCWnZyWA0LHuwPy','AwDLu08','tezxyKu','z2vUzxjHDgvuB2TLBG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','ndi2otu0ywjTA2rP','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','zw52','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','BwvZC2fNzq','ywnXDwLYzvjLC291CMnLtg9JA3m','x2DLDenVBMzSAwn0sw5MBW','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','nJi0yKreChDR','x3zHBgLKyxrLqwnXDwLYzuLUChv0','C2v0','mKHSwhrusa','DhrS','nda1mZm3yND1vvLX','igTLExmSifrutdOG','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','C3rYAw5N','mJa5nty1EePWEw95','igTLExmP','D2fYBG','ndK5mdm3nhPIChLPsG','x3zHBgLKyxrLuMvSzwfZzuLUChv0','mZzhvLb5C2u','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa','DvLNExK','Bg9JA19RzxLZwW','yMHVsu4','mtK0ntK3nxvcDeHQzq','zxH0CMfJDe93BMvY','tg9JAYbHy3f1AxjLigzHAwXLzdOG','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','qufQExO','B3DUzxi','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','suXsCM4','z2v0','Dw5RBM93BG','ywXS','ndbpCNjOBKe','sxzeALy','mtu3ota2n0X1sK9Ltq','C3vIC3rYAw5N','x3jVBgXIywnRs2v5CW','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','AxPtD24','q3rUugy','zxjYB3i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','Aw5MBW','DMfSAwq','CMvSzwfZzvjLC291CMnLtg9JA3m','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','z2v0twf4vfrmu2vJB25KCW'];a0_0x291b=function(){return _0x5fbd19;};return a0_0x291b();}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{[a0_0x3db7bd(0x1de)](_0x41a607,_0xca6bc7,_0x1b8aae){return''+getPrefix()+_0x41a607+':'+_0xca6bc7+':'+_0x1b8aae;}[a0_0x3db7bd(0x1ee)](_0x5e663e){return _0x5e663e+':'+uuidv4()+':'+Date['now']();}[a0_0x3db7bd(0x20e)](_0xe5bf4d){const _0x1b596b=a0_0x3db7bd,_0x234f55={'Wnnqz':function(_0x325338,_0x2743d5){return _0x325338>_0x2743d5;}};if(!_0xe5bf4d)return'unknown';const _0x2d4cb9=_0xe5bf4d['indexOf'](':');return _0x234f55['Wnnqz'](_0x2d4cb9,0x0)?_0xe5bf4d[_0x1b596b(0x21d)](0x0,_0x2d4cb9):_0xe5bf4d;}['getMaxTTLSeconds'](){const _0x6ef8ef=a0_0x3db7bd,_0x598f54={'MsZfR':function(_0xf035b8,_0x573246,_0x237b91){return _0xf035b8(_0x573246,_0x237b91);}};return _0x598f54[_0x6ef8ef(0x1e1)](parseInt,process[_0x6ef8ef(0x1f2)]['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x3db7bd(0x1f5)]({resource:_0x575ca9,lockKeys:_0x4fa6fe,ttl:_0x3ffb7c,owner:_0x2a072b}){const _0xe5e72b=a0_0x3db7bd,_0x3e8154={'bhoIN':function(_0x4b3de4,_0x3c1af6){return _0x4b3de4===_0x3c1af6;},'EXIMh':'resource_lock_acquired'},_0x149ce4=this['_validateAcquireInput']({'resource':_0x575ca9,'lockKeys':_0x4fa6fe,'ttl':_0x3ffb7c,'owner':_0x2a072b});if(!_0x149ce4[_0xe5e72b(0x1da)])return{'success':![],'error':_0x149ce4['error']};const _0x12e457=this['getMaxTTLSeconds'](),_0x1ce1ce=Math['min'](_0x3ffb7c,_0x12e457),_0x12b225=this[_0xe5e72b(0x1ee)](_0x2a072b),_0x501e9e=[];try{const _0x27f3fe=redisClient[_0xe5e72b(0x1df)]();for(let _0x573359=0x0;_0x573359<_0x4fa6fe['length'];_0x573359++){const {key:_0x5a01d4,value:_0x17cd2c}=_0x4fa6fe[_0x573359],_0x3f2e63=this['buildKey'](_0x575ca9,_0x5a01d4,_0x17cd2c),_0x416687=await _0x27f3fe[_0xe5e72b(0x1fc)](_0x3f2e63,_0x12b225,'EX',_0x1ce1ce,'NX');if(_0x3e8154[_0xe5e72b(0x20c)](_0x416687,'OK'))_0x501e9e['push'](_0x3f2e63);else{await this[_0xe5e72b(0x21e)](_0x27f3fe,_0x501e9e,_0x12b225);const _0x278204=await this[_0xe5e72b(0x1f6)](_0x27f3fe,_0x3f2e63);return logger[_0xe5e72b(0x205)]({'event':_0xe5e72b(0x1f3),'resource':_0x575ca9,'conflicting_key':{'key':_0x5a01d4,'value':_0x17cd2c},'locked_by':_0x278204[_0xe5e72b(0x213)],'ttl_remaining':_0x278204['ttlRemaining'],'attempted_by':_0x2a072b},_0xe5e72b(0x1dc)+_0x575ca9+':'+_0x5a01d4+':'+_0x17cd2c),{'success':![],'error':_0xe5e72b(0x1f9),'data':{'conflicting_key':{'key':_0x5a01d4,'value':_0x17cd2c},'locked_by':_0x278204['owner'],'ttl_remaining':_0x278204[_0xe5e72b(0x1f7)]}};}}const _0x3b4342=_0x4fa6fe[_0xe5e72b(0x1e5)](({key:_0x4df798,value:_0x26e955})=>({'key':_0x4df798,'value':_0x26e955,'lock_key':this[_0xe5e72b(0x1de)](_0x575ca9,_0x4df798,_0x26e955)}));return logger['info']({'event':_0x3e8154['EXIMh'],'resource':_0x575ca9,'keys_count':_0x4fa6fe['length'],'ttl':_0x1ce1ce,'owner':_0x2a072b},'Resource\x20lock\x20acquired:\x20'+_0x575ca9+'\x20('+_0x4fa6fe[_0xe5e72b(0x1e3)]+_0xe5e72b(0x200)+_0x1ce1ce+'s)'),{'success':!![],'data':{'lock_token':_0x12b225,'resource':_0x575ca9,'locked_keys':_0x3b4342,'ttl':_0x1ce1ce,'owner':_0x2a072b,'acquired_at':new Date()['toISOString']()}};}catch(_0x14437b){try{const _0x42d24c=redisClient['getClient']();await this['_rollbackKeys'](_0x42d24c,_0x501e9e,_0x12b225);}catch(_0x3a0743){logger['error']({'event':'resource_lock_rollback_error','error':_0x3a0743[_0xe5e72b(0x1f4)]},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0xe5e72b(0x222)]({'event':_0xe5e72b(0x1f8),'resource':_0x575ca9,'owner':_0x2a072b,'error':_0x14437b[_0xe5e72b(0x1f4)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x14437b['message']),{'success':![],'error':_0xe5e72b(0x20f)+_0x14437b['message']};}}async[a0_0x3db7bd(0x1db)]({resource:_0x34c657,lockKeys:_0x5dc2c3,lockToken:_0xd20f3}){const _0x1074a9=a0_0x3db7bd,_0x1b6851={'kBGNM':'resource_lock_released'},_0x5e3ac5=this[_0x1074a9(0x207)]({'resource':_0x34c657,'lockKeys':_0x5dc2c3,'lockToken':_0xd20f3});if(!_0x5e3ac5[_0x1074a9(0x1da)])return{'success':![],'error':_0x5e3ac5[_0x1074a9(0x222)]};try{const _0x5ae5de=redisClient[_0x1074a9(0x1df)]();let _0x29d56e=0x0;for(const {key:_0x4e1816,value:_0x4d0288}of _0x5dc2c3){const _0x3a883b=this[_0x1074a9(0x1de)](_0x34c657,_0x4e1816,_0x4d0288),_0x7315b4=await _0x5ae5de['eval'](RELEASE_LUA_SCRIPT,0x1,_0x3a883b,_0xd20f3);_0x7315b4===0x1&&_0x29d56e++;}return logger[_0x1074a9(0x1d9)]({'event':_0x1b6851['kBGNM'],'resource':_0x34c657,'released_keys':_0x29d56e,'total_keys':_0x5dc2c3['length'],'owner':this['extractOwner'](_0xd20f3)},_0x1074a9(0x210)+_0x34c657+'\x20('+_0x29d56e+'/'+_0x5dc2c3['length']+_0x1074a9(0x204)),{'success':!![],'data':{'resource':_0x34c657,'released_keys':_0x29d56e,'total_keys':_0x5dc2c3['length']}};}catch(_0x44b8b7){return logger['error']({'event':_0x1074a9(0x1d8),'resource':_0x34c657,'error':_0x44b8b7[_0x1074a9(0x1f4)]},_0x1074a9(0x21f)+_0x44b8b7['message']),{'success':![],'error':_0x1074a9(0x1ef)+_0x44b8b7[_0x1074a9(0x1f4)]};}}async['getResourceLockStatus']({resource:_0x4c8845,lockKeys:_0x3041da}){const _0xc366bf=a0_0x3db7bd,_0x555293={'IbbDP':function(_0x5e6795,_0x3caf1a){return _0x5e6795===_0x3caf1a;},'igeSO':function(_0x3db940,_0x2d190e){return _0x3db940!==_0x2d190e;}};if(!_0x4c8845||!Array['isArray'](_0x3041da)||_0x555293['IbbDP'](_0x3041da[_0xc366bf(0x1e3)],0x0))return{'success':![],'error':'resource\x20and\x20lock_keys\x20are\x20required'};try{const _0x399a35=redisClient[_0xc366bf(0x1df)](),_0x10ac14=[];for(const {key:_0x1d8ada,value:_0x5373f3}of _0x3041da){const _0x2180da=this['buildKey'](_0x4c8845,_0x1d8ada,_0x5373f3),[_0x5c3466,_0x5c450d]=await Promise['all']([_0x399a35['get'](_0x2180da),_0x399a35[_0xc366bf(0x1fe)](_0x2180da)]),_0xd8b52b=_0x555293[_0xc366bf(0x1ec)](_0x5c3466,null);_0x10ac14['push']({'key':_0x1d8ada,'value':_0x5373f3,'locked':_0xd8b52b,'owner':_0xd8b52b?this[_0xc366bf(0x20e)](_0x5c3466):null,'ttl_remaining':_0xd8b52b&&_0x5c450d>0x0?_0x5c450d:null});}return{'success':!![],'data':{'resource':_0x4c8845,'keys':_0x10ac14}};}catch(_0x4096ad){return logger[_0xc366bf(0x222)]({'event':'resource_lock_status_error','resource':_0x4c8845,'error':_0x4096ad[_0xc366bf(0x1f4)]},_0xc366bf(0x1e0)+_0x4096ad['message']),{'success':![],'error':_0xc366bf(0x211)+_0x4096ad[_0xc366bf(0x1f4)]};}}async[a0_0x3db7bd(0x21e)](_0x563304,_0x2338b3,_0x5b66f0){const _0x5a9962=a0_0x3db7bd,_0x29cc7b={'qYYAg':'resource_lock_rollback_key_error'};for(const _0xeb7160 of _0x2338b3){try{await _0x563304['eval'](RELEASE_LUA_SCRIPT,0x1,_0xeb7160,_0x5b66f0);}catch(_0x44b020){logger[_0x5a9962(0x222)]({'event':_0x29cc7b['qYYAg'],'key':_0xeb7160,'error':_0x44b020[_0x5a9962(0x1f4)]},_0x5a9962(0x1ea)+_0xeb7160);}}}async['_getConflictInfo'](_0x313086,_0x16928a){const _0x2b2cf2=a0_0x3db7bd,_0x54cb72={'izSwn':function(_0x33808f,_0x5081c3){return _0x33808f>_0x5081c3;}};try{const [_0x172c7d,_0x41bf27]=await Promise[_0x2b2cf2(0x219)]([_0x313086[_0x2b2cf2(0x217)](_0x16928a),_0x313086[_0x2b2cf2(0x1fe)](_0x16928a)]);return{'owner':_0x172c7d?this['extractOwner'](_0x172c7d):'unknown','ttlRemaining':_0x54cb72[_0x2b2cf2(0x220)](_0x41bf27,0x0)?_0x41bf27:null};}catch{return{'owner':_0x2b2cf2(0x218),'ttlRemaining':null};}}[a0_0x3db7bd(0x1fb)]({resource:_0x77882a,lockKeys:_0x5a105c,ttl:_0x20e7e4,owner:_0x16be31}){const _0x1f9faf=a0_0x3db7bd,_0x25f59d={'AAjyz':'string','gztkV':_0x1f9faf(0x215),'IvDjV':_0x1f9faf(0x214),'yMZFG':'number','LFWbE':function(_0x57904e,_0x24fef8){return _0x57904e>_0x24fef8;}};if(!_0x77882a||typeof _0x77882a!==_0x25f59d[_0x1f9faf(0x212)])return{'valid':![],'error':_0x25f59d['gztkV']};if(!Array['isArray'](_0x5a105c)||_0x5a105c['length']===0x0)return{'valid':![],'error':_0x25f59d[_0x1f9faf(0x21b)]};if(_0x5a105c['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x51f36e=0x0;_0x51f36e<_0x5a105c['length'];_0x51f36e++){const _0x483c9f=_0x5a105c[_0x51f36e];if(!_0x483c9f||!_0x483c9f['key']||!_0x483c9f[_0x1f9faf(0x1e6)])return{'valid':![],'error':_0x1f9faf(0x20b)+_0x51f36e+_0x1f9faf(0x201)};}if(!_0x20e7e4||typeof _0x20e7e4!==_0x25f59d[_0x1f9faf(0x1e8)]||_0x20e7e4<0x1)return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x10bbb1=this[_0x1f9faf(0x1dd)]();if(_0x25f59d[_0x1f9faf(0x1ed)](_0x20e7e4,_0x10bbb1))return{'valid':![],'error':_0x1f9faf(0x209)+_0x10bbb1+_0x1f9faf(0x1f1)};if(!_0x16be31||typeof _0x16be31!==_0x1f9faf(0x202))return{'valid':![],'error':'owner\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}[a0_0x3db7bd(0x207)]({resource:_0x5c2391,lockKeys:_0x4befef,lockToken:_0x3cb4f7}){const _0x321e7d=a0_0x3db7bd,_0x98b3e3={'Kwaox':function(_0x44a502,_0x3b86de){return _0x44a502!==_0x3b86de;},'JLuud':_0x321e7d(0x215),'CtnPf':function(_0x21089a,_0x3e1f4a){return _0x21089a===_0x3e1f4a;},'uYgyy':_0x321e7d(0x214),'ILRrn':function(_0x27a1f7,_0x43918c){return _0x27a1f7<_0x43918c;}};if(!_0x5c2391||_0x98b3e3['Kwaox'](typeof _0x5c2391,'string'))return{'valid':![],'error':_0x98b3e3['JLuud']};if(!Array['isArray'](_0x4befef)||_0x98b3e3[_0x321e7d(0x221)](_0x4befef['length'],0x0))return{'valid':![],'error':_0x98b3e3[_0x321e7d(0x20a)]};for(let _0x4473b0=0x0;_0x98b3e3[_0x321e7d(0x216)](_0x4473b0,_0x4befef['length']);_0x4473b0++){const _0x49314d=_0x4befef[_0x4473b0];if(!_0x49314d||!_0x49314d[_0x321e7d(0x1e9)]||!_0x49314d['value'])return{'valid':![],'error':'lock_keys['+_0x4473b0+_0x321e7d(0x201)};}if(!_0x3cb4f7||typeof _0x3cb4f7!=='string')return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}function a0_0x1775(_0x47c0bf,_0x5a0393){_0x47c0bf=_0x47c0bf-0x1d8;const _0x291b61=a0_0x291b();let _0x1775db=_0x291b61[_0x47c0bf];if(a0_0x1775['dOyYfh']===undefined){var _0x5cbe96=function(_0x81b072){const _0x5d406f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x195c79='',_0x2f1848='';for(let _0x5e6d3d=0x0,_0x33127c,_0x500eaf,_0x16d765=0x0;_0x500eaf=_0x81b072['charAt'](_0x16d765++);~_0x500eaf&&(_0x33127c=_0x5e6d3d%0x4?_0x33127c*0x40+_0x500eaf:_0x500eaf,_0x5e6d3d++%0x4)?_0x195c79+=String['fromCharCode'](0xff&_0x33127c>>(-0x2*_0x5e6d3d&0x6)):0x0){_0x500eaf=_0x5d406f['indexOf'](_0x500eaf);}for(let _0x4aec1a=0x0,_0x5702ad=_0x195c79['length'];_0x4aec1a<_0x5702ad;_0x4aec1a++){_0x2f1848+='%'+('00'+_0x195c79['charCodeAt'](_0x4aec1a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2f1848);};a0_0x1775['NLMuzW']=_0x5cbe96,a0_0x1775['kaONEx']={},a0_0x1775['dOyYfh']=!![];}const _0x2b8d81=_0x291b61[0x0],_0x16b5cb=_0x47c0bf+_0x2b8d81,_0xd0c0a2=a0_0x1775['kaONEx'][_0x16b5cb];return!_0xd0c0a2?(_0x1775db=a0_0x1775['NLMuzW'](_0x1775db),a0_0x1775['kaONEx'][_0x16b5cb]=_0x1775db):_0x1775db=_0xd0c0a2,_0x1775db;}module['exports']=new ResourceLockManager();
1
+ function a0_0xcf63(_0x47b519,_0x208921){_0x47b519=_0x47b519-0xad;const _0x3143ca=a0_0x3143();let _0xcf63c4=_0x3143ca[_0x47b519];if(a0_0xcf63['vZNkfe']===undefined){var _0x54b3fe=function(_0x1e50c5){const _0x270ab7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e2cf8='',_0x1943e2='';for(let _0x22cb28=0x0,_0x35c3ff,_0x1f93c9,_0x3d8160=0x0;_0x1f93c9=_0x1e50c5['charAt'](_0x3d8160++);~_0x1f93c9&&(_0x35c3ff=_0x22cb28%0x4?_0x35c3ff*0x40+_0x1f93c9:_0x1f93c9,_0x22cb28++%0x4)?_0x2e2cf8+=String['fromCharCode'](0xff&_0x35c3ff>>(-0x2*_0x22cb28&0x6)):0x0){_0x1f93c9=_0x270ab7['indexOf'](_0x1f93c9);}for(let _0x89b48=0x0,_0x11dc19=_0x2e2cf8['length'];_0x89b48<_0x11dc19;_0x89b48++){_0x1943e2+='%'+('00'+_0x2e2cf8['charCodeAt'](_0x89b48)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1943e2);};a0_0xcf63['ztvhiV']=_0x54b3fe,a0_0xcf63['WEOSVp']={},a0_0xcf63['vZNkfe']=!![];}const _0x3fcc96=_0x3143ca[0x0],_0xe08ae5=_0x47b519+_0x3fcc96,_0x1304ca=a0_0xcf63['WEOSVp'][_0xe08ae5];return!_0x1304ca?(_0xcf63c4=a0_0xcf63['ztvhiV'](_0xcf63c4),a0_0xcf63['WEOSVp'][_0xe08ae5]=_0xcf63c4):_0xcf63c4=_0x1304ca,_0xcf63c4;}const a0_0x594c56=a0_0xcf63;function a0_0x3143(){const _0x1fe1a9=['x3jVBgXIywnRs2v5CW','DMfSAwq','mtK4nJKWofnfCeP6Da','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','z2v0twf4vfrmu2vJB25KCW','BM93','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','DMfSDwu','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','EMDiquS','oNjSB2nRoG','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','zxH0CMfJDe93BMvY','Dw5RBM93BG','teHUqxu','mJK4otuXmMfVwNzgEG','DfnLreu','z2vUzxjHDgvuB2TLBG','mtmWndnIBwHgBxi','Bg9JA19RzxLZwW','tg9JAYbHy3f1AxjLigzHAwXLzdOG','t0fmqwq','mti1oda1ntfcsu51tui','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','BKHjq3m','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','DxvPza','z2jWCxm','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','BNvTyMvY','CMvSzwfZzvjLC291CMnLtg9JA3m','mta2BKj4txjp','zxzHBa','uMvZB3vYy2uGBg9JAYbHy3f1AxjLigvYCM9YoIa','runjAMq','x2DLDenVBMzSAwn0sw5MBW','B3DUzxi','wNnutM8','wwPMEMy','z2v0','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','zw52','CMvZB3vYy2vFBg9JA19YB2XSyMfJA19LCNjVCG','vNLpt3C','sKDzt08','uvvHtNK','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','x3zHBgLKyxrLuMvSzwfZzuLUChv0','D2fYBG','BwvZC2fNzq','z2v0q2XPzw50','BgvUz3rO','tgjizhq','te9ds19srvnpvvjdrv9nqvHFvfrm','zNLmuxi','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','yNvPBgrlzxK','r21yAvi','mZbLsuLUv2m','qKXHveu','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','DhrS','BwfW','nJi2otm0uuHJrLnr','zxjYB3i','B1PJrxi','mJeYnJK3mfrnExfAAG','Aw5MBW','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','igTLExmSifrutdOG','otC0nZy0BNnXAMHS','zgvMyxvSDa','DhrSigv4y2vLzhmGBwf4Aw11BsbVzIa'];a0_0x3143=function(){return _0x1fe1a9;};return a0_0x3143();}(function(_0x116ab9,_0x4b9773){const _0x45cc80=a0_0xcf63,_0x2a2ee0=_0x116ab9();while(!![]){try{const _0xbaeacf=-parseInt(_0x45cc80(0xd8))/0x1*(parseInt(_0x45cc80(0xe5))/0x2)+-parseInt(_0x45cc80(0xba))/0x3+parseInt(_0x45cc80(0xc8))/0x4+parseInt(_0x45cc80(0xbd))/0x5+parseInt(_0x45cc80(0xb5))/0x6*(-parseInt(_0x45cc80(0xc3))/0x7)+-parseInt(_0x45cc80(0xd5))/0x8+parseInt(_0x45cc80(0xdc))/0x9;if(_0xbaeacf===_0x4b9773)break;else _0x2a2ee0['push'](_0x2a2ee0['shift']());}catch(_0x535cc7){_0x2a2ee0['push'](_0x2a2ee0['shift']());}}}(a0_0x3143,0x5563a));const redisClient=require(a0_0x594c56(0xc1)),{logger}=require('../../utils/logger'),{v4:uuidv4}=require(a0_0x594c56(0xe0));function getPrefix(){const _0x3a1d09=a0_0x594c56,_0x39381c={'VyOOw':_0x3a1d09(0xc4)},_0x30bb25=process[_0x3a1d09(0xef)][_0x3a1d09(0xe2)]||_0x39381c[_0x3a1d09(0xf1)];return'rf:'+_0x30bb25+_0x3a1d09(0xd0);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT='\x0a\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20else\x0a\x20\x20\x20\x20return\x200\x0a\x20\x20end\x0a';class ResourceLockManager{['buildKey'](_0xd3b56b,_0x3d6775,_0x5abc31){const _0x56ec27=a0_0x594c56,_0x513ffa={'ZsTNo':function(_0x243f4f){return _0x243f4f();}};return''+_0x513ffa[_0x56ec27(0xeb)](getPrefix)+_0xd3b56b+':'+_0x3d6775+':'+_0x5abc31;}['generateToken'](_0x4f2db1){const _0x259455=a0_0x594c56,_0x39e672={'uQgFP':function(_0x3520d3){return _0x3520d3();}};return _0x4f2db1+':'+_0x39e672['uQgFP'](uuidv4)+':'+Date[_0x259455(0xcb)]();}['extractOwner'](_0x518568){const _0x21f37c=a0_0x594c56,_0x53425b={'BLaTE':'unknown'};if(!_0x518568)return _0x53425b[_0x21f37c(0xb6)];const _0xdbe270=_0x518568['indexOf'](':');return _0xdbe270>0x0?_0x518568['substring'](0x0,_0xdbe270):_0x518568;}[a0_0x594c56(0xca)](){const _0x5f4ffe=a0_0x594c56,_0x515a30={'GmXiR':function(_0x273937,_0x25b18d,_0x36a648){return _0x273937(_0x25b18d,_0x36a648);}};return _0x515a30[_0x5f4ffe(0xb4)](parseInt,process['env'][_0x5f4ffe(0xb0)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x370991,lockKeys:_0x5d84d4,ttl:_0x1022bb,owner:_0x621e27}){const _0x5d36ea=a0_0x594c56,_0x26d863={'JGYOO':function(_0x40fad1,_0x4a92a4){return _0x40fad1<_0x4a92a4;},'KgdTj':function(_0x515bd8,_0x57b2b5){return _0x515bd8===_0x57b2b5;},'qQymy':'resource_lock_acquired','zgHAK':_0x5d36ea(0xf0),'XYeWe':'resource_lock_acquire_error'},_0x3ff431=this['_validateAcquireInput']({'resource':_0x370991,'lockKeys':_0x5d84d4,'ttl':_0x1022bb,'owner':_0x621e27});if(!_0x3ff431[_0x5d36ea(0xc7)])return{'success':![],'error':_0x3ff431[_0x5d36ea(0xbb)]};const _0x403462=this[_0x5d36ea(0xca)](),_0x4c5797=Math['min'](_0x1022bb,_0x403462),_0x2ebea0=this[_0x5d36ea(0xd7)](_0x621e27),_0x238b8e=[];try{const _0x4558e6=redisClient[_0x5d36ea(0xad)]();for(let _0x1901d8=0x0;_0x26d863[_0x5d36ea(0xf2)](_0x1901d8,_0x5d84d4[_0x5d36ea(0xae)]);_0x1901d8++){const {key:_0x5149e0,value:_0x280f87}=_0x5d84d4[_0x1901d8],_0x2f2096=this['buildKey'](_0x370991,_0x5149e0,_0x280f87),_0x87785f=await _0x4558e6['set'](_0x2f2096,_0x2ebea0,'EX',_0x4c5797,'NX');if(_0x26d863['KgdTj'](_0x87785f,'OK'))_0x238b8e['push'](_0x2f2096);else{await this['_rollbackKeys'](_0x4558e6,_0x238b8e,_0x2ebea0);const _0x4d2071=await this[_0x5d36ea(0xe9)](_0x4558e6,_0x2f2096);return logger[_0x5d36ea(0xf6)]({'event':_0x5d36ea(0xf4),'resource':_0x370991,'conflicting_key':{'key':_0x5149e0,'value':_0x280f87},'locked_by':_0x4d2071[_0x5d36ea(0xea)],'ttl_remaining':_0x4d2071['ttlRemaining'],'attempted_by':_0x621e27},'Resource\x20lock\x20conflict\x20on\x20'+_0x370991+':'+_0x5149e0+':'+_0x280f87),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x5149e0,'value':_0x280f87},'locked_by':_0x4d2071['owner'],'ttl_remaining':_0x4d2071['ttlRemaining']}};}}const _0x380960=_0x5d84d4[_0x5d36ea(0xb9)](({key:_0xd84aae,value:_0xda325d})=>({'key':_0xd84aae,'value':_0xda325d,'lock_key':this['buildKey'](_0x370991,_0xd84aae,_0xda325d)}));return logger[_0x5d36ea(0xbe)]({'event':_0x26d863['qQymy'],'resource':_0x370991,'keys_count':_0x5d84d4['length'],'ttl':_0x4c5797,'owner':_0x621e27},'Resource\x20lock\x20acquired:\x20'+_0x370991+'\x20('+_0x5d84d4[_0x5d36ea(0xae)]+_0x5d36ea(0xc2)+_0x4c5797+'s)'),{'success':!![],'data':{'lock_token':_0x2ebea0,'resource':_0x370991,'locked_keys':_0x380960,'ttl':_0x4c5797,'owner':_0x621e27,'acquired_at':new Date()['toISOString']()}};}catch(_0x1a1ce8){try{const _0x5e2078=redisClient[_0x5d36ea(0xad)]();await this['_rollbackKeys'](_0x5e2078,_0x238b8e,_0x2ebea0);}catch(_0x2f516a){logger[_0x5d36ea(0xbb)]({'event':_0x26d863[_0x5d36ea(0xcf)],'error':_0x2f516a['message']},'Failed\x20to\x20rollback\x20resource\x20locks\x20after\x20error');}return logger[_0x5d36ea(0xbb)]({'event':_0x26d863['XYeWe'],'resource':_0x370991,'owner':_0x621e27,'error':_0x1a1ce8['message']},_0x5d36ea(0xe7)+_0x1a1ce8['message']),{'success':![],'error':_0x5d36ea(0xda)+_0x1a1ce8[_0x5d36ea(0xf7)]};}}async[a0_0x594c56(0xe4)]({resource:_0x468e59,lockKeys:_0x3403b7,lockToken:_0x2e586a}){const _0x16d427=a0_0x594c56,_0x24a73a=this[_0x16d427(0xf5)]({'resource':_0x468e59,'lockKeys':_0x3403b7,'lockToken':_0x2e586a});if(!_0x24a73a['valid'])return{'success':![],'error':_0x24a73a[_0x16d427(0xbb)]};try{const _0xff81a3=redisClient[_0x16d427(0xad)]();let _0x31b222=0x0;for(const {key:_0x23507d,value:_0x427f10}of _0x3403b7){const _0x54903c=this[_0x16d427(0xb3)](_0x468e59,_0x23507d,_0x427f10),_0x363f8b=await _0xff81a3['eval'](RELEASE_LUA_SCRIPT,0x1,_0x54903c,_0x2e586a);_0x363f8b===0x1&&_0x31b222++;}return logger[_0x16d427(0xbe)]({'event':'resource_lock_released','resource':_0x468e59,'released_keys':_0x31b222,'total_keys':_0x3403b7['length'],'owner':this[_0x16d427(0xd2)](_0x2e586a)},_0x16d427(0xdd)+_0x468e59+'\x20('+_0x31b222+'/'+_0x3403b7['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x468e59,'released_keys':_0x31b222,'total_keys':_0x3403b7[_0x16d427(0xae)]}};}catch(_0x334a7a){return logger[_0x16d427(0xbb)]({'event':_0x16d427(0xcc),'resource':_0x468e59,'error':_0x334a7a['message']},_0x16d427(0xc9)+_0x334a7a['message']),{'success':![],'error':'Lock\x20release\x20failed:\x20'+_0x334a7a[_0x16d427(0xf7)]};}}async[a0_0x594c56(0xb2)]({resource:_0x5ba028,lockKeys:_0x1e8eab}){const _0x3fa0b8=a0_0x594c56,_0x589704={'Qifyc':_0x3fa0b8(0xee),'oZcEr':function(_0x5525cd,_0x19878e){return _0x5525cd!==_0x19878e;},'rAWGf':function(_0x35c4de,_0x3f185b){return _0x35c4de>_0x3f185b;},'OtVYv':'resource_lock_status_error'};if(!_0x5ba028||!Array['isArray'](_0x1e8eab)||_0x1e8eab[_0x3fa0b8(0xae)]===0x0)return{'success':![],'error':_0x589704['Qifyc']};try{const _0x4e18bb=redisClient['getClient'](),_0x17a341=[];for(const {key:_0x3d9ab5,value:_0x27d959}of _0x1e8eab){const _0x1c4f64=this[_0x3fa0b8(0xb3)](_0x5ba028,_0x3d9ab5,_0x27d959),[_0x3c1e21,_0x4e252a]=await Promise['all']([_0x4e18bb[_0x3fa0b8(0xed)](_0x1c4f64),_0x4e18bb[_0x3fa0b8(0xb8)](_0x1c4f64)]),_0x137b27=_0x589704[_0x3fa0b8(0xbc)](_0x3c1e21,null);_0x17a341['push']({'key':_0x3d9ab5,'value':_0x27d959,'locked':_0x137b27,'owner':_0x137b27?this['extractOwner'](_0x3c1e21):null,'ttl_remaining':_0x137b27&&_0x589704['rAWGf'](_0x4e252a,0x0)?_0x4e252a:null});}return{'success':!![],'data':{'resource':_0x5ba028,'keys':_0x17a341}};}catch(_0x2ee03b){return logger[_0x3fa0b8(0xbb)]({'event':_0x589704['OtVYv'],'resource':_0x5ba028,'error':_0x2ee03b[_0x3fa0b8(0xf7)]},_0x3fa0b8(0xbf)+_0x2ee03b['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x2ee03b[_0x3fa0b8(0xf7)]};}}async[a0_0x594c56(0xc6)](_0x3f2dec,_0x4776eb,_0x410cfc){const _0xdbb3b7=a0_0x594c56,_0x1d174b={'CccOU':'resource_lock_rollback_key_error'};for(const _0x4ad7ea of _0x4776eb){try{await _0x3f2dec[_0xdbb3b7(0xe6)](RELEASE_LUA_SCRIPT,0x1,_0x4ad7ea,_0x410cfc);}catch(_0x19e230){logger['error']({'event':_0x1d174b['CccOU'],'key':_0x4ad7ea,'error':_0x19e230['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x4ad7ea);}}}async[a0_0x594c56(0xe9)](_0x3ae197,_0x460b02){const _0x55c135=a0_0x594c56,_0x318432={'HPpWQ':_0x55c135(0xd3),'sCexI':function(_0x36c19b,_0x227298){return _0x36c19b>_0x227298;}};try{const [_0x45148f,_0x216021]=await Promise['all']([_0x3ae197['get'](_0x460b02),_0x3ae197['ttl'](_0x460b02)]);return{'owner':_0x45148f?this['extractOwner'](_0x45148f):_0x318432['HPpWQ'],'ttlRemaining':_0x318432['sCexI'](_0x216021,0x0)?_0x216021:null};}catch{return{'owner':_0x318432['HPpWQ'],'ttlRemaining':null};}}['_validateAcquireInput']({resource:_0x5d6de1,lockKeys:_0x48b1d6,ttl:_0x518f96,owner:_0x1b507}){const _0x146c1f=a0_0x594c56,_0x5f52f6={'gxHQf':function(_0xbfb132,_0x2afbf8){return _0xbfb132!==_0x2afbf8;},'oBLSg':'string','LHnAu':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','gbpqs':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','LbHdt':function(_0x5da806,_0x72bbbb){return _0x5da806>_0x72bbbb;},'ECIjd':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','OALAd':function(_0x58589f,_0xe7740f){return _0x58589f<_0xe7740f;},'tSeDE':function(_0x3ad325,_0x153750){return _0x3ad325!==_0x153750;},'lerec':_0x146c1f(0xe3),'QUaNy':_0x146c1f(0xc0)};if(!_0x5d6de1||_0x5f52f6['gxHQf'](typeof _0x5d6de1,_0x5f52f6['oBLSg']))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xd4)]};if(!Array['isArray'](_0x48b1d6)||_0x48b1d6[_0x146c1f(0xae)]===0x0)return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xe1)]};if(_0x5f52f6['LbHdt'](_0x48b1d6[_0x146c1f(0xae)],0x64))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xe8)]};for(let _0xe6b442=0x0;_0x5f52f6[_0x146c1f(0xdb)](_0xe6b442,_0x48b1d6[_0x146c1f(0xae)]);_0xe6b442++){const _0x1f3428=_0x48b1d6[_0xe6b442];if(!_0x1f3428||!_0x1f3428['key']||!_0x1f3428[_0x146c1f(0xcd)])return{'valid':![],'error':_0x146c1f(0xd9)+_0xe6b442+_0x146c1f(0xdf)};}if(!_0x518f96||_0x5f52f6[_0x146c1f(0xd6)](typeof _0x518f96,_0x5f52f6['lerec'])||_0x518f96<0x1)return{'valid':![],'error':_0x146c1f(0xb7)};const _0x53987f=this[_0x146c1f(0xca)]();if(_0x5f52f6[_0x146c1f(0xaf)](_0x518f96,_0x53987f))return{'valid':![],'error':_0x146c1f(0xc5)+_0x53987f+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x1b507||_0x5f52f6['tSeDE'](typeof _0x1b507,'string'))return{'valid':![],'error':_0x5f52f6[_0x146c1f(0xf3)]};return{'valid':!![]};}['_validateReleaseInput']({resource:_0x43981e,lockKeys:_0x18f3cc,lockToken:_0x401f3a}){const _0x1b0df6=a0_0x594c56,_0x1bc502={'DYDul':function(_0x4474ad,_0x4ea283){return _0x4474ad!==_0x4ea283;},'fyLQr':'string','nHICs':_0x1b0df6(0xce),'pXzSq':function(_0x248334,_0x2e3996){return _0x248334===_0x2e3996;},'Yjfzf':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','MKytO':_0x1b0df6(0xd1)};if(!_0x43981e||_0x1bc502['DYDul'](typeof _0x43981e,_0x1bc502[_0x1b0df6(0xb1)]))return{'valid':![],'error':_0x1bc502[_0x1b0df6(0xde)]};if(!Array['isArray'](_0x18f3cc)||_0x1bc502['pXzSq'](_0x18f3cc['length'],0x0))return{'valid':![],'error':_0x1bc502[_0x1b0df6(0xec)]};for(let _0x539fb4=0x0;_0x539fb4<_0x18f3cc[_0x1b0df6(0xae)];_0x539fb4++){const _0x42fc49=_0x18f3cc[_0x539fb4];if(!_0x42fc49||!_0x42fc49['key']||!_0x42fc49[_0x1b0df6(0xcd)])return{'valid':![],'error':'lock_keys['+_0x539fb4+_0x1b0df6(0xdf)};}if(!_0x401f3a||typeof _0x401f3a!=='string')return{'valid':![],'error':_0x1bc502['MKytO']};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
@@ -1 +1 @@
1
- const a0_0x51564c=a0_0x3575;(function(_0x58e7de,_0x31139d){const _0xae8fe7=a0_0x3575,_0x5e6259=_0x58e7de();while(!![]){try{const _0x4d7f2a=-parseInt(_0xae8fe7(0x159))/0x1*(parseInt(_0xae8fe7(0x1b8))/0x2)+-parseInt(_0xae8fe7(0x1a2))/0x3+parseInt(_0xae8fe7(0x1b9))/0x4+parseInt(_0xae8fe7(0x1ad))/0x5*(-parseInt(_0xae8fe7(0x19f))/0x6)+-parseInt(_0xae8fe7(0x195))/0x7+-parseInt(_0xae8fe7(0x198))/0x8+parseInt(_0xae8fe7(0x15c))/0x9*(parseInt(_0xae8fe7(0x165))/0xa);if(_0x4d7f2a===_0x31139d)break;else _0x5e6259['push'](_0x5e6259['shift']());}catch(_0x2714cf){_0x5e6259['push'](_0x5e6259['shift']());}}}(a0_0x28c3,0x9a6a3));const {Kafka,logLevel}=require(a0_0x51564c(0x1cd)),{v7:uuidv7}=require(a0_0x51564c(0x1ab));function a0_0x28c3(){const _0x450dc2=['y29UC3vTzxiUy3jHC2G','AxndB25Uzwn0zwq','z2v0q29UzMLN','CMvZDw1L','rwT5DNG','A3LuDeS','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','s0fgs0fFuKvuuLLFrevmqvK','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','wgr5BNO','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','yxv0B0nVBw1PDa','zxjYB3i','C2vLAW','Dg9mB3DLCKnHC2u','BwvZC2fNzq','s0fgs0fFu1nm','mZaWma','s0fgs0fFru5bqKXfra','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','CMvZDgzVCMDLlq','ndm1ndbLzxPnCLG','CMvXDwvZDfrPBwvVDxq','y29UBMvJDgLVBLbYB21PC2u','nte0nJm2mhnwr2jnza','zw52','DMfSDwu','BwvZC2fNzxnszwnLAxzLza','z2v0vgLTzq','BgvUz3rO','ig9Uia','ntu4nKT6BMXgra','y29UC3vTzxiUCMvIywXHBMnPBMC','z3jVDxbjza','ntyYmteZtM9PrxP5','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','s0fgs0fFu0fttf9vu0vstKfnrq','BgfZDe1LC3nHz2vuAw1L','y2XPzw50swq','zxHWB3j0CW','y2XVC2u','s0fgs0fFuKvrvuvtvf9usu1ft1vu','BwLU','DxvPza','C3rVCa','ntG0mgP1tfr5vG','s0fgs0fFu0fttf9nruniqu5ju00','zvj1CwW','B2zMC2v0','C3vIC2nYAwjLzfrVCgLJCW','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','DgLTzxn0yw1W','y29UC3vTzxi','Bg9N','C3rHCNrdB25ZDw1PBMC','Cgf5Bg9Hza','nZC0mdu4suLNELPy','mZiXntuYmfjNEuvHuq','s0fgs0fFqvvut19dt01nsvq','zgvMyxvSDa','Bwf4','y29TBwL0t2zMC2v0CW','z2v0twv0CMLJCW','t1HwuMm','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','AxnqyxvZzwq','su5gtW','mtaWma','v1H4EwG','BwvZC2fNzuHHBMrSzxi','C2v0DxbfDMvUDeHHBMrSzxjZ','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzsbLCNjVCJOG','C2vZC2LVBLrPBwvVDxq','uezvCgW','CM91BMq','s0fgs0fFu0fttf9qqvntv09sra','mZaWmda','A2fMA2fQCW','yNjVA2vYCW','BwvZC2fNzxngywLSzwq','seDjqKW','muzLtK9LtG','Dhj1zq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','nty2nduXreLlzxDZ','CMv0CNLnyxHezwXHEq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','Dg9tDhjPBMC','C2vLA1rVt2zMC2v0','yxv0B0nVBw1PDeLUDgvYDMfS','EfDVBxK','C3vIC2nYAwjL','mJuWmda','mZqWtLvuqwrO','s0fgs0fFq0Xjru5ux0Le','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','t0HVv3e','z2v0tg9Ntgv2zwW','tK9useLorW','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','AxnsDw5UAw5N','Bwv0CMLJCW','Cgf1C2u','C1nztxy','ChjVy2vZC2LUz1rPBwvZ','thLAwxO','BwvZC2fNzxnqCM9JzxnZzwq','A2fMA2e','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','lwnVBNn1BwvYlwDYB3vW','D2fYBG','DwDRthi','s0fgs0fFq09otKvdveLptL9usu1ft1vu','AxnjBML0AwfSAxPPBMC','zK1gtNi','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','icHNCM91CeLKoIa'];a0_0x28c3=function(){return _0x450dc2;};return a0_0x28c3();}class KafkaConsumerService{constructor(){const _0x37cc74=a0_0x51564c,_0x13f7c4={'lyMJH':'0|7|1|8|5|9|2|10|4|6|3'},_0x290902=_0x13f7c4['lyMJH']['split']('|');let _0x105784=0x0;while(!![]){switch(_0x290902[_0x105784++]){case'0':this[_0x37cc74(0x173)]=null;continue;case'1':this['isConnected']=![];continue;case'2':this['connectionPromise']=null;continue;case'3':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x37cc74(0x1a1)]=null;continue;case'5':this[_0x37cc74(0x16c)]=![];continue;case'6':this['messageHandler']=null;continue;case'7':this[_0x37cc74(0x1b4)]=null;continue;case'8':this[_0x37cc74(0x179)]=![];continue;case'9':this[_0x37cc74(0x1c1)]=![];continue;case'10':this[_0x37cc74(0x1b1)]=[];continue;}break;}}[a0_0x51564c(0x17f)](){const _0x55941f=a0_0x51564c,_0xe6cf95={'sSYMv':'localhost:9092','sqxLJ':'default','fdqvB':_0x55941f(0x190),'LyZYz':function(_0x45968c,_0x53a839){return _0x45968c(_0x53a839);},'kyTtK':_0x55941f(0x164),'eRuql':function(_0x15767d,_0x1f0b3d){return _0x15767d(_0x1f0b3d);},'ugkLr':_0x55941f(0x1cc)};return{'enabled':process[_0x55941f(0x199)][_0x55941f(0x191)]==='true','brokers':(process[_0x55941f(0x199)]['KAFKA_BROKERS']||_0xe6cf95[_0x55941f(0x16f)])['split'](','),'clientId':process['env'][_0x55941f(0x166)]||_0x55941f(0x194)+(process['env']['RESTFORGE_PROJECT_NAME']||_0xe6cf95['sqxLJ'])+'-consumer','connectionTimeout':parseInt(process['env'][_0x55941f(0x178)]||_0xe6cf95['fdqvB']),'requestTimeout':_0xe6cf95[_0x55941f(0x171)](parseInt,process['env'][_0x55941f(0x1a9)]||_0xe6cf95[_0x55941f(0x182)]),'sessionTimeout':_0xe6cf95[_0x55941f(0x1af)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||_0x55941f(0x1cc)),'heartbeatInterval':_0xe6cf95['LyZYz'](parseInt,process[_0x55941f(0x199)]['KAFKA_HEARTBEAT_INTERVAL']||_0x55941f(0x190)),'maxBytesPerPartition':parseInt(process['env']['KAFKA_MAX_BYTES_PER_PARTITION']||'1048576'),'autoCommit':process['env'][_0x55941f(0x1ba)]===_0x55941f(0x15a),'autoCommitInterval':_0xe6cf95['eRuql'](parseInt,process[_0x55941f(0x199)][_0x55941f(0x174)]||'5000'),'retryAttempts':_0xe6cf95['eRuql'](parseInt,process[_0x55941f(0x199)]['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process['env'][_0x55941f(0x184)]||_0x55941f(0x1c3)),'retryMaxDelay':parseInt(process['env']['KAFKA_RETRY_MAX_DELAY']||_0xe6cf95[_0x55941f(0x177)]),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x55941f(0x176)};}[a0_0x51564c(0x169)](_0x41e61d){const _0x460cec=a0_0x51564c,_0x4b13aa={'nothing':logLevel[_0x460cec(0x16a)],'error':logLevel['ERROR'],'warn':logLevel['WARN'],'info':logLevel[_0x460cec(0x1c2)],'debug':logLevel['DEBUG']};return _0x4b13aa[_0x41e61d[_0x460cec(0x18d)]()]||logLevel['WARN'];}async['initialize'](_0x48d196={}){const _0x572f1d=a0_0x51564c,_0xcf4b42={'PRoUW':function(_0x37117e,_0x439655){return _0x37117e===_0x439655;},'gxYWl':_0x572f1d(0x1bb),'OHoWq':function(_0x1b4e02,_0x4dfebf){return _0x1b4e02(_0x4dfebf);}},_0x237cb4=this[_0x572f1d(0x17f)]();if(!_0x237cb4['enabled'])return console[_0x572f1d(0x1b5)](_0x572f1d(0x186)),![];if(this[_0x572f1d(0x17e)])return!![];if(this['isInitializing']&&this[_0x572f1d(0x197)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x117358=>{const _0x701691=_0x572f1d;try{let _0x2cd85e=undefined;_0xcf4b42['PRoUW'](process[_0x701691(0x199)][_0x701691(0x18f)],_0x701691(0x15a))&&(_0x2cd85e=!![]);let _0x355f7e=undefined;process['env'][_0x701691(0x1ae)]&&(_0x355f7e={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x701691(0x1a4)]||'','password':process['env'][_0x701691(0x1cb)]||''}),this['kafka']=new Kafka({'clientId':_0x48d196[_0x701691(0x1a6)]||_0x237cb4['clientId'],'brokers':_0x237cb4[_0x701691(0x1ce)],'connectionTimeout':_0x237cb4['connectionTimeout'],'requestTimeout':_0x237cb4[_0x701691(0x196)],'logLevel':this['getLogLevel'](_0x237cb4['logLevel']),'ssl':_0x2cd85e,'sasl':_0x355f7e,'retry':{'initialRetryTime':_0x237cb4['retryDelay'],'retries':_0x237cb4['retryAttempts'],'maxRetryTime':_0x237cb4[_0x701691(0x15d)]}}),this[_0x701691(0x1a1)]=_0x48d196['groupId']||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0xcf4b42['gxYWl'])+_0x701691(0x175),this[_0x701691(0x1b4)]=this[_0x701691(0x173)][_0x701691(0x1b4)]({'groupId':this[_0x701691(0x1a1)],'sessionTimeout':_0x237cb4[_0x701691(0x1c8)],'heartbeatInterval':_0x237cb4['heartbeatInterval'],'maxBytesPerPartition':_0x237cb4['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer']['connect'](),this[_0x701691(0x17e)]=!![],console[_0x701691(0x1b5)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x237cb4[_0x701691(0x1ce)]['join'](',\x20')+_0x701691(0x17c)+this['groupId']+')'),this[_0x701691(0x1c6)](),_0xcf4b42[_0x701691(0x168)](_0x117358,!![]);}catch(_0x223235){console[_0x701691(0x18b)](_0x701691(0x1b2)+_0x223235['message']),this[_0x701691(0x17e)]=![],_0x117358(![]);}finally{this['isInitializing']=![];}}),this[_0x572f1d(0x197)];}[a0_0x51564c(0x1c6)](){const _0x5aeed8=a0_0x51564c,_0x456af6={'PbGAM':'[KafkaConsumer]\x20Consumer\x20disconnected','ZDWbM':_0x5aeed8(0x15b)};if(!this['consumer'])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x118b8b=_0x5aeed8;console['log'](_0x456af6['PbGAM']),this[_0x118b8b(0x17e)]=![],this[_0x118b8b(0x16c)]=![];}),this[_0x5aeed8(0x1b4)]['on']('consumer.stop',()=>{console['log'](_0x456af6['ZDWbM']),this['isRunning']=![];}),this[_0x5aeed8(0x1b4)]['on'](_0x5aeed8(0x17d),_0xc2285d=>{const _0x159d7c=_0x5aeed8;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0xc2285d[_0x159d7c(0x1b7)]['error']['message']),this[_0x159d7c(0x16c)]=![];}),this[_0x5aeed8(0x1b4)]['on'](_0x5aeed8(0x1a0),()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x51564c(0x163)](_0x225193,_0x24513f=![]){const _0x408653=a0_0x51564c,_0x458c35={'pofHE':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x458c35['pofHE']),![];try{const _0x2e82fb=Array['isArray'](_0x225193)?_0x225193:[_0x225193];for(const _0x3bc4d6 of _0x2e82fb){await this[_0x408653(0x1b4)][_0x408653(0x163)]({'topic':_0x3bc4d6,'fromBeginning':_0x24513f}),console['log']('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x3bc4d6+'\x20(fromBeginning:\x20'+_0x24513f+')');}return this['subscribedTopics']=[...new Set([...this[_0x408653(0x1b1)],..._0x2e82fb])],!![];}catch(_0xb67ddb){return console[_0x408653(0x18b)](_0x408653(0x1c7)+_0xb67ddb[_0x408653(0x18e)]),![];}}async[a0_0x51564c(0x1b6)](_0x5d1ba3,_0x4e003a={}){const _0x32a037=a0_0x51564c,_0x3c8022={'YFDjw':function(_0x3e504e,_0x4b1464){return _0x3e504e+_0x4b1464;},'HGIBL':function(_0x1a8ab7,_0x3ef3cd){return _0x1a8ab7-_0x3ef3cd;},'Xdynz':function(_0x5d4a9e,_0x4c9242){return _0x5d4a9e>_0x4c9242;},'kQXkX':function(_0x5a4776){return _0x5a4776();}};if(!this['isConnected'])return console[_0x32a037(0x18b)]('[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected'),![];if(this['isRunning'])return console[_0x32a037(0x1b5)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x4de279=this['getConfig']();this[_0x32a037(0x1c5)]=_0x5d1ba3;try{return this['metrics']['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x4e003a[_0x32a037(0x18a)]!==undefined?_0x4e003a[_0x32a037(0x18a)]:_0x4de279['autoCommit'],'autoCommitInterval':_0x4de279[_0x32a037(0x161)],'eachMessage':async({topic:_0xe136e5,partition:_0x5d8b9b,message:_0x4f12af,heartbeat:_0x2c022a})=>{const _0x32c34a=_0x32a037,_0x2ce8d2=Date['now']();this['metrics'][_0x32c34a(0x19b)]++,this['metrics'][_0x32c34a(0x1a5)]=new Date();try{const _0x204a05=_0x4f12af[_0x32c34a(0x19a)]?_0x4f12af[_0x32c34a(0x19a)][_0x32c34a(0x15f)]():null;let _0x36762b=null;try{_0x36762b=_0x204a05?JSON['parse'](_0x204a05):null;}catch(_0x253f31){_0x36762b=_0x204a05;}const _0x367fd4={'topic':_0xe136e5,'partition':_0x5d8b9b,'offset':_0x4f12af['offset'],'key':_0x4f12af['key']?_0x4f12af['key']['toString']():null,'headers':this['parseHeaders'](_0x4f12af['headers']),'timestamp':_0x4f12af[_0x32c34a(0x1b3)],'value':_0x36762b,'raw':_0x204a05};this[_0x32c34a(0x1c5)]&&await this['messageHandler'](_0x367fd4);!_0x4de279[_0x32c34a(0x18a)]&&await this[_0x32c34a(0x1b4)][_0x32c34a(0x1bd)]([{'topic':_0xe136e5,'partition':_0x5d8b9b,'offset':_0x3c8022['YFDjw'](parseInt(_0x4f12af[_0x32c34a(0x1b0)]),0x1)[_0x32c34a(0x15f)]()}]);this[_0x32c34a(0x16d)]['messagesProcessed']++;const _0x6b63f8=_0x3c8022[_0x32c34a(0x1d0)](Date['now'](),_0x2ce8d2);this['metrics']['processingTimes']['push'](_0x6b63f8),_0x3c8022[_0x32c34a(0x188)](this['metrics']['processingTimes']['length'],0x64)&&this[_0x32c34a(0x16d)][_0x32c34a(0x170)]['shift'](),await _0x3c8022['kQXkX'](_0x2c022a);}catch(_0x147ba6){this['metrics']['messagesFailed']++,console[_0x32c34a(0x18b)]('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x147ba6[_0x32c34a(0x18e)]);throw _0x147ba6;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x2f5ce0){return console[_0x32a037(0x18b)](_0x32a037(0x167)+_0x2f5ce0['message']),![];}}['parseHeaders'](_0xec33d5){const _0x3c75c7=a0_0x51564c;if(!_0xec33d5)return{};const _0x33334c={};for(const [_0x7c9d0,_0x161203]of Object['entries'](_0xec33d5)){_0x33334c[_0x7c9d0]=_0x161203?_0x161203[_0x3c75c7(0x15f)]():null;}return _0x33334c;}async[a0_0x51564c(0x16e)](){const _0x4f691e=a0_0x51564c;if(!this[_0x4f691e(0x17e)]||!this['isRunning'])return console[_0x4f691e(0x1b5)](_0x4f691e(0x187)),![];if(this['isPaused'])return console[_0x4f691e(0x1b5)](_0x4f691e(0x189)),!![];try{const _0x22583d=this['subscribedTopics']['map'](_0x48828d=>({'topic':_0x48828d}));return this['consumer'][_0x4f691e(0x16e)](_0x22583d),this[_0x4f691e(0x1c1)]=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x1a587b){return console[_0x4f691e(0x18b)](_0x4f691e(0x185)+_0x1a587b[_0x4f691e(0x18e)]),![];}}async[a0_0x51564c(0x180)](){const _0x3e7441=a0_0x51564c,_0x26f89f={'fMFNr':_0x3e7441(0x192),'PFUpl':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this[_0x3e7441(0x17e)]||!this['isRunning'])return console[_0x3e7441(0x1b5)](_0x26f89f[_0x3e7441(0x17a)]),![];if(!this[_0x3e7441(0x1c1)])return console['log'](_0x3e7441(0x1a3)),!![];try{const _0x2520f9=this['subscribedTopics']['map'](_0x359fbc=>({'topic':_0x359fbc}));return this['consumer'][_0x3e7441(0x180)](_0x2520f9),this[_0x3e7441(0x1c1)]=![],console[_0x3e7441(0x1b5)](_0x26f89f[_0x3e7441(0x1c9)]),!![];}catch(_0x4c1b19){return console['error']('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x4c1b19['message']),![];}}async[a0_0x51564c(0x1ac)](){const _0x482111=a0_0x51564c;if(!this[_0x482111(0x17e)])return console['log'](_0x482111(0x193)),!![];try{return this[_0x482111(0x1b4)]&&(await this['consumer'][_0x482111(0x1ac)](),await this['consumer']['disconnect']()),this[_0x482111(0x17e)]=![],this[_0x482111(0x16c)]=![],this['isPaused']=![],console['log'](_0x482111(0x15e)),!![];}catch(_0x29e719){return console['error'](_0x482111(0x183)+_0x29e719[_0x482111(0x18e)]),![];}}async[a0_0x51564c(0x160)](_0x72785e,_0x2a2899,_0x48cc61){const _0x552a35=a0_0x51564c;if(!this['isConnected'])return console[_0x552a35(0x18b)](_0x552a35(0x1c0)),![];try{return this[_0x552a35(0x1b4)][_0x552a35(0x18c)]({'topic':_0x72785e,'partition':_0x2a2899,'offset':_0x48cc61['toString']()}),console[_0x552a35(0x1b5)](_0x552a35(0x16b)+_0x48cc61+_0x552a35(0x19e)+_0x72785e+':'+_0x2a2899),!![];}catch(_0x1fe5ed){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x1fe5ed[_0x552a35(0x18e)]),![];}}['getStatus'](){const _0x82f2a7=a0_0x51564c,_0x3544ea=this[_0x82f2a7(0x17f)]();return{'enabled':_0x3544ea['enabled'],'connected':this[_0x82f2a7(0x17e)],'running':this['isRunning'],'paused':this[_0x82f2a7(0x1c1)],'brokers':_0x3544ea['brokers'],'clientId':_0x3544ea['clientId'],'groupId':this[_0x82f2a7(0x1a1)],'subscribedTopics':this[_0x82f2a7(0x1b1)]};}[a0_0x51564c(0x1be)](){const _0x2c4c07=a0_0x51564c,_0x16fe1f={'OXVRc':function(_0x178d63,_0x3d1db4){return _0x178d63>_0x3d1db4;},'xWomy':function(_0x28c387,_0x5267ef){return _0x28c387/_0x5267ef;},'QFOYs':function(_0x3aeee7,_0x2b10f8){return _0x3aeee7>_0x2b10f8;},'Ekyvx':function(_0xb6a3cd,_0x300279){return _0xb6a3cd>_0x300279;},'WXxyh':function(_0x34c028,_0x50d611){return _0x34c028-_0x50d611;},'ASlxZ':function(_0x330418,_0xf8a254){return _0x330418+_0xf8a254;}},_0x338ff0=_0x16fe1f[_0x2c4c07(0x1bf)](this[_0x2c4c07(0x16d)][_0x2c4c07(0x170)][_0x2c4c07(0x19d)],0x0)?_0x16fe1f[_0x2c4c07(0x162)](this['metrics'][_0x2c4c07(0x170)]['reduce']((_0x2a51e3,_0x3bff1c)=>_0x2a51e3+_0x3bff1c,0x0),this[_0x2c4c07(0x16d)]['processingTimes'][_0x2c4c07(0x19d)]):0x0,_0x2a7bca=_0x16fe1f['QFOYs'](this[_0x2c4c07(0x16d)][_0x2c4c07(0x170)][_0x2c4c07(0x19d)],0x0)?Math[_0x2c4c07(0x1aa)](...this[_0x2c4c07(0x16d)][_0x2c4c07(0x170)]):0x0,_0x456677=_0x16fe1f[_0x2c4c07(0x181)](this['metrics'][_0x2c4c07(0x170)]['length'],0x0)?Math[_0x2c4c07(0x1bc)](...this['metrics'][_0x2c4c07(0x170)]):0x0;return{'messagesReceived':this[_0x2c4c07(0x16d)][_0x2c4c07(0x19b)],'messagesProcessed':this['metrics'][_0x2c4c07(0x172)],'messagesFailed':this['metrics'][_0x2c4c07(0x1cf)],'successRate':this['metrics']['messagesReceived']>0x0?(this[_0x2c4c07(0x16d)]['messagesProcessed']/this[_0x2c4c07(0x16d)]['messagesReceived']*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x2c4c07(0x16d)]['startTime'],'uptime':this['metrics']['startTime']?Math['floor'](_0x16fe1f['xWomy'](_0x16fe1f[_0x2c4c07(0x1c4)](Date['now'](),this[_0x2c4c07(0x16d)]['startTime'][_0x2c4c07(0x19c)]()),0x3e8))+'s':'0s','processingTime':{'avg':_0x16fe1f['ASlxZ'](Math[_0x2c4c07(0x1ca)](_0x338ff0),'ms'),'min':_0x16fe1f['ASlxZ'](_0x2a7bca,'ms'),'max':_0x456677+'ms'}};}['resetMetrics'](){const _0x2d43de=a0_0x51564c;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x2d43de(0x1b5)](_0x2d43de(0x17b));}async['close'](){const _0x59dc9a=a0_0x51564c;await this[_0x59dc9a(0x1ac)]();}}function a0_0x3575(_0x85b030,_0x52f067){_0x85b030=_0x85b030-0x159;const _0x28c367=a0_0x28c3();let _0x357542=_0x28c367[_0x85b030];if(a0_0x3575['nLbchY']===undefined){var _0x514ec4=function(_0x3ce480){const _0x2042fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9ec662='',_0x4038e2='';for(let _0x34cc4a=0x0,_0x29fb04,_0x11c1db,_0x45f203=0x0;_0x11c1db=_0x3ce480['charAt'](_0x45f203++);~_0x11c1db&&(_0x29fb04=_0x34cc4a%0x4?_0x29fb04*0x40+_0x11c1db:_0x11c1db,_0x34cc4a++%0x4)?_0x9ec662+=String['fromCharCode'](0xff&_0x29fb04>>(-0x2*_0x34cc4a&0x6)):0x0){_0x11c1db=_0x2042fe['indexOf'](_0x11c1db);}for(let _0x41779b=0x0,_0x495f6e=_0x9ec662['length'];_0x41779b<_0x495f6e;_0x41779b++){_0x4038e2+='%'+('00'+_0x9ec662['charCodeAt'](_0x41779b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4038e2);};a0_0x3575['vujVDn']=_0x514ec4,a0_0x3575['eiLqpx']={},a0_0x3575['nLbchY']=!![];}const _0x1d0873=_0x28c367[0x0],_0x3439b5=_0x85b030+_0x1d0873,_0x6e180=a0_0x3575['eiLqpx'][_0x3439b5];return!_0x6e180?(_0x357542=a0_0x3575['vujVDn'](_0x357542),a0_0x3575['eiLqpx'][_0x3439b5]=_0x357542):_0x357542=_0x6e180,_0x357542;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x47bf46=a0_0x51564c;instance&&(instance[_0x47bf46(0x1a8)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x51564c(0x1a7)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x4b16fc=a0_0x48e8;function a0_0x48e8(_0x258218,_0x5896b8){_0x258218=_0x258218-0x14a;const _0x355673=a0_0x3556();let _0x48e80d=_0x355673[_0x258218];if(a0_0x48e8['dJGuZZ']===undefined){var _0x5706f2=function(_0x311672){const _0x5e2ec8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27d68c='',_0x45efa9='';for(let _0xcee39e=0x0,_0x1e0aee,_0x27039e,_0x125645=0x0;_0x27039e=_0x311672['charAt'](_0x125645++);~_0x27039e&&(_0x1e0aee=_0xcee39e%0x4?_0x1e0aee*0x40+_0x27039e:_0x27039e,_0xcee39e++%0x4)?_0x27d68c+=String['fromCharCode'](0xff&_0x1e0aee>>(-0x2*_0xcee39e&0x6)):0x0){_0x27039e=_0x5e2ec8['indexOf'](_0x27039e);}for(let _0x39e57a=0x0,_0x2eef8a=_0x27d68c['length'];_0x39e57a<_0x2eef8a;_0x39e57a++){_0x45efa9+='%'+('00'+_0x27d68c['charCodeAt'](_0x39e57a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x45efa9);};a0_0x48e8['YSVhmL']=_0x5706f2,a0_0x48e8['gNqopG']={},a0_0x48e8['dJGuZZ']=!![];}const _0x5873b9=_0x355673[0x0],_0x384195=_0x258218+_0x5873b9,_0x4a0edd=a0_0x48e8['gNqopG'][_0x384195];return!_0x4a0edd?(_0x48e80d=a0_0x48e8['YSVhmL'](_0x48e80d),a0_0x48e8['gNqopG'][_0x384195]=_0x48e80d):_0x48e80d=_0x4a0edd,_0x48e80d;}(function(_0x56e283,_0x2ad6f2){const _0x4406d6=a0_0x48e8,_0xb4eda6=_0x56e283();while(!![]){try{const _0x342eff=-parseInt(_0x4406d6(0x1c4))/0x1+-parseInt(_0x4406d6(0x19e))/0x2+parseInt(_0x4406d6(0x1a1))/0x3+parseInt(_0x4406d6(0x15b))/0x4+-parseInt(_0x4406d6(0x1b8))/0x5*(parseInt(_0x4406d6(0x157))/0x6)+parseInt(_0x4406d6(0x192))/0x7+parseInt(_0x4406d6(0x155))/0x8*(-parseInt(_0x4406d6(0x1c5))/0x9);if(_0x342eff===_0x2ad6f2)break;else _0xb4eda6['push'](_0xb4eda6['shift']());}catch(_0x36f7d2){_0xb4eda6['push'](_0xb4eda6['shift']());}}}(a0_0x3556,0x9841e));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x4b16fc(0x162));class KafkaConsumerService{constructor(){const _0x44741d=a0_0x4b16fc,_0x515d51={'TLspy':_0x44741d(0x1b2)},_0x2bc9b5=_0x515d51['TLspy']['split']('|');let _0x45493d=0x0;while(!![]){switch(_0x2bc9b5[_0x45493d++]){case'0':this['isPaused']=![];continue;case'1':this[_0x44741d(0x14e)]=null;continue;case'2':this[_0x44741d(0x19f)]=![];continue;case'3':this['kafka']=null;continue;case'4':this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'5':this[_0x44741d(0x1bb)]=[];continue;case'6':this[_0x44741d(0x176)]=null;continue;case'7':this['isInitializing']=![];continue;case'8':this[_0x44741d(0x163)]=![];continue;case'9':this['consumer']=null;continue;case'10':this['groupId']=null;continue;}break;}}['getConfig'](){const _0x41e5b9=a0_0x4b16fc,_0xf4344={'iyZik':_0x41e5b9(0x1b7),'DokAI':_0x41e5b9(0x15c),'ARUZS':'default','NWqpf':function(_0x33fa88,_0x1422d2){return _0x33fa88(_0x1422d2);},'MGouZ':'25000','eHQTu':_0x41e5b9(0x172),'nOUZv':_0x41e5b9(0x17a),'CVQRu':function(_0x4cb81b,_0xe2fe2f){return _0x4cb81b(_0xe2fe2f);},'pXEgc':function(_0x2af948,_0x120c86){return _0x2af948(_0x120c86);},'AhQge':_0x41e5b9(0x169),'XMAxe':function(_0x3c33f8,_0x2f60d9){return _0x3c33f8(_0x2f60d9);},'xmJPC':'1000'};return{'enabled':process[_0x41e5b9(0x1c3)][_0x41e5b9(0x195)]===_0xf4344[_0x41e5b9(0x1a2)],'brokers':(process['env'][_0x41e5b9(0x1be)]||_0xf4344['DokAI'])['split'](','),'clientId':process[_0x41e5b9(0x1c3)][_0x41e5b9(0x197)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0xf4344['ARUZS'])+'-consumer','connectionTimeout':_0xf4344[_0x41e5b9(0x164)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x41e5b9(0x17a)),'requestTimeout':parseInt(process['env'][_0x41e5b9(0x177)]||_0xf4344[_0x41e5b9(0x174)]),'sessionTimeout':parseInt(process[_0x41e5b9(0x1c3)]['KAFKA_SESSION_TIMEOUT']||_0xf4344['eHQTu']),'heartbeatInterval':_0xf4344[_0x41e5b9(0x164)](parseInt,process['env'][_0x41e5b9(0x18c)]||_0xf4344['nOUZv']),'maxBytesPerPartition':_0xf4344['CVQRu'](parseInt,process[_0x41e5b9(0x1c3)][_0x41e5b9(0x186)]||'1048576'),'autoCommit':process['env'][_0x41e5b9(0x198)]===_0xf4344[_0x41e5b9(0x1a2)],'autoCommitInterval':_0xf4344[_0x41e5b9(0x16f)](parseInt,process[_0x41e5b9(0x1c3)][_0x41e5b9(0x156)]||_0xf4344['AhQge']),'retryAttempts':parseInt(process[_0x41e5b9(0x1c3)][_0x41e5b9(0x1c2)]||'3'),'retryDelay':_0xf4344[_0x41e5b9(0x16d)](parseInt,process['env'][_0x41e5b9(0x1ca)]||_0xf4344['xmJPC']),'retryMaxDelay':parseInt(process[_0x41e5b9(0x1c3)]['KAFKA_RETRY_MAX_DELAY']||_0xf4344['eHQTu']),'logLevel':process[_0x41e5b9(0x1c3)]['KAFKA_LOG_LEVEL']||_0x41e5b9(0x14f)};}['getLogLevel'](_0x4f9b42){const _0x4aca15=a0_0x4b16fc,_0x452c8a={'nothing':logLevel['NOTHING'],'error':logLevel[_0x4aca15(0x171)],'warn':logLevel[_0x4aca15(0x19a)],'info':logLevel[_0x4aca15(0x1b1)],'debug':logLevel[_0x4aca15(0x19c)]};return _0x452c8a[_0x4f9b42[_0x4aca15(0x17c)]()]||logLevel[_0x4aca15(0x19a)];}async['initialize'](_0x523f82={}){const _0x3623dd=a0_0x4b16fc,_0x126b24={'MoVeb':'true','rJpge':function(_0x27e14e,_0x57f692){return _0x27e14e(_0x57f692);}},_0x469809=this['getConfig']();if(!_0x469809['enabled'])return console[_0x3623dd(0x1a9)](_0x3623dd(0x18a)),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this['connectionPromise'])return this[_0x3623dd(0x14e)];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x331f57=>{const _0xbfec4a=_0x3623dd;try{let _0x596bd6=undefined;process[_0xbfec4a(0x1c3)]['KAFKA_SSL']===_0x126b24[_0xbfec4a(0x1c6)]&&(_0x596bd6=!![]);let _0x313755=undefined;process[_0xbfec4a(0x1c3)]['KAFKA_SASL_MECHANISM']&&(_0x313755={'mechanism':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x158)],'username':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x1b0)]||'','password':process[_0xbfec4a(0x1c3)][_0xbfec4a(0x182)]||''}),this['kafka']=new Kafka({'clientId':_0x523f82['clientId']||_0x469809[_0xbfec4a(0x1b5)],'brokers':_0x469809['brokers'],'connectionTimeout':_0x469809[_0xbfec4a(0x150)],'requestTimeout':_0x469809['requestTimeout'],'logLevel':this['getLogLevel'](_0x469809[_0xbfec4a(0x160)]),'ssl':_0x596bd6,'sasl':_0x313755,'retry':{'initialRetryTime':_0x469809[_0xbfec4a(0x190)],'retries':_0x469809['retryAttempts'],'maxRetryTime':_0x469809['retryMaxDelay']}}),this['groupId']=_0x523f82['groupId']||_0xbfec4a(0x15f)+(process['env']['RESTFORGE_PROJECT_NAME']||'default')+'-consumer-group',this[_0xbfec4a(0x1bd)]=this['kafka'][_0xbfec4a(0x1bd)]({'groupId':this[_0xbfec4a(0x1b4)],'sessionTimeout':_0x469809[_0xbfec4a(0x18e)],'heartbeatInterval':_0x469809['heartbeatInterval'],'maxBytesPerPartition':_0x469809['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this['consumer'][_0xbfec4a(0x180)](),this['isConnected']=!![],console[_0xbfec4a(0x1a9)](_0xbfec4a(0x1ae)+_0x469809[_0xbfec4a(0x18b)][_0xbfec4a(0x16b)](',\x20')+'\x20(groupId:\x20'+this['groupId']+')'),this['setupEventHandlers'](),_0x126b24['rJpge'](_0x331f57,!![]);}catch(_0x50d040){console[_0xbfec4a(0x14d)]('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x50d040['message']),this[_0xbfec4a(0x163)]=![],_0x331f57(![]);}finally{this[_0xbfec4a(0x16e)]=![];}}),this['connectionPromise'];}[a0_0x4b16fc(0x1bc)](){const _0x5dde95=a0_0x4b16fc,_0x330a27={'TqsOT':'[KafkaConsumer]\x20Consumer\x20disconnected','MLeoh':_0x5dde95(0x1a5),'lrFHt':'consumer.crash','xSbxz':'consumer.rebalancing'};if(!this[_0x5dde95(0x1bd)])return;this['consumer']['on'](_0x330a27['MLeoh'],()=>{const _0x1a8f13=_0x5dde95;console[_0x1a8f13(0x1a9)](_0x330a27[_0x1a8f13(0x153)]),this[_0x1a8f13(0x163)]=![],this['isRunning']=![];}),this[_0x5dde95(0x1bd)]['on'](_0x5dde95(0x1c7),()=>{const _0x5079b6=_0x5dde95;console[_0x5079b6(0x1a9)]('[KafkaConsumer]\x20Consumer\x20stopped'),this['isRunning']=![];}),this[_0x5dde95(0x1bd)]['on'](_0x330a27['lrFHt'],_0x37c149=>{const _0x12282f=_0x5dde95;console[_0x12282f(0x14d)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x37c149[_0x12282f(0x1c9)][_0x12282f(0x14d)][_0x12282f(0x15a)]),this[_0x12282f(0x19f)]=![];}),this[_0x5dde95(0x1bd)]['on'](_0x330a27['xSbxz'],()=>{console['log']('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x4b16fc(0x18f)](_0x192f6d,_0x3b6058=![]){const _0x462f72=a0_0x4b16fc;if(!this[_0x462f72(0x163)])return console['error'](_0x462f72(0x1ad)),![];try{const _0x57f67c=Array['isArray'](_0x192f6d)?_0x192f6d:[_0x192f6d];for(const _0x2dfee1 of _0x57f67c){await this['consumer'][_0x462f72(0x18f)]({'topic':_0x2dfee1,'fromBeginning':_0x3b6058}),console[_0x462f72(0x1a9)](_0x462f72(0x1ac)+_0x2dfee1+_0x462f72(0x1c8)+_0x3b6058+')');}return this['subscribedTopics']=[...new Set([...this['subscribedTopics'],..._0x57f67c])],!![];}catch(_0x2f28ee){return console['error']('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x2f28ee[_0x462f72(0x15a)]),![];}}async[a0_0x4b16fc(0x178)](_0x2e718c,_0x567757={}){const _0x270f38=a0_0x4b16fc,_0x34c1c9={'KDyLA':function(_0x1ab82a,_0x265ff0){return _0x1ab82a(_0x265ff0);},'uNCBW':function(_0x473838){return _0x473838();},'nIqYl':'[KafkaConsumer]\x20Cannot\x20start\x20consuming\x20-\x20not\x20connected','ZHNUM':function(_0x48e543,_0x589da4){return _0x48e543!==_0x589da4;}};if(!this[_0x270f38(0x163)])return console['error'](_0x34c1c9[_0x270f38(0x184)]),![];if(this[_0x270f38(0x19f)])return console['log'](_0x270f38(0x18d)),!![];const _0x23b918=this['getConfig']();this['messageHandler']=_0x2e718c;try{return this['metrics']['startTime']=new Date(),await this['consumer']['run']({'autoCommit':_0x34c1c9['ZHNUM'](_0x567757[_0x270f38(0x189)],undefined)?_0x567757[_0x270f38(0x189)]:_0x23b918[_0x270f38(0x189)],'autoCommitInterval':_0x23b918['autoCommitInterval'],'eachMessage':async({topic:_0x265e5b,partition:_0xf294bd,message:_0x58fc44,heartbeat:_0xd303d4})=>{const _0x58fb83=_0x270f38,_0x2c3d55=Date['now']();this['metrics'][_0x58fb83(0x1a6)]++,this['metrics'][_0x58fb83(0x19b)]=new Date();try{const _0x114b72=_0x58fc44[_0x58fb83(0x17f)]?_0x58fc44[_0x58fb83(0x17f)]['toString']():null;let _0x457f61=null;try{_0x457f61=_0x114b72?JSON['parse'](_0x114b72):null;}catch(_0x3b599f){_0x457f61=_0x114b72;}const _0x42a2e0={'topic':_0x265e5b,'partition':_0xf294bd,'offset':_0x58fc44['offset'],'key':_0x58fc44['key']?_0x58fc44[_0x58fb83(0x14a)]['toString']():null,'headers':this['parseHeaders'](_0x58fc44[_0x58fb83(0x188)]),'timestamp':_0x58fc44['timestamp'],'value':_0x457f61,'raw':_0x114b72};this[_0x58fb83(0x176)]&&await this['messageHandler'](_0x42a2e0);!_0x23b918['autoCommit']&&await this['consumer']['commitOffsets']([{'topic':_0x265e5b,'partition':_0xf294bd,'offset':(_0x34c1c9[_0x58fb83(0x1c0)](parseInt,_0x58fc44[_0x58fb83(0x183)])+0x1)[_0x58fb83(0x151)]()}]);this[_0x58fb83(0x16a)][_0x58fb83(0x1a4)]++;const _0x1b271a=Date[_0x58fb83(0x168)]()-_0x2c3d55;this['metrics']['processingTimes'][_0x58fb83(0x15e)](_0x1b271a),this['metrics']['processingTimes'][_0x58fb83(0x185)]>0x64&&this['metrics'][_0x58fb83(0x1a3)][_0x58fb83(0x1ab)](),await _0x34c1c9[_0x58fb83(0x1b6)](_0xd303d4);}catch(_0x550f7b){this[_0x58fb83(0x16a)][_0x58fb83(0x1a8)]++,console['error']('[KafkaConsumer]\x20Message\x20processing\x20error:\x20'+_0x550f7b['message']);throw _0x550f7b;}}}),this[_0x270f38(0x19f)]=!![],console[_0x270f38(0x1a9)]('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x270f38(0x1bb)][_0x270f38(0x16b)](',\x20')),!![];}catch(_0x24e87f){return console['error'](_0x270f38(0x17b)+_0x24e87f[_0x270f38(0x15a)]),![];}}['parseHeaders'](_0x3f4f46){const _0x245266=a0_0x4b16fc;if(!_0x3f4f46)return{};const _0x490306={};for(const [_0xf63c03,_0x5ab3da]of Object[_0x245266(0x167)](_0x3f4f46)){_0x490306[_0xf63c03]=_0x5ab3da?_0x5ab3da['toString']():null;}return _0x490306;}async['pause'](){const _0xf5b826=a0_0x4b16fc;if(!this[_0xf5b826(0x163)]||!this['isRunning'])return console[_0xf5b826(0x1a9)](_0xf5b826(0x19d)),![];if(this[_0xf5b826(0x14c)])return console['log'](_0xf5b826(0x159)),!![];try{const _0x4278be=this[_0xf5b826(0x1bb)]['map'](_0x1b217f=>({'topic':_0x1b217f}));return this['consumer'][_0xf5b826(0x152)](_0x4278be),this['isPaused']=!![],console['log']('[KafkaConsumer]\x20Consumer\x20paused'),!![];}catch(_0x28fc1e){return console['error'](_0xf5b826(0x1b3)+_0x28fc1e['message']),![];}}async['resume'](){const _0x304ab0=a0_0x4b16fc,_0x4cd655={'mIcBc':'[KafkaConsumer]\x20Consumer\x20resumed'};if(!this['isConnected']||!this['isRunning'])return console[_0x304ab0(0x1a9)](_0x304ab0(0x1af)),![];if(!this[_0x304ab0(0x14c)])return console[_0x304ab0(0x1a9)](_0x304ab0(0x187)),!![];try{const _0x4f283e=this['subscribedTopics']['map'](_0x4da5d5=>({'topic':_0x4da5d5}));return this['consumer'][_0x304ab0(0x1b9)](_0x4f283e),this['isPaused']=![],console['log'](_0x4cd655[_0x304ab0(0x170)]),!![];}catch(_0x28f69d){return console[_0x304ab0(0x14d)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x28f69d['message']),![];}}async['stop'](){const _0x457eeb=a0_0x4b16fc;if(!this['isConnected'])return console['log'](_0x457eeb(0x173)),!![];try{return this['consumer']&&(await this['consumer'][_0x457eeb(0x194)](),await this[_0x457eeb(0x1bd)]['disconnect']()),this[_0x457eeb(0x163)]=![],this['isRunning']=![],this['isPaused']=![],console['log'](_0x457eeb(0x154)),!![];}catch(_0x307fc7){return console[_0x457eeb(0x14d)](_0x457eeb(0x16c)+_0x307fc7[_0x457eeb(0x15a)]),![];}}async[a0_0x4b16fc(0x1a0)](_0x339b41,_0x1856ef,_0xe5090d){const _0x29a2e6=a0_0x4b16fc;if(!this[_0x29a2e6(0x163)])return console[_0x29a2e6(0x14d)](_0x29a2e6(0x1bf)),![];try{return this['consumer'][_0x29a2e6(0x17d)]({'topic':_0x339b41,'partition':_0x1856ef,'offset':_0xe5090d['toString']()}),console[_0x29a2e6(0x1a9)]('[KafkaConsumer]\x20Seeked\x20to\x20offset\x20'+_0xe5090d+_0x29a2e6(0x181)+_0x339b41+':'+_0x1856ef),!![];}catch(_0x3c5a3b){return console['error'](_0x29a2e6(0x161)+_0x3c5a3b['message']),![];}}[a0_0x4b16fc(0x179)](){const _0xb3cd41=a0_0x4b16fc,_0x1f47e8=this[_0xb3cd41(0x1ba)]();return{'enabled':_0x1f47e8[_0xb3cd41(0x193)],'connected':this[_0xb3cd41(0x163)],'running':this['isRunning'],'paused':this['isPaused'],'brokers':_0x1f47e8['brokers'],'clientId':_0x1f47e8[_0xb3cd41(0x1b5)],'groupId':this[_0xb3cd41(0x1b4)],'subscribedTopics':this[_0xb3cd41(0x1bb)]};}['getMetrics'](){const _0x40b079=a0_0x4b16fc,_0x5e708f={'nmWOz':function(_0x4918b9,_0x57ccaa){return _0x4918b9/_0x57ccaa;},'aUqmt':function(_0x44462f,_0x4b2c92){return _0x44462f-_0x4b2c92;},'uDQdt':function(_0x2ba1ca,_0x31f390){return _0x2ba1ca+_0x31f390;}},_0x5ddc42=this['metrics']['processingTimes'][_0x40b079(0x185)]>0x0?this[_0x40b079(0x16a)][_0x40b079(0x1a3)][_0x40b079(0x14b)]((_0x91cb58,_0x3695cb)=>_0x91cb58+_0x3695cb,0x0)/this[_0x40b079(0x16a)][_0x40b079(0x1a3)]['length']:0x0,_0x497094=this['metrics'][_0x40b079(0x1a3)]['length']>0x0?Math['min'](...this[_0x40b079(0x16a)]['processingTimes']):0x0,_0x181de8=this['metrics'][_0x40b079(0x1a3)]['length']>0x0?Math[_0x40b079(0x1c1)](...this[_0x40b079(0x16a)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x40b079(0x16a)][_0x40b079(0x1a4)],'messagesFailed':this['metrics']['messagesFailed'],'successRate':this[_0x40b079(0x16a)]['messagesReceived']>0x0?(_0x5e708f[_0x40b079(0x166)](this[_0x40b079(0x16a)][_0x40b079(0x1a4)],this[_0x40b079(0x16a)]['messagesReceived'])*0x64)['toFixed'](0x2)+'%':'0%','lastMessageTime':this['metrics']['lastMessageTime'],'startTime':this[_0x40b079(0x16a)][_0x40b079(0x1aa)],'uptime':this['metrics'][_0x40b079(0x1aa)]?Math['floor'](_0x5e708f[_0x40b079(0x191)](Date[_0x40b079(0x168)](),this[_0x40b079(0x16a)]['startTime'][_0x40b079(0x15d)]())/0x3e8)+'s':'0s','processingTime':{'avg':_0x5e708f[_0x40b079(0x165)](Math[_0x40b079(0x175)](_0x5ddc42),'ms'),'min':_0x497094+'ms','max':_0x181de8+'ms'}};}[a0_0x4b16fc(0x17e)](){const _0x4c13ca=a0_0x4b16fc;this[_0x4c13ca(0x16a)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this[_0x4c13ca(0x19f)]?new Date():null,'processingTimes':[]},console['log'](_0x4c13ca(0x1a7));}async['close'](){await this['stop']();}}function a0_0x3556(){const _0x375632=['s0fgs0fFqLjps0vsuW','w0THzMTHq29UC3vTzxjDienHBM5VDcbZzwvRic0GBM90ignVBM5Ly3rLza','s0r5tee','Bwf4','s0fgs0fFuKvuuLLFqvruru1qvfm','zw52','nZq0nJi0B2HfyLvP','mtK1nde3wuHKB01X','tw9wzwi','y29UC3vTzxiUC3rVCa','icHMCM9TqMvNAw5UAw5NoIa','Cgf5Bg9Hza','s0fgs0fFuKvuuLLFrevmqvK','A2v5','CMvKDwnL','AxnqyxvZzwq','zxjYB3i','y29UBMvJDgLVBLbYB21PC2u','D2fYBG','y29UBMvJDgLVBLrPBwvVDxq','Dg9tDhjPBMC','Cgf1C2u','vhfZt1q','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwqGyw5KigrPC2nVBM5Ly3rLza','ndb3BfPjyNu','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mZy2rNDftKvU','s0fgs0fFu0fttf9nruniqu5ju00','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCgf1C2vK','BwvZC2fNzq','ndiXmti5nK1orfr6Ba','Bg9JywXOB3n0oJKWoti','z2v0vgLTzq','ChvZAa','CMvZDgzVCMDLlq','Bg9Ntgv2zwW','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','DxvPza','AxndB25Uzwn0zwq','tLDXCgy','Durrzhq','BM1xt3O','zw50CMLLCW','BM93','ntaWma','Bwv0CMLJCW','AM9PBG','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','we1bEgu','AxnjBML0AwfSAxPPBMC','CfHfz2m','BuLJqMm','rvjst1i','mZaWmda','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','tuDVDvO','CM91BMq','BwvZC2fNzuHHBMrSzxi','s0fgs0fFuKvrvuvtvf9usu1ft1vu','C3rHCNrdB25ZDw1PBMC','z2v0u3rHDhvZ','mZaWma','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','Dg9mB3DLCKnHC2u','C2vLAW','CMvZzxrnzxrYAwnZ','DMfSDwu','y29UBMvJDa','ig9Uia','s0fgs0fFu0fttf9qqvntv09sra','B2zMC2v0','BKLXwwW','BgvUz3rO','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','AgvHzgvYCW','yxv0B0nVBw1PDa','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','yNjVA2vYCW','s0fgs0fFsevbuLrcrufux0LovevsvKfm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','C2vZC2LVBLrPBwvVDxq','C3vIC2nYAwjL','CMv0CNLezwXHEq','yvvXBxq','odi2odK3ne5lB0TSzG','zw5HyMXLza','C3rVCa','s0fgs0fFru5bqKXfra','zxHWB3j0CW','s0fgs0fFq0Xjru5ux0Le','s0fgs0fFqvvut19dt01nsvq','y2XVC2u','v0fstG','BgfZDe1LC3nHz2vuAw1L','revcvuC','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','mty5odqXogHTBKjZqW','AxnsDw5UAw5N','C2vLA1rVt2zMC2v0','mtyWmJaXnwvftgLWyW','AxLAAwS','ChjVy2vZC2LUz1rPBwvZ','BwvZC2fNzxnqCM9JzxnZzwq','y29UC3vTzxiUzgLZy29UBMvJDa','BwvZC2fNzxnszwnLAxzLza','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','BwvZC2fNzxngywLSzwq','Bg9N','C3rHCNruAw1L','C2HPzNq','w0THzMTHq29UC3vTzxjDifn1yNnJCMLIzwqGDg8GDg9WAwm6ia','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDwjZy3jPyMuGlsbUB3qGy29UBMvJDgvK','w0THzMTHq29UC3vTzxjDienVBNn1BwvYignVBM5Ly3rLzcb0BYbICM9RzxjZoIa','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','s0fgs0fFu0fttf9vu0vstKfnrq','su5gtW','m3W5FdH8n3WYFdb8mxW1FdeWFdz8na','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','z3jVDxbjza','y2XPzw50swq','Du5dqLC','Dhj1zq','mZyYmZvkvhLwDfG','CMvZDw1L','z2v0q29UzMLN','C3vIC2nYAwjLzfrVCgLJCW','C2v0DxbfDMvUDeHHBMrSzxjZ','y29UC3vTzxi'];a0_0x3556=function(){return _0x375632;};return a0_0x3556();}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x201473=a0_0x4b16fc;instance&&(instance[_0x201473(0x199)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module[a0_0x4b16fc(0x196)]={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
@@ -1 +1 @@
1
- const a0_0x35a424=a0_0x48b8;(function(_0x253898,_0x2ad06c){const _0x17667f=a0_0x48b8,_0x330323=_0x253898();while(!![]){try{const _0x39ea4c=parseInt(_0x17667f(0xa7))/0x1+parseInt(_0x17667f(0xdb))/0x2+parseInt(_0x17667f(0xdf))/0x3*(parseInt(_0x17667f(0x96))/0x4)+-parseInt(_0x17667f(0x95))/0x5+-parseInt(_0x17667f(0x87))/0x6*(parseInt(_0x17667f(0xa9))/0x7)+-parseInt(_0x17667f(0x9b))/0x8+parseInt(_0x17667f(0xa6))/0x9;if(_0x39ea4c===_0x2ad06c)break;else _0x330323['push'](_0x330323['shift']());}catch(_0x130fc8){_0x330323['push'](_0x330323['shift']());}}}(a0_0x15fc,0xd76da));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');function a0_0x48b8(_0x2e73aa,_0x52fdbc){_0x2e73aa=_0x2e73aa-0x85;const _0x15fcb1=a0_0x15fc();let _0x48b83d=_0x15fcb1[_0x2e73aa];if(a0_0x48b8['ertqKF']===undefined){var _0x3eed4b=function(_0x40a054){const _0xa9cc02='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f6d8d='',_0x586fa5='';for(let _0x1c7c10=0x0,_0x214155,_0x45b3c1,_0x583e3c=0x0;_0x45b3c1=_0x40a054['charAt'](_0x583e3c++);~_0x45b3c1&&(_0x214155=_0x1c7c10%0x4?_0x214155*0x40+_0x45b3c1:_0x45b3c1,_0x1c7c10++%0x4)?_0x1f6d8d+=String['fromCharCode'](0xff&_0x214155>>(-0x2*_0x1c7c10&0x6)):0x0){_0x45b3c1=_0xa9cc02['indexOf'](_0x45b3c1);}for(let _0x3c4a3b=0x0,_0x119198=_0x1f6d8d['length'];_0x3c4a3b<_0x119198;_0x3c4a3b++){_0x586fa5+='%'+('00'+_0x1f6d8d['charCodeAt'](_0x3c4a3b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x586fa5);};a0_0x48b8['YtcMhh']=_0x3eed4b,a0_0x48b8['qJNKYE']={},a0_0x48b8['ertqKF']=!![];}const _0x46ca94=_0x15fcb1[0x0],_0x4eea16=_0x2e73aa+_0x46ca94,_0x134d63=a0_0x48b8['qJNKYE'][_0x4eea16];return!_0x134d63?(_0x48b83d=a0_0x48b8['YtcMhh'](_0x48b83d),a0_0x48b8['qJNKYE'][_0x4eea16]=_0x48b83d):_0x48b83d=_0x134d63,_0x48b83d;}class KafkaService{constructor(){const _0x4582ec=a0_0x48b8,_0x4f10f6='4|3|1|2|0'[_0x4582ec(0x98)]('|');let _0x4c06a7=0x0;while(!![]){switch(_0x4f10f6[_0x4c06a7++]){case'0':this['connectionPromise']=null;continue;case'1':this['isConnected']=![];continue;case'2':this['isInitializing']=![];continue;case'3':this[_0x4582ec(0xc4)]=null;continue;case'4':this['kafka']=null;continue;}break;}}[a0_0x35a424(0x90)](){const _0x2ff794=a0_0x35a424,_0x32dd44={'DAZla':function(_0x24547e,_0x387673){return _0x24547e===_0x387673;},'IqIHU':_0x2ff794(0xd2),'ouDkt':_0x2ff794(0xad),'eyXEQ':'25000','YJdlg':'{module}.{endpoint}.events','lyyAm':'default','wBVrY':function(_0x29be29,_0x582cef){return _0x29be29(_0x582cef);},'bTdpe':'warn'};return{'enabled':_0x32dd44['DAZla'](process[_0x2ff794(0xd1)]['KAFKA_ENABLED'],'true'),'brokers':(process['env']['KAFKA_BROKERS']||_0x32dd44['IqIHU'])['split'](','),'clientId':process[_0x2ff794(0xd1)][_0x2ff794(0xa1)]||'restforge-'+(process['env']['RESTFORGE_PROJECT_NAME']||_0x2ff794(0xbf))+'-producer','connectionTimeout':parseInt(process[_0x2ff794(0xd1)]['KAFKA_CONNECTION_TIMEOUT']||_0x32dd44['ouDkt']),'requestTimeout':parseInt(process[_0x2ff794(0xd1)][_0x2ff794(0x97)]||_0x32dd44['eyXEQ']),'topicPattern':process[_0x2ff794(0xd1)][_0x2ff794(0xa5)]||_0x32dd44['YJdlg'],'tenantId':process[_0x2ff794(0xd1)]['KAFKA_TENANT_ID']||_0x32dd44[_0x2ff794(0xc2)],'retryAttempts':parseInt(process[_0x2ff794(0xd1)][_0x2ff794(0x8e)]||'3'),'retryDelay':_0x32dd44['wBVrY'](parseInt,process[_0x2ff794(0xd1)]['KAFKA_RETRY_DELAY']||'1000'),'logLevel':process[_0x2ff794(0xd1)]['KAFKA_LOG_LEVEL']||_0x32dd44[_0x2ff794(0x94)]};}['getLogLevel'](_0x2ebe91){const _0x1fe6f4=a0_0x35a424,_0x4d1392={'nothing':logLevel['NOTHING'],'error':logLevel[_0x1fe6f4(0xcd)],'warn':logLevel[_0x1fe6f4(0xce)],'info':logLevel[_0x1fe6f4(0xc9)],'debug':logLevel[_0x1fe6f4(0xa2)]};return _0x4d1392[_0x2ebe91[_0x1fe6f4(0x9e)]()]||logLevel[_0x1fe6f4(0xce)];}async[a0_0x35a424(0xb9)](){const _0x2be2cf=a0_0x35a424,_0x1886bc={'eJXNJ':_0x2be2cf(0xc8),'DxWMa':function(_0x5b8028,_0x1b3eac){return _0x5b8028===_0x1b3eac;},'vMrpf':_0x2be2cf(0xa0),'gOukB':function(_0x484077,_0x1cdd65){return _0x484077(_0x1cdd65);},'DONAP':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x289078=this[_0x2be2cf(0x90)]();if(!_0x289078['enabled'])return console[_0x2be2cf(0xe1)](_0x1886bc[_0x2be2cf(0xb4)]),![];if(this[_0x2be2cf(0xe0)])return!![];if(this['isInitializing']&&this[_0x2be2cf(0x8a)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x51b63c=>{const _0x2943cf=_0x2be2cf;try{let _0x18a204=undefined;_0x1886bc[_0x2943cf(0xc3)](process['env'][_0x2943cf(0xc6)],_0x1886bc['vMrpf'])&&(_0x18a204=!![]);let _0x5dabf4=undefined;process[_0x2943cf(0xd1)]['KAFKA_SASL_MECHANISM']&&(_0x5dabf4={'mechanism':process['env'][_0x2943cf(0x9c)],'username':process[_0x2943cf(0xd1)]['KAFKA_SASL_USERNAME']||'','password':process[_0x2943cf(0xd1)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x289078[_0x2943cf(0xbc)],'brokers':_0x289078[_0x2943cf(0x89)],'connectionTimeout':_0x289078[_0x2943cf(0xaa)],'requestTimeout':_0x289078['requestTimeout'],'logLevel':this[_0x2943cf(0xc7)](_0x289078['logLevel']),'ssl':_0x18a204,'sasl':_0x5dabf4,'retry':{'initialRetryTime':_0x289078['retryDelay'],'retries':_0x289078['retryAttempts']}}),this[_0x2943cf(0xc4)]=this[_0x2943cf(0xb2)][_0x2943cf(0xc4)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x2943cf(0xc4)][_0x2943cf(0x8f)](),this[_0x2943cf(0xe0)]=!![],console[_0x2943cf(0xe1)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x289078[_0x2943cf(0x89)][_0x2943cf(0xda)](',\x20')),this[_0x2943cf(0xc4)]['on'](_0x2943cf(0xcc),()=>{const _0x51e9ab=_0x2943cf;console['log'](_0x1886bc['eJXNJ']),this[_0x51e9ab(0xe0)]=![];}),_0x1886bc['gOukB'](_0x51b63c,!![]);}catch(_0x488366){console['error'](_0x2943cf(0xac)+_0x488366[_0x2943cf(0xd9)]),this[_0x2943cf(0xe0)]=![],_0x51b63c(![]);}finally{this['isInitializing']=![];}}),this['connectionPromise'];}[a0_0x35a424(0xbe)](_0x2eb5aa){const _0x3f095a=a0_0x35a424,_0x5dc12b={'YWGNI':function(_0x21c88c,_0x57158e){return _0x21c88c(_0x57158e);}},_0x5906b2=_0x2eb5aa||new Date(),_0x395acc=_0x5906b2[_0x3f095a(0xcb)](),_0x4996d5=String(_0x5906b2[_0x3f095a(0x8d)]()+0x1)[_0x3f095a(0x93)](0x2,'0'),_0x4e5513=_0x5dc12b[_0x3f095a(0x88)](String,_0x5906b2[_0x3f095a(0xb6)]())['padStart'](0x2,'0'),_0x4e758b=String(_0x5906b2[_0x3f095a(0xca)]())[_0x3f095a(0x93)](0x2,'0'),_0x43e8d9=_0x5dc12b[_0x3f095a(0x88)](String,_0x5906b2[_0x3f095a(0x8c)]())[_0x3f095a(0x93)](0x2,'0'),_0x427264=String(_0x5906b2['getSeconds']())[_0x3f095a(0x93)](0x2,'0');return _0x395acc+'-'+_0x4996d5+'-'+_0x4e5513+'\x20'+_0x4e758b+':'+_0x43e8d9+':'+_0x427264;}[a0_0x35a424(0xd6)](_0xd8b127,_0x400553,_0x759c5d,_0x4316b1=null){const _0x4549f4=a0_0x35a424,_0x50da18={'MMnVc':_0x4549f4(0xd5),'gzhXU':_0x4549f4(0xd8),'YsUot':'{action}'};if(_0x4316b1)return _0x4316b1;const _0x3d1f46=this[_0x4549f4(0x90)]()['topicPattern'];return _0x3d1f46[_0x4549f4(0xd7)](_0x50da18[_0x4549f4(0x92)],_0xd8b127)['replace'](_0x50da18['gzhXU'],_0x400553)['replace'](_0x50da18['YsUot'],_0x759c5d);}['buildEventMessage'](_0x3caa0d,_0x3ecf49,_0x518769,_0x4a2ac2={}){const _0x344012=a0_0x35a424,_0x43e452={'aEKQV':function(_0x54380b){return _0x54380b();},'qFBhK':'1.0','nSHwV':_0x344012(0xcf),'DkKCN':'unknown'},_0x4b4ad7=new Date(),_0x6c3192=this[_0x344012(0xbe)](_0x4b4ad7),_0x16f731=_0x4a2ac2['correlationId']||'corr-'+_0x43e452[_0x344012(0xc5)](uuidv7);return{'eventId':_0x344012(0xdc)+uuidv7(),'eventType':_0x3caa0d,'eventTime':_0x6c3192,'eventVersion':_0x43e452['qFBhK'],'source':_0x344012(0xa3)+(_0x4a2ac2['module']||_0x344012(0xd3)),'correlationId':_0x16f731,'newData':_0x518769,'oldData':_0x3ecf49,'metadata':{'createdBy':_0x4a2ac2[_0x344012(0xb5)]||_0x43e452[_0x344012(0xb0)],'createdAt':_0x6c3192,'systemId':_0x344012(0xbd)+(_0x4a2ac2['module']||_0x43e452[_0x344012(0x91)])[_0x344012(0xb3)](),'tenantId':this[_0x344012(0x90)]()[_0x344012(0x9f)],'endpoint':_0x4a2ac2[_0x344012(0x9d)]||null,'tableName':_0x4a2ac2['tableName']||null}};}async[a0_0x35a424(0xc0)](_0xebc7fb,_0x2f4c27,_0x12c3f5,_0x227bd7,_0x25cdca={}){const _0x26b09b=a0_0x35a424,_0x54cbb7={'Qtted':function(_0x365340){return _0x365340();}},_0x5e2cd8=this[_0x26b09b(0x90)]();if(!_0x5e2cd8['enabled'])return{'success':![],'reason':_0x26b09b(0xd0),'published':![]};if(!this[_0x26b09b(0xe0)]){const _0x11be78=await this['initialize']();if(!_0x11be78)return{'success':![],'reason':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','published':![]};}try{const _0x2d0fb3=this['buildEventMessage'](_0x2f4c27,_0x12c3f5,_0x227bd7,_0x25cdca),_0x9d7bce=_0x25cdca[_0x26b09b(0xab)]||'id',_0x508f07=_0x227bd7?.[_0x9d7bce]||_0x12c3f5?.[_0x9d7bce]||_0x54cbb7['Qtted'](uuidv7),_0x17bcf8=await this[_0x26b09b(0xc4)][_0x26b09b(0xdd)]({'topic':_0xebc7fb,'messages':[{'key':String(_0x508f07),'value':JSON['stringify'](_0x2d0fb3),'headers':{'event-type':_0x2f4c27,'correlation-id':_0x2d0fb3['correlationId'],'source':_0x2d0fb3[_0x26b09b(0xa8)]}}]});return console[_0x26b09b(0xe1)]('[Kafka]\x20Event\x20published\x20to\x20'+_0xebc7fb+':\x20'+_0x2f4c27+'\x20(key:\x20'+_0x508f07+')'),{'success':!![],'correlationId':_0x2d0fb3['correlationId'],'topic':_0xebc7fb,'partition':_0x17bcf8[0x0]?.[_0x26b09b(0xa4)],'offset':_0x17bcf8[0x0]?.['baseOffset'],'published':!![]};}catch(_0x1569b4){return console[_0x26b09b(0xbb)](_0x26b09b(0xd4)+_0xebc7fb+':\x20'+_0x1569b4[_0x26b09b(0xd9)]),{'success':![],'error':_0x1569b4['message'],'published':![]};}}async[a0_0x35a424(0xb8)](_0x3ead54,_0x18d0ef,_0x2db4fd,_0x28032={}){const _0x2f4b7c=a0_0x35a424,_0x4b6702={'RCVro':'ENTITY_CREATED'},_0x1c0fa2=this[_0x2f4b7c(0xd6)](_0x3ead54,_0x18d0ef,_0x2f4b7c(0xba),_0x28032['topic']);return this['publishEvent'](_0x1c0fa2,_0x4b6702['RCVro'],null,_0x2db4fd,{'module':_0x3ead54,'endpoint':_0x18d0ef,'keyField':_0x28032['keyField'],'tableName':_0x28032[_0x2f4b7c(0xaf)],'correlationId':_0x28032['correlationId']});}async[a0_0x35a424(0xb1)](_0x2b3609,_0x3cfcc4,_0x263d67,_0x30d86c,_0x7cd3c1={}){const _0x31be3a=a0_0x35a424,_0x14b516={'QKAaG':'updated'},_0x4723a=this['buildTopicName'](_0x2b3609,_0x3cfcc4,_0x14b516['QKAaG'],_0x7cd3c1[_0x31be3a(0x8b)]);return this['publishEvent'](_0x4723a,'ENTITY_UPDATED',_0x263d67,_0x30d86c,{'module':_0x2b3609,'endpoint':_0x3cfcc4,'keyField':_0x7cd3c1[_0x31be3a(0xab)],'tableName':_0x7cd3c1['tableName'],'correlationId':_0x7cd3c1[_0x31be3a(0xe2)]});}async['publishDelete'](_0xa5e04c,_0x53807f,_0x338ad7,_0x1e4bd6={}){const _0x21a78d=a0_0x35a424,_0x5c1403={'irCQo':'ENTITY_DELETED'},_0x1875bc=this['buildTopicName'](_0xa5e04c,_0x53807f,_0x21a78d(0x86),_0x1e4bd6[_0x21a78d(0x8b)]);return this['publishEvent'](_0x1875bc,_0x5c1403[_0x21a78d(0xc1)],_0x338ad7,null,{'module':_0xa5e04c,'endpoint':_0x53807f,'keyField':_0x1e4bd6['keyField'],'tableName':_0x1e4bd6[_0x21a78d(0xaf)],'correlationId':_0x1e4bd6[_0x21a78d(0xe2)]});}['getStatus'](){const _0x55a38e=a0_0x35a424,_0x428801=this['getConfig']();return{'enabled':_0x428801[_0x55a38e(0x9a)],'connected':this['isConnected'],'brokers':_0x428801['brokers'],'clientId':_0x428801[_0x55a38e(0xbc)],'topicPattern':_0x428801[_0x55a38e(0xb7)]};}async[a0_0x35a424(0xae)](){const _0x49022c=a0_0x35a424;if(this['producer']&&this[_0x49022c(0xe0)])try{await this[_0x49022c(0xc4)][_0x49022c(0xde)](),this[_0x49022c(0xe0)]=![],console['log'](_0x49022c(0x99));}catch(_0x4bfdf1){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x4bfdf1['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function a0_0x15fc(){const _0x329859=['CMvZDgzVCMDLlq','CgfYDgL0Aw9U','s0fgs0fFve9qsunFuefuvevstG','mtKZmZy2ohvmEfzmAa','mta3nZe2nNnwD2PNBa','C291CMnL','ndLnr2HHwKS','y29UBMvJDgLVBLrPBwvVDxq','A2v5rMLLBgq','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','mZaWma','y2XVC2u','DgfIBgvoyw1L','BLniD1y','ChvIBgLZAfvWzgf0zq','A2fMA2e','Dg9vChbLCKnHC2u','re9oqva','y3jLyxrLzej5','z2v0rgf0zq','Dg9WAwnqyxr0zxjU','ChvIBgLZAeLUC2vYDa','Aw5PDgLHBgL6zq','y3jLyxrLza','zxjYB3i','y2XPzw50swq','uKvtvezpuKDflq','zM9YBwf0rgf0zvrPBwu','zgvMyxvSDa','ChvIBgLZAev2zw50','Axjduw8','BhL5qw0','rhHxtwe','ChjVzhvJzxi','yuvluvy','s0fgs0fFu1nm','z2v0tg9Ntgv2zwW','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','su5gtW','z2v0sg91CNm','z2v0rNvSBfLLyxi','ChjVzhvJzxiUzgLZy29UBMvJDa','rvjst1i','v0fstG','u1Ltvevn','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','zw52','Bg9JywXOB3n0oJKWoti','Dw5RBM93BG','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','E21VzhvSzx0','yNvPBgruB3bPy05HBwu','CMvWBgfJzq','E2vUzhbVAw50Fq','BwvZC2fNzq','AM9PBG','mta5nZmXnK1kA1zLBq','zxz0lq','C2vUza','zgLZy29UBMvJDa','nKrZuNvLzW','AxndB25Uzwn0zwq','Bg9N','y29YCMvSyxrPB25jza','zxHWB3j0CW','zgvSzxrLza','nZC1nJuWA0Hqzw5d','wvDhtKK','yNjVA2vYCW','y29UBMvJDgLVBLbYB21PC2u','Dg9WAwm','z2v0twLUDxrLCW','z2v0tw9UDgG','s0fgs0fFuKvuuLLFqvruru1qvfm','y29UBMvJDa','z2v0q29UzMLN','rgTlq04','tu1UvMm','CgfKu3rHCNq','yLrKCgu','ntyYotK0mhD2qwHHtq','mZm3nJm3mLLoruLhrG','s0fgs0fFuKvrvuvtvf9usu1ft1vu','C3bSAxq','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','zw5HyMXLza','ndKYndq0mevbr3jzyW','s0fgs0fFu0fttf9nruniqu5ju00','zw5KCg9PBNq','Dg9mB3DLCKnHC2u','DgvUyw50swq','Dhj1zq','s0fgs0fFq0Xjru5ux0Le','revcvuC'];a0_0x15fc=function(){return _0x329859;};return a0_0x15fc();}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x35a424(0x85)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
1
+ const a0_0x5de4b0=a0_0x1704;(function(_0xd853bb,_0x2b67cd){const _0x2b81d4=a0_0x1704,_0x2136b4=_0xd853bb();while(!![]){try{const _0x47e208=parseInt(_0x2b81d4(0xfd))/0x1+parseInt(_0x2b81d4(0x13f))/0x2+-parseInt(_0x2b81d4(0x131))/0x3*(-parseInt(_0x2b81d4(0x12c))/0x4)+-parseInt(_0x2b81d4(0x13b))/0x5*(parseInt(_0x2b81d4(0x10d))/0x6)+parseInt(_0x2b81d4(0x11b))/0x7*(parseInt(_0x2b81d4(0x126))/0x8)+parseInt(_0x2b81d4(0x120))/0x9*(-parseInt(_0x2b81d4(0x138))/0xa)+-parseInt(_0x2b81d4(0x104))/0xb;if(_0x47e208===_0x2b67cd)break;else _0x2136b4['push'](_0x2136b4['shift']());}catch(_0x408f14){_0x2136b4['push'](_0x2136b4['shift']());}}}(a0_0x3ea1,0xe7507));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0x5de4b0(0x102));function a0_0x3ea1(){const _0xd8dbb4=['w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','s0fgs0fFuKvuuLLFrevmqvK','nZbqwKDqBxG','uKvtvezpuKDflq','CMvXDwvZDfrPBwvVDxq','zw52','Dg9WAwm','mJKYnJG5uffer3Hz','ru5usvrzx0rftevuruq','zgvMyxvSDa','Ew5xuha','A2v5rMLLBgq','Dg9vChbLCKnHC2u','nZa0mtq0BM5MtxLq','tK9useLorW','A2fMA2e','z2v0rgf0zq','s0fgs0fFvevoqu5ux0Le','zgvSzxrLza','mti4mZzJAMn2yKi','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','z2v0tg9Ntgv2zwW','y29UBMvJDgLVBLrPBwvVDxq','ms4W','ndCXBuDAuezf','DgfIBgvoyw1L','CMvZDgzVCMDLlq','w0THzMTHxsbqCM9KDwnLCIbJB25Uzwn0zwqGDg8GyNjVA2vYCZOG','AxndB25Uzwn0zwq','u1Ltvevn','r3DHD1y','mtbczMDeEMS','s0fgs0fFqLjps0vsuW','AuPmB1y','nZG5mJa4nujusfzAsW','AxnjBML0AwfSAxPPBMC','z2v0sg91CNm','tNzYzvy','mJa4odK3ogLwD09PtG','Bg9JywXOB3n0oJKWoti','s0fgs0fFuKvuuLLFqvruru1qvfm','BwvZC2fNzq','s0fgs0fFu0fttf9qqvntv09sra','mJuWmda','mZaWma','yNjVA2vYCW','Bw9KDwXL','ru5usvrzx0nsrufuruq','z2v0q29UzMLN','CMvWBgfJzq','shHbzg0','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','ru5usvrzx1vqrefuruq','Bg9Ntgv2zwW','zxHWB3j0CW','y29YCMvSyxrPB25jza','ChvIBgLZAerLBgv0zq','yNvPBgruB3bPy05HBwu','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','C3rYAw5NAwz5','ChvIBgLZAfvWzgf0zq','z2v0twLUDxrLCW','sNH5t3C','Bg9N','CMv0CNLezwXHEq','s0fgs0fFq09otKvdveLptL9usu1ft1vu','mtmWodG4ohf0tK9WEq','y29UBMvJDgLVBLbYB21PC2u','E2vUzhbVAw50Fq','C2vUza','zxjYB3i','DxvPza','Dg9WAwnqyxr0zxjU','mti5nJG2ntLXtfjuEfq','zw5HyMXLza','z2v0u2vJB25KCW','wKjnqK0','ChjVzhvJzxi','rMfPBgvKihrVignVBM5Ly3qGDg8Gs2fMA2eGyNjVA2vY','C3bSAxq','y2XPzw50swq','zgLZy29UBMvJDa','nLn4zu56Ea','EMnyvKy','v0fstG','yMfZzu9MzNnLDa','s0fgs0fFve9qsunFuefuvevstG','y2XVC2u','DxbKyxrLza','ChvIBgLZAev2zw50','CgfKu3rHCNq','s0fgs0fFq0Xjru5ux0Le','tMf4y1i','Bxjzrvq'];a0_0x3ea1=function(){return _0xd8dbb4;};return a0_0x3ea1();}class KafkaService{constructor(){const _0x35f8ef=a0_0x5de4b0,_0x243f66='0|2|3|1|4'[_0x35f8ef(0x10a)]('|');let _0x2562f0=0x0;while(!![]){switch(_0x243f66[_0x2562f0++]){case'0':this['kafka']=null;continue;case'1':this[_0x35f8ef(0x13c)]=![];continue;case'2':this[_0x35f8ef(0x108)]=null;continue;case'3':this['isConnected']=![];continue;case'4':this[_0x35f8ef(0xfe)]=null;continue;}break;}}['getConfig'](){const _0x3a80c0=a0_0x5de4b0,_0x80be87={'KETEv':function(_0x4347bf,_0x57991d){return _0x4347bf===_0x57991d;},'gEzSf':'true','uyttx':_0x3a80c0(0x122),'ZBMBM':function(_0x5db282,_0x57e32d){return _0x5db282(_0x57e32d);},'mrYET':'{module}.{endpoint}.events'};return{'enabled':_0x80be87['KETEv'](process[_0x3a80c0(0x11e)]['KAFKA_ENABLED'],_0x80be87['gEzSf']),'brokers':(process['env'][_0x3a80c0(0x139)]||_0x3a80c0(0x140))[_0x3a80c0(0x10a)](','),'clientId':process['env'][_0x3a80c0(0x116)]||'restforge-'+(process[_0x3a80c0(0x11e)][_0x3a80c0(0xf5)]||_0x80be87['uyttx'])+'-producer','connectionTimeout':_0x80be87[_0x3a80c0(0x107)](parseInt,process['env'][_0x3a80c0(0xfc)]||_0x3a80c0(0x145)),'requestTimeout':parseInt(process[_0x3a80c0(0x11e)]['KAFKA_REQUEST_TIMEOUT']||_0x3a80c0(0x144)),'topicPattern':process[_0x3a80c0(0x11e)][_0x3a80c0(0x111)]||_0x80be87[_0x3a80c0(0x118)],'tenantId':process['env'][_0x3a80c0(0x12a)]||'default','retryAttempts':_0x80be87['ZBMBM'](parseInt,process['env'][_0x3a80c0(0x141)]||'3'),'retryDelay':_0x80be87['ZBMBM'](parseInt,process[_0x3a80c0(0x11e)][_0x3a80c0(0x11a)]||'1000'),'logLevel':process[_0x3a80c0(0x11e)]['KAFKA_LOG_LEVEL']||'warn'};}[a0_0x5de4b0(0x12e)](_0x7cc6ba){const _0x5797d9=a0_0x5de4b0,_0x278233={'nothing':logLevel[_0x5797d9(0x127)],'error':logLevel['ERROR'],'warn':logLevel[_0x5797d9(0x10f)],'info':logLevel['INFO'],'debug':logLevel['DEBUG']};return _0x278233[_0x7cc6ba['toLowerCase']()]||logLevel[_0x5797d9(0x10f)];}async['initialize'](){const _0x9d829f=a0_0x5de4b0,_0x166ea2={'hRiuH':'[Kafka]\x20Producer\x20disconnected','JxyOw':function(_0x4a7e32,_0x516aab){return _0x4a7e32===_0x516aab;},'PjQSb':'true','CYkuI':'producer.disconnect','GwawV':'[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'},_0x3710ab=this['getConfig']();if(!_0x3710ab['enabled'])return console['log'](_0x166ea2[_0x9d829f(0x137)]),![];if(this['isConnected'])return!![];if(this[_0x9d829f(0x13c)]&&this[_0x9d829f(0xfe)])return this[_0x9d829f(0xfe)];return this['isInitializing']=!![],this[_0x9d829f(0xfe)]=new Promise(async _0xb4b41a=>{const _0x1020e9=_0x9d829f,_0x1c0434={'NaxcR':_0x166ea2['hRiuH']};try{let _0x44dbc4=undefined;_0x166ea2[_0x1020e9(0xf9)](process[_0x1020e9(0x11e)]['KAFKA_SSL'],_0x166ea2['PjQSb'])&&(_0x44dbc4=!![]);let _0x2ec31c=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x2ec31c={'mechanism':process[_0x1020e9(0x11e)]['KAFKA_SASL_MECHANISM'],'username':process[_0x1020e9(0x11e)]['KAFKA_SASL_USERNAME']||'','password':process[_0x1020e9(0x11e)][_0x1020e9(0x143)]||''}),this['kafka']=new Kafka({'clientId':_0x3710ab[_0x1020e9(0x10b)],'brokers':_0x3710ab['brokers'],'connectionTimeout':_0x3710ab[_0x1020e9(0x12f)],'requestTimeout':_0x3710ab[_0x1020e9(0x11d)],'logLevel':this['getLogLevel'](_0x3710ab[_0x1020e9(0xf0)]),'ssl':_0x44dbc4,'sasl':_0x2ec31c,'retry':{'initialRetryTime':_0x3710ab[_0x1020e9(0xfb)],'retries':_0x3710ab['retryAttempts']}}),this[_0x1020e9(0x108)]=this[_0x1020e9(0x128)]['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this[_0x1020e9(0x108)]['connect'](),this['isConnected']=!![],console['log'](_0x1020e9(0x134)+_0x3710ab[_0x1020e9(0x146)]['join'](',\x20')),this['producer']['on'](_0x166ea2['CYkuI'],()=>{const _0x296f63=_0x1020e9;console[_0x296f63(0xfa)](_0x1c0434[_0x296f63(0x117)]),this[_0x296f63(0x135)]=![];}),_0xb4b41a(!![]);}catch(_0x2d9f0f){console[_0x1020e9(0x101)](_0x1020e9(0xee)+_0x2d9f0f[_0x1020e9(0x142)]),this['isConnected']=![],_0xb4b41a(![]);}finally{this['isInitializing']=![];}}),this[_0x9d829f(0xfe)];}['formatDateTime'](_0x4024a2){const _0x271956=a0_0x5de4b0,_0x16963a={'Mrfya':function(_0x2fb8da,_0x5d676e){return _0x2fb8da(_0x5d676e);}},_0x24cd82=_0x4024a2||new Date(),_0x479fc4=_0x24cd82['getFullYear'](),_0x41dfe7=_0x16963a['Mrfya'](String,_0x24cd82['getMonth']()+0x1)['padStart'](0x2,'0'),_0x35ed8f=_0x16963a['Mrfya'](String,_0x24cd82[_0x271956(0x129)]())[_0x271956(0x115)](0x2,'0'),_0x14dc38=String(_0x24cd82[_0x271956(0x13d)]())['padStart'](0x2,'0'),_0x32628a=String(_0x24cd82[_0x271956(0xf8)]())['padStart'](0x2,'0'),_0x3fef9f=String(_0x24cd82[_0x271956(0x106)]())[_0x271956(0x115)](0x2,'0');return _0x479fc4+'-'+_0x41dfe7+'-'+_0x35ed8f+'\x20'+_0x14dc38+':'+_0x32628a+':'+_0x3fef9f;}['buildTopicName'](_0x549097,_0x1975d4,_0x114b82,_0x48cbbb=null){const _0x136d81=a0_0x5de4b0;if(_0x48cbbb)return _0x48cbbb;const _0xa42b09=this[_0x136d81(0xeb)]()[_0x136d81(0x103)];return _0xa42b09[_0x136d81(0xec)]('{module}',_0x549097)[_0x136d81(0xec)](_0x136d81(0xff),_0x1975d4)[_0x136d81(0xec)]('{action}',_0x114b82);}['buildEventMessage'](_0x122ffa,_0x2eff3d,_0xa74d19,_0x1c686c={}){const _0x50e84f=a0_0x5de4b0,_0x31858d={'iKFdp':function(_0x581bee){return _0x581bee();},'ynWPp':'unknown'},_0x1f1c18=new Date(),_0x2d69e7=this['formatDateTime'](_0x1f1c18),_0x4d842b=_0x1c686c[_0x50e84f(0xf2)]||'corr-'+uuidv7();return{'eventId':'evt-'+_0x31858d['iKFdp'](uuidv7),'eventType':_0x122ffa,'eventTime':_0x2d69e7,'eventVersion':_0x50e84f(0x130),'source':_0x50e84f(0x133)+(_0x1c686c[_0x50e84f(0x147)]||_0x31858d['ynWPp']),'correlationId':_0x4d842b,'newData':_0xa74d19,'oldData':_0x2eff3d,'metadata':{'createdBy':_0x1c686c['createdBy']||_0x50e84f(0x136),'createdAt':_0x2d69e7,'systemId':_0x50e84f(0x11c)+(_0x1c686c['module']||_0x31858d[_0x50e84f(0x123)])[_0x50e84f(0x125)](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x1c686c['endpoint']||null,'tableName':_0x1c686c[_0x50e84f(0x132)]||null}};}async[a0_0x5de4b0(0x114)](_0x108f9a,_0x430485,_0x28b296,_0x106788,_0x5c9836={}){const _0x2c6da0=a0_0x5de4b0,_0x50cb62={'gkduc':'Kafka\x20producer\x20is\x20disabled','OpPGg':_0x2c6da0(0x109),'iJLoV':function(_0x2c418c){return _0x2c418c();},'HxAdm':function(_0x37cc54,_0xd7f15c){return _0x37cc54(_0xd7f15c);}},_0x2c8218=this[_0x2c6da0(0xeb)]();if(!_0x2c8218[_0x2c6da0(0x105)])return{'success':![],'reason':_0x50cb62['gkduc'],'published':![]};if(!this['isConnected']){const _0x3e99e3=await this['initialize']();if(!_0x3e99e3)return{'success':![],'reason':_0x50cb62['OpPGg'],'published':![]};}try{const _0x53f950=this['buildEventMessage'](_0x430485,_0x28b296,_0x106788,_0x5c9836),_0x2a08cb=_0x5c9836['keyField']||'id',_0x308034=_0x106788?.[_0x2a08cb]||_0x28b296?.[_0x2a08cb]||_0x50cb62[_0x2c6da0(0x13a)](uuidv7),_0x3dcf1f=await this['producer'][_0x2c6da0(0x100)]({'topic':_0x108f9a,'messages':[{'key':_0x50cb62[_0x2c6da0(0xed)](String,_0x308034),'value':JSON[_0x2c6da0(0xf6)](_0x53f950),'headers':{'event-type':_0x430485,'correlation-id':_0x53f950['correlationId'],'source':_0x53f950['source']}}]});return console[_0x2c6da0(0xfa)](_0x2c6da0(0x12d)+_0x108f9a+':\x20'+_0x430485+'\x20(key:\x20'+_0x308034+')'),{'success':!![],'correlationId':_0x53f950['correlationId'],'topic':_0x108f9a,'partition':_0x3dcf1f[0x0]?.['partition'],'offset':_0x3dcf1f[0x0]?.[_0x2c6da0(0x110)],'published':!![]};}catch(_0x16ba93){return console[_0x2c6da0(0x101)]('[Kafka]\x20Publish\x20error\x20to\x20'+_0x108f9a+':\x20'+_0x16ba93[_0x2c6da0(0x142)]),{'success':![],'error':_0x16ba93['message'],'published':![]};}}async['publishInsert'](_0x40cfb9,_0x2e2694,_0x347698,_0x375b2c={}){const _0x1b9d97=a0_0x5de4b0,_0x3b7628={'zcXVF':'created','ZYCKa':_0x1b9d97(0xea)},_0x2c2057=this[_0x1b9d97(0xf4)](_0x40cfb9,_0x2e2694,_0x3b7628[_0x1b9d97(0x10e)],_0x375b2c[_0x1b9d97(0x11f)]);return this[_0x1b9d97(0x114)](_0x2c2057,_0x3b7628['ZYCKa'],null,_0x347698,{'module':_0x40cfb9,'endpoint':_0x2e2694,'keyField':_0x375b2c[_0x1b9d97(0x124)],'tableName':_0x375b2c[_0x1b9d97(0x132)],'correlationId':_0x375b2c[_0x1b9d97(0xf2)]});}async[a0_0x5de4b0(0xf7)](_0x8b1f41,_0x1dcc63,_0x5aae96,_0x5b13c7,_0xd3aa70={}){const _0x22a2a6=a0_0x5de4b0,_0x23fc0a={'NvreV':_0x22a2a6(0x113)},_0xfc2707=this[_0x22a2a6(0xf4)](_0x8b1f41,_0x1dcc63,_0x23fc0a[_0x22a2a6(0x13e)],_0xd3aa70[_0x22a2a6(0x11f)]);return this['publishEvent'](_0xfc2707,_0x22a2a6(0xef),_0x5aae96,_0x5b13c7,{'module':_0x8b1f41,'endpoint':_0x1dcc63,'keyField':_0xd3aa70['keyField'],'tableName':_0xd3aa70['tableName'],'correlationId':_0xd3aa70['correlationId']});}async[a0_0x5de4b0(0xf3)](_0x23d003,_0x3120f1,_0x5c7f7e,_0x4e3c32={}){const _0x2ba32d=a0_0x5de4b0,_0xa8cf6c={'HJlVO':_0x2ba32d(0x12b)},_0x38d252=this['buildTopicName'](_0x23d003,_0x3120f1,_0xa8cf6c['HJlVO'],_0x4e3c32['topic']);return this['publishEvent'](_0x38d252,_0x2ba32d(0x121),_0x5c7f7e,null,{'module':_0x23d003,'endpoint':_0x3120f1,'keyField':_0x4e3c32[_0x2ba32d(0x124)],'tableName':_0x4e3c32[_0x2ba32d(0x132)],'correlationId':_0x4e3c32[_0x2ba32d(0xf2)]});}['getStatus'](){const _0x316ad0=a0_0x5de4b0,_0x4a996c=this[_0x316ad0(0xeb)]();return{'enabled':_0x4a996c['enabled'],'connected':this['isConnected'],'brokers':_0x4a996c['brokers'],'clientId':_0x4a996c[_0x316ad0(0x10b)],'topicPattern':_0x4a996c[_0x316ad0(0x103)]};}async[a0_0x5de4b0(0x112)](){const _0x568616=a0_0x5de4b0;if(this[_0x568616(0x108)]&&this['isConnected'])try{await this['producer'][_0x568616(0x10c)](),this[_0x568616(0x135)]=![],console['log'](_0x568616(0x119));}catch(_0x5a4623){console[_0x568616(0x101)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x5a4623[_0x568616(0x142)]);}}}let instance=null;function a0_0x1704(_0x2c28cc,_0xfe1280){_0x2c28cc=_0x2c28cc-0xea;const _0x3ea187=a0_0x3ea1();let _0x170416=_0x3ea187[_0x2c28cc];if(a0_0x1704['bgPnmn']===undefined){var _0xe95e7a=function(_0x1273d7){const _0x19608d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16e2f9='',_0x5cc69d='';for(let _0x381d03=0x0,_0x279f7a,_0x4392e8,_0x34c3a4=0x0;_0x4392e8=_0x1273d7['charAt'](_0x34c3a4++);~_0x4392e8&&(_0x279f7a=_0x381d03%0x4?_0x279f7a*0x40+_0x4392e8:_0x4392e8,_0x381d03++%0x4)?_0x16e2f9+=String['fromCharCode'](0xff&_0x279f7a>>(-0x2*_0x381d03&0x6)):0x0){_0x4392e8=_0x19608d['indexOf'](_0x4392e8);}for(let _0x512b2e=0x0,_0x299263=_0x16e2f9['length'];_0x512b2e<_0x299263;_0x512b2e++){_0x5cc69d+='%'+('00'+_0x16e2f9['charCodeAt'](_0x512b2e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5cc69d);};a0_0x1704['gWqDsT']=_0xe95e7a,a0_0x1704['dRVxGj']={},a0_0x1704['bgPnmn']=!![];}const _0x18a00c=_0x3ea187[0x0],_0x5ce0c4=_0x2c28cc+_0x18a00c,_0x4882f7=a0_0x1704['dRVxGj'][_0x5ce0c4];return!_0x4882f7?(_0x170416=a0_0x1704['gWqDsT'](_0x170416),a0_0x1704['dRVxGj'][_0x5ce0c4]=_0x170416):_0x170416=_0x4882f7,_0x170416;}function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0x5de4b0(0xf1)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
@@ -1 +1 @@
1
- const a0_0x49eb54=a0_0x4a9a;function a0_0x1a70(){const _0x1d8bd7=['tw9KztOGs29UzwTZAsboEwf0yq','u3rHDhvZieXPC3rLBMvYoIa','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','uenMD0e','y1PvEui','ndvsy29gBxy','DxbRrKS','CMvZDgzVCMDLlq','mJq1otq4off1zvzZwG','tvnivujFqvvut19bq0Tot1Dmrurhrq','vfDOB00','nZK4odC1merLAfHYwq','zxntwNG','s29UzMLNDxjHC2KGugXHDgzVCM06ia','rLDrAKG','EM9ruwm','CMvXDwLYzufJAW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','q29UBMvJDgLVBIb0Aw1LB3v0','BwvZC2fNzq','zw52','pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pt09pq','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','CMvZB2X2zq','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','uxb2qKq','yu5VB2q','igrPDgvYAw1Hig9SzwGG','tvnivujFufvcteLtsf9lrvK','twvZC2fNzsbuExbLoIa','y29TBxvUAwnHDgLVBLr5Cgu','r1DVsw0','mtq5mty5mZbwDNbJtMG','zgLZy29UBMvJDgvK','vw5RBM93BIbLCNjVCG','nJnxAgHuwLG','CMvJzwL2zwrbDa','C29JA2v0','Bg9N','mZu2ntK2mKTgEwDSuq','4PQG77IpievYCM9YigLUAxnPywXPC2fZAsbnzxnZywDLshvIoIa','sKrACuS','y29UzMLYBwf0Aw9Uq291BNq','zgLZy29UBMvJDa','zxjYB3i','Dg9mB2nHBgvtDhjPBMC','seTiEvO','vgvYAhvIDw5NigTLihnLCNzLCIbnzxnZywDLshvI','lI4VlI4VANmVBwvZC2fNzwH1yI5QCW','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','CMvZDgzVCMDL','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','u1bluMq','ywrKtgLZDgvUzxi','CwnHrhO','y2f0zwDVCNK','qLbrDxG','zNvUy3rPB24','ywH0zfO','yNjVywrJyxn0','t1nMq1a','DxvPza','tvnivujFqunltK9xtever0vFtuvtu0fhrvm','mtm5mZrltvnHvuW','Dg9WAwm','wffAB1K','ndu1zxfwww1K','DeHpthK','Dg9ju09tDhjPBMC','ChvIBgLZAeTLEq','qNbbEeS','ru94B2y','BwvZC2fNzs1YzwnLAxzLza','tvnivujFqvbjx1bpuLq','lIbuB3rHBcbRB25MAxjTyxnPoIa','odi2mJHNzhDTC28','vgLKywSGzgLRzxrHAhvP','C2nHuNq','zxHWB3j0CW','zxjYB3jezxrHAwW','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','q2HHBM5LBcbuyxjNzxq6ia','4PQG77IpifrPBwvVDxq6ifrPzgfRigrHCgf0ihrLCMH1yNvUzYbRzsbnzxnZywDLshvIihnLCNzLCIbKywXHBsb3ywT0Dsb5yw5NigrPDgvUDhvRyw4','y2HHBM5LBa','mtriB1HZANa','y2XLyxjdywnOzq','DwvAteW','wfjTy08','CMvJzwL2zxjjBMzV','tvnivujFu0vsvKLdrv9qt1ju','ndy5mdq0m0rxyLPTqq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq'];a0_0x1a70=function(){return _0x1d8bd7;};return a0_0x1a70();}(function(_0x20ef61,_0x26c996){const _0x4041b4=a0_0x4a9a,_0x435793=_0x20ef61();while(!![]){try{const _0x5ee811=-parseInt(_0x4041b4(0x204))/0x1*(parseInt(_0x4041b4(0x220))/0x2)+-parseInt(_0x4041b4(0x23b))/0x3+parseInt(_0x4041b4(0x22c))/0x4*(parseInt(_0x4041b4(0x223))/0x5)+parseInt(_0x4041b4(0x208))/0x6*(-parseInt(_0x4041b4(0x235))/0x7)+parseInt(_0x4041b4(0x246))/0x8*(parseInt(_0x4041b4(0x243))/0x9)+parseInt(_0x4041b4(0x201))/0xa+-parseInt(_0x4041b4(0x1ec))/0xb;if(_0x5ee811===_0x26c996)break;else _0x435793['push'](_0x435793['shift']());}catch(_0x3b90b6){_0x435793['push'](_0x435793['shift']());}}}(a0_0x1a70,0xf207a));function a0_0x4a9a(_0x465fbc,_0x58134e){_0x465fbc=_0x465fbc-0x1ea;const _0x1a7058=a0_0x1a70();let _0x4a9a6e=_0x1a7058[_0x465fbc];if(a0_0x4a9a['nDtmLK']===undefined){var _0x4d57dd=function(_0x80227b){const _0x3de20d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x189d0f='',_0x14d34d='';for(let _0x2571ab=0x0,_0x2b7adb,_0x100952,_0x105b55=0x0;_0x100952=_0x80227b['charAt'](_0x105b55++);~_0x100952&&(_0x2b7adb=_0x2571ab%0x4?_0x2b7adb*0x40+_0x100952:_0x100952,_0x2571ab++%0x4)?_0x189d0f+=String['fromCharCode'](0xff&_0x2b7adb>>(-0x2*_0x2571ab&0x6)):0x0){_0x100952=_0x3de20d['indexOf'](_0x100952);}for(let _0x4978b8=0x0,_0x23047d=_0x189d0f['length'];_0x4978b8<_0x23047d;_0x4978b8++){_0x14d34d+='%'+('00'+_0x189d0f['charCodeAt'](_0x4978b8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x14d34d);};a0_0x4a9a['AzUmnK']=_0x4d57dd,a0_0x4a9a['VuZsEs']={},a0_0x4a9a['nDtmLK']=!![];}const _0x3d0b62=_0x1a7058[0x0],_0x40fdd7=_0x465fbc+_0x3d0b62,_0x551ba3=a0_0x4a9a['VuZsEs'][_0x40fdd7];return!_0x551ba3?(_0x4a9a6e=a0_0x4a9a['AzUmnK'](_0x4a9a6e),a0_0x4a9a['VuZsEs'][_0x40fdd7]=_0x4a9a6e):_0x4a9a6e=_0x551ba3,_0x4a9a6e;}const dotenv=require('dotenv'),path=require('path'),fs=require('fs'),{v7:uuidv7}=require(a0_0x49eb54(0x21e));dotenv['config']();let MessageHub;try{const messagehubPath=path[a0_0x49eb54(0x1f8)](__dirname,a0_0x49eb54(0x211));if(fs['existsSync'](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x49eb54(0x207)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error('MessageHub\x20SDK\x20not\x20found\x20at\x20'+messagehubPath);}catch(a0_0x17dafc){console['error'](a0_0x49eb54(0x1f9)+a0_0x17dafc['message']);throw a0_0x17dafc;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x4c49c8){const _0x29fe42=a0_0x49eb54,_0x583688=new Date()[_0x29fe42(0x225)]();console[_0x29fe42(0x207)]('['+_0x583688+']\x20'+_0x4c49c8);}async function initMessageHub(){const _0x4c37c8=a0_0x49eb54,_0x50a529={'tHOLy':function(_0x4bfb49,_0x22b4c3){return _0x4bfb49&&_0x22b4c3;},'FWQjH':function(_0x71070b,_0x17f039){return _0x71070b(_0x17f039);},'lVfgw':function(_0x39507b,_0x331eb9){return _0x39507b===_0x331eb9;},'Fqbbh':'message-sent','SPKRd':function(_0x52a698,_0x4d4971){return _0x52a698(_0x4d4971);},'QpvBD':_0x4c37c8(0x229),'oOoYk':_0x4c37c8(0x240),'KtHlR':function(_0x595fce,_0x28556d){return _0x595fce(_0x28556d);},'qcaDz':'true','TWhoM':function(_0x566ee2,_0x8b634e){return _0x566ee2(_0x8b634e);},'cZUyB':function(_0x25ebc6,_0x105587){return _0x25ebc6(_0x105587);},'HKHyZ':_0x4c37c8(0x1f7),'xVVlq':'MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada','PCfwA':_0x4c37c8(0x231)};if(_0x50a529[_0x4c37c8(0x224)](messagehub,isConnected))return log(_0x50a529['xVVlq']),!![];if(connectionPromise)return _0x50a529[_0x4c37c8(0x1ef)](log,_0x50a529[_0x4c37c8(0x241)]),connectionPromise;return connectionPromise=new Promise(async(_0x3f1958,_0x2a6051)=>{const _0x12bee2=_0x4c37c8,_0x49fcaf={'wIuSV':function(_0x43af45,_0xcb7414){return _0x43af45===_0xcb7414;},'aNood':function(_0xcb294c,_0x3fc87b){const _0x253d05=a0_0x4a9a;return _0x50a529[_0x253d05(0x1ef)](_0xcb294c,_0x3fc87b);},'DlFzG':function(_0x4aeceb,_0x1c5fb9){return _0x50a529['lVfgw'](_0x4aeceb,_0x1c5fb9);},'XRmcO':'error','esSZx':_0x50a529['Fqbbh'],'gFXWL':function(_0x4cf84b,_0x5fcb54){const _0x3f86a5=a0_0x4a9a;return _0x50a529[_0x3f86a5(0x215)](_0x4cf84b,_0x5fcb54);},'zoQQc':function(_0x3d6e61,_0x5a7447){return _0x3d6e61===_0x5a7447;},'BPQux':_0x50a529[_0x12bee2(0x1fa)],'ueZLL':'Unknown'};try{_0x50a529['SPKRd'](log,_0x50a529['oOoYk']),_0x50a529['KtHlR'](log,'Waktu\x20Inisialisasi:\x20'+new Date()[_0x12bee2(0x20e)]()),log(_0x12bee2(0x23d));const _0x1aad38={'publishKey':process['env'][_0x12bee2(0x1fd)],'subscribeKey':process[_0x12bee2(0x1f5)]['MSHUB_SUBSCRIBE_KEY'],'userId':process[_0x12bee2(0x1f5)]['MSHUB_USER_ID']||_0x12bee2(0x245)+(process[_0x12bee2(0x1f5)][_0x12bee2(0x23c)]||'default')+'-'+process['pid'],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x12bee2(0x21c),'autoAcknowledge':process['env'][_0x12bee2(0x1ea)]===_0x50a529[_0x12bee2(0x217)],'acknowledgeMessages':process['env'][_0x12bee2(0x21f)]==='true','platform':{'type':process[_0x12bee2(0x1f5)]['MSHUB_COMMUNICATION_TYPE']||'websocket','host':process[_0x12bee2(0x1f5)]['MSHUB_HOST']||'localhost','api_port':parseInt(process['env'][_0x12bee2(0x22a)]||0xdf8),'service_port':_0x50a529[_0x12bee2(0x1ef)](parseInt,process['env'][_0x12bee2(0x23a)]||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x1aad38),_0x50a529['FWQjH'](log,_0x12bee2(0x1f2)),_0x50a529['SPKRd'](log,'Client\x20ID/UserID:\x20'+messagehub['userId']),_0x50a529[_0x12bee2(0x1eb)](log,'Publish\x20Key:\x20'+messagehub[_0x12bee2(0x226)]),log('Subscribe\x20Key:\x20'+messagehub['subscribeKey']),_0x50a529[_0x12bee2(0x215)](log,'Tipe\x20Komunikasi:\x20'+messagehub[_0x12bee2(0x1ff)]),log(_0x12bee2(0x1ee)+JSON['stringify'](messagehub['platformConfig'])),log(_0x12bee2(0x1f6)),messagehub[_0x12bee2(0x216)]({'status':function(_0x19720b){const _0x2f8f84=_0x12bee2;log(_0x2f8f84(0x23e)+_0x19720b[_0x2f8f84(0x218)]);if(_0x49fcaf['wIuSV'](_0x19720b[_0x2f8f84(0x218)],'connected'))_0x49fcaf[_0x2f8f84(0x1fb)](log,_0x2f8f84(0x210)),isConnected=!![],timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null),_0x3f1958(!![]);else{if(_0x19720b[_0x2f8f84(0x218)]===_0x2f8f84(0x202)){const _0x1bf747=_0x49fcaf['DlFzG'](_0x19720b['isErrorRelated'],!![]);!_0x1bf747&&(log('Terputus\x20dari\x20server.\x20Alasan:\x20'+(_0x19720b['reason']||_0x2f8f84(0x22d))),isConnected=![],connectionPromise&&(_0x2a6051(new Error('Koneksi\x20terputus:\x20'+(_0x19720b['reason']||_0x2f8f84(0x22d)))),connectionPromise=null));}else{if(_0x19720b['category']===_0x49fcaf[_0x2f8f84(0x238)]){let _0x41bd9f=_0x19720b[_0x2f8f84(0x230)]||_0x19720b['error']||_0x2f8f84(0x203);_0x49fcaf[_0x2f8f84(0x1fb)](log,'⚠️\x20Error:\x20'+_0x41bd9f),isConnected=![],connectionPromise&&(_0x49fcaf['aNood'](_0x2a6051,new Error(_0x41bd9f)),connectionPromise=null);}else{if(_0x49fcaf['wIuSV'](_0x19720b[_0x2f8f84(0x218)],_0x49fcaf[_0x2f8f84(0x1ed)]))_0x49fcaf['gFXWL'](log,'📤\x20Pesan\x20berhasil\x20dikirim!\x20RequestID:\x20'+_0x19720b['requestId']);else{if(_0x49fcaf[_0x2f8f84(0x1f0)](_0x19720b['category'],_0x49fcaf[_0x2f8f84(0x219)])){const _0x5e8ed0=_0x19720b[_0x2f8f84(0x239)]?.['name']||_0x49fcaf[_0x2f8f84(0x237)],_0x587000=_0x19720b[_0x2f8f84(0x239)]?.['id']||_0x19720b['receiverId'],_0x32bc01=new Date(_0x19720b['receiverInfo']?.[_0x2f8f84(0x205)]||_0x19720b[_0x2f8f84(0x205)]||new Date())['toLocaleTimeString']();log('📩\x20Konfirmasi:\x20Pesan\x20'+_0x19720b['requestId']+_0x2f8f84(0x1fc)+_0x5e8ed0+'\x20('+_0x587000+')\x20pada\x20'+_0x32bc01+_0x2f8f84(0x22b)+(_0x19720b[_0x2f8f84(0x20b)]||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x48ec2b=_0x12bee2;_0x50a529[_0x48ec2b(0x224)](!isConnected,connectionPromise)&&(log(_0x48ec2b(0x233)),_0x2a6051(new Error(_0x48ec2b(0x1f3))),connectionPromise=null);},0x2710);}catch(_0xa5fe58){_0x50a529[_0x12bee2(0x242)](log,_0x12bee2(0x209)+_0xa5fe58['message']),console[_0x12bee2(0x20d)](_0x50a529[_0x12bee2(0x20f)],_0xa5fe58),connectionPromise=null,_0x2a6051(_0xa5fe58);}}),connectionPromise;}async function publishMessage(_0x378c31,_0x517228,_0x3cff9d,_0x3a98ea={}){const _0x39626a=a0_0x49eb54,_0x14ab30={'JDZqK':function(_0x4cbe4b){return _0x4cbe4b();},'EOxof':function(_0x138f1b,_0x4ec17b){return _0x138f1b(_0x4ec17b);},'scaRt':function(_0x3b8169,_0x48f231){return _0x3b8169!==_0x48f231;},'ahtdZ':_0x39626a(0x213),'tsuhZ':function(_0x3de31e,_0x2c1f2f){return _0x3de31e(_0x2c1f2f);},'XQZoY':'Mengirim\x20pesan\x20ke\x20server...','upkFK':function(_0x2c4b39,_0x2c779a){return _0x2c4b39(_0x2c779a);},'bhsFU':_0x39626a(0x23f)};try{!isConnected&&await _0x14ab30[_0x39626a(0x20a)](initMessageHub);const _0x480643=messagehub[_0x39626a(0x234)](_0x378c31);log(_0x39626a(0x212)),log(_0x39626a(0x232)+_0x480643[_0x39626a(0x221)]),_0x14ab30[_0x39626a(0x228)](log,_0x39626a(0x1fe)+_0x517228),log('================================');const _0x29d76b={'requireAck':_0x14ab30[_0x39626a(0x22e)](_0x3a98ea['requireAck'],undefined)?_0x3a98ea[_0x39626a(0x1f1)]:![],'clearCache':_0x3a98ea[_0x39626a(0x236)]!==undefined?_0x3a98ea['clearCache']:!![],'senderId':messagehub[_0x39626a(0x206)]?messagehub['socket']['id']:_0x14ab30[_0x39626a(0x21b)]};_0x14ab30['tsuhZ'](log,_0x14ab30[_0x39626a(0x222)]);const _0x355160={'type':_0x517228,'content':_0x3cff9d},_0x24a03f=await _0x480643['publish'](_0x355160,_0x29d76b);return _0x14ab30[_0x39626a(0x244)](log,'Message\x20sent\x20successfully\x20to\x20topic\x20'+_0x378c31),{'success':!![],'requestId':_0x24a03f['requestId'],'topic':_0x378c31,'message':_0x14ab30['bhsFU']};}catch(_0x404736){return _0x14ab30[_0x39626a(0x244)](log,'⚠️\x20Error\x20publishing\x20message:\x20'+_0x404736[_0x39626a(0x1f4)]),{'success':![],'error':_0x404736[_0x39626a(0x1f4)],'topic':_0x378c31,'message':'Failed\x20to\x20send\x20message'};}}async function closeConnection(){const _0x268488=a0_0x49eb54,_0xa90531={'IAFrR':function(_0x1de64e,_0x499e9b){return _0x1de64e===_0x499e9b;},'BpAxK':_0x268488(0x21a),'OSfCP':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()','AMOHE':'Koneksi\x20MessageHub\x20ditutup\x20dengan\x20socket.disconnect()','GWoIm':function(_0x5dec75,_0x546b2f){return _0x5dec75(_0x546b2f);},'WIAFK':_0x268488(0x214),'tvQxN':function(_0x40dce7,_0x322c2c){return _0x40dce7(_0x322c2c);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(isConnected&&messagehub)try{if(_0xa90531['IAFrR'](typeof messagehub[_0x268488(0x20c)],_0xa90531[_0x268488(0x227)]))await messagehub['disconnect'](),log(_0xa90531[_0x268488(0x21d)]);else{if(_0xa90531['IAFrR'](typeof messagehub['close'],_0xa90531['BpAxK']))await messagehub['close'](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20close()');else messagehub[_0x268488(0x206)]&&typeof messagehub[_0x268488(0x206)][_0x268488(0x20c)]===_0xa90531[_0x268488(0x227)]?(messagehub['socket']['disconnect'](),log(_0xa90531['AMOHE'])):_0xa90531[_0x268488(0x200)](log,_0xa90531['WIAFK']);}isConnected=![],connectionPromise=null;}catch(_0x18561b){_0xa90531['tvQxN'](log,'Error\x20saat\x20menutup\x20koneksi:\x20'+_0x18561b[_0x268488(0x1f4)]);}}module[a0_0x49eb54(0x22f)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};
1
+ const a0_0x3c524a=a0_0x1388;function a0_0x1388(_0x526019,_0x1d2134){_0x526019=_0x526019-0x72;const _0x2cda56=a0_0x2cda();let _0x138858=_0x2cda56[_0x526019];if(a0_0x1388['aNvwgM']===undefined){var _0x5992f9=function(_0x183676){const _0x1eb3ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf428cd='',_0x817687='';for(let _0x6c934a=0x0,_0x3058b1,_0x47e883,_0x14a84b=0x0;_0x47e883=_0x183676['charAt'](_0x14a84b++);~_0x47e883&&(_0x3058b1=_0x6c934a%0x4?_0x3058b1*0x40+_0x47e883:_0x47e883,_0x6c934a++%0x4)?_0xf428cd+=String['fromCharCode'](0xff&_0x3058b1>>(-0x2*_0x6c934a&0x6)):0x0){_0x47e883=_0x1eb3ab['indexOf'](_0x47e883);}for(let _0x38878d=0x0,_0xe633de=_0xf428cd['length'];_0x38878d<_0xe633de;_0x38878d++){_0x817687+='%'+('00'+_0xf428cd['charCodeAt'](_0x38878d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x817687);};a0_0x1388['zlQJzN']=_0x5992f9,a0_0x1388['hcdQdG']={},a0_0x1388['aNvwgM']=!![];}const _0x1c24a5=_0x2cda56[0x0],_0xc95902=_0x526019+_0x1c24a5,_0x2e5e1f=a0_0x1388['hcdQdG'][_0xc95902];return!_0x2e5e1f?(_0x138858=a0_0x1388['zlQJzN'](_0x138858),a0_0x1388['hcdQdG'][_0xc95902]=_0x138858):_0x138858=_0x2e5e1f,_0x138858;}(function(_0x2fa759,_0x324540){const _0x297d3d=a0_0x1388,_0x4aab=_0x2fa759();while(!![]){try{const _0x421b26=-parseInt(_0x297d3d(0xcb))/0x1+parseInt(_0x297d3d(0xb7))/0x2*(-parseInt(_0x297d3d(0xbf))/0x3)+-parseInt(_0x297d3d(0xc4))/0x4+parseInt(_0x297d3d(0xbd))/0x5*(-parseInt(_0x297d3d(0x91))/0x6)+parseInt(_0x297d3d(0x81))/0x7*(-parseInt(_0x297d3d(0xc7))/0x8)+-parseInt(_0x297d3d(0x77))/0x9+parseInt(_0x297d3d(0xc1))/0xa;if(_0x421b26===_0x324540)break;else _0x4aab['push'](_0x4aab['shift']());}catch(_0x4b5e9f){_0x4aab['push'](_0x4aab['shift']());}}}(a0_0x2cda,0x76d8b));function a0_0x2cda(){const _0xafd2d3=['y29UzMLN','rxjYB3iGC2fHDcbTzw51DhvWigTVBMvRC2K6ia','pt09pt09ierbveeGufvcteLtscbnrvntquDfid09pt09pq','CvHmvhG','ChvIBgLZAa','ufrAsKq','v0z4wNi','zNvUy3rPB24','Bg9N','twvZC2fNzsbuExbLoIa','CMvZDgzVCMDLlq','vgvYChv0DxmGzgfYAsbZzxj2zxiUiefSyxnHBJOG','DMP3ChC','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEq','vgLWzsblB211BMLRyxnPoIa','ndm4Eu5yChfN','vgLKywSGzgfWyxqGBwvUzw11A2fUig1LDg9Kzsb1BNr1AYbTzw51DhvWigTVBMvRC2KGtwvZC2fNzuH1yG','s29UzwTZAsbnzxnZywDLshvIihnLzgfUzYbIzxjSyw5NC3vUzYWGBwvUDw5Nz3uUlI4','wKjRsvG','Cgf0Aa','twvZC2fNzuH1yIbtreSGBM90igzVDw5Kigf0ia','CMvXDwvZDeLK','tvnivujFqvbjx1bpuLq','igrPDgvYAw1Hig9SzwGG','tvnivujFse9tva','u05wAui','u3nds2y','Bg9JywXOB3n0','C3jsD00','ChvIBgLZAeTLEq','y2XVC2u','tvnivujFu1vcu0nssujfx0Tfwq','Dg9WAwm','yNjVywrJyxn0','uNvtEuq','rMfPBgvKihrVihnLBMqGBwvZC2fNzq','zgLZy29UBMvJDgvK','twvUz2LYAw0GCgvZyw4GA2uGC2vYDMvYlI4U','tMfqtLu','C29JA2v0','twvZC2fNzsbZzw50ihn1y2nLC3nMDwXSEsb0BYb0B3bPyYa','CMvXDwLYzufJAW','CgLK','BNf4Agu','y2HHBM5LBa','vw5RBM93BG','ChfwrxK','zw52','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUihnVy2TLDc5KAxnJB25Uzwn0kcK','BwvZC2fNzq','4PQG77IpievYCM9YoIa','D0v3C0e','s29UzwTZAsbnzxnZywDLshvIigrPDhv0DxaGzgvUz2fUignSB3nLkcK','nte1otHqq0ruBMy','t1L6AK0','8j+tPcbqzxnHBIbIzxjOyxnPBcbKAwTPCMLTisbszxf1zxn0suq6ia','zxHPC3rZu3LUyW','CMvHC29U','DxvPza','mJuYotv4EM15vNO','s29UzMLNDxjHC2KGugXHDgzVCM06ia','m1vRENf1sW','zgLZy29UBMvJDa','mJq3mZu1ntbIs0nitNe','Dg9mB2nHBgvtDhjPBMC','D3rsB3y','mJa4mdq4ohbHquPtDG','zxHWB3j0CW','pt09pt09ieLorK9stuftssbdteLftLqGtuvtu0fhruHvqIa9pt09pt0','mtzwCMrwv0K','C3vIC2nYAwjLs2v5','y2f0zwDVCNK','q29UBMvJDgLVBIb0Aw1LB3v0','nteYmZyWCeLYD3vX','tvnivujFq09ntvvosunbveLptL9uwvbf','CMvJzwL2zwrbDa','DxnLCKLK','D2zeDKy','ywrKtgLZDgvUzxi','zxjYB3i','BMDIu20','rxjYB3iGBg9HzgLUzYbnzxnZywDLshvIifnesZOG','BwvZC2fNzs1YzwnLAxzLza','zgvMyxvSDa','qLDeyMu','rMHUwvu','mJm5odyWofrSBM9wBq','v09qzKC','yxjws3O','rxjYB3iGAw5PC2LHBgLZyxnPie1LC3nHz2viDwi6','BMfTzq','pt09pt09ie1vtefjieLosvnjquXju0ftssbnrvntquDfsfvcid09pt09pq','CgXHDgzVCM1dB25MAwC','CMvZDgzVCMDL','rencueu','zg90zw52','mtaYndmXmfPeruj2DG'];a0_0x2cda=function(){return _0xafd2d3;};return a0_0x2cda();}const dotenv=require(a0_0x3c524a(0x80)),path=require(a0_0x3c524a(0x95)),fs=require('fs'),{v7:uuidv7}=require(a0_0x3c524a(0xbc));dotenv[a0_0x3c524a(0x82)]();let MessageHub;try{const messagehubPath=path['resolve'](__dirname,'../../js/messagehub.js');if(fs[a0_0x3c524a(0xba)](messagehubPath))MessageHub=require(messagehubPath),console[a0_0x3c524a(0x8a)]('MessageHub\x20SDK\x20found\x20at\x20'+messagehubPath);else throw new Error(a0_0x3c524a(0x96)+messagehubPath);}catch(a0_0x548311){console[a0_0x3c524a(0xd1)](a0_0x3c524a(0x72)+a0_0x548311[a0_0x3c524a(0xb3)]);throw a0_0x548311;}let messagehub=null,isConnected=![],connectionPromise=null,timeoutHandler=null;function log(_0x570126){const _0x3d68e4=a0_0x3c524a,_0x401a4e=new Date()['toISOString']();console[_0x3d68e4(0x8a)]('['+_0x401a4e+']\x20'+_0x570126);}async function initMessageHub(){const _0x5703c6=a0_0x3c524a,_0x24f7df={'WFxZr':function(_0x1b3d03,_0x491315){return _0x1b3d03(_0x491315);},'RCqjI':'connected','CnYTF':function(_0x54279c,_0x11bd14){return _0x54279c(_0x11bd14);},'sABHA':function(_0x347b5f,_0x4f6151){return _0x347b5f===_0x4f6151;},'ZBkIX':function(_0x59a9d6,_0x296820){return _0x59a9d6===_0x296820;},'hkHJN':'Tidak\x20diketahui','SsCKf':function(_0xf74db4,_0x5de8a5){return _0xf74db4(_0x5de8a5);},'PTZJD':_0x5703c6(0xd1),'DCBPE':function(_0xba66a9,_0x562a85){return _0xba66a9(_0x562a85);},'wfDvF':_0x5703c6(0x73),'wEwsA':function(_0x161ea7,_0x406199){return _0x161ea7(_0x406199);},'pqVEy':function(_0x35235a,_0x102f61){return _0x35235a&&_0x102f61;},'dVbdT':function(_0x24745c,_0x3505e3){return _0x24745c(_0x3505e3);},'nqxhe':_0x5703c6(0xca),'qXLTx':'Mode:\x20Koneksi\x20Nyata','WOPfG':'true','LwtGy':function(_0x40a279,_0xebc739){return _0x40a279===_0xebc739;},'NaPNU':_0x5703c6(0x9d),'OYzjM':function(_0x3baa44,_0x5b0c47){return _0x3baa44(_0x5b0c47);},'YVZdJ':_0x5703c6(0xc6),'wtMqg':function(_0x3d763b,_0x445293){return _0x3d763b(_0x445293);}};if(messagehub&&isConnected)return log('MessageHub\x20sudah\x20terhubung,\x20menggunakan\x20koneksi\x20yang\x20ada'),!![];if(connectionPromise)return log(_0x5703c6(0x93)),connectionPromise;return connectionPromise=new Promise(async(_0x42ae93,_0x49a4f1)=>{const _0x1aa914=_0x5703c6;try{log(_0x1aa914(0x7c)),log('Waktu\x20Inisialisasi:\x20'+new Date()[_0x1aa914(0xc2)]()),_0x24f7df['dVbdT'](log,_0x24f7df[_0x1aa914(0x85)]);const _0x4ad1af={'publishKey':process[_0x1aa914(0xb1)]['MSHUB_PUBLISH_KEY'],'subscribeKey':process[_0x1aa914(0xb1)][_0x1aa914(0xa1)],'userId':process['env']['MSHUB_USER_ID']||_0x1aa914(0x8c)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x1aa914(0x74))+'-'+process[_0x1aa914(0xac)],'communicationType':process['env']['MSHUB_COMMUNICATION_TYPE']||_0x1aa914(0xa3),'autoAcknowledge':process['env']['MSHUB_AUTO_ACKNOWLEDGE']===_0x24f7df[_0x1aa914(0x78)],'acknowledgeMessages':_0x24f7df['LwtGy'](process[_0x1aa914(0xb1)]['MSHUB_ACKNOWLEDGE_MESSAGES'],'true'),'platform':{'type':process['env'][_0x1aa914(0xcc)]||'websocket','host':process['env'][_0x1aa914(0x9a)]||_0x24f7df[_0x1aa914(0xa8)],'api_port':parseInt(process['env'][_0x1aa914(0x98)]||0xdf8),'service_port':_0x24f7df[_0x1aa914(0xb8)](parseInt,process['env']['MSHUB_SERVICE_PORT']||0xdf9),'config':{'protocol':'v1'}}};messagehub=new MessageHub(_0x4ad1af),log(_0x24f7df['YVZdJ']),log('Client\x20ID/UserID:\x20'+messagehub[_0x1aa914(0xce)]),_0x24f7df['DCBPE'](log,'Publish\x20Key:\x20'+messagehub[_0x1aa914(0x9f)]),log('Subscribe\x20Key:\x20'+messagehub[_0x1aa914(0xc8)]),_0x24f7df[_0x1aa914(0xb5)](log,_0x1aa914(0x90)+messagehub['communicationType']),_0x24f7df['wtMqg'](log,_0x1aa914(0xbe)+JSON['stringify'](messagehub[_0x1aa914(0x7d)])),log('========================================'),messagehub[_0x1aa914(0xd0)]({'status':function(_0x3b2f11){const _0x1554c9=_0x1aa914;_0x24f7df[_0x1554c9(0x88)](log,'Status\x20Listener:\x20'+_0x3b2f11[_0x1554c9(0xc9)]);if(_0x3b2f11[_0x1554c9(0xc9)]===_0x24f7df['RCqjI'])_0x24f7df['CnYTF'](log,'Terhubung\x20ke\x20server\x20MessageHub'),isConnected=!![],timeoutHandler&&(_0x24f7df[_0x1554c9(0x88)](clearTimeout,timeoutHandler),timeoutHandler=null),_0x24f7df['CnYTF'](_0x42ae93,!![]);else{if(_0x24f7df['sABHA'](_0x3b2f11[_0x1554c9(0xc9)],_0x1554c9(0xa6))){const _0x1ba416=_0x24f7df[_0x1554c9(0x94)](_0x3b2f11['isErrorRelated'],!![]);!_0x1ba416&&(log(_0x1554c9(0x8d)+(_0x3b2f11[_0x1554c9(0xbb)]||_0x24f7df['hkHJN'])),isConnected=![],connectionPromise&&(_0x24f7df['SsCKf'](_0x49a4f1,new Error('Koneksi\x20terputus:\x20'+(_0x3b2f11['reason']||_0x24f7df['hkHJN']))),connectionPromise=null));}else{if(_0x3b2f11['category']===_0x24f7df[_0x1554c9(0x87)]){let _0x564012=_0x3b2f11['errorDetail']||_0x3b2f11[_0x1554c9(0xd1)]||'Unknown\x20error';log(_0x1554c9(0xb4)+_0x564012),isConnected=![],connectionPromise&&(_0x24f7df[_0x1554c9(0x7f)](_0x49a4f1,new Error(_0x564012)),connectionPromise=null);}else{if(_0x24f7df[_0x1554c9(0x94)](_0x3b2f11['category'],'message-sent'))_0x24f7df[_0x1554c9(0x9c)](log,_0x1554c9(0xb9)+_0x3b2f11['requestId']);else{if(_0x3b2f11[_0x1554c9(0xc9)]===_0x24f7df[_0x1554c9(0xcf)]){const _0x16e8a6=_0x3b2f11['receiverInfo']?.[_0x1554c9(0x7b)]||_0x1554c9(0xaf),_0x2fcc31=_0x3b2f11['receiverInfo']?.['id']||_0x3b2f11['receiverId'],_0x1bfddc=new Date(_0x3b2f11['receiverInfo']?.['receivedAt']||_0x3b2f11[_0x1554c9(0xcd)]||new Date())['toLocaleTimeString']();_0x24f7df[_0x1554c9(0xb5)](log,'📩\x20Konfirmasi:\x20Pesan\x20'+_0x3b2f11['requestId']+_0x1554c9(0x99)+_0x16e8a6+'\x20('+_0x2fcc31+')\x20pada\x20'+_0x1bfddc+'.\x20Total\x20konfirmasi:\x20'+(_0x3b2f11['confirmationCount']||0x1));}}}}}}}),timeoutHandler=setTimeout(()=>{const _0x2a38a5=_0x1aa914;_0x24f7df[_0x2a38a5(0xb0)](!isConnected,connectionPromise)&&(_0x24f7df['dVbdT'](log,'⚠️\x20Timeout:\x20Tidak\x20dapat\x20terhubung\x20ke\x20MessageHub\x20server\x20dalam\x20waktu\x20yang\x20ditentukan'),_0x49a4f1(new Error(_0x24f7df[_0x2a38a5(0xad)])),connectionPromise=null);},0x2710);}catch(_0x21caa7){log('⚠️\x20Error\x20inisialisasi\x20MessageHub:\x20'+_0x21caa7['message']),console[_0x1aa914(0xd1)](_0x1aa914(0x7a),_0x21caa7),connectionPromise=null,_0x49a4f1(_0x21caa7);}}),connectionPromise;}async function publishMessage(_0x143e49,_0x264d93,_0xc15913,_0x1f3e68={}){const _0x1f2f00=a0_0x3c524a,_0x90cdc7={'RuSyD':function(_0x366bde){return _0x366bde();},'cafPN':_0x1f2f00(0x84),'vjwpw':function(_0x15f33e,_0x2f47e3){return _0x15f33e(_0x2f47e3);},'BWDbe':function(_0x71a2aa,_0x5e2cb3){return _0x71a2aa!==_0x5e2cb3;},'ZiuOt':_0x1f2f00(0xa7),'wwaRL':_0x1f2f00(0x8f),'FhnYU':_0x1f2f00(0xa5)};try{!isConnected&&await _0x90cdc7[_0x1f2f00(0xa4)](initMessageHub);const _0x38e1ce=messagehub[_0x1f2f00(0xae)](_0x143e49);log(_0x90cdc7['cafPN']),log('Channel\x20Target:\x20'+_0x38e1ce[_0x1f2f00(0xa2)]),log(_0x1f2f00(0x8b)+_0x264d93),_0x90cdc7[_0x1f2f00(0x8e)](log,'================================');const _0x2de77c={'requireAck':_0x1f3e68['requireAck']!==undefined?_0x1f3e68[_0x1f2f00(0xab)]:![],'clearCache':_0x90cdc7[_0x1f2f00(0x75)](_0x1f3e68['clearCache'],undefined)?_0x1f3e68['clearCache']:!![],'senderId':messagehub[_0x1f2f00(0xa9)]?messagehub[_0x1f2f00(0xa9)]['id']:_0x1f2f00(0x7e)};log(_0x90cdc7['ZiuOt']);const _0x114d38={'type':_0x264d93,'content':_0xc15913},_0x222e8f=await _0x38e1ce[_0x1f2f00(0x86)](_0x114d38,_0x2de77c);return log(_0x1f2f00(0xaa)+_0x143e49),{'success':!![],'requestId':_0x222e8f[_0x1f2f00(0x97)],'topic':_0x143e49,'message':_0x90cdc7['wwaRL']};}catch(_0x13c505){return log('⚠️\x20Error\x20publishing\x20message:\x20'+_0x13c505[_0x1f2f00(0xb3)]),{'success':![],'error':_0x13c505['message'],'topic':_0x143e49,'message':_0x90cdc7[_0x1f2f00(0x76)]};}}async function closeConnection(){const _0x20e6b2=a0_0x3c524a,_0x428fd8={'lGbjW':function(_0xa09e5,_0x3c6bbe){return _0xa09e5&&_0x3c6bbe;},'arVKz':function(_0x4bed31,_0x15676a){return _0x4bed31===_0x15676a;},'EXFZN':_0x20e6b2(0x89),'srRwM':function(_0xc68cd3,_0x1f5d52){return _0xc68cd3===_0x1f5d52;},'ngbSm':function(_0x88de58,_0x4d943f){return _0x88de58(_0x4d943f);},'SNViB':_0x20e6b2(0xb6),'wMHlP':_0x20e6b2(0xb2),'wtRov':function(_0x1de32c,_0x1a4626){return _0x1de32c(_0x1a4626);},'NqOtW':function(_0x5ec58f,_0x144f58){return _0x5ec58f(_0x144f58);}};timeoutHandler&&(clearTimeout(timeoutHandler),timeoutHandler=null);if(_0x428fd8['lGbjW'](isConnected,messagehub))try{if(_0x428fd8[_0x20e6b2(0x79)](typeof messagehub['disconnect'],_0x428fd8['EXFZN']))await messagehub[_0x20e6b2(0xc0)](),log('Koneksi\x20MessageHub\x20ditutup\x20dengan\x20disconnect()');else{if(_0x428fd8[_0x20e6b2(0x9e)](typeof messagehub[_0x20e6b2(0xa0)],'function'))await messagehub['close'](),_0x428fd8[_0x20e6b2(0xd2)](log,_0x428fd8[_0x20e6b2(0x9b)]);else messagehub['socket']&&typeof messagehub[_0x20e6b2(0xa9)][_0x20e6b2(0xc0)]===_0x20e6b2(0x89)?(messagehub[_0x20e6b2(0xa9)]['disconnect'](),_0x428fd8['ngbSm'](log,_0x428fd8['wMHlP'])):_0x428fd8[_0x20e6b2(0xc3)](log,_0x20e6b2(0x92));}isConnected=![],connectionPromise=null;}catch(_0x1a26b9){_0x428fd8['NqOtW'](log,_0x20e6b2(0x83)+_0x1a26b9[_0x20e6b2(0xb3)]);}}module[a0_0x3c524a(0xc5)]={'initMessageHub':initMessageHub,'publishMessage':publishMessage,'closeConnection':closeConnection};