@restforgejs/platform 4.2.8 → 4.3.2

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 (325) 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 +1 -1
  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 +3 -2
  18. package/generators/cli/schema/describe.js +3 -2
  19. package/generators/cli/schema/diff.js +3 -2
  20. package/generators/cli/schema/introspect.js +3 -2
  21. package/generators/cli/schema/list.js +3 -2
  22. package/generators/cli/schema/migrate.js +3 -2
  23. package/generators/lib/migration/audit-table-runner.js +213 -215
  24. package/generators/lib/payload/payload-runner.js +1 -1
  25. package/generators/lib/templates/dashboard-catalog.js +1 -437
  26. package/generators/lib/templates/db-connection-env.js +1 -212
  27. package/generators/lib/templates/dbschema-catalog.js +1 -489
  28. package/generators/lib/templates/field-validation-catalog.js +1 -531
  29. package/generators/lib/templates/mysql-template.js +1 -3863
  30. package/generators/lib/templates/oracle-template.js +1 -3915
  31. package/generators/lib/templates/postgres-template.js +1 -5838
  32. package/generators/lib/templates/query-declarative-catalog.js +1 -199
  33. package/generators/lib/templates/sqlite-template.js +1 -3440
  34. package/generators/lib/utils/env-manager.js +6 -0
  35. package/generators/lib/utils/path-validator.js +71 -0
  36. package/generators/lib/validators/payload-validator.js +1 -2
  37. package/integrity-manifest.json +28 -10
  38. package/package.json +11 -3
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
  191. package/generators/metadata/global.json +0 -58
  192. package/generators/metadata/test-mysql-workbench.json +0 -118
  193. package/generators/metadata/test-mysql.json +0 -56
  194. package/generators/metadata/test-oracle-workbench.json +0 -118
  195. package/generators/metadata/test-oracle.json +0 -56
  196. package/generators/metadata/test-pg-workbench.json +0 -118
  197. package/generators/metadata/test-pg.json +0 -56
  198. package/generators/scripts/obfuscate-source.js +0 -356
  199. package/generators/scripts/validate-catalog.js +0 -430
  200. package/generators/scripts/validate-dbschema-catalog.js +0 -708
  201. package/generators/tests/baseline/mysql/mini_inventory_item/src/models/mini-inventory/item.js +0 -944
  202. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  203. package/generators/tests/baseline/mysql/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  204. package/generators/tests/baseline/oracle/mini_inventory_item/src/models/mini-inventory/item.js +0 -1002
  205. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory/item.js +0 -740
  206. package/generators/tests/baseline/oracle/mini_inventory_item/src/modules/mini-inventory.js +0 -336
  207. package/generators/tests/baseline/postgres/mini_inventory_item/src/models/mini-inventory/item.js +0 -1333
  208. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory/item.js +0 -1173
  209. package/generators/tests/baseline/postgres/mini_inventory_item/src/modules/mini-inventory.js +0 -496
  210. package/generators/tests/fixtures/payloads/custom-sensitive.json +0 -27
  211. package/generators/tests/fixtures/payloads/dynamic-search-optout.json +0 -23
  212. package/generators/tests/fixtures/payloads/login-with-password.json +0 -22
  213. package/generators/tests/fixtures/payloads/order-process.json +0 -52
  214. package/generators/tests/fixtures/payloads/with-inline-sql.json +0 -26
  215. package/generators/tests/integration-tahap4b/README.md +0 -145
  216. package/generators/tests/integration-tahap4b/run-concurrent.js +0 -77
  217. package/generators/tests/integration-tahap4b/seed.sql +0 -53
  218. package/generators/tests/integration-tahap4b/verify.sql +0 -110
  219. package/generators/tests/unit/cli/create-dashboard.test.js +0 -505
  220. package/generators/tests/unit/cli/create-processor.test.js +0 -319
  221. package/generators/tests/unit/cli/dispatch-dashboard.test.js +0 -149
  222. package/generators/tests/unit/lib/dashboard-generator.test.js +0 -895
  223. package/generators/tests/unit/lib/dashboard-validator.test.js +0 -354
  224. package/generators/tests/unit/lib/dbschema-kit/apply-executor.test.js +0 -437
  225. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-introspect.test.js +0 -393
  226. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-generate-ddl.test.js +0 -104
  227. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-init.test.js +0 -119
  228. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-list.test.js +0 -48
  229. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-migrate.test.js +0 -175
  230. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-kit-validate.test.js +0 -102
  231. package/generators/tests/unit/lib/dbschema-kit/cli/dbschema-models.test.js +0 -43
  232. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/all-schemas-listing.js +0 -84
  233. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/connection-error.js +0 -13
  234. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/empty.js +0 -12
  235. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/multi-schema.js +0 -124
  236. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/single-schema-inventory.js +0 -64
  237. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/introspect-stubs/two-tables.js +0 -66
  238. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/connection-error.js +0 -9
  239. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/partial.js +0 -29
  240. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/rollback.js +0 -26
  241. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/migrate-stubs/success.js +0 -43
  242. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/audit/events.js +0 -18
  243. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/inventory/products.js +0 -9
  244. package/generators/tests/unit/lib/dbschema-kit/cli/fixtures/multi-schema/users.js +0 -8
  245. package/generators/tests/unit/lib/dbschema-kit/connection.test.js +0 -112
  246. package/generators/tests/unit/lib/dbschema-kit/ddl-generator.test.js +0 -205
  247. package/generators/tests/unit/lib/dbschema-kit/define-model.test.js +0 -56
  248. package/generators/tests/unit/lib/dbschema-kit/dialect/index.test.js +0 -46
  249. package/generators/tests/unit/lib/dbschema-kit/dialect/mysql.test.js +0 -126
  250. package/generators/tests/unit/lib/dbschema-kit/dialect/oracle.test.js +0 -126
  251. package/generators/tests/unit/lib/dbschema-kit/dialect/postgres.test.js +0 -131
  252. package/generators/tests/unit/lib/dbschema-kit/dialect/sqlite.test.js +0 -126
  253. package/generators/tests/unit/lib/dbschema-kit/driver-loader.test.js +0 -93
  254. package/generators/tests/unit/lib/dbschema-kit/emitters/create-index.test.js +0 -173
  255. package/generators/tests/unit/lib/dbschema-kit/emitters/create-table.test.js +0 -376
  256. package/generators/tests/unit/lib/dbschema-kit/emitters/drop-table.test.js +0 -78
  257. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/invalid-dialect.env +0 -6
  258. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-dialect.env +0 -5
  259. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/missing-host.env +0 -5
  260. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/oracle-valid.env +0 -6
  261. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/postgres-valid.env +0 -7
  262. package/generators/tests/unit/lib/dbschema-kit/fixtures/connection/sqlite-valid.env +0 -2
  263. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/category.js +0 -11
  264. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/item_product.js +0 -11
  265. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound.js +0 -24
  266. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/stock_inbound_item.js +0 -28
  267. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/supplier.js +0 -9
  268. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory/warehouse.js +0 -9
  269. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-invalid/orphan.js +0 -17
  270. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/category.js +0 -11
  271. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/item_product.js +0 -11
  272. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/supplier.js +0 -9
  273. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/master/warehouse.js +0 -9
  274. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound.js +0 -24
  275. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/mini-inventory-multifolder/transactions/stock_inbound_item.js +0 -28
  276. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/audit/events.js +0 -18
  277. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/inventory/products.js +0 -9
  278. package/generators/tests/unit/lib/dbschema-kit/fixtures/integration/multi-schema/public/users.js +0 -9
  279. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/extra/category.js +0 -8
  280. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-subfolder/master/category.js +0 -8
  281. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/bar.js +0 -8
  282. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/duplicate-tablename/foo.js +0 -8
  283. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/empty-folder/README.md +0 -1
  284. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-export/plain.js +0 -3
  285. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/invalid-schema/bad.js +0 -6
  286. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/legacy-pattern/legacy.js +0 -12
  287. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/audit/products.js +0 -9
  288. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-distinct/inventory/products.js +0 -9
  289. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/a/products.js +0 -8
  290. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/multi-schema-duplicate/b/products.js +0 -8
  291. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/nested-deep/a/b/c/deep_table.js +0 -8
  292. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/.hidden/ignored.js +0 -7
  293. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/category.js +0 -8
  294. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/master/supplier.js +0 -8
  295. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound.js +0 -8
  296. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/recursive-multi-folder/transactions/stock_inbound_item.js +0 -8
  297. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/category.js +0 -8
  298. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-multiple/item_product.js +0 -9
  299. package/generators/tests/unit/lib/dbschema-kit/fixtures/loader/valid-single/category.js +0 -8
  300. package/generators/tests/unit/lib/dbschema-kit/integration.test.js +0 -217
  301. package/generators/tests/unit/lib/dbschema-kit/introspect-mapper.test.js +0 -403
  302. package/generators/tests/unit/lib/dbschema-kit/ir-builder.test.js +0 -390
  303. package/generators/tests/unit/lib/dbschema-kit/loader.test.js +0 -128
  304. package/generators/tests/unit/lib/dbschema-kit/naming.test.js +0 -170
  305. package/generators/tests/unit/lib/dbschema-kit/parser/shorthand-parser.test.js +0 -237
  306. package/generators/tests/unit/lib/dbschema-kit/schema-printer.test.js +0 -251
  307. package/generators/tests/unit/lib/dbschema-kit/statement-modifier.test.js +0 -105
  308. package/generators/tests/unit/lib/dbschema-kit/statement-splitter.test.js +0 -165
  309. package/generators/tests/unit/lib/dbschema-kit/topological-sort.test.js +0 -135
  310. package/generators/tests/unit/lib/dbschema-kit/validator/check-compatibility-validator.test.js +0 -373
  311. package/generators/tests/unit/lib/dbschema-kit/validator/circular-relation-validator.test.js +0 -454
  312. package/generators/tests/unit/lib/dbschema-kit/validator/cross-model-validator.test.js +0 -512
  313. package/generators/tests/unit/lib/dbschema-kit/validator/enhanced-validate-integration.test.js +0 -390
  314. package/generators/tests/unit/lib/dbschema-kit/validator/naming-convention-validator.test.js +0 -306
  315. package/generators/tests/unit/lib/dbschema-kit/validator/schema-validator.test.js +0 -443
  316. package/generators/tests/unit/lib/dbschema-kit/validator/type-compatibility-validator.test.js +0 -440
  317. package/generators/tests/unit/lib/dbschema-kit/validator/validator-reporter.test.js +0 -172
  318. package/generators/tests/unit/lib/metadata-manager-dashboard.test.js +0 -256
  319. package/generators/tests/unit/lib/payload-validator-fieldpolicy.test.js +0 -240
  320. package/generators/tests/unit/lib/processor-validation-generator.test.js +0 -300
  321. package/generators/tests/unit/lib/sensitive-field-masker.test.js +0 -170
  322. package/generators/tests/unit/lib/sql-table-extractor.test.js +0 -119
  323. package/scripts/generate-integrity-manifest.js +0 -124
  324. package/scripts/snapshot-cli-contracts.js +0 -194
  325. package/scripts/verify-publish.js +0 -56
@@ -1 +1 @@
1
- const a0_0x3ec41d=a0_0x1981;(function(_0x3d9192,_0x48de04){const _0x194737=a0_0x1981,_0xd0f55d=_0x3d9192();while(!![]){try{const _0x4692af=parseInt(_0x194737(0x1b8))/0x1+-parseInt(_0x194737(0x1c6))/0x2*(parseInt(_0x194737(0x1c2))/0x3)+parseInt(_0x194737(0x1c3))/0x4+-parseInt(_0x194737(0x1ac))/0x5*(parseInt(_0x194737(0x1dc))/0x6)+parseInt(_0x194737(0x1c8))/0x7+-parseInt(_0x194737(0x1d9))/0x8*(parseInt(_0x194737(0x1b5))/0x9)+parseInt(_0x194737(0x1ca))/0xa;if(_0x4692af===_0x48de04)break;else _0xd0f55d['push'](_0xd0f55d['shift']());}catch(_0x274f42){_0xd0f55d['push'](_0xd0f55d['shift']());}}}(a0_0x58af,0x51d2d));const dbType=(process[a0_0x3ec41d(0x1ce)][a0_0x3ec41d(0x1d3)]||a0_0x3ec41d(0x1dd))['toLowerCase']();let executeQuery;if(dbType===a0_0x3ec41d(0x1d2)){const oracleDb=require(a0_0x3ec41d(0x1be));executeQuery=(_0x42f2f5,_0x4b60b9)=>oracleDb['executeQuery'](_0x42f2f5,_0x4b60b9);}else{if(dbType==='mysql'){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x1ca189,_0x2fa6bc)=>mysqlDb[a0_0x3ec41d(0x1bf)](_0x1ca189,_0x2fa6bc);}else executeQuery=require('../../core/utils/db')[a0_0x3ec41d(0x1bf)];}const {logger}=require('../../core/utils/logger');function a0_0x1981(_0x10e3d9,_0x144cc9){_0x10e3d9=_0x10e3d9-0x1aa;const _0x58af7d=a0_0x58af();let _0x19811c=_0x58af7d[_0x10e3d9];if(a0_0x1981['arDwdh']===undefined){var _0x1dc4ff=function(_0x57ddb6){const _0x480608='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x16f49a='',_0x1f96fb='';for(let _0xaf180d=0x0,_0x1ff477,_0x33a90a,_0x2b81c3=0x0;_0x33a90a=_0x57ddb6['charAt'](_0x2b81c3++);~_0x33a90a&&(_0x1ff477=_0xaf180d%0x4?_0x1ff477*0x40+_0x33a90a:_0x33a90a,_0xaf180d++%0x4)?_0x16f49a+=String['fromCharCode'](0xff&_0x1ff477>>(-0x2*_0xaf180d&0x6)):0x0){_0x33a90a=_0x480608['indexOf'](_0x33a90a);}for(let _0xa02cc8=0x0,_0x353f0b=_0x16f49a['length'];_0xa02cc8<_0x353f0b;_0xa02cc8++){_0x1f96fb+='%'+('00'+_0x16f49a['charCodeAt'](_0xa02cc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f96fb);};a0_0x1981['ouaicw']=_0x1dc4ff,a0_0x1981['KoTSBV']={},a0_0x1981['arDwdh']=!![];}const _0x51a21e=_0x58af7d[0x0],_0x1f0639=_0x10e3d9+_0x51a21e,_0x2c8100=a0_0x1981['KoTSBV'][_0x1f0639];return!_0x2c8100?(_0x19811c=a0_0x1981['ouaicw'](_0x19811c),a0_0x1981['KoTSBV'][_0x1f0639]=_0x19811c):_0x19811c=_0x2c8100,_0x19811c;}class LookupResolver{constructor(){this['lookupCache']=new Map();}[a0_0x3ec41d(0x1c0)](){const _0x4564c1=a0_0x3ec41d,_0x20d402={'eREIM':'lookup_cache_cleared'};this[_0x4564c1(0x1cb)][_0x4564c1(0x1b1)](),logger['debug']({'event':_0x20d402[_0x4564c1(0x1bd)]},_0x4564c1(0x1ae));}async[a0_0x3ec41d(0x1d4)](_0x457754,_0x2c0708,_0x590852){const _0x587f04=a0_0x3ec41d,_0x1b41b4={'OmYDB':function(_0x408111,_0x3362c8){return _0x408111!==_0x3362c8;},'PGLkI':function(_0x73bd3c,_0x17a79a){return _0x73bd3c(_0x17a79a);},'lXOdG':function(_0x254785,_0x2485b5){return _0x254785(_0x2485b5);},'bOFeH':_0x587f04(0x1c5),'pbePc':_0x587f04(0x1b4)},_0x1f7e36=_0x457754+':'+_0x2c0708+':'+_0x590852;if(this['lookupCache'][_0x587f04(0x1d8)](_0x1f7e36))return this['lookupCache']['get'](_0x1f7e36);try{const _0x17908a='SELECT\x20'+_0x590852+',\x20'+_0x2c0708+_0x587f04(0x1af)+_0x457754,_0x11c9cb=await _0x1b41b4[_0x587f04(0x1d6)](executeQuery,_0x17908a),_0x3a87db=new Map();return _0x11c9cb['forEach'](_0x19b610=>{const _0x1f3fc7=_0x587f04,_0x7d9396=_0x1b41b4['OmYDB'](_0x19b610[_0x2c0708],undefined)?_0x19b610[_0x2c0708]:_0x19b610[_0x2c0708[_0x1f3fc7(0x1cc)]()],_0xd2c82a=_0x19b610[_0x590852]!==undefined?_0x19b610[_0x590852]:_0x19b610[_0x590852['toUpperCase']()];_0x7d9396!==null&&_0x1b41b4[_0x1f3fc7(0x1d5)](_0x7d9396,undefined)&&(_0x3a87db[_0x1f3fc7(0x1b7)](_0x1b41b4['PGLkI'](String,_0x7d9396)[_0x1f3fc7(0x1cd)]()['trim'](),_0xd2c82a),_0x3a87db['set'](_0x1b41b4[_0x1f3fc7(0x1b9)](String,_0x7d9396)[_0x1f3fc7(0x1aa)](),_0xd2c82a));}),this['lookupCache'][_0x587f04(0x1b7)](_0x1f7e36,_0x3a87db),logger[_0x587f04(0x1c9)]({'event':_0x1b41b4['bOFeH'],'table':_0x457754,'column':_0x2c0708,'count':_0x11c9cb[_0x587f04(0x1b3)]},'Lookup\x20table\x20loaded:\x20'+_0x457754),_0x3a87db;}catch(_0x184f5e){logger['error']({'event':_0x1b41b4['pbePc'],'table':_0x457754,'error':_0x184f5e[_0x587f04(0x1d0)]},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x457754);throw _0x184f5e;}}['resolveLookupValue'](_0x276670,_0x28ad1c){const _0x184d2f=a0_0x3ec41d,_0x46a391={'xiwAB':function(_0x30be94,_0x2c3ce2){return _0x30be94===_0x2c3ce2;}};if(_0x276670===null||_0x46a391['xiwAB'](_0x276670,undefined)||_0x276670==='')return null;const _0x3d21db=String(_0x276670)[_0x184d2f(0x1aa)]();if(_0x28ad1c['has'](_0x3d21db))return _0x28ad1c['get'](_0x3d21db);const _0x44e388=_0x3d21db['toLowerCase']();if(_0x28ad1c['has'](_0x44e388))return _0x28ad1c[_0x184d2f(0x1ad)](_0x44e388);return null;}async[a0_0x3ec41d(0x1c4)](_0x3f74ae,_0x43fd04){const _0x535bad=a0_0x3ec41d,_0x4d7263={'emhXP':function(_0x43c471,_0x5de5e2){return _0x43c471===_0x5de5e2;},'zdkJP':_0x535bad(0x1bc),'fmAbt':'Lookup\x20fields\x20processed'};if(!_0x43fd04||Object['keys'](_0x43fd04)['length']===0x0)return{'processedRows':_0x3f74ae,'errors':[]};const _0x4d3d75=[],_0x5ca719=new Map();for(const [_0x1191f4,_0x23cbe1]of Object[_0x535bad(0x1cf)](_0x43fd04)){const {lookupTable:_0x10a7c9,lookupColumn:_0x57592f,lookupIdColumn:_0x4aaa96}=_0x23cbe1,_0x5cbeb6=_0x10a7c9+':'+_0x57592f+':'+_0x4aaa96;if(!_0x5ca719[_0x535bad(0x1d8)](_0x5cbeb6)){const _0x4a125a=await this[_0x535bad(0x1d4)](_0x10a7c9,_0x57592f,_0x4aaa96);_0x5ca719['set'](_0x5cbeb6,_0x4a125a);}}const _0x83d0be=_0x3f74ae['map']((_0x47ddbe,_0x1aa53d)=>{const _0x5691a5=_0x535bad,_0x3fd292={..._0x47ddbe};for(const [_0x3e78fe,_0x20cd85]of Object['entries'](_0x43fd04)){const {lookupTable:_0xf76eac,lookupColumn:_0x1d499f,lookupIdColumn:_0x5d5101,targetField:_0x5672ce,required:_0x3d6e75}=_0x20cd85,_0x2dd872=_0xf76eac+':'+_0x1d499f+':'+_0x5d5101,_0x4719da=_0x5ca719['get'](_0x2dd872),_0x1664da=_0x47ddbe[_0x3e78fe];if((_0x4d7263[_0x5691a5(0x1c1)](_0x1664da,null)||_0x1664da===undefined||_0x1664da==='')&&!_0x3d6e75){_0x3fd292[_0x5672ce]=null;continue;}const _0x1e13ef=this[_0x5691a5(0x1d7)](_0x1664da,_0x4719da);_0x1e13ef!==null?_0x3fd292[_0x5672ce]=_0x1e13ef:(_0x3d6e75&&_0x4d3d75[_0x5691a5(0x1b2)]({'rowIndex':_0x1aa53d,'field':_0x3e78fe,'value':_0x1664da,'targetField':_0x5672ce,'lookupTable':_0xf76eac,'message':'Value\x20\x22'+_0x1664da+'\x22\x20not\x20found\x20in\x20'+_0xf76eac}),_0x3fd292[_0x5672ce]=null);}return _0x3fd292;});return logger[_0x535bad(0x1c9)]({'event':_0x4d7263[_0x535bad(0x1d1)],'totalRows':_0x3f74ae[_0x535bad(0x1b3)],'errorCount':_0x4d3d75['length'],'lookupFieldCount':Object['keys'](_0x43fd04)['length']},_0x4d7263['fmAbt']),{'processedRows':_0x83d0be,'errors':_0x4d3d75};}[a0_0x3ec41d(0x1da)](_0x11ec38,_0x5ec5c3){const _0x3ce976=a0_0x3ec41d,_0x566e8a={'GsxcR':function(_0x4f4d35,_0x5b57e0){return _0x4f4d35!==_0x5b57e0;},'CpHlo':function(_0x1f0e48,_0x1ef526){return _0x1f0e48!==_0x1ef526;}},_0x25e64e=new Set();return _0x11ec38[_0x3ce976(0x1b6)](_0x3c24eb=>{const _0x589491=_0x3ce976,_0x1a6045=_0x3c24eb[_0x5ec5c3];_0x566e8a[_0x589491(0x1b0)](_0x1a6045,null)&&_0x566e8a['CpHlo'](_0x1a6045,undefined)&&_0x566e8a[_0x589491(0x1ab)](_0x1a6045,'')&&_0x25e64e[_0x589491(0x1db)](String(_0x1a6045)['trim']());}),Array['from'](_0x25e64e);}async['validateLookupValues'](_0x2dd5cc,_0x37d649){const _0x2b4f65=a0_0x3ec41d,_0x20255f={'MIZAD':function(_0x14caac,_0x441288){return _0x14caac>_0x441288;}};if(!_0x37d649||Object[_0x2b4f65(0x1bb)](_0x37d649)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x3b922f=[],_0x5470ab={};for(const [_0xc16ef1,_0x2e891b]of Object[_0x2b4f65(0x1cf)](_0x37d649)){const {lookupTable:_0x2eec4b,lookupColumn:_0x1c3371,lookupIdColumn:_0x4fbd9c,required:_0x5c05bd}=_0x2e891b,_0x497032=this['getDistinctValues'](_0x2dd5cc,_0xc16ef1),_0x2e3845=await this['loadLookupTable'](_0x2eec4b,_0x1c3371,_0x4fbd9c),_0x30127c=[],_0x1e1bed=[];_0x497032[_0x2b4f65(0x1b6)](_0x2e1f54=>{const _0x251728=_0x2b4f65,_0x198584=this[_0x251728(0x1d7)](_0x2e1f54,_0x2e3845);_0x198584!==null?_0x1e1bed[_0x251728(0x1b2)](_0x2e1f54):_0x30127c[_0x251728(0x1b2)](_0x2e1f54);});if(_0x20255f['MIZAD'](_0x30127c[_0x2b4f65(0x1b3)],0x0)&&_0x5c05bd){_0x3b922f[_0x2b4f65(0x1b2)]({'field':_0xc16ef1,'lookupTable':_0x2eec4b,'invalidValues':_0x30127c,'message':_0x30127c['length']+_0x2b4f65(0x1ba)+_0x2eec4b});const _0x3bb7f9=[];_0x2e3845['forEach']((_0x2f674a,_0x29efa3)=>{if(_0x29efa3===_0x29efa3['toLowerCase']())return;_0x3bb7f9['push'](_0x29efa3);}),_0x5470ab[_0xc16ef1]={'invalidValues':_0x30127c,'availableValues':_0x3bb7f9[_0x2b4f65(0x1c7)](0x0,0x32)};}}return{'valid':_0x3b922f[_0x2b4f65(0x1b3)]===0x0,'errors':_0x3b922f,'suggestions':_0x5470ab};}}module['exports']=new LookupResolver();function a0_0x58af(){const _0x433b33=['r3n4y1i','y2XLyxi','ChvZAa','BgvUz3rO','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','mZG4nZeYn2TVug10sG','zM9YrwfJAa','C2v0','ndeYmJiYDwj0veLO','BfHpzeC','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','A2v5CW','Bg9VA3vWx2zPzwXKC19WCM9JzxnZzwq','zvjfsu0','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','zxHLy3v0zvf1zxj5','y2XLyxjdywnOzq','zw1Owfa','mZe4ANP3zxrS','mty5oda4AeXrtMvU','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9VA3vWx3rHyMXLx2XVywrLza','odK2z2XKv2Lm','C2XPy2u','mtyZndiXm0fbAwzPzG','Aw5MBW','mtK1odyXmgzdA0Tztq','Bg9VA3vWq2fJAgu','Dg9vChbLCKnHC2u','Dg9mB3DLCKnHC2u','zw52','zw50CMLLCW','BwvZC2fNzq','EMrRsLa','B3jHy2XL','rejFvfLqrq','Bg9HzeXVB2T1CfrHyMXL','t21zrei','ueDmA0K','CMvZB2X2zuXVB2T1CfzHBhvL','AgfZ','oeLgEwL6uG','z2v0rgLZDgLUy3rwywX1zxm','ywrK','ndyYyNfoqMLo','Cg9ZDgDYzxnXBa','DhjPBq','q3biBg8','nduXmhforwTKAq','z2v0','tg9VA3vWignHy2HLignSzwfYzwq','iezst00G'];a0_0x58af=function(){return _0x433b33;};return a0_0x58af();}
1
+ const a0_0x37c93b=a0_0x82df;(function(_0xb42e79,_0x431c1d){const _0x1bfd90=a0_0x82df,_0x3e9667=_0xb42e79();while(!![]){try{const _0x260e66=-parseInt(_0x1bfd90(0x134))/0x1*(parseInt(_0x1bfd90(0x12f))/0x2)+parseInt(_0x1bfd90(0x14a))/0x3+-parseInt(_0x1bfd90(0x146))/0x4+parseInt(_0x1bfd90(0x14c))/0x5*(parseInt(_0x1bfd90(0x14f))/0x6)+parseInt(_0x1bfd90(0x140))/0x7+parseInt(_0x1bfd90(0x13f))/0x8+parseInt(_0x1bfd90(0x133))/0x9*(parseInt(_0x1bfd90(0x145))/0xa);if(_0x260e66===_0x431c1d)break;else _0x3e9667['push'](_0x3e9667['shift']());}catch(_0x25349b){_0x3e9667['push'](_0x3e9667['shift']());}}}(a0_0x2b35,0x2daa7));const dbType=(process[a0_0x37c93b(0x132)]['DB_TYPE']||a0_0x37c93b(0x12e))[a0_0x37c93b(0x151)]();let executeQuery;if(dbType==='oracle'){const oracleDb=require(a0_0x37c93b(0x13e));executeQuery=(_0x110ce8,_0x236e3f)=>oracleDb[a0_0x37c93b(0x138)](_0x110ce8,_0x236e3f);}else{if(dbType===a0_0x37c93b(0x152)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x354a46,_0x489366)=>mysqlDb[a0_0x37c93b(0x138)](_0x354a46,_0x489366);}else executeQuery=require('../../core/utils/db')[a0_0x37c93b(0x138)];}const {logger}=require('../../core/utils/logger');class LookupResolver{constructor(){const _0x34ce98=a0_0x37c93b;this[_0x34ce98(0x153)]=new Map();}['clearCache'](){const _0x1dbf07=a0_0x37c93b;this[_0x1dbf07(0x153)]['clear'](),logger['debug']({'event':'lookup_cache_cleared'},'Lookup\x20cache\x20cleared');}async[a0_0x37c93b(0x143)](_0x6d390c,_0x100500,_0x5379a5){const _0xdd6bfb=a0_0x37c93b,_0x23dbcb={'glplB':function(_0x485e2e,_0x3293d9){return _0x485e2e!==_0x3293d9;},'pGVYg':function(_0x2da6da,_0x53bcab){return _0x2da6da!==_0x53bcab;},'ThjhS':function(_0x1accc6,_0x45d4f7){return _0x1accc6(_0x45d4f7);},'XXjpR':_0xdd6bfb(0x136)},_0x2ec51c=_0x6d390c+':'+_0x100500+':'+_0x5379a5;if(this[_0xdd6bfb(0x153)]['has'](_0x2ec51c))return this[_0xdd6bfb(0x153)]['get'](_0x2ec51c);try{const _0x2e6c6c='SELECT\x20'+_0x5379a5+',\x20'+_0x100500+_0xdd6bfb(0x12c)+_0x6d390c,_0x565f98=await executeQuery(_0x2e6c6c),_0x3b1700=new Map();return _0x565f98['forEach'](_0xf0b4bf=>{const _0x12ca3b=_0xdd6bfb,_0x4a949b=_0xf0b4bf[_0x100500]!==undefined?_0xf0b4bf[_0x100500]:_0xf0b4bf[_0x100500[_0x12ca3b(0x148)]()],_0x58068f=_0x23dbcb[_0x12ca3b(0x14b)](_0xf0b4bf[_0x5379a5],undefined)?_0xf0b4bf[_0x5379a5]:_0xf0b4bf[_0x5379a5[_0x12ca3b(0x148)]()];_0x23dbcb['pGVYg'](_0x4a949b,null)&&_0x4a949b!==undefined&&(_0x3b1700['set'](String(_0x4a949b)[_0x12ca3b(0x151)]()['trim'](),_0x58068f),_0x3b1700[_0x12ca3b(0x139)](_0x23dbcb[_0x12ca3b(0x130)](String,_0x4a949b)[_0x12ca3b(0x135)](),_0x58068f));}),this[_0xdd6bfb(0x153)]['set'](_0x2ec51c,_0x3b1700),logger[_0xdd6bfb(0x14d)]({'event':_0x23dbcb[_0xdd6bfb(0x131)],'table':_0x6d390c,'column':_0x100500,'count':_0x565f98['length']},'Lookup\x20table\x20loaded:\x20'+_0x6d390c),_0x3b1700;}catch(_0x3bfa4e){logger[_0xdd6bfb(0x149)]({'event':_0xdd6bfb(0x155),'table':_0x6d390c,'error':_0x3bfa4e['message']},_0xdd6bfb(0x147)+_0x6d390c);throw _0x3bfa4e;}}[a0_0x37c93b(0x12d)](_0x5863c4,_0x53cf37){const _0xd7fc5e=a0_0x37c93b,_0x8cbd6b={'RTaML':function(_0x48b377,_0x577a40){return _0x48b377===_0x577a40;},'BjOkv':function(_0x3fe8b8,_0x4a0905){return _0x3fe8b8===_0x4a0905;}};if(_0x8cbd6b[_0xd7fc5e(0x144)](_0x5863c4,null)||_0x8cbd6b['BjOkv'](_0x5863c4,undefined)||_0x5863c4==='')return null;const _0x3c1506=String(_0x5863c4)[_0xd7fc5e(0x135)]();if(_0x53cf37['has'](_0x3c1506))return _0x53cf37['get'](_0x3c1506);const _0x19a499=_0x3c1506[_0xd7fc5e(0x151)]();if(_0x53cf37[_0xd7fc5e(0x142)](_0x19a499))return _0x53cf37[_0xd7fc5e(0x156)](_0x19a499);return null;}async['processLookupFields'](_0x57254c,_0x2822bf){const _0x2215c3=a0_0x37c93b,_0x8064c2={'GUVYj':function(_0x55d501,_0x235ad6){return _0x55d501===_0x235ad6;},'kqKNO':function(_0x4bb883,_0x39cacb){return _0x4bb883!==_0x39cacb;}};if(!_0x2822bf||Object[_0x2215c3(0x13b)](_0x2822bf)['length']===0x0)return{'processedRows':_0x57254c,'errors':[]};const _0x46f1a3=[],_0x375f2b=new Map();for(const [_0x2b59e3,_0x16ae95]of Object['entries'](_0x2822bf)){const {lookupTable:_0x5f2ca3,lookupColumn:_0x2c99bb,lookupIdColumn:_0x12363d}=_0x16ae95,_0x128aa2=_0x5f2ca3+':'+_0x2c99bb+':'+_0x12363d;if(!_0x375f2b['has'](_0x128aa2)){const _0x2f0ca4=await this['loadLookupTable'](_0x5f2ca3,_0x2c99bb,_0x12363d);_0x375f2b[_0x2215c3(0x139)](_0x128aa2,_0x2f0ca4);}}const _0x22abcc=_0x57254c['map']((_0x1773fb,_0x5e5c8a)=>{const _0x3b68a1=_0x2215c3,_0x2b0935={..._0x1773fb};for(const [_0x13a0e2,_0x14bcc1]of Object[_0x3b68a1(0x157)](_0x2822bf)){const {lookupTable:_0x43b154,lookupColumn:_0x3e8c30,lookupIdColumn:_0x2d1d8c,targetField:_0x271eef,required:_0x8081ed}=_0x14bcc1,_0x554bdc=_0x43b154+':'+_0x3e8c30+':'+_0x2d1d8c,_0x8f0161=_0x375f2b[_0x3b68a1(0x156)](_0x554bdc),_0x3f5d62=_0x1773fb[_0x13a0e2];if((_0x8064c2['GUVYj'](_0x3f5d62,null)||_0x3f5d62===undefined||_0x3f5d62==='')&&!_0x8081ed){_0x2b0935[_0x271eef]=null;continue;}const _0x283436=this[_0x3b68a1(0x12d)](_0x3f5d62,_0x8f0161);_0x8064c2['kqKNO'](_0x283436,null)?_0x2b0935[_0x271eef]=_0x283436:(_0x8081ed&&_0x46f1a3[_0x3b68a1(0x13a)]({'rowIndex':_0x5e5c8a,'field':_0x13a0e2,'value':_0x3f5d62,'targetField':_0x271eef,'lookupTable':_0x43b154,'message':'Value\x20\x22'+_0x3f5d62+_0x3b68a1(0x14e)+_0x43b154}),_0x2b0935[_0x271eef]=null);}return _0x2b0935;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x57254c[_0x2215c3(0x137)],'errorCount':_0x46f1a3[_0x2215c3(0x137)],'lookupFieldCount':Object['keys'](_0x2822bf)[_0x2215c3(0x137)]},'Lookup\x20fields\x20processed'),{'processedRows':_0x22abcc,'errors':_0x46f1a3};}['getDistinctValues'](_0x4b0c56,_0x4fa618){const _0x338b6b=a0_0x37c93b,_0x21e405={'ySrSb':function(_0x35d255,_0x194148){return _0x35d255!==_0x194148;}},_0x431f87=new Set();return _0x4b0c56['forEach'](_0x2fc071=>{const _0x4c62cf=a0_0x82df,_0x1a5e58=_0x2fc071[_0x4fa618];_0x21e405['ySrSb'](_0x1a5e58,null)&&_0x1a5e58!==undefined&&_0x1a5e58!==''&&_0x431f87[_0x4c62cf(0x150)](String(_0x1a5e58)[_0x4c62cf(0x135)]());}),Array[_0x338b6b(0x13c)](_0x431f87);}async[a0_0x37c93b(0x13d)](_0x5ca286,_0x25e0b3){const _0x3ed097=a0_0x37c93b,_0xd25151={'ntcNq':function(_0x204473,_0x4dc3d6){return _0x204473!==_0x4dc3d6;},'seRYN':function(_0x5146fc,_0x3fe27b){return _0x5146fc>_0x3fe27b;},'ncPPB':function(_0x2d80b5,_0x42e7aa){return _0x2d80b5===_0x42e7aa;}};if(!_0x25e0b3||Object['keys'](_0x25e0b3)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x13c81b=[],_0x9e0fbf={};for(const [_0x37952a,_0x435596]of Object[_0x3ed097(0x157)](_0x25e0b3)){const {lookupTable:_0x46fc82,lookupColumn:_0x33a01a,lookupIdColumn:_0x3c466f,required:_0x386534}=_0x435596,_0x39a8d2=this['getDistinctValues'](_0x5ca286,_0x37952a),_0x286530=await this['loadLookupTable'](_0x46fc82,_0x33a01a,_0x3c466f),_0x323073=[],_0x338f2f=[];_0x39a8d2['forEach'](_0x4758d8=>{const _0x4fe27f=_0x3ed097,_0x1f2d9f=this['resolveLookupValue'](_0x4758d8,_0x286530);_0xd25151[_0x4fe27f(0x141)](_0x1f2d9f,null)?_0x338f2f['push'](_0x4758d8):_0x323073[_0x4fe27f(0x13a)](_0x4758d8);});if(_0xd25151['seRYN'](_0x323073['length'],0x0)&&_0x386534){_0x13c81b[_0x3ed097(0x13a)]({'field':_0x37952a,'lookupTable':_0x46fc82,'invalidValues':_0x323073,'message':_0x323073[_0x3ed097(0x137)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x46fc82});const _0x4d1906=[];_0x286530['forEach']((_0x9e2ca1,_0x16b725)=>{if(_0x16b725===_0x16b725['toLowerCase']())return;_0x4d1906['push'](_0x16b725);}),_0x9e0fbf[_0x37952a]={'invalidValues':_0x323073,'availableValues':_0x4d1906[_0x3ed097(0x154)](0x0,0x32)};}}return{'valid':_0xd25151[_0x3ed097(0x12b)](_0x13c81b[_0x3ed097(0x137)],0x0),'errors':_0x13c81b,'suggestions':_0x9e0fbf};}}function a0_0x2b35(){const _0x3d438=['C2v0','ChvZAa','A2v5CW','zNjVBq','DMfSAwrHDgvmB29RDxbwywX1zxm','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','odyXodaWsejfEvvi','mtG2mZKXmvjMwxzpCq','BNrJtNe','AgfZ','Bg9HzeXVB2T1CfrHyMXL','uLrHtuW','mtbrDvPms2q','mte1odu3mM9ez1jVEa','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','Dg9vChbLCKnHC2u','zxjYB3i','mZyWnte2ue9Jy2T6','z2XWBei','mJiZmtG1swfmzufS','Aw5MBW','iIbUB3qGzM91BMqGAw4G','mZb0tLv3D28','ywrK','Dg9mB3DLCKnHC2u','BxLZCwW','Bg9VA3vWq2fJAgu','C2XPy2u','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','z2v0','zw50CMLLCW','BMnquei','iezst00G','CMvZB2X2zuXVB2T1CfzHBhvL','Cg9ZDgDYzxnXBa','nJjRvvbVtNi','vgHQAfm','wfHQCfi','zw52','mta3nJi3ngHQvwDNsW','mte2mJfLBxPfB3i','DhjPBq','Bg9VA3vWx3rHyMXLx2XVywrLza','BgvUz3rO','zxHLy3v0zvf1zxj5'];a0_0x2b35=function(){return _0x3d438;};return a0_0x2b35();}function a0_0x82df(_0x445f46,_0x29fc48){_0x445f46=_0x445f46-0x12b;const _0x2b355=a0_0x2b35();let _0x82df8b=_0x2b355[_0x445f46];if(a0_0x82df['pasCmr']===undefined){var _0x225089=function(_0x3f6294){const _0x444ab7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59b398='',_0x492efd='';for(let _0x1cddf9=0x0,_0x37fbe8,_0x584ec8,_0x2262e4=0x0;_0x584ec8=_0x3f6294['charAt'](_0x2262e4++);~_0x584ec8&&(_0x37fbe8=_0x1cddf9%0x4?_0x37fbe8*0x40+_0x584ec8:_0x584ec8,_0x1cddf9++%0x4)?_0x59b398+=String['fromCharCode'](0xff&_0x37fbe8>>(-0x2*_0x1cddf9&0x6)):0x0){_0x584ec8=_0x444ab7['indexOf'](_0x584ec8);}for(let _0x27be7c=0x0,_0x3ba134=_0x59b398['length'];_0x27be7c<_0x3ba134;_0x27be7c++){_0x492efd+='%'+('00'+_0x59b398['charCodeAt'](_0x27be7c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x492efd);};a0_0x82df['ymASjd']=_0x225089,a0_0x82df['BnYCCA']={},a0_0x82df['pasCmr']=!![];}const _0x5865a7=_0x2b355[0x0],_0x2e0b6f=_0x445f46+_0x5865a7,_0x4e6455=a0_0x82df['BnYCCA'][_0x2e0b6f];return!_0x4e6455?(_0x82df8b=a0_0x82df['ymASjd'](_0x82df8b),a0_0x82df['BnYCCA'][_0x2e0b6f]=_0x82df8b):_0x82df8b=_0x4e6455,_0x82df8b;}module['exports']=new LookupResolver();
@@ -1 +1 @@
1
- 'use strict';const a0_0x504a7e=a0_0x3675;(function(_0x49da14,_0x169659){const _0x2a7a1a=a0_0x3675,_0x301843=_0x49da14();while(!![]){try{const _0x4e1113=parseInt(_0x2a7a1a(0x1ce))/0x1+parseInt(_0x2a7a1a(0x1c1))/0x2+-parseInt(_0x2a7a1a(0x1c2))/0x3*(parseInt(_0x2a7a1a(0x1c6))/0x4)+parseInt(_0x2a7a1a(0x1cd))/0x5*(parseInt(_0x2a7a1a(0x1fa))/0x6)+parseInt(_0x2a7a1a(0x1e9))/0x7*(parseInt(_0x2a7a1a(0x1fe))/0x8)+-parseInt(_0x2a7a1a(0x1c3))/0x9*(parseInt(_0x2a7a1a(0x1d1))/0xa)+-parseInt(_0x2a7a1a(0x1ea))/0xb;if(_0x4e1113===_0x169659)break;else _0x301843['push'](_0x301843['shift']());}catch(_0x18ba72){_0x301843['push'](_0x301843['shift']());}}}(a0_0x1784,0xec16e));function a0_0x3675(_0x18b79f,_0xec2fbc){_0x18b79f=_0x18b79f-0x1c1;const _0x178477=a0_0x1784();let _0x367525=_0x178477[_0x18b79f];if(a0_0x3675['MfdtCh']===undefined){var _0x4cdca6=function(_0x4e46a7){const _0x53389c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43c0ae='',_0x18a3e0='';for(let _0x4a991f=0x0,_0x102bb3,_0x13a9a5,_0x3c71a8=0x0;_0x13a9a5=_0x4e46a7['charAt'](_0x3c71a8++);~_0x13a9a5&&(_0x102bb3=_0x4a991f%0x4?_0x102bb3*0x40+_0x13a9a5:_0x13a9a5,_0x4a991f++%0x4)?_0x43c0ae+=String['fromCharCode'](0xff&_0x102bb3>>(-0x2*_0x4a991f&0x6)):0x0){_0x13a9a5=_0x53389c['indexOf'](_0x13a9a5);}for(let _0x1259e8=0x0,_0x3f6b3d=_0x43c0ae['length'];_0x1259e8<_0x3f6b3d;_0x1259e8++){_0x18a3e0+='%'+('00'+_0x43c0ae['charCodeAt'](_0x1259e8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x18a3e0);};a0_0x3675['ZkZmuK']=_0x4cdca6,a0_0x3675['AwkySI']={},a0_0x3675['MfdtCh']=!![];}const _0x3353b4=_0x178477[0x0],_0x318271=_0x18b79f+_0x3353b4,_0x4c3e53=a0_0x3675['AwkySI'][_0x318271];return!_0x4c3e53?(_0x367525=a0_0x3675['ZkZmuK'](_0x367525),a0_0x3675['AwkySI'][_0x318271]=_0x367525):_0x367525=_0x4c3e53,_0x367525;}const multer=require('multer'),path=require(a0_0x504a7e(0x1fc)),crypto=require('crypto'),fs=require('fs')[a0_0x504a7e(0x1cb)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){this['_tempDir']=null;}get['tempDir'](){const _0xb5caf8=a0_0x504a7e,_0x3eec23={'fOkCM':'default','RHGEi':_0xb5caf8(0x1dd)};if(!this[_0xb5caf8(0x1c8)]){const _0xdb0516=process['env']['RESTFORGE_PROJECT_NAME']||_0x3eec23[_0xb5caf8(0x1d7)];this['_tempDir']=process['env']['UPLOAD_TEMP_DIR']||path[_0xb5caf8(0x1f2)](process[_0xb5caf8(0x1d0)](),_0x3eec23[_0xb5caf8(0x1f0)],'uploads',_0xdb0516),!fsSync[_0xb5caf8(0x1f3)](this[_0xb5caf8(0x1c8)])&&fsSync[_0xb5caf8(0x1cc)](this['_tempDir'],{'recursive':!![]});}return this['_tempDir'];}[a0_0x504a7e(0x1e2)](_0x36b742={}){const _0x363306=a0_0x504a7e,_0x182bfe={'dtfUR':function(_0x5ea033,_0x39f9c1,_0x1cb230){return _0x5ea033(_0x39f9c1,_0x1cb230);},'bWRET':function(_0x41625a,_0x18b798,_0x324061){return _0x41625a(_0x18b798,_0x324061);},'CKVun':function(_0x453496,_0x128dd4,_0x57a238){return _0x453496(_0x128dd4,_0x57a238);},'GhDrM':function(_0x3ff95e,_0x445c1b){return _0x3ff95e(_0x445c1b);},'ugARN':function(_0x1da995,_0x246c08){return _0x1da995(_0x246c08);}},_0x3f8f92=_0x36b742[_0x363306(0x1ef)]||0x5,_0x30d0a5=this[_0x363306(0x1e0)](_0x36b742[_0x363306(0x1dc)]||_0x363306(0x1e4)),_0x169bdc=_0x36b742[_0x363306(0x1f9)]||[],_0x5e78a1=multer['diskStorage']({'destination':(_0x436744,_0x80bc61,_0x3c4ecd)=>{const _0x34b4c1=_0x363306;!fsSync[_0x34b4c1(0x1f3)](this[_0x34b4c1(0x1ed)])&&fsSync['mkdirSync'](this['tempDir'],{'recursive':!![]}),_0x182bfe['dtfUR'](_0x3c4ecd,null,this[_0x34b4c1(0x1ed)]);},'filename':(_0x5b14a6,_0x583df3,_0x22d90e)=>{const _0x232fd8=_0x363306,_0x5a4ee0=crypto['randomBytes'](0x8)[_0x232fd8(0x1c7)](_0x232fd8(0x1f5)),_0x4b2b3b=Date['now'](),_0x305c17=path[_0x232fd8(0x1df)](_0x583df3[_0x232fd8(0x1d3)]);_0x182bfe[_0x232fd8(0x1d2)](_0x22d90e,null,'upload-'+_0x4b2b3b+'-'+_0x5a4ee0+_0x305c17);}}),_0x5b4667=(_0x54f38d,_0x47561d,_0x590cb4)=>{const _0x32b6ee=_0x363306;if(_0x169bdc[_0x32b6ee(0x1d4)]===0x0)return _0x590cb4(null,!![]);const _0x353b28=path['extname'](_0x47561d[_0x32b6ee(0x1d3)])['toLowerCase']()['replace']('.','');_0x169bdc[_0x32b6ee(0x1db)](_0x353b28)?_0x182bfe[_0x32b6ee(0x1f6)](_0x590cb4,null,!![]):_0x182bfe[_0x32b6ee(0x1e7)](_0x590cb4,new Error(_0x32b6ee(0x1e8)+_0x353b28+_0x32b6ee(0x1f4)+_0x169bdc['join'](',\x20')));};return _0x182bfe[_0x363306(0x1de)](multer,{'storage':_0x5e78a1,'limits':{'fileSize':_0x30d0a5,'files':_0x3f8f92},'fileFilter':_0x5b4667})['array']('files',_0x3f8f92);}async[a0_0x504a7e(0x1e1)](_0x5333a3,_0x137d3d,_0x1f7d40={}){const _0x2afe78=a0_0x504a7e,_0x46c8ce={'TSEgd':function(_0x41d04e,_0xbff448){return _0x41d04e(_0xbff448);},'tazxP':'../storage/file-metadata-helper'},{createFileMetadata:_0xd0393b}=_0x46c8ce['TSEgd'](require,_0x46c8ce['tazxP']),_0x18236c=[];for(const _0x3e468e of _0x5333a3){try{const _0x3561a6=_0x137d3d[_0x2afe78(0x1d8)](_0x3e468e['originalname'],{'prefix':_0x1f7d40[_0x2afe78(0x1f1)]||'','project':_0x1f7d40[_0x2afe78(0x1cf)]||'','module':_0x1f7d40[_0x2afe78(0x1f7)]||'','endpoint':_0x1f7d40['endpoint']||''}),_0x121a77=fsSync[_0x2afe78(0x1da)](_0x3e468e[_0x2afe78(0x1fc)]),_0x4a7773=await _0x137d3d['upload'](_0x121a77,_0x3561a6,{'contentType':_0x3e468e['mimetype'],'fileSize':_0x3e468e[_0x2afe78(0x1eb)]}),_0x3ac20c=_0xd0393b({'key':_0x4a7773['key'],'originalName':_0x3e468e[_0x2afe78(0x1d3)],'fileName':path[_0x2afe78(0x1fd)](_0x3561a6),'contentType':_0x3e468e['mimetype'],'size':_0x3e468e[_0x2afe78(0x1eb)],'url':_0x4a7773[_0x2afe78(0x1d5)],'provider':_0x137d3d[_0x2afe78(0x1ee)],'bucket':_0x137d3d['bucket']||null,'uploadedBy':_0x1f7d40['uploadedBy']||null});_0x18236c['push'](_0x3ac20c);}catch(_0xa4fcf1){logger['error']({'event':_0x2afe78(0x1ca),'file':_0x3e468e['originalname'],'error':_0xa4fcf1[_0x2afe78(0x1c9)]},_0x2afe78(0x1c4)+_0x3e468e[_0x2afe78(0x1d3)]);throw _0xa4fcf1;}finally{await this['_deleteTempFile'](_0x3e468e['path']);}}return _0x18236c;}async[a0_0x504a7e(0x1e3)](_0x25a3d1){const _0x5c3c10=a0_0x504a7e,_0xa3a79c={'foAaw':'upload_v2_temp_delete_warn','kJYBp':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0x25a3d1);}catch(_0x38f453){logger['warn']({'event':_0xa3a79c[_0x5c3c10(0x1d9)],'filePath':_0x25a3d1,'error':_0x38f453['message']},_0xa3a79c[_0x5c3c10(0x1e5)]);}}[a0_0x504a7e(0x1e0)](_0x4ddb5a){const _0x1164c7=a0_0x504a7e,_0x27996f={'sWneI':'number','PgywH':function(_0x66476b,_0x509f3b){return _0x66476b*_0x509f3b;},'yzPWf':function(_0x3350c2,_0x450450){return _0x3350c2*_0x450450;}};if(typeof _0x4ddb5a===_0x27996f[_0x1164c7(0x1c5)])return _0x4ddb5a;const _0x261b28=String(_0x4ddb5a)[_0x1164c7(0x1d6)]()[_0x1164c7(0x1f8)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x261b28)return _0x27996f['PgywH'](_0x27996f[_0x1164c7(0x1e6)](0xa,0x400),0x400);const _0x58a660=parseFloat(_0x261b28[0x1]),_0x4fad4d=_0x261b28[0x2][_0x1164c7(0x1fb)](),_0x56466d={'B':0x1,'KB':0x400,'MB':0x400*0x400,'GB':_0x27996f[_0x1164c7(0x1e6)](_0x27996f['yzPWf'](0x400,0x400),0x400)};return Math[_0x1164c7(0x1ec)](_0x58a660*(_0x56466d[_0x4fad4d]||0x1));}}function a0_0x1784(){const _0x762d57=['Bw9KDwXL','Bwf0y2G','ywXSB3DLzfr5CgvZ','ndu2yK95vMrM','Dg9vChbLCKnHC2u','Cgf0Aa','yMfZzw5HBwu','nJG0nJe1mNH3EK1HCW','mJe0nty1mMrKwLDZsq','mtG5zwTLzgTL','ntu4mda5vefkuhj6','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fKzwqGzMLSztOG','C1DUzuK','odK5nJrNEwj6B1K','Dg9tDhjPBMC','x3rLBxbeAxi','BwvZC2fNzq','DxbSB2fKx3yYx3bYB2nLC3nFzxjYB3i','ChjVBwLZzxm','BwTKAxjtEw5J','nZGXmJveweLYCMu','mte5mZy1oxnHEfHHqq','ChjVAMvJDa','y3DK','mJyWsuDoCvPv','yLDsrvq','B3jPz2LUywXUyw1L','BgvUz3rO','DxjS','DhjPBq','zK9Rq00','z2vUzxjHDgvlzxK','zM9byxC','y3jLyxrLuMvHzfn0CMvHBq','Aw5JBhvKzxm','Bwf4rMLSzvnPEMu','DgvTCa','DwDbuK4','zxH0BMfTzq','x3bHCNnLrMLSzvnPEMu','ChjVy2vZC1vWBg9HzgvKrMLSzxm','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','x2rLBgv0zvrLBxbgAwXL','mtbnqG','A0PzqNa','ugD5D0G','r2HeCK0','rMLSzsb0ExbLiciU','mtrIEfrLt2W','mti4nJq5nJjdu3fmr3e','C2L6zq','zMXVB3i','DgvTCerPCG','ChjVDMLKzxjoyw1L','Bwf4rMLSzxm','uKHhrwK','ChjLzML4','AM9PBG','zxHPC3rZu3LUyW','iIbPCYbUB3qGywXSB3DLzc4GqwXSB3DLzcb0ExbLCZOG','Agv4','q0TwDw4'];a0_0x1784=function(){return _0x762d57;};return a0_0x1784();}module['exports']=new UploadHandlerV2();
1
+ 'use strict';function a0_0x5950(){const _0x4cbdf3=['ntqZodm3zgPtBvfi','DxjS','ChjVAMvJDa','EKLgq1K','x3bHCNnLrMLSzvnPEMu','ChjVy2vZC1vWBg9HzgvKrMLSzxm','r0vzq08','A0L5ufi','y3j5ChrV','zxjYB3i','DwfXs3i','ndi4mJG0mgTTtwj4uG','BxvSDgvY','A2v5','BwLTzxr5Cgu','qvvQCe4','Agv4','EMTWtwG','zxH0BMfTzq','ChjVBwLZzxm','x3rLBxbeAxi','A1nvCMi','DxbSB2fKCW','B3jPz2LUywXUyw1L','DhjPBq','zw52','otG3mJzor2T5BKK','Cgf0Aa','y3jLyxrLvxbSB2fKtwLKzgXLD2fYzq','Bhz1qxu','DgvTCerPCG','qKvpuK0','Bwf0y2G','mZe4nJy2mfDcyvfyAq','zgvMyxvSDa','BwTKAxjtEw5J','ndm3ndnbueX5zhu','ywXSB3DLzfr5CgvZ','mta5nJCWnJrQq3LQv1i','zxHPC3rZu3LUyW','zw5KCg9PBNq','yMzsvgi','y3jLyxrLuMvHzfn0CMvHBq','D2fYBG','mZC4wwfovKDn','nti5ndq0CeDNDM9d','BNvTyMvY','Dg9tDhjPBMC','C2L6zq','DxbSB2fK','DwvKDhm','lI4VC3rVCMfNzs9MAwXLlw1LDgfKyxrHlwHLBhbLCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','wuvpzeW','vvbmt0fex1rftvbFreLs'];a0_0x5950=function(){return _0x4cbdf3;};return a0_0x5950();}const a0_0x2fda0d=a0_0x5a66;(function(_0x49cf8b,_0xe0becc){const _0x455d74=a0_0x5a66,_0xc9fd72=_0x49cf8b();while(!![]){try{const _0x377f7f=-parseInt(_0x455d74(0x1e7))/0x1+-parseInt(_0x455d74(0x1fa))/0x2+-parseInt(_0x455d74(0x204))/0x3+-parseInt(_0x455d74(0x1ee))/0x4+parseInt(_0x455d74(0x20f))/0x5+parseInt(_0x455d74(0x1f9))/0x6*(-parseInt(_0x455d74(0x1f1))/0x7)+parseInt(_0x455d74(0x1f3))/0x8;if(_0x377f7f===_0xe0becc)break;else _0xc9fd72['push'](_0xc9fd72['shift']());}catch(_0x41ce16){_0xc9fd72['push'](_0xc9fd72['shift']());}}}(a0_0x5950,0x78354));const multer=require(a0_0x2fda0d(0x210)),path=require(a0_0x2fda0d(0x1e8)),crypto=require(a0_0x2fda0d(0x20c)),fs=require('fs')[a0_0x2fda0d(0x217)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandlerV2{constructor(){const _0x523ffc=a0_0x2fda0d;this[_0x523ffc(0x218)]=null;}get[a0_0x2fda0d(0x1eb)](){const _0x2018e1=a0_0x2fda0d,_0x5d0cea={'kSUrb':_0x2018e1(0x1ef),'GEYCO':_0x2018e1(0x1e3)};if(!this['_tempDir']){const _0x171a98=process['env'][_0x2018e1(0x201)]||_0x5d0cea[_0x2018e1(0x1e2)];this[_0x2018e1(0x218)]=process[_0x2018e1(0x1e6)][_0x2018e1(0x203)]||path['join'](process['cwd'](),'temp',_0x5d0cea[_0x2018e1(0x20a)],_0x171a98),!fsSync[_0x2018e1(0x1f4)](this[_0x2018e1(0x218)])&&fsSync[_0x2018e1(0x1f0)](this[_0x2018e1(0x218)],{'recursive':!![]});}return this[_0x2018e1(0x218)];}[a0_0x2fda0d(0x1e9)](_0x899c8b={}){const _0x5c6f06=a0_0x2fda0d,_0x3739aa={'uedts':function(_0x31b50c,_0x19b237,_0x132591){return _0x31b50c(_0x19b237,_0x132591);},'KwizQ':_0x5c6f06(0x214),'nJKAN':'10MB','lvuAu':function(_0x26a020,_0x22b839){return _0x26a020(_0x22b839);},'AUjpN':'files'},_0x132d78=_0x899c8b['maxFiles']||0x5,_0x38e693=this[_0x5c6f06(0x208)](_0x899c8b['maxFileSize']||_0x3739aa['nJKAN']),_0x4192e0=_0x899c8b[_0x5c6f06(0x1f2)]||[],_0x310066=multer['diskStorage']({'destination':(_0x3c47fd,_0x2a6097,_0x3f95ad)=>{const _0x5bae7c=_0x5c6f06;!fsSync['existsSync'](this[_0x5bae7c(0x1eb)])&&fsSync[_0x5bae7c(0x1f0)](this[_0x5bae7c(0x1eb)],{'recursive':!![]}),_0x3739aa['uedts'](_0x3f95ad,null,this['tempDir']);},'filename':(_0x1cfe2a,_0x3735cb,_0x46d9e9)=>{const _0x143e32=_0x5c6f06,_0x4586b0=crypto['randomBytes'](0x8)[_0x143e32(0x1fc)](_0x3739aa['KwizQ']),_0x38e8af=Date['now'](),_0x25f79d=path[_0x143e32(0x216)](_0x3735cb[_0x143e32(0x1e4)]);_0x46d9e9(null,'upload-'+_0x38e8af+'-'+_0x4586b0+_0x25f79d);}}),_0x3195e6=(_0x51fda1,_0x592253,_0x23437a)=>{const _0xaef0d4=_0x5c6f06;if(_0x4192e0['length']===0x0)return _0x3739aa[_0xaef0d4(0x1ff)](_0x23437a,null,!![]);const _0x16b77b=path[_0xaef0d4(0x216)](_0x592253[_0xaef0d4(0x1e4)])['toLowerCase']()['replace']('.','');_0x4192e0['includes'](_0x16b77b)?_0x3739aa[_0xaef0d4(0x1ff)](_0x23437a,null,!![]):_0x23437a(new Error('File\x20type\x20\x22.'+_0x16b77b+'\x22\x20is\x20not\x20allowed.\x20Allowed\x20types:\x20'+_0x4192e0['join'](',\x20')));};return _0x3739aa[_0x5c6f06(0x1ea)](multer,{'storage':_0x310066,'limits':{'fileSize':_0x38e693,'files':_0x132d78},'fileFilter':_0x3195e6})['array'](_0x3739aa[_0x5c6f06(0x213)],_0x132d78);}async[a0_0x2fda0d(0x209)](_0x45b0b1,_0x198099,_0x34aa12={}){const _0xfd657b=a0_0x2fda0d,_0x44d8ca={'BEORM':function(_0xbf7608,_0x478261){return _0xbf7608(_0x478261);},'YEOdL':_0xfd657b(0x200),'bfRTb':function(_0x5bab9b,_0x4bb676){return _0x5bab9b(_0x4bb676);},'JlWfw':'upload_v2_process_error'},{createFileMetadata:_0x2659a8}=_0x44d8ca[_0xfd657b(0x1ec)](require,_0x44d8ca[_0xfd657b(0x202)]),_0x25597c=[];for(const _0x459555 of _0x45b0b1){try{const _0x23d8a8=_0x198099['generateKey'](_0x459555['originalname'],{'prefix':_0x34aa12['prefix']||'','project':_0x34aa12[_0xfd657b(0x206)]||'','module':_0x34aa12['module']||'','endpoint':_0x34aa12[_0xfd657b(0x1f5)]||''}),_0x28f7fc=fsSync[_0xfd657b(0x1f7)](_0x459555[_0xfd657b(0x1e8)]),_0x48c530=await _0x198099[_0xfd657b(0x1fe)](_0x28f7fc,_0x23d8a8,{'contentType':_0x459555[_0xfd657b(0x212)],'fileSize':_0x459555[_0xfd657b(0x1fd)]}),_0x2e8143=_0x44d8ca[_0xfd657b(0x1f6)](_0x2659a8,{'key':_0x48c530[_0xfd657b(0x211)],'originalName':_0x459555['originalname'],'fileName':path['basename'](_0x23d8a8),'contentType':_0x459555[_0xfd657b(0x212)],'size':_0x459555['size'],'url':_0x48c530[_0xfd657b(0x205)],'provider':_0x198099['providerName'],'bucket':_0x198099['bucket']||null,'uploadedBy':_0x34aa12['uploadedBy']||null});_0x25597c['push'](_0x2e8143);}catch(_0x2e0183){logger[_0xfd657b(0x20d)]({'event':_0x44d8ca['JlWfw'],'file':_0x459555[_0xfd657b(0x1e4)],'error':_0x2e0183['message']},'Failed\x20to\x20process\x20uploaded\x20file:\x20'+_0x459555['originalname']);throw _0x2e0183;}finally{await this['_deleteTempFile'](_0x459555[_0xfd657b(0x1e8)]);}}return _0x25597c;}async['_deleteTempFile'](_0x3d3c77){const _0x3558fe=a0_0x2fda0d,_0x312e78={'uaqKr':'upload_v2_temp_delete_warn','zkpMh':'Failed\x20to\x20delete\x20temp\x20file'};try{await fs['unlink'](_0x3d3c77);}catch(_0xf1b048){logger[_0x3558fe(0x1f8)]({'event':_0x312e78[_0x3558fe(0x20e)],'filePath':_0x3d3c77,'error':_0xf1b048['message']},_0x312e78[_0x3558fe(0x215)]);}}['_parseFileSize'](_0x1b8c52){const _0x452194=a0_0x2fda0d,_0x129cf1={'dnnBo':function(_0x537f02,_0xc32692){return _0x537f02(_0xc32692);},'kIyPR':function(_0x825b31,_0x42b902){return _0x825b31*_0x42b902;},'kxCEv':function(_0x583a36,_0x2f058e){return _0x583a36*_0x2f058e;},'zIFCY':function(_0x302544,_0x3dca1a){return _0x302544*_0x3dca1a;}};if(typeof _0x1b8c52===_0x452194(0x1fb))return _0x1b8c52;const _0x9f5ad6=_0x129cf1['dnnBo'](String,_0x1b8c52)[_0x452194(0x1e5)]()[_0x452194(0x1ed)](/^(\d+(?:\.\d+)?)\s*(B|KB|MB|GB)$/i);if(!_0x9f5ad6)return _0x129cf1[_0x452194(0x20b)](_0x129cf1[_0x452194(0x20b)](0xa,0x400),0x400);const _0x2bee6b=parseFloat(_0x9f5ad6[0x1]),_0x2ea3ef=_0x9f5ad6[0x2]['toUpperCase'](),_0x3d266c={'B':0x1,'KB':0x400,'MB':_0x129cf1['kxCEv'](0x400,0x400),'GB':_0x129cf1[_0x452194(0x207)](0x400,0x400)*0x400};return Math['floor'](_0x2bee6b*(_0x3d266c[_0x2ea3ef]||0x1));}}function a0_0x5a66(_0x1c7968,_0x52e304){_0x1c7968=_0x1c7968-0x1e2;const _0x59506a=a0_0x5950();let _0x5a666a=_0x59506a[_0x1c7968];if(a0_0x5a66['cgLVjo']===undefined){var _0x394e88=function(_0x5734ac){const _0x2a2821='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x581e3c='',_0x4eefcf='';for(let _0x2a9876=0x0,_0x48a855,_0x31d3d3,_0x3533b1=0x0;_0x31d3d3=_0x5734ac['charAt'](_0x3533b1++);~_0x31d3d3&&(_0x48a855=_0x2a9876%0x4?_0x48a855*0x40+_0x31d3d3:_0x31d3d3,_0x2a9876++%0x4)?_0x581e3c+=String['fromCharCode'](0xff&_0x48a855>>(-0x2*_0x2a9876&0x6)):0x0){_0x31d3d3=_0x2a2821['indexOf'](_0x31d3d3);}for(let _0x2d44ed=0x0,_0xd0b425=_0x581e3c['length'];_0x2d44ed<_0xd0b425;_0x2d44ed++){_0x4eefcf+='%'+('00'+_0x581e3c['charCodeAt'](_0x2d44ed)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4eefcf);};a0_0x5a66['yhQcfE']=_0x394e88,a0_0x5a66['IWKwGi']={},a0_0x5a66['cgLVjo']=!![];}const _0x4f5ac5=_0x59506a[0x0],_0x48d966=_0x1c7968+_0x4f5ac5,_0x16d2cb=a0_0x5a66['IWKwGi'][_0x48d966];return!_0x16d2cb?(_0x5a666a=a0_0x5a66['yhQcfE'](_0x5a666a),a0_0x5a66['IWKwGi'][_0x48d966]=_0x5a666a):_0x5a666a=_0x16d2cb,_0x5a666a;}module['exports']=new UploadHandlerV2();
@@ -1 +1 @@
1
- function a0_0x68eb(_0x226bb7,_0x5237fe){_0x226bb7=_0x226bb7-0x175;const _0x2db056=a0_0x2db0();let _0x68eb8e=_0x2db056[_0x226bb7];if(a0_0x68eb['nlcgxT']===undefined){var _0x5220ab=function(_0x250bbd){const _0x431f26='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f3d59='',_0x523415='';for(let _0x4c8991=0x0,_0x315d4c,_0x514843,_0x3a9348=0x0;_0x514843=_0x250bbd['charAt'](_0x3a9348++);~_0x514843&&(_0x315d4c=_0x4c8991%0x4?_0x315d4c*0x40+_0x514843:_0x514843,_0x4c8991++%0x4)?_0x3f3d59+=String['fromCharCode'](0xff&_0x315d4c>>(-0x2*_0x4c8991&0x6)):0x0){_0x514843=_0x431f26['indexOf'](_0x514843);}for(let _0x545140=0x0,_0x232436=_0x3f3d59['length'];_0x545140<_0x232436;_0x545140++){_0x523415+='%'+('00'+_0x3f3d59['charCodeAt'](_0x545140)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x523415);};a0_0x68eb['pDXjKh']=_0x5220ab,a0_0x68eb['nlnzhN']={},a0_0x68eb['nlcgxT']=!![];}const _0x5c0a48=_0x2db056[0x0],_0x36a73b=_0x226bb7+_0x5c0a48,_0x379bb7=a0_0x68eb['nlnzhN'][_0x36a73b];return!_0x379bb7?(_0x68eb8e=a0_0x68eb['pDXjKh'](_0x68eb8e),a0_0x68eb['nlnzhN'][_0x36a73b]=_0x68eb8e):_0x68eb8e=_0x379bb7,_0x68eb8e;}function a0_0x2db0(){const _0x7eea0e=['mtiWBMfPuKP3','BxvSDgvY','zw52','mJvjqNLtuee','z2v0u3rVCMfNzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','mtiYmtaXr2fqrgXd','Bwf4rMLSzvnPEMu','lNHSC3G','CMfUzg9TqNL0zxm','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','mJi4mgD5ufDAsa','otuXmte1AMPvrNjg','Aw5JBhvKzxm','Agv4','vLHfCe4','BwvZC2fNzq','zgLZA1n0B3jHz2u','mZyXmZyYngzjEe1sua','zgvMyxvSDa','x3vWBg9HzerPCG','DxbSB2fKrgLY','zMLSzq','zgvSzxrLrMLSzq','mtmZmJjxzwjrqwS','Aw5MBW','mte3mZKXmZbIELjtuMq','mtq0nKLkswzkyW','mZK5mZuYnxjYs09grq','BwTKAxjtEw5J','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','B3jPz2LUywXUyw1L','rhPJwg8','Dw5SAw5R','lI4VlI4VDgvTCc91CgXVywrZlW','BM93','zxH0BMfTzq','DxbSB2fKlq'];a0_0x2db0=function(){return _0x7eea0e;};return a0_0x2db0();}const a0_0x14fd61=a0_0x68eb;(function(_0x516706,_0x58712b){const _0x2ba74d=a0_0x68eb,_0x2040d5=_0x516706();while(!![]){try{const _0x338427=parseInt(_0x2ba74d(0x17a))/0x1*(-parseInt(_0x2ba74d(0x190))/0x2)+parseInt(_0x2ba74d(0x193))/0x3*(parseInt(_0x2ba74d(0x183))/0x4)+parseInt(_0x2ba74d(0x184))/0x5+-parseInt(_0x2ba74d(0x177))/0x6*(parseInt(_0x2ba74d(0x17e))/0x7)+-parseInt(_0x2ba74d(0x18a))/0x8+-parseInt(_0x2ba74d(0x194))/0x9+parseInt(_0x2ba74d(0x192))/0xa;if(_0x338427===_0x58712b)break;else _0x2040d5['push'](_0x2040d5['shift']());}catch(_0x47b90e){_0x2040d5['push'](_0x2040d5['shift']());}}}(a0_0x2db0,0x37adf));const multer=require(a0_0x14fd61(0x178)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x157b5d=a0_0x14fd61;this[_0x157b5d(0x18c)]=null,this[_0x157b5d(0x17f)]=0xa*0x400*0x400;}get['uploadDir'](){const _0x1a9b4e=a0_0x14fd61,_0x5a77cb={'GQywc':'upload_handler_init','DzcXo':'upload_handler_init_error','OVEGu':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x1a9b4e(0x18c)]){const _0xb4e268=process['env']['RESTFORGE_PROJECT_NAME']||_0x1a9b4e(0x18b);this[_0x1a9b4e(0x18c)]=process[_0x1a9b4e(0x179)]['UPLOAD_DIR']||path['join'](__dirname,_0x1a9b4e(0x19a)+_0xb4e268);try{!fsSync['existsSync'](this[_0x1a9b4e(0x18c)])&&fsSync['mkdirSync'](this[_0x1a9b4e(0x18c)],{'recursive':!![]}),logger[_0x1a9b4e(0x191)]({'event':_0x5a77cb['GQywc'],'dir':this[_0x1a9b4e(0x18c)]},_0x1a9b4e(0x182));}catch(_0x276c22){logger['error']({'event':_0x5a77cb[_0x1a9b4e(0x198)],'error':_0x276c22[_0x1a9b4e(0x188)]},_0x5a77cb['OVEGu']);}}return this[_0x1a9b4e(0x18c)];}['getStorage'](){const _0x15d152=a0_0x14fd61,_0x351928={'VXEpN':function(_0x164809,_0x48d2a8,_0x204955){return _0x164809(_0x48d2a8,_0x204955);}};return multer[_0x15d152(0x189)]({'destination':(_0x42d3c1,_0x150528,_0x47a159)=>{const _0x1744a7=_0x15d152;!fsSync['existsSync'](this['uploadDir'])&&fsSync[_0x1744a7(0x195)](this[_0x1744a7(0x18d)],{'recursive':!![]}),_0x47a159(null,this[_0x1744a7(0x18d)]);},'filename':(_0x5ca7ca,_0x3c0d7d,_0x2eaee2)=>{const _0x48acd5=_0x15d152,_0x5145a3=crypto[_0x48acd5(0x181)](0x8)['toString'](_0x48acd5(0x186)),_0x24f6ac=Date[_0x48acd5(0x19b)](),_0x9ad34d=path[_0x48acd5(0x175)](_0x3c0d7d[_0x48acd5(0x197)]);_0x351928[_0x48acd5(0x187)](_0x2eaee2,null,_0x48acd5(0x176)+_0x24f6ac+'-'+_0x5145a3+_0x9ad34d);}});}['getUploadMiddleware'](){const _0x1e5f15=a0_0x14fd61,_0x3cbaf6={'rJyZo':'.xls','GOAqp':function(_0x2446d1,_0x54e409,_0x5e14c1){return _0x2446d1(_0x54e409,_0x5e14c1);},'oaVXu':'Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'};return multer({'storage':this[_0x1e5f15(0x17b)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x577336,_0x107273,_0x1058cc)=>{const _0xcca46c=_0x1e5f15,_0x50494d=[_0xcca46c(0x17c),'application/vnd.ms-excel'],_0x478481=[_0xcca46c(0x180),_0x3cbaf6['rJyZo']],_0x47e5bd=path[_0xcca46c(0x175)](_0x107273[_0xcca46c(0x197)])['toLowerCase']();_0x50494d[_0xcca46c(0x185)](_0x107273['mimetype'])&&_0x478481['includes'](_0x47e5bd)?_0x3cbaf6['GOAqp'](_0x1058cc,null,!![]):_0x1058cc(new Error(_0x3cbaf6['oaVXu']));}})['single'](_0x1e5f15(0x18e));}async[a0_0x14fd61(0x18f)](_0x559f30){const _0x32cc62=a0_0x14fd61,_0x1d94d9={'eCbnz':'upload_file_deleted'};try{await fs[_0x32cc62(0x199)](_0x559f30),logger[_0x32cc62(0x191)]({'event':_0x1d94d9['eCbnz'],'filePath':_0x559f30},_0x32cc62(0x17d));}catch(_0x2b25a0){logger['error']({'event':_0x32cc62(0x196),'filePath':_0x559f30,'error':_0x2b25a0[_0x32cc62(0x188)]},'Failed\x20to\x20delete\x20uploaded\x20file');}}}module['exports']=new UploadHandler();
1
+ function a0_0x2ec4(){const _0x3cab2e=['rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','Dg9tDhjPBMC','mJi5mZa0tLzQz3rM','mteYmZfXsw5fwLu','BwTKAxjtEw5J','DxbSB2fKx2zPBgvFzgvSzxrLza','Agv4','mti4ndC1nuX0v2H3EG','AM9PBG','lNHSCW','DxbSB2fKrgLY','Dw5SAw5R','zxjYB3i','zMLSzq','BwLTzxr5Cgu','zw52','m0PQBNneza','ndK1mZK3zLrzqvP2','zgvMyxvSDa','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','B3jPz2LUywXUyw1L','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','y3j5ChrV','mti4meTOBgT3uq','Dg9mB3DLCKnHC2u','mJrIy3vACu4','z2v0u3rVCMfNzq','DxbSB2fKlq','Cgf0Aa','DxbSB2fKx2HHBMrSzxjFAw5PDa','otqWmJy0DwjJB0XY','x3vWBg9HzerPCG','wuToy3a','vvbmt0fex0rjuG','BxvSDgvY','zxHWB3j0CW','mti1ndG1nLrtEgrszG','nJmXndr0ve1Hs3y','oezgs3z5wa','Bwf4rMLSzvnPEMu','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq'];a0_0x2ec4=function(){return _0x3cab2e;};return a0_0x2ec4();}const a0_0x592102=a0_0x1a84;(function(_0x50a6c0,_0x79f06f){const _0x1132b8=a0_0x1a84,_0x38a2ba=_0x50a6c0();while(!![]){try{const _0x31acd5=-parseInt(_0x1132b8(0x9c))/0x1+parseInt(_0x1132b8(0xb8))/0x2*(parseInt(_0x1132b8(0xaa))/0x3)+parseInt(_0x1132b8(0xc0))/0x4*(-parseInt(_0x1132b8(0xa1))/0x5)+-parseInt(_0x1132b8(0xb3))/0x6*(-parseInt(_0x1132b8(0xab))/0x7)+parseInt(_0x1132b8(0xbe))/0x8+parseInt(_0x1132b8(0xbf))/0x9+-parseInt(_0x1132b8(0xb1))/0xa*(-parseInt(_0x1132b8(0x9d))/0xb);if(_0x31acd5===_0x79f06f)break;else _0x38a2ba['push'](_0x38a2ba['shift']());}catch(_0x44ad75){_0x38a2ba['push'](_0x38a2ba['shift']());}}}(a0_0x2ec4,0x4a5bb));function a0_0x1a84(_0x4d2cd2,_0x23e87f){_0x4d2cd2=_0x4d2cd2-0x98;const _0x2ec459=a0_0x2ec4();let _0x1a8468=_0x2ec459[_0x4d2cd2];if(a0_0x1a84['UscEdj']===undefined){var _0xf8c818=function(_0x5a1248){const _0xcba6ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e2600='',_0x58073d='';for(let _0x484059=0x0,_0x2b4166,_0x2feab5,_0x3a1c0a=0x0;_0x2feab5=_0x5a1248['charAt'](_0x3a1c0a++);~_0x2feab5&&(_0x2b4166=_0x484059%0x4?_0x2b4166*0x40+_0x2feab5:_0x2feab5,_0x484059++%0x4)?_0x5e2600+=String['fromCharCode'](0xff&_0x2b4166>>(-0x2*_0x484059&0x6)):0x0){_0x2feab5=_0xcba6ab['indexOf'](_0x2feab5);}for(let _0x249dae=0x0,_0x17be5a=_0x5e2600['length'];_0x249dae<_0x17be5a;_0x249dae++){_0x58073d+='%'+('00'+_0x5e2600['charCodeAt'](_0x249dae)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58073d);};a0_0x1a84['MMFnDB']=_0xf8c818,a0_0x1a84['PtMHxJ']={},a0_0x1a84['UscEdj']=!![];}const _0x2d16f5=_0x2ec459[0x0],_0x2b099b=_0x4d2cd2+_0x2d16f5,_0x2626e8=a0_0x1a84['PtMHxJ'][_0x2b099b];return!_0x2626e8?(_0x1a8468=a0_0x1a84['MMFnDB'](_0x1a8468),a0_0x1a84['PtMHxJ'][_0x2b099b]=_0x1a8468):_0x1a8468=_0x2626e8,_0x1a8468;}const multer=require(a0_0x592102(0xbc)),path=require(a0_0x592102(0xb6)),crypto=require(a0_0x592102(0xb0)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x6c5e69=a0_0x592102,_0x221eee={'DcvIO':function(_0x56d2cc,_0x4fcb9b){return _0x56d2cc*_0x4fcb9b;},'QBWtY':function(_0x38dad3,_0x11a41b){return _0x38dad3*_0x11a41b;}};this[_0x6c5e69(0xb9)]=null,this[_0x6c5e69(0x98)]=_0x221eee['DcvIO'](_0x221eee['QBWtY'](0xa,0x400),0x400);}get['uploadDir'](){const _0x1a8bda=a0_0x592102,_0x50021e={'cCDBX':_0x1a8bda(0xac),'KnmvX':_0x1a8bda(0xb7)};if(!this['_uploadDir']){const _0x25d231=process['env']['RESTFORGE_PROJECT_NAME']||_0x50021e['cCDBX'];this[_0x1a8bda(0xb9)]=process[_0x1a8bda(0xa9)][_0x1a8bda(0xbb)]||path[_0x1a8bda(0xa2)](__dirname,'../../temp/uploads/'+_0x25d231);try{!fsSync['existsSync'](this[_0x1a8bda(0xb9)])&&fsSync[_0x1a8bda(0x9e)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x50021e['KnmvX'],'dir':this['_uploadDir']},_0x1a8bda(0x99));}catch(_0x3a2514){logger[_0x1a8bda(0xa6)]({'event':'upload_handler_init_error','error':_0x3a2514['message']},_0x1a8bda(0x9a));}}return this[_0x1a8bda(0xb9)];}[a0_0x592102(0xb4)](){const _0x52d6d3=a0_0x592102,_0x3cd6f9={'NwUbo':_0x52d6d3(0xa0),'OXnMP':function(_0x3c383a,_0x1d7905,_0xcfb767){return _0x3c383a(_0x1d7905,_0xcfb767);}};return multer['diskStorage']({'destination':(_0x45be93,_0xf77592,_0x3aa7e3)=>{const _0x57279a=_0x52d6d3;!fsSync['existsSync'](this[_0x57279a(0xa4)])&&fsSync[_0x57279a(0x9e)](this['uploadDir'],{'recursive':!![]}),_0x3aa7e3(null,this[_0x57279a(0xa4)]);},'filename':(_0x6f4784,_0x3a2da3,_0x19af76)=>{const _0x282e97=_0x52d6d3,_0x1c5db6=crypto['randomBytes'](0x8)[_0x282e97(0x9b)](_0x3cd6f9['NwUbo']),_0x265506=Date['now'](),_0x2437e3=path['extname'](_0x3a2da3[_0x282e97(0xae)]);_0x3cd6f9['OXnMP'](_0x19af76,null,_0x282e97(0xb5)+_0x265506+'-'+_0x1c5db6+_0x2437e3);}});}['getUploadMiddleware'](){const _0x2ee41f=a0_0x592102,_0x181428={'OBMOx':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','RgpXL':'application/vnd.ms-excel','yIyXK':'.xlsx','YKNcp':function(_0x373a4,_0x162eb3,_0x4b4c2e){return _0x373a4(_0x162eb3,_0x4b4c2e);},'JOZJo':function(_0x2b9192,_0xf3d0df){return _0x2b9192(_0xf3d0df);}};return _0x181428['JOZJo'](multer,{'storage':this[_0x2ee41f(0xb4)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2e9e9e,_0x4916c1,_0x48b63f)=>{const _0x245298=_0x2ee41f,_0x368cd5=[_0x181428['OBMOx'],_0x181428['RgpXL']],_0x42e62e=[_0x181428['yIyXK'],_0x245298(0xa3)],_0x1bd04e=path['extname'](_0x4916c1[_0x245298(0xae)])[_0x245298(0xb2)]();_0x368cd5['includes'](_0x4916c1[_0x245298(0xa8)])&&_0x42e62e['includes'](_0x1bd04e)?_0x181428[_0x245298(0xba)](_0x48b63f,null,!![]):_0x48b63f(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0x2ee41f(0xa7));}async['deleteFile'](_0x2064a9){const _0x3a5a48=a0_0x592102,_0x3440b9={'FBjdL':'upload_file_delete_error'};try{await fs[_0x3a5a48(0xa5)](_0x2064a9),logger['info']({'event':_0x3a5a48(0x9f),'filePath':_0x2064a9},_0x3a5a48(0xaf));}catch(_0x4ae790){logger[_0x3a5a48(0xa6)]({'event':_0x3440b9['FBjdL'],'filePath':_0x2064a9,'error':_0x4ae790['message']},_0x3a5a48(0xad));}}}module[a0_0x592102(0xbd)]=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0xa55d74=a0_0x5124;function a0_0x3796(){const _0x1cdf5b=['rMfPBgvKihrVihnLBMqGAw5Zzxj0ihDLyMHVB2S','Au11rgC','yxHPB3m','nJq3mZu5m1HcDwrnsa','sw5Zzxj0ihDLyMHVB2SGC2vUDcb0BYa','rgvSzxrLihDLyMHVB2SGC2vUDcb0BYa','yxbWBgLJyxrPB24VANnVBG','zxjYB3i','mte5mduZmLfvqxbPAq','C3rHDhvZ','ndC2nJa4nxnbEvDYAa','nePdBLrItG','veLQugW','Bg9N','mJi2ndqWoeLlC0fmBW','CgDdELa','Dg9ju09tDhjPBMC','BwvZC2fNzq','mZG1mtC1mNf4uuDNyG','zgvSzxrL','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','lcbtDgf0Dxm6ia','mZeWnZeXCfDdEefg','Cg9ZDa','ndK5nJaXmfjozMDJyq'];a0_0x3796=function(){return _0x1cdf5b;};return a0_0x3796();}(function(_0x111077,_0x453b6a){const _0x225dcb=a0_0x5124,_0x3e6073=_0x111077();while(!![]){try{const _0x303bdb=parseInt(_0x225dcb(0x190))/0x1+parseInt(_0x225dcb(0x1a1))/0x2+parseInt(_0x225dcb(0x19d))/0x3+parseInt(_0x225dcb(0x19e))/0x4*(-parseInt(_0x225dcb(0x192))/0x5)+parseInt(_0x225dcb(0x19b))/0x6+-parseInt(_0x225dcb(0x196))/0x7+-parseInt(_0x225dcb(0x1a5))/0x8;if(_0x303bdb===_0x453b6a)break;else _0x3e6073['push'](_0x3e6073['shift']());}catch(_0x49a50e){_0x3e6073['push'](_0x3e6073['shift']());}}}(a0_0x3796,0xc94f2));const axios=require(a0_0xa55d74(0x195));async function sendInsertWebhook(_0x5464a9,_0x48a1ab,_0x1fbdd1={}){const _0xef68cc=a0_0xa55d74,_0x780c20={'ykmdZ':'insert','TIjPl':'RestForge-Webhook/1.0','pgCzP':_0xef68cc(0x18e)};try{const _0x5df1b4={'event':_0x780c20['ykmdZ'],'timestamp':new Date()[_0xef68cc(0x1a3)](),'data':_0x48a1ab},_0x276b9a=await axios['post'](_0x5464a9,_0x5df1b4,{'headers':{'Content-Type':_0xef68cc(0x199),'User-Agent':_0x780c20[_0xef68cc(0x19f)],..._0x1fbdd1},'timeout':0x2710});return console[_0xef68cc(0x1a0)](_0xef68cc(0x197)+_0x5464a9+',\x20Status:\x20'+_0x276b9a['status']),{'success':!![],'message':'Insert\x20webhook\x20sent\x20successfully','status':_0x276b9a[_0xef68cc(0x19c)],'url':_0x5464a9};}catch(_0x536d21){return console[_0xef68cc(0x19a)](_0x780c20[_0xef68cc(0x1a2)],_0x536d21[_0xef68cc(0x1a4)]),{'success':![],'message':_0xef68cc(0x193),'error':_0x536d21['message'],'url':_0x5464a9};}}function a0_0x5124(_0x32ba97,_0x5ad43f){_0x32ba97=_0x32ba97-0x18e;const _0x379680=a0_0x3796();let _0x512485=_0x379680[_0x32ba97];if(a0_0x5124['DkMpsX']===undefined){var _0x4d40ae=function(_0x2ee6e8){const _0x111c76='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x561d95='',_0x34877e='';for(let _0x2c0bc1=0x0,_0x401166,_0xf1c24e,_0x5144bc=0x0;_0xf1c24e=_0x2ee6e8['charAt'](_0x5144bc++);~_0xf1c24e&&(_0x401166=_0x2c0bc1%0x4?_0x401166*0x40+_0xf1c24e:_0xf1c24e,_0x2c0bc1++%0x4)?_0x561d95+=String['fromCharCode'](0xff&_0x401166>>(-0x2*_0x2c0bc1&0x6)):0x0){_0xf1c24e=_0x111c76['indexOf'](_0xf1c24e);}for(let _0x52ff8d=0x0,_0x335d76=_0x561d95['length'];_0x52ff8d<_0x335d76;_0x52ff8d++){_0x34877e+='%'+('00'+_0x561d95['charCodeAt'](_0x52ff8d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x34877e);};a0_0x5124['uTJaZg']=_0x4d40ae,a0_0x5124['ifBNZQ']={},a0_0x5124['DkMpsX']=!![];}const _0x157b4e=_0x379680[0x0],_0x263539=_0x32ba97+_0x157b4e,_0x8974a9=a0_0x5124['ifBNZQ'][_0x263539];return!_0x8974a9?(_0x512485=a0_0x5124['uTJaZg'](_0x512485),a0_0x5124['ifBNZQ'][_0x263539]=_0x512485):_0x512485=_0x8974a9,_0x512485;}async function sendDeleteWebhook(_0x3c68d2,_0x4801b6,_0x28101f={}){const _0x28291b=a0_0xa55d74,_0x29ea9e={'iggnl':'RestForge-Webhook/1.0','iMuDg':'Delete\x20webhook\x20sent\x20successfully'};try{const _0x54e338={'event':_0x28291b(0x1a6),'timestamp':new Date()['toISOString'](),'deleted_data':_0x4801b6},_0x40b41a=await axios[_0x28291b(0x191)](_0x3c68d2,_0x54e338,{'headers':{'Content-Type':_0x28291b(0x199),'User-Agent':_0x29ea9e['iggnl'],..._0x28101f},'timeout':0x2710});return console[_0x28291b(0x1a0)](_0x28291b(0x198)+_0x3c68d2+_0x28291b(0x18f)+_0x40b41a['status']),{'success':!![],'message':_0x29ea9e[_0x28291b(0x194)],'status':_0x40b41a[_0x28291b(0x19c)],'url':_0x3c68d2};}catch(_0x3a4254){return console[_0x28291b(0x19a)]('Error\x20sending\x20delete\x20webhook:',_0x3a4254[_0x28291b(0x1a4)]),{'success':![],'message':'Failed\x20to\x20send\x20delete\x20webhook','error':_0x3a4254['message'],'url':_0x3c68d2};}}module['exports']={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
1
+ function a0_0x411c(_0x2714a5,_0x43198f){_0x2714a5=_0x2714a5-0x1ad;const _0x1dc4d0=a0_0x1dc4();let _0x411c7c=_0x1dc4d0[_0x2714a5];if(a0_0x411c['gFPHyn']===undefined){var _0x4744ea=function(_0x10e2d0){const _0x1053ad='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aeaf6='',_0x2fc981='';for(let _0x3f46f2=0x0,_0x3ee8db,_0x572cdf,_0x49671a=0x0;_0x572cdf=_0x10e2d0['charAt'](_0x49671a++);~_0x572cdf&&(_0x3ee8db=_0x3f46f2%0x4?_0x3ee8db*0x40+_0x572cdf:_0x572cdf,_0x3f46f2++%0x4)?_0x5aeaf6+=String['fromCharCode'](0xff&_0x3ee8db>>(-0x2*_0x3f46f2&0x6)):0x0){_0x572cdf=_0x1053ad['indexOf'](_0x572cdf);}for(let _0x3b1a4b=0x0,_0x4d0ffd=_0x5aeaf6['length'];_0x3b1a4b<_0x4d0ffd;_0x3b1a4b++){_0x2fc981+='%'+('00'+_0x5aeaf6['charCodeAt'](_0x3b1a4b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2fc981);};a0_0x411c['Uktzrm']=_0x4744ea,a0_0x411c['qodGhI']={},a0_0x411c['gFPHyn']=!![];}const _0x3d9b5a=_0x1dc4d0[0x0],_0x1e0cff=_0x2714a5+_0x3d9b5a,_0x36e5fe=a0_0x411c['qodGhI'][_0x1e0cff];return!_0x36e5fe?(_0x411c7c=a0_0x411c['Uktzrm'](_0x411c7c),a0_0x411c['qodGhI'][_0x1e0cff]=_0x411c7c):_0x411c7c=_0x36e5fe,_0x411c7c;}const a0_0x2b7242=a0_0x411c;function a0_0x1dc4(){const _0x289233=['zerxBxC','nu9Yrwv1rW','mZaZmuLuu2PYCG','mti5nJLgt05uEKK','nti2oeTKy2DmDW','yxbWBgLJyxrPB24VANnVBG','mti2ody0rhHZuLfR','ndaXnMzTENDTrG','Cg9ZDa','rxjYB3iGC2vUzgLUzYbPBNnLCNqGD2vIAg9VAZO','otG3ndG5yNLryuP1','zgvSzxrL','odiZnJeZAuThD0rY','mZqWmJeYndbRz3HjtLO','rMfPBgvKihrVihnLBMqGzgvSzxrLihDLyMHVB2S','C3rHDhvZ','zxjYB3i','zxHWB3j0CW','Bg9N','Dg9ju09tDhjPBMC','lcbtDgf0Dxm6ia','mJCZmdC1mKHQz2f3zG','BwvZC2fNzq','sw5Zzxj0ihDLyMHVB2SGC2vUDcbZDwnJzxnZzNvSBhK'];a0_0x1dc4=function(){return _0x289233;};return a0_0x1dc4();}(function(_0x1e6f0f,_0x4ce04b){const _0x462b4e=a0_0x411c,_0x360f9f=_0x1e6f0f();while(!![]){try{const _0x5ebc85=-parseInt(_0x462b4e(0x1bf))/0x1+parseInt(_0x462b4e(0x1b9))/0x2+-parseInt(_0x462b4e(0x1bd))/0x3+parseInt(_0x462b4e(0x1b0))/0x4*(-parseInt(_0x462b4e(0x1b4))/0x5)+-parseInt(_0x462b4e(0x1b7))/0x6*(parseInt(_0x462b4e(0x1b5))/0x7)+parseInt(_0x462b4e(0x1ba))/0x8*(-parseInt(_0x462b4e(0x1b6))/0x9)+parseInt(_0x462b4e(0x1c0))/0xa;if(_0x5ebc85===_0x4ce04b)break;else _0x360f9f['push'](_0x360f9f['shift']());}catch(_0x5223f3){_0x360f9f['push'](_0x360f9f['shift']());}}}(a0_0x1dc4,0x808c8));const axios=require('axios');async function sendInsertWebhook(_0x300def,_0x42bf21,_0xf506fe={}){const _0x483540=a0_0x411c,_0x3497b5={'pLMKn':'application/json','pkrhZ':'RestForge-Webhook/1.0','LjCTl':_0x483540(0x1bc),'dDWmw':'Failed\x20to\x20send\x20insert\x20webhook'};try{const _0x40b78b={'event':'insert','timestamp':new Date()[_0x483540(0x1ae)](),'data':_0x42bf21},_0x50f32a=await axios[_0x483540(0x1bb)](_0x300def,_0x40b78b,{'headers':{'Content-Type':_0x3497b5['pLMKn'],'User-Agent':_0x3497b5['pkrhZ'],..._0xf506fe},'timeout':0x2710});return console[_0x483540(0x1ad)]('Insert\x20webhook\x20sent\x20to\x20'+_0x300def+_0x483540(0x1af)+_0x50f32a[_0x483540(0x1c2)]),{'success':!![],'message':_0x483540(0x1b2),'status':_0x50f32a[_0x483540(0x1c2)],'url':_0x300def};}catch(_0x2b23af){return console[_0x483540(0x1c3)](_0x3497b5['LjCTl'],_0x2b23af[_0x483540(0x1b1)]),{'success':![],'message':_0x3497b5[_0x483540(0x1b3)],'error':_0x2b23af['message'],'url':_0x300def};}}async function sendDeleteWebhook(_0x439977,_0xe70ffc,_0x19a735={}){const _0x1288b6=a0_0x411c,_0x4a0c10={'JCBbO':_0x1288b6(0x1b8)};try{const _0xd05e3b={'event':_0x1288b6(0x1be),'timestamp':new Date()[_0x1288b6(0x1ae)](),'deleted_data':_0xe70ffc},_0x439b38=await axios[_0x1288b6(0x1bb)](_0x439977,_0xd05e3b,{'headers':{'Content-Type':_0x4a0c10['JCBbO'],'User-Agent':'RestForge-Webhook/1.0',..._0x19a735},'timeout':0x2710});return console['log']('Delete\x20webhook\x20sent\x20to\x20'+_0x439977+',\x20Status:\x20'+_0x439b38[_0x1288b6(0x1c2)]),{'success':!![],'message':'Delete\x20webhook\x20sent\x20successfully','status':_0x439b38['status'],'url':_0x439977};}catch(_0x18ab25){return console['error']('Error\x20sending\x20delete\x20webhook:',_0x18ab25['message']),{'success':![],'message':_0x1288b6(0x1c1),'error':_0x18ab25['message'],'url':_0x439977};}}module[a0_0x2b7242(0x1c4)]={'sendInsertWebhook':sendInsertWebhook,'sendDeleteWebhook':sendDeleteWebhook};
@@ -1 +1 @@
1
- const a0_0x2afd52=a0_0x2832;(function(_0x20c4de,_0x97661){const _0xd00de1=a0_0x2832,_0x4e21fc=_0x20c4de();while(!![]){try{const _0x3e5d53=-parseInt(_0xd00de1(0xf6))/0x1+-parseInt(_0xd00de1(0xe0))/0x2+-parseInt(_0xd00de1(0xf2))/0x3*(-parseInt(_0xd00de1(0xe5))/0x4)+-parseInt(_0xd00de1(0xf5))/0x5+parseInt(_0xd00de1(0xf9))/0x6*(-parseInt(_0xd00de1(0xfe))/0x7)+parseInt(_0xd00de1(0xdc))/0x8+-parseInt(_0xd00de1(0xe7))/0x9*(-parseInt(_0xd00de1(0xfc))/0xa);if(_0x3e5d53===_0x97661)break;else _0x4e21fc['push'](_0x4e21fc['shift']());}catch(_0xf08165){_0x4e21fc['push'](_0x4e21fc['shift']());}}}(a0_0x2b70,0xc43c4));const express=require(a0_0x2afd52(0xe3)),{logger}=require(a0_0x2afd52(0xf7));function a0_0x2b70(){const _0x507f74=['tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','rfbUsNO','mZqXnJuWngPyEKXqEa','DfPeDKu','tg9JAYbYzwXLyxnLihjVDxrLigvYCM9YoIa','l3jLBgvHC2u','mJmXntGXmKzmyLjqBG','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSigXVy2TFDg9Rzw4','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','zxHWCMvZCW','BwvZC2fNzq','otuXmMTrDMr2Cq','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','ounArePXCq','tgHYDg0','l2fJCxvPCMu','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRihjLBgvHC2u','rLfNCwq','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExm','C3vJy2vZCW','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','yM9KEq','v3vLrha','DKvZCu8','mta4owXYuKPstG','vLjVEuq','u25Pr1C','ndiXnZG1nw1XENDorG','mtu4nJGWmMnHExfIuW','lI4VlI4VDxrPBhmVBg9Nz2vY','ANnVBG','mti4otK0nNPTsgT1wq','Cg9ZDa','zxjYB3i','nde3nJCZnZbnt1borLK','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','mZv5DgLVsfa','C3rHDhvZ'];a0_0x2b70=function(){return _0x507f74;};return a0_0x2b70();}function createLockRoutes(){const _0x33679e=a0_0x2afd52,_0x49776b={'ZSIyA':_0x33679e(0xe2),'WueDp':function(_0x5d517c){return _0x5d517c();},'aoFcx':function(_0x4ac5a1,_0x18be84){return _0x4ac5a1===_0x18be84;},'VRoyD':_0x33679e(0xfd),'FQgqd':_0x33679e(0xe1),'bKKtj':_0x33679e(0xe6),'DPnJz':_0x33679e(0xea),'UQtVe':function(_0x1baf4a,_0x465b5d){return _0x1baf4a||_0x465b5d;},'Lhrtm':_0x33679e(0xec),'vEsqO':function(_0x4cb26c){return _0x4cb26c();},'tZDvE':'lock_status_route_error','DMjsS':_0x33679e(0xe9),'SniGW':'/status'},_0x30bffe=express['Router']();let _0x4c9e26=null;function _0x24873a(){return!_0x4c9e26&&(_0x4c9e26=require('./resource-lock-manager')),_0x4c9e26;}return _0x30bffe[_0x33679e(0xfa)](_0x49776b['DMjsS'],async(_0x66c7ed,_0x62bb0c)=>{const _0x4ddf7b=_0x33679e;try{const {resource:_0x106477,lock_keys:_0x2de2fa,ttl:_0x9a5419,owner:_0x53e0db}=_0x66c7ed['body'];if(!_0x106477||!_0x2de2fa||!_0x9a5419||!_0x53e0db)return _0x62bb0c[_0x4ddf7b(0xff)](0x190)['json']({'success':![],'error':_0x49776b['ZSIyA']});const _0x132a7d=_0x49776b[_0x4ddf7b(0xf0)](_0x24873a),_0x2d1ac4=await _0x132a7d['acquireResourceLocks']({'resource':_0x106477,'lockKeys':_0x2de2fa,'ttl':_0x9a5419,'owner':_0x53e0db});if(_0x2d1ac4['success'])return _0x62bb0c['json'](_0x2d1ac4);const _0x57092c=_0x49776b['aoFcx'](_0x2d1ac4['error'],'Resource\x20lock\x20conflict')?0x199:0x190;return _0x62bb0c['status'](_0x57092c)['json'](_0x2d1ac4);}catch(_0x578a02){logger['error']({'event':'lock_acquire_route_error','error':_0x578a02[_0x4ddf7b(0xe4)]},_0x4ddf7b(0xee)+_0x578a02[_0x4ddf7b(0xe4)]),_0x62bb0c[_0x4ddf7b(0xff)](0x1f4)['json']({'success':![],'error':_0x49776b[_0x4ddf7b(0xf3)]});}}),_0x30bffe['post'](_0x33679e(0xdf),async(_0x23564a,_0x26ea6a)=>{const _0x28f767=_0x33679e;try{const {resource:_0x341aee,lock_keys:_0x13c09b,lock_token:_0x1b8a22}=_0x23564a[_0x28f767(0xef)];if(!_0x341aee||!_0x13c09b||!_0x1b8a22)return _0x26ea6a['status'](0x190)['json']({'success':![],'error':_0x49776b[_0x28f767(0xeb)]});const _0x131cfb=_0x49776b[_0x28f767(0xf0)](_0x24873a),_0x21d699=await _0x131cfb['releaseResourceLocks']({'resource':_0x341aee,'lockKeys':_0x13c09b,'lockToken':_0x1b8a22});if(_0x21d699['success'])return _0x26ea6a[_0x28f767(0xf8)](_0x21d699);return _0x26ea6a['status'](0x190)['json'](_0x21d699);}catch(_0xeba2d1){logger[_0x28f767(0xfb)]({'event':_0x49776b['bKKtj'],'error':_0xeba2d1[_0x28f767(0xe4)]},_0x28f767(0xde)+_0xeba2d1[_0x28f767(0xe4)]),_0x26ea6a[_0x28f767(0xff)](0x1f4)['json']({'success':![],'error':_0x49776b[_0x28f767(0x101)]});}}),_0x30bffe[_0x33679e(0xfa)](_0x49776b[_0x33679e(0xf4)],async(_0x24c443,_0x3286e5)=>{const _0x492ce1=_0x33679e;try{const {resource:_0x5bc0b7,lock_keys:_0x3863ff}=_0x24c443[_0x492ce1(0xef)];if(_0x49776b['UQtVe'](!_0x5bc0b7,!_0x3863ff))return _0x3286e5[_0x492ce1(0xff)](0x190)['json']({'success':![],'error':_0x49776b[_0x492ce1(0xe8)]});const _0x57d08f=_0x49776b[_0x492ce1(0xf1)](_0x24873a),_0x2f8692=await _0x57d08f['getResourceLockStatus']({'resource':_0x5bc0b7,'lockKeys':_0x3863ff});if(_0x2f8692[_0x492ce1(0xed)])return _0x3286e5[_0x492ce1(0xf8)](_0x2f8692);return _0x3286e5[_0x492ce1(0xff)](0x190)[_0x492ce1(0xf8)](_0x2f8692);}catch(_0xe4667d){logger['error']({'event':_0x49776b[_0x492ce1(0xdd)],'error':_0xe4667d[_0x492ce1(0xe4)]},_0x492ce1(0x100)+_0xe4667d['message']),_0x3286e5['status'](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x30bffe;}function a0_0x2832(_0x2434e1,_0x54c2e4){_0x2434e1=_0x2434e1-0xdc;const _0x2b703a=a0_0x2b70();let _0x283234=_0x2b703a[_0x2434e1];if(a0_0x2832['dTVWDK']===undefined){var _0x309d49=function(_0x21921f){const _0x89e24d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2fafe3='',_0x1ba22e='';for(let _0x3427aa=0x0,_0xefb909,_0x2e97d4,_0x4aa7c6=0x0;_0x2e97d4=_0x21921f['charAt'](_0x4aa7c6++);~_0x2e97d4&&(_0xefb909=_0x3427aa%0x4?_0xefb909*0x40+_0x2e97d4:_0x2e97d4,_0x3427aa++%0x4)?_0x2fafe3+=String['fromCharCode'](0xff&_0xefb909>>(-0x2*_0x3427aa&0x6)):0x0){_0x2e97d4=_0x89e24d['indexOf'](_0x2e97d4);}for(let _0x46151f=0x0,_0xe1efb8=_0x2fafe3['length'];_0x46151f<_0xe1efb8;_0x46151f++){_0x1ba22e+='%'+('00'+_0x2fafe3['charCodeAt'](_0x46151f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ba22e);};a0_0x2832['OxUNfL']=_0x309d49,a0_0x2832['ZHARvB']={},a0_0x2832['dTVWDK']=!![];}const _0x29ded9=_0x2b703a[0x0],_0x1c99f1=_0x2434e1+_0x29ded9,_0x2137be=a0_0x2832['ZHARvB'][_0x1c99f1];return!_0x2137be?(_0x283234=a0_0x2832['OxUNfL'](_0x283234),a0_0x2832['ZHARvB'][_0x1c99f1]=_0x283234):_0x283234=_0x2137be,_0x283234;}module['exports']=createLockRoutes;
1
+ (function(_0x19fa43,_0x1da710){const _0x4f69dc=a0_0x16b5,_0x22238b=_0x19fa43();while(!![]){try{const _0x5b9207=-parseInt(_0x4f69dc(0x89))/0x1*(-parseInt(_0x4f69dc(0x95))/0x2)+parseInt(_0x4f69dc(0x87))/0x3*(parseInt(_0x4f69dc(0x7a))/0x4)+-parseInt(_0x4f69dc(0x96))/0x5*(parseInt(_0x4f69dc(0x76))/0x6)+-parseInt(_0x4f69dc(0x93))/0x7*(parseInt(_0x4f69dc(0x8a))/0x8)+-parseInt(_0x4f69dc(0x82))/0x9*(-parseInt(_0x4f69dc(0x94))/0xa)+parseInt(_0x4f69dc(0x86))/0xb*(parseInt(_0x4f69dc(0x85))/0xc)+-parseInt(_0x4f69dc(0x81))/0xd*(parseInt(_0x4f69dc(0x92))/0xe);if(_0x5b9207===_0x1da710)break;else _0x22238b['push'](_0x22238b['shift']());}catch(_0x1e6f20){_0x22238b['push'](_0x22238b['shift']());}}}(a0_0x3a93,0x8b382));const express=require('express'),{logger}=require('../../utils/logger');function createLockRoutes(){const _0x173861=a0_0x16b5,_0x38eb63={'xdnHe':function(_0x4d7ef4,_0x105349){return _0x4d7ef4(_0x105349);},'rNbHR':_0x173861(0x7e),'FgocS':function(_0x1a3472,_0x1f7b73){return _0x1a3472||_0x1f7b73;},'SYCzo':_0x173861(0x88),'NtjDW':'Missing\x20required\x20fields:\x20resource,\x20lock_keys,\x20lock_token','nSNsp':'Missing\x20required\x20fields:\x20resource,\x20lock_keys','MslRZ':function(_0x1fcb01){return _0x1fcb01();},'iyZro':'/release'},_0x571229=express['Router']();let _0x4b341d=null;function _0x52f145(){const _0x2a5125=_0x173861;return!_0x4b341d&&(_0x4b341d=_0x38eb63[_0x2a5125(0x74)](require,_0x38eb63['rNbHR'])),_0x4b341d;}return _0x571229[_0x173861(0x7b)](_0x173861(0x90),async(_0x56ecca,_0x249bfb)=>{const _0x217874=_0x173861;try{const {resource:_0x58aadc,lock_keys:_0x366979,ttl:_0x476feb,owner:_0x1285c6}=_0x56ecca['body'];if(_0x38eb63[_0x217874(0x83)](!_0x58aadc,!_0x366979)||!_0x476feb||!_0x1285c6)return _0x249bfb[_0x217874(0x8c)](0x190)[_0x217874(0x8b)]({'success':![],'error':_0x217874(0x79)});const _0x2a5a79=_0x52f145(),_0x571dfa=await _0x2a5a79[_0x217874(0x77)]({'resource':_0x58aadc,'lockKeys':_0x366979,'ttl':_0x476feb,'owner':_0x1285c6});if(_0x571dfa['success'])return _0x249bfb[_0x217874(0x8b)](_0x571dfa);const _0x37cd32=_0x571dfa[_0x217874(0x97)]==='Resource\x20lock\x20conflict'?0x199:0x190;return _0x249bfb['status'](_0x37cd32)['json'](_0x571dfa);}catch(_0x262da9){logger[_0x217874(0x97)]({'event':_0x217874(0x84),'error':_0x262da9[_0x217874(0x7d)]},_0x217874(0x91)+_0x262da9['message']),_0x249bfb['status'](0x1f4)['json']({'success':![],'error':_0x38eb63['SYCzo']});}}),_0x571229[_0x173861(0x7b)](_0x38eb63[_0x173861(0x7f)],async(_0xaf166b,_0x366623)=>{const _0x253a57=_0x173861;try{const {resource:_0x4502fd,lock_keys:_0xa156fd,lock_token:_0x1893fb}=_0xaf166b[_0x253a57(0x80)];if(_0x38eb63[_0x253a57(0x83)](!_0x4502fd,!_0xa156fd)||!_0x1893fb)return _0x366623[_0x253a57(0x8c)](0x190)[_0x253a57(0x8b)]({'success':![],'error':_0x38eb63[_0x253a57(0x8f)]});const _0xfa2186=_0x52f145(),_0x2aac2c=await _0xfa2186['releaseResourceLocks']({'resource':_0x4502fd,'lockKeys':_0xa156fd,'lockToken':_0x1893fb});if(_0x2aac2c[_0x253a57(0x75)])return _0x366623['json'](_0x2aac2c);return _0x366623[_0x253a57(0x8c)](0x190)[_0x253a57(0x8b)](_0x2aac2c);}catch(_0x5774b3){logger['error']({'event':_0x253a57(0x8d),'error':_0x5774b3['message']},'Lock\x20release\x20route\x20error:\x20'+_0x5774b3[_0x253a57(0x7d)]),_0x366623[_0x253a57(0x8c)](0x1f4)['json']({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20release'});}}),_0x571229['post']('/status',async(_0x18220b,_0x460400)=>{const _0x4dee2a=_0x173861;try{const {resource:_0x2126e5,lock_keys:_0x383662}=_0x18220b[_0x4dee2a(0x80)];if(_0x38eb63[_0x4dee2a(0x83)](!_0x2126e5,!_0x383662))return _0x460400[_0x4dee2a(0x8c)](0x190)[_0x4dee2a(0x8b)]({'success':![],'error':_0x38eb63['nSNsp']});const _0x2f10fe=_0x38eb63[_0x4dee2a(0x8e)](_0x52f145),_0x4f9d0d=await _0x2f10fe[_0x4dee2a(0x7c)]({'resource':_0x2126e5,'lockKeys':_0x383662});if(_0x4f9d0d[_0x4dee2a(0x75)])return _0x460400[_0x4dee2a(0x8b)](_0x4f9d0d);return _0x460400[_0x4dee2a(0x8c)](0x190)['json'](_0x4f9d0d);}catch(_0x153a86){logger['error']({'event':'lock_status_route_error','error':_0x153a86[_0x4dee2a(0x7d)]},_0x4dee2a(0x78)+_0x153a86['message']),_0x460400['status'](0x1f4)[_0x4dee2a(0x8b)]({'success':![],'error':'Internal\x20server\x20error\x20during\x20lock\x20status\x20check'});}}),_0x571229;}function a0_0x16b5(_0x31c0ac,_0x32fdc4){_0x31c0ac=_0x31c0ac-0x74;const _0x3a93cc=a0_0x3a93();let _0x16b55e=_0x3a93cc[_0x31c0ac];if(a0_0x16b5['XKLcLL']===undefined){var _0x1a4d23=function(_0x1e4b14){const _0x4b72c0='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3fa791='',_0x1563b2='';for(let _0x4ff0a5=0x0,_0x2a5d02,_0x7a6ff7,_0x43701b=0x0;_0x7a6ff7=_0x1e4b14['charAt'](_0x43701b++);~_0x7a6ff7&&(_0x2a5d02=_0x4ff0a5%0x4?_0x2a5d02*0x40+_0x7a6ff7:_0x7a6ff7,_0x4ff0a5++%0x4)?_0x3fa791+=String['fromCharCode'](0xff&_0x2a5d02>>(-0x2*_0x4ff0a5&0x6)):0x0){_0x7a6ff7=_0x4b72c0['indexOf'](_0x7a6ff7);}for(let _0x597f37=0x0,_0x412a97=_0x3fa791['length'];_0x597f37<_0x412a97;_0x597f37++){_0x1563b2+='%'+('00'+_0x3fa791['charCodeAt'](_0x597f37)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1563b2);};a0_0x16b5['DkJUwx']=_0x1a4d23,a0_0x16b5['jmuSrB']={},a0_0x16b5['XKLcLL']=!![];}const _0x13911e=_0x3a93cc[0x0],_0xd02e86=_0x31c0ac+_0x13911e,_0x316dee=a0_0x16b5['jmuSrB'][_0xd02e86];return!_0x316dee?(_0x16b55e=a0_0x16b5['DkJUwx'](_0x16b55e),a0_0x16b5['jmuSrB'][_0xd02e86]=_0x16b55e):_0x16b55e=_0x316dee,_0x16b55e;}function a0_0x3a93(){const _0x32fa97=['AxLACM8','yM9KEq','mJiYode0mtvrB1bgugO','ntu3ntiZow5sq1vgCG','rMDVy1m','Bg9JA19Hy3f1AxjLx3jVDxrLx2vYCM9Y','mtjhzeTsuve','mtu1mdG5uvj1rwLR','ode0mdHgwNjzree','sw50zxjUywWGC2vYDMvYigvYCM9Yigr1CMLUzYbSB2nRigfJCxvPC2L0Aw9U','ndDKvMjArK4','mJaWBvvLEwPe','ANnVBG','C3rHDhvZ','Bg9JA19YzwXLyxnLx3jVDxrLx2vYCM9Y','txnSuLO','tNrQrfC','l2fJCxvPCMu','tg9JAYbHy3f1AxjLihjVDxrLigvYCM9YoIa','mtrwtg5RveK','mJmXmZvRCfnpufK','mtbHzfvPBLq','nde1nZjgs2Dqtxi','mJv5uKXovxG','zxjYB3i','EgrUsgu','C3vJy2vZCW','nJKZmJrurNjXt0q','ywnXDwLYzvjLC291CMnLtg9JA3m','tg9JAYbZDgf0DxmGCM91DguGzxjYB3i6ia','twLZC2LUzYbYzxf1AxjLzcbMAwvSzhm6ihjLC291CMnLlcbSB2nRx2TLExmSihr0BcWGB3DUzxi','mtiWzNr3zKjm','Cg9ZDa','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','BwvZC2fNzq','lI9YzxnVDxjJzs1SB2nRlw1HBMfNzxi'];a0_0x3a93=function(){return _0x32fa97;};return a0_0x3a93();}module['exports']=createLockRoutes;
@@ -1 +1 @@
1
- const a0_0x12bddc=a0_0x3922;(function(_0x1ef126,_0x5aca4b){const _0x4f5c7c=a0_0x3922,_0x5b0dff=_0x1ef126();while(!![]){try{const _0x2bf552=parseInt(_0x4f5c7c(0x1f4))/0x1*(parseInt(_0x4f5c7c(0x204))/0x2)+parseInt(_0x4f5c7c(0x1ee))/0x3*(-parseInt(_0x4f5c7c(0x20c))/0x4)+parseInt(_0x4f5c7c(0x1e8))/0x5+-parseInt(_0x4f5c7c(0x220))/0x6+parseInt(_0x4f5c7c(0x1f0))/0x7*(parseInt(_0x4f5c7c(0x22f))/0x8)+-parseInt(_0x4f5c7c(0x200))/0x9+parseInt(_0x4f5c7c(0x1fb))/0xa;if(_0x2bf552===_0x5aca4b)break;else _0x5b0dff['push'](_0x5b0dff['shift']());}catch(_0x3fea29){_0x5b0dff['push'](_0x5b0dff['shift']());}}}(a0_0x1418,0xb34a5));const redisClient=require(a0_0x12bddc(0x224)),{logger}=require(a0_0x12bddc(0x203)),{v4:uuidv4}=require('uuid');function a0_0x3922(_0x4323ca,_0x94985e){_0x4323ca=_0x4323ca-0x1e3;const _0x1418ce=a0_0x1418();let _0x39221b=_0x1418ce[_0x4323ca];if(a0_0x3922['dBMdWs']===undefined){var _0x4d1e6c=function(_0x2f4a37){const _0x2a4733='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dfbff='',_0x3b31aa='';for(let _0x2b6310=0x0,_0x198727,_0x447b23,_0x54e47e=0x0;_0x447b23=_0x2f4a37['charAt'](_0x54e47e++);~_0x447b23&&(_0x198727=_0x2b6310%0x4?_0x198727*0x40+_0x447b23:_0x447b23,_0x2b6310++%0x4)?_0x5dfbff+=String['fromCharCode'](0xff&_0x198727>>(-0x2*_0x2b6310&0x6)):0x0){_0x447b23=_0x2a4733['indexOf'](_0x447b23);}for(let _0x181534=0x0,_0x501f9c=_0x5dfbff['length'];_0x181534<_0x501f9c;_0x181534++){_0x3b31aa+='%'+('00'+_0x5dfbff['charCodeAt'](_0x181534)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b31aa);};a0_0x3922['MDiyXk']=_0x4d1e6c,a0_0x3922['XhRaNN']={},a0_0x3922['dBMdWs']=!![];}const _0xa7570e=_0x1418ce[0x0],_0x26b5f6=_0x4323ca+_0xa7570e,_0x2697df=a0_0x3922['XhRaNN'][_0x26b5f6];return!_0x2697df?(_0x39221b=a0_0x3922['MDiyXk'](_0x39221b),a0_0x3922['XhRaNN'][_0x26b5f6]=_0x39221b):_0x39221b=_0x2697df,_0x39221b;}function getPrefix(){const _0x280534=a0_0x12bddc,_0x45189e={'EiuwC':'default'},_0x4e73b9=process['env'][_0x280534(0x1fa)]||_0x45189e['EiuwC'];return _0x280534(0x1f8)+_0x4e73b9+_0x280534(0x1f2);}const DEFAULT_MAX_TTL_SECONDS=0x12c,RELEASE_LUA_SCRIPT=a0_0x12bddc(0x1ef);function a0_0x1418(){const _0x12afef=['nZi3mdq1ohL0zNvVqq','rMfPBgvKihrVihjVBgXIywnRigTLEtOG','CMvSzwfZzvjLC291CMnLtg9JA3m','z2vUzxjHDgvuB2TLBG','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','AxnbCNjHEq','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','Dw5RBM93BG','Aw5MBW','v0LnBNa','x3jVBgXIywnRs2v5CW','DhrS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','te9ds19srvnpvvjdrv9nqvHFvfrm','z2Ljrvu','mteWmta0q3b2rMzq','BgvUz3rO','tg9JAYbHy3f1AxjLigzHAwXLzdOG','x3zHBgLKyxrLqwnXDwLYzuLUChv0','EwnTCeW','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','tg9JAYbZDgf0DxmGy2HLy2SGzMfPBgvKoIa','DMfSAwq','ndCZmZa5mgzfBwHQsq','AgDyzwq','C3rYAw5N','uMvZB3vYy2uGBg9JAYbJB25MBgLJDcbVBIa','z2v0q2XPzw50','DMfSDwu','nZjMCeXnzvy','cIaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicbLBhnLcIaGicbYzxr1CM4GmaOGigvUzaO','otfSzvbWzhy','A2v5','oNjSB2nRoG','wKfsBem','murlEvHUAW','rxHfCwW','igTLExmSifrutdOG','tg9JAYbYzwXLyxnLigzHAwXLzdOG','CMy6','z2v0uMvZB3vYy2vmB2nRu3rHDhvZ','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','mtm3mJu2odbnC0LsuK4','CwXxCNq','BwLU','uMvZB3vYy2uGBg9JAYbHy3f1AxjLzdOG','BwvZC2fNzq','mta1nZqXotbqAxfoqwy','wKf1wha','z2v0twf4vfrmu2vJB25KCW','lI4VlI4VDxrPBhmVBg9Nz2vY','mti3mZCZmgXmA0XptG','CMvZB3vYy2vFBg9JA19ZDgf0DxnFzxjYB3i','zxjYB3i','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','B3Hkyvi','ihnLy29UzhmUienVBMzPz3vYzsbmt0nlx1jfu09vuKnfx01bwf9uveWGDg8GAw5JCMvHC2uU','x3zHBgLKyxrLuMvSzwfZzuLUChv0','mJmYngnOEKDpEG','B3DUzxi','AurRDLe','CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','D2fYBG','uuD6vNm','tNfVtfq','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19YzwXLyxnLza','C2v0','yNvPBgrlzxK','BM93','zw52','CMvZB3vYy2vFBg9JA19Hy3f1AxjLza','z2v0','z3vIBgW','CxPqsgi','C3vIC3rYAw5N','x2DLDenVBMzSAwn0sw5MBW'];a0_0x1418=function(){return _0x12afef;};return a0_0x1418();}class ResourceLockManager{['buildKey'](_0x444467,_0x2bb47d,_0x501b5a){return''+getPrefix()+_0x444467+':'+_0x2bb47d+':'+_0x501b5a;}[a0_0x12bddc(0x223)](_0x5d348d){const _0x28ebef=a0_0x12bddc;return _0x5d348d+':'+uuidv4()+':'+Date[_0x28ebef(0x218)]();}['extractOwner'](_0x558d49){const _0x29eedd=a0_0x12bddc,_0x2cc300={'NqoLT':_0x29eedd(0x227)};if(!_0x558d49)return _0x2cc300[_0x29eedd(0x212)];const _0x2103d9=_0x558d49['indexOf'](':');return _0x2103d9>0x0?_0x558d49[_0x29eedd(0x21e)](0x0,_0x2103d9):_0x558d49;}[a0_0x12bddc(0x202)](){const _0x3397dc=a0_0x12bddc;return parseInt(process[_0x3397dc(0x219)][_0x3397dc(0x22d)],0xa)||DEFAULT_MAX_TTL_SECONDS;}async['acquireResourceLocks']({resource:_0x563534,lockKeys:_0x23d73b,ttl:_0x14f31e,owner:_0xadefd6}){const _0x342d3d=a0_0x12bddc,_0x480efc={'WIMnp':function(_0xc7faa2,_0x1fb759){return _0xc7faa2<_0x1fb759;},'dheYi':'resource_lock_conflict','qlWrt':_0x342d3d(0x1e4),'qzPHb':'resource_lock_acquire_error'},_0x2d41ff=this[_0x342d3d(0x232)]({'resource':_0x563534,'lockKeys':_0x23d73b,'ttl':_0x14f31e,'owner':_0xadefd6});if(!_0x2d41ff['valid'])return{'success':![],'error':_0x2d41ff[_0x342d3d(0x206)]};const _0x2864d4=this[_0x342d3d(0x202)](),_0x111c84=Math[_0x342d3d(0x1fd)](_0x14f31e,_0x2864d4),_0x5ab034=this['generateToken'](_0xadefd6),_0x5a03da=[];try{const _0x521c05=redisClient['getClient']();for(let _0xb3daf5=0x0;_0x480efc[_0x342d3d(0x229)](_0xb3daf5,_0x23d73b['length']);_0xb3daf5++){const {key:_0x177323,value:_0x5eefea}=_0x23d73b[_0xb3daf5],_0x1c0a01=this['buildKey'](_0x563534,_0x177323,_0x5eefea),_0x177be8=await _0x521c05[_0x342d3d(0x216)](_0x1c0a01,_0x5ab034,'EX',_0x111c84,'NX');if(_0x177be8==='OK')_0x5a03da['push'](_0x1c0a01);else{await this[_0x342d3d(0x22a)](_0x521c05,_0x5a03da,_0x5ab034);const _0x54ac03=await this[_0x342d3d(0x21f)](_0x521c05,_0x1c0a01);return logger[_0x342d3d(0x210)]({'event':_0x480efc['dheYi'],'resource':_0x563534,'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03[_0x342d3d(0x20d)],'ttl_remaining':_0x54ac03[_0x342d3d(0x214)],'attempted_by':_0xadefd6},_0x342d3d(0x1eb)+_0x563534+':'+_0x177323+':'+_0x5eefea),{'success':![],'error':'Resource\x20lock\x20conflict','data':{'conflicting_key':{'key':_0x177323,'value':_0x5eefea},'locked_by':_0x54ac03['owner'],'ttl_remaining':_0x54ac03['ttlRemaining']}};}}const _0x558afd=_0x23d73b['map'](({key:_0x380f64,value:_0x317237})=>({'key':_0x380f64,'value':_0x317237,'lock_key':this[_0x342d3d(0x217)](_0x563534,_0x380f64,_0x317237)}));return logger[_0x342d3d(0x228)]({'event':_0x342d3d(0x21a),'resource':_0x563534,'keys_count':_0x23d73b[_0x342d3d(0x230)],'ttl':_0x111c84,'owner':_0xadefd6},_0x342d3d(0x1fe)+_0x563534+'\x20('+_0x23d73b['length']+_0x342d3d(0x1f6)+_0x111c84+'s)'),{'success':!![],'data':{'lock_token':_0x5ab034,'resource':_0x563534,'locked_keys':_0x558afd,'ttl':_0x111c84,'owner':_0xadefd6,'acquired_at':new Date()['toISOString']()}};}catch(_0x85b779){try{const _0x2cfc74=redisClient['getClient']();await this['_rollbackKeys'](_0x2cfc74,_0x5a03da,_0x5ab034);}catch(_0x1f9f93){logger['error']({'event':'resource_lock_rollback_error','error':_0x1f9f93[_0x342d3d(0x1ff)]},_0x480efc[_0x342d3d(0x1fc)]);}return logger['error']({'event':_0x480efc[_0x342d3d(0x21d)],'resource':_0x563534,'owner':_0xadefd6,'error':_0x85b779[_0x342d3d(0x1ff)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x85b779[_0x342d3d(0x1ff)]),{'success':![],'error':_0x342d3d(0x231)+_0x85b779['message']};}}async[a0_0x12bddc(0x222)]({resource:_0x527e85,lockKeys:_0x393c74,lockToken:_0x6cb5a1}){const _0x3a54de=a0_0x12bddc,_0x271652={'hgXed':function(_0x3a8df3,_0x350b84){return _0x3a8df3===_0x350b84;}},_0x2d2031=this['_validateReleaseInput']({'resource':_0x527e85,'lockKeys':_0x393c74,'lockToken':_0x6cb5a1});if(!_0x2d2031[_0x3a54de(0x1e7)])return{'success':![],'error':_0x2d2031['error']};try{const _0x36f78f=redisClient[_0x3a54de(0x1ec)]();let _0x22192b=0x0;for(const {key:_0x2ea50b,value:_0x3096e8}of _0x393c74){const _0x4bbd61=this[_0x3a54de(0x217)](_0x527e85,_0x2ea50b,_0x3096e8),_0x4e3abd=await _0x36f78f['eval'](RELEASE_LUA_SCRIPT,0x1,_0x4bbd61,_0x6cb5a1);_0x271652[_0x3a54de(0x1e9)](_0x4e3abd,0x1)&&_0x22192b++;}return logger['info']({'event':_0x3a54de(0x215),'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74['length'],'owner':this['extractOwner'](_0x6cb5a1)},_0x3a54de(0x22c)+_0x527e85+'\x20('+_0x22192b+'/'+_0x393c74['length']+'\x20keys)'),{'success':!![],'data':{'resource':_0x527e85,'released_keys':_0x22192b,'total_keys':_0x393c74[_0x3a54de(0x230)]}};}catch(_0xcbf5b6){return logger['error']({'event':'resource_lock_release_error','resource':_0x527e85,'error':_0xcbf5b6['message']},_0x3a54de(0x213)+_0xcbf5b6[_0x3a54de(0x1ff)]),{'success':![],'error':_0x3a54de(0x1f7)+_0xcbf5b6[_0x3a54de(0x1ff)]};}}async[a0_0x12bddc(0x1f9)]({resource:_0x4f1f51,lockKeys:_0x53c581}){const _0xfe673e=a0_0x12bddc,_0x3f3feb={'QGzVs':function(_0x399b4a,_0x1adc3a){return _0x399b4a===_0x1adc3a;},'mTHtl':function(_0x26a4d8,_0x561abc){return _0x26a4d8!==_0x561abc;},'ZAuXp':_0xfe673e(0x205)};if(!_0x4f1f51||!Array['isArray'](_0x53c581)||_0x3f3feb[_0xfe673e(0x211)](_0x53c581['length'],0x0))return{'success':![],'error':_0xfe673e(0x20f)};try{const _0x147fff=redisClient[_0xfe673e(0x1ec)](),_0x8b4c5f=[];for(const {key:_0x20ba0c,value:_0x390b33}of _0x53c581){const _0x732d57=this[_0xfe673e(0x217)](_0x4f1f51,_0x20ba0c,_0x390b33),[_0x20809e,_0x63e83f]=await Promise['all']([_0x147fff['get'](_0x732d57),_0x147fff['ttl'](_0x732d57)]),_0x7d7658=_0x3f3feb['mTHtl'](_0x20809e,null);_0x8b4c5f['push']({'key':_0x20ba0c,'value':_0x390b33,'locked':_0x7d7658,'owner':_0x7d7658?this['extractOwner'](_0x20809e):null,'ttl_remaining':_0x7d7658&&_0x63e83f>0x0?_0x63e83f:null});}return{'success':!![],'data':{'resource':_0x4f1f51,'keys':_0x8b4c5f}};}catch(_0x667486){return logger['error']({'event':_0x3f3feb[_0xfe673e(0x201)],'resource':_0x4f1f51,'error':_0x667486['message']},'Resource\x20lock\x20status\x20error:\x20'+_0x667486['message']),{'success':![],'error':_0xfe673e(0x1e6)+_0x667486['message']};}}async[a0_0x12bddc(0x22a)](_0xd981cc,_0x49472c,_0x49422d){const _0x211cb8=a0_0x12bddc,_0x4c7afe={'giIEU':'resource_lock_rollback_key_error'};for(const _0x5b833a of _0x49472c){try{await _0xd981cc['eval'](RELEASE_LUA_SCRIPT,0x1,_0x5b833a,_0x49422d);}catch(_0x3f6830){logger['error']({'event':_0x4c7afe[_0x211cb8(0x22e)],'key':_0x5b833a,'error':_0x3f6830[_0x211cb8(0x1ff)]},_0x211cb8(0x221)+_0x5b833a);}}}async['_getConflictInfo'](_0x2c8fcf,_0x2e80c8){const _0x3899b9=a0_0x12bddc,_0x2140d4={'HVkeB':'unknown'};try{const [_0x6c75d0,_0x395b6f]=await Promise['all']([_0x2c8fcf[_0x3899b9(0x21b)](_0x2e80c8),_0x2c8fcf[_0x3899b9(0x22b)](_0x2e80c8)]);return{'owner':_0x6c75d0?this['extractOwner'](_0x6c75d0):_0x2140d4['HVkeB'],'ttlRemaining':_0x395b6f>0x0?_0x395b6f:null};}catch{return{'owner':_0x2140d4['HVkeB'],'ttlRemaining':null};}}[a0_0x12bddc(0x232)]({resource:_0x559e9f,lockKeys:_0xf0dd99,ttl:_0x249b3a,owner:_0x302aab}){const _0x24690c=a0_0x12bddc,_0x5708fb={'ycmpL':function(_0xe48d6,_0x3c3435){return _0xe48d6!==_0x3c3435;},'HYDzr':'resource\x20is\x20required\x20and\x20must\x20be\x20a\x20string','WGutt':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','gubll':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items','ExEql':function(_0x573ed1,_0x1ac3da){return _0x573ed1<_0x1ac3da;},'GgUFf':function(_0x4dcd4d,_0x103638){return _0x4dcd4d>_0x103638;},'iDkvQ':_0x24690c(0x1ea)};if(!_0x559e9f||_0x5708fb[_0x24690c(0x1e3)](typeof _0x559e9f,_0x24690c(0x1ea)))return{'valid':![],'error':_0x5708fb['HYDzr']};if(!Array[_0x24690c(0x225)](_0xf0dd99)||_0xf0dd99[_0x24690c(0x230)]===0x0)return{'valid':![],'error':_0x5708fb['WGutt']};if(_0xf0dd99['length']>0x64)return{'valid':![],'error':_0x5708fb[_0x24690c(0x21c)]};for(let _0x480437=0x0;_0x480437<_0xf0dd99['length'];_0x480437++){const _0x1a41cd=_0xf0dd99[_0x480437];if(!_0x1a41cd||!_0x1a41cd[_0x24690c(0x1f1)]||!_0x1a41cd['value'])return{'valid':![],'error':'lock_keys['+_0x480437+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x249b3a||typeof _0x249b3a!=='number'||_0x5708fb[_0x24690c(0x1f5)](_0x249b3a,0x1))return{'valid':![],'error':'ttl\x20is\x20required\x20and\x20must\x20be\x20at\x20least\x201\x20(in\x20seconds)'};const _0x208c8c=this[_0x24690c(0x202)]();if(_0x5708fb['GgUFf'](_0x249b3a,_0x208c8c))return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x208c8c+_0x24690c(0x20a)};if(!_0x302aab||_0x5708fb['ycmpL'](typeof _0x302aab,_0x5708fb[_0x24690c(0x20e)]))return{'valid':![],'error':_0x24690c(0x208)};return{'valid':!![]};}[a0_0x12bddc(0x20b)]({resource:_0x5653a3,lockKeys:_0x466d83,lockToken:_0xcf3a82}){const _0x56c43a=a0_0x12bddc,_0x11f258={'oxJaR':function(_0x48f6b7,_0x2c8e3a){return _0x48f6b7!==_0x2c8e3a;},'ougJr':_0x56c43a(0x1ea),'ZARlC':function(_0x431af3,_0x3e3b3f){return _0x431af3!==_0x3e3b3f;}};if(!_0x5653a3||_0x11f258[_0x56c43a(0x209)](typeof _0x5653a3,_0x11f258['ougJr']))return{'valid':![],'error':_0x56c43a(0x207)};if(!Array[_0x56c43a(0x225)](_0x466d83)||_0x466d83['length']===0x0)return{'valid':![],'error':_0x56c43a(0x226)};for(let _0x441b4d=0x0;_0x441b4d<_0x466d83[_0x56c43a(0x230)];_0x441b4d++){const _0x442568=_0x466d83[_0x441b4d];if(!_0x442568||!_0x442568['key']||!_0x442568[_0x56c43a(0x1ed)])return{'valid':![],'error':'lock_keys['+_0x441b4d+_0x56c43a(0x1e5)};}if(!_0xcf3a82||_0x11f258[_0x56c43a(0x1f3)](typeof _0xcf3a82,_0x56c43a(0x1ea)))return{'valid':![],'error':'lock_token\x20is\x20required\x20and\x20must\x20be\x20a\x20string'};return{'valid':!![]};}}module['exports']=new ResourceLockManager();
1
+ const a0_0x1e85ee=a0_0x3f1c;function a0_0x3f1c(_0x43ec91,_0x26a73b){_0x43ec91=_0x43ec91-0xc1;const _0x3fbb2b=a0_0x3fbb();let _0x3f1c16=_0x3fbb2b[_0x43ec91];if(a0_0x3f1c['JOWyYG']===undefined){var _0x1fbf91=function(_0x25b1aa){const _0x2a4d5c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2dac6c='',_0x15775e='';for(let _0x2ec83f=0x0,_0x19c8c0,_0x1d64d9,_0x3bd999=0x0;_0x1d64d9=_0x25b1aa['charAt'](_0x3bd999++);~_0x1d64d9&&(_0x19c8c0=_0x2ec83f%0x4?_0x19c8c0*0x40+_0x1d64d9:_0x1d64d9,_0x2ec83f++%0x4)?_0x2dac6c+=String['fromCharCode'](0xff&_0x19c8c0>>(-0x2*_0x2ec83f&0x6)):0x0){_0x1d64d9=_0x2a4d5c['indexOf'](_0x1d64d9);}for(let _0x305ba5=0x0,_0x54b149=_0x2dac6c['length'];_0x305ba5<_0x54b149;_0x305ba5++){_0x15775e+='%'+('00'+_0x2dac6c['charCodeAt'](_0x305ba5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x15775e);};a0_0x3f1c['svCqyS']=_0x1fbf91,a0_0x3f1c['XExdeL']={},a0_0x3f1c['JOWyYG']=!![];}const _0x56100d=_0x3fbb2b[0x0],_0x27ec37=_0x43ec91+_0x56100d,_0x16cd6f=a0_0x3f1c['XExdeL'][_0x27ec37];return!_0x16cd6f?(_0x3f1c16=a0_0x3f1c['svCqyS'](_0x3f1c16),a0_0x3f1c['XExdeL'][_0x27ec37]=_0x3f1c16):_0x3f1c16=_0x16cd6f,_0x3f1c16;}(function(_0x3dab0d,_0x2fc5d0){const _0x5ee4d8=a0_0x3f1c,_0x5eda41=_0x3dab0d();while(!![]){try{const _0x4504d2=parseInt(_0x5ee4d8(0xc8))/0x1+-parseInt(_0x5ee4d8(0xd4))/0x2*(parseInt(_0x5ee4d8(0xe2))/0x3)+parseInt(_0x5ee4d8(0xcb))/0x4+-parseInt(_0x5ee4d8(0xe5))/0x5+parseInt(_0x5ee4d8(0xf3))/0x6+-parseInt(_0x5ee4d8(0xda))/0x7*(-parseInt(_0x5ee4d8(0xc2))/0x8)+-parseInt(_0x5ee4d8(0xd8))/0x9;if(_0x4504d2===_0x2fc5d0)break;else _0x5eda41['push'](_0x5eda41['shift']());}catch(_0x4b7ea3){_0x5eda41['push'](_0x5eda41['shift']());}}}(a0_0x3fbb,0xe41e8));const redisClient=require(a0_0x1e85ee(0xc3)),{logger}=require(a0_0x1e85ee(0x103)),{v4:uuidv4}=require(a0_0x1e85ee(0xe8));function getPrefix(){const _0x300093=a0_0x1e85ee,_0x1f2ed0=process[_0x300093(0x102)][_0x300093(0xce)]||_0x300093(0xde);return _0x300093(0xf4)+_0x1f2ed0+':rlock:';}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_0x1e85ee(0xc9)](_0x2290a5,_0x5f381f,_0x4ce6b7){return''+getPrefix()+_0x2290a5+':'+_0x5f381f+':'+_0x4ce6b7;}[a0_0x1e85ee(0xe0)](_0x18f4b5){const _0x34013f={'eFtsg':function(_0x2441cd){return _0x2441cd();}};return _0x18f4b5+':'+_0x34013f['eFtsg'](uuidv4)+':'+Date['now']();}['extractOwner'](_0x5c7311){const _0x353be2=a0_0x1e85ee,_0x31c1e6={'gTUBI':_0x353be2(0xd1),'umTEi':function(_0x1044ea,_0x24bc69){return _0x1044ea>_0x24bc69;}};if(!_0x5c7311)return _0x31c1e6['gTUBI'];const _0x214657=_0x5c7311['indexOf'](':');return _0x31c1e6[_0x353be2(0xd7)](_0x214657,0x0)?_0x5c7311['substring'](0x0,_0x214657):_0x5c7311;}[a0_0x1e85ee(0xed)](){return parseInt(process['env']['LOCK_RESOURCE_MAX_TTL'],0xa)||DEFAULT_MAX_TTL_SECONDS;}async[a0_0x1e85ee(0x100)]({resource:_0x4058b1,lockKeys:_0x31fdf0,ttl:_0x1fbac5,owner:_0x183412}){const _0x46efb8=a0_0x1e85ee,_0x303e4a={'yUpZx':function(_0x3f4050,_0x341725){return _0x3f4050<_0x341725;},'YIdPK':_0x46efb8(0xe7),'dhDpI':'resource_lock_rollback_error','ZQHqL':_0x46efb8(0xcc)},_0x2bca99=this[_0x46efb8(0xe3)]({'resource':_0x4058b1,'lockKeys':_0x31fdf0,'ttl':_0x1fbac5,'owner':_0x183412});if(!_0x2bca99[_0x46efb8(0xff)])return{'success':![],'error':_0x2bca99[_0x46efb8(0xe4)]};const _0x1a3c2c=this[_0x46efb8(0xed)](),_0x609f69=Math['min'](_0x1fbac5,_0x1a3c2c),_0xe5c468=this[_0x46efb8(0xe0)](_0x183412),_0x5619b1=[];try{const _0x403c1a=redisClient['getClient']();for(let _0xeff8e1=0x0;_0x303e4a['yUpZx'](_0xeff8e1,_0x31fdf0['length']);_0xeff8e1++){const {key:_0x151d9e,value:_0x1d5860}=_0x31fdf0[_0xeff8e1],_0x39d896=this[_0x46efb8(0xc9)](_0x4058b1,_0x151d9e,_0x1d5860),_0x2216bf=await _0x403c1a['set'](_0x39d896,_0xe5c468,'EX',_0x609f69,'NX');if(_0x2216bf==='OK')_0x5619b1['push'](_0x39d896);else{await this['_rollbackKeys'](_0x403c1a,_0x5619b1,_0xe5c468);const _0x374114=await this['_getConflictInfo'](_0x403c1a,_0x39d896);return logger['warn']({'event':_0x303e4a['YIdPK'],'resource':_0x4058b1,'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114['ttlRemaining'],'attempted_by':_0x183412},'Resource\x20lock\x20conflict\x20on\x20'+_0x4058b1+':'+_0x151d9e+':'+_0x1d5860),{'success':![],'error':_0x46efb8(0x101),'data':{'conflicting_key':{'key':_0x151d9e,'value':_0x1d5860},'locked_by':_0x374114[_0x46efb8(0xc7)],'ttl_remaining':_0x374114[_0x46efb8(0xe6)]}};}}const _0x3e8652=_0x31fdf0[_0x46efb8(0x107)](({key:_0x39d6ca,value:_0x133093})=>({'key':_0x39d6ca,'value':_0x133093,'lock_key':this['buildKey'](_0x4058b1,_0x39d6ca,_0x133093)}));return logger['info']({'event':'resource_lock_acquired','resource':_0x4058b1,'keys_count':_0x31fdf0['length'],'ttl':_0x609f69,'owner':_0x183412},'Resource\x20lock\x20acquired:\x20'+_0x4058b1+'\x20('+_0x31fdf0[_0x46efb8(0xe1)]+_0x46efb8(0xdc)+_0x609f69+'s)'),{'success':!![],'data':{'lock_token':_0xe5c468,'resource':_0x4058b1,'locked_keys':_0x3e8652,'ttl':_0x609f69,'owner':_0x183412,'acquired_at':new Date()['toISOString']()}};}catch(_0x4e7777){try{const _0x5a0c7b=redisClient[_0x46efb8(0xf5)]();await this[_0x46efb8(0xdf)](_0x5a0c7b,_0x5619b1,_0xe5c468);}catch(_0xdfe2ac){logger['error']({'event':_0x303e4a['dhDpI'],'error':_0xdfe2ac['message']},_0x46efb8(0xea));}return logger['error']({'event':_0x303e4a['ZQHqL'],'resource':_0x4058b1,'owner':_0x183412,'error':_0x4e7777[_0x46efb8(0xf9)]},'Resource\x20lock\x20acquire\x20error:\x20'+_0x4e7777[_0x46efb8(0xf9)]),{'success':![],'error':'Lock\x20acquire\x20failed:\x20'+_0x4e7777['message']};}}async[a0_0x1e85ee(0xec)]({resource:_0x2cee8a,lockKeys:_0x152d58,lockToken:_0x5bb5b8}){const _0x4c7193=a0_0x1e85ee,_0x42f046={'ldyMj':function(_0x5b16df,_0xc50da9){return _0x5b16df===_0xc50da9;},'skigU':'resource_lock_released','oTENv':_0x4c7193(0xc6)},_0x5e2fe0=this[_0x4c7193(0x104)]({'resource':_0x2cee8a,'lockKeys':_0x152d58,'lockToken':_0x5bb5b8});if(!_0x5e2fe0[_0x4c7193(0xff)])return{'success':![],'error':_0x5e2fe0[_0x4c7193(0xe4)]};try{const _0x268467=redisClient[_0x4c7193(0xf5)]();let _0x24f9e9=0x0;for(const {key:_0x1afa7b,value:_0x57d79d}of _0x152d58){const _0x17ee03=this[_0x4c7193(0xc9)](_0x2cee8a,_0x1afa7b,_0x57d79d),_0x5cf920=await _0x268467[_0x4c7193(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x17ee03,_0x5bb5b8);_0x42f046['ldyMj'](_0x5cf920,0x1)&&_0x24f9e9++;}return logger[_0x4c7193(0xd2)]({'event':_0x42f046['skigU'],'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)],'owner':this[_0x4c7193(0xc4)](_0x5bb5b8)},_0x4c7193(0xf2)+_0x2cee8a+'\x20('+_0x24f9e9+'/'+_0x152d58[_0x4c7193(0xe1)]+_0x4c7193(0xcd)),{'success':!![],'data':{'resource':_0x2cee8a,'released_keys':_0x24f9e9,'total_keys':_0x152d58[_0x4c7193(0xe1)]}};}catch(_0x7f4b59){return logger[_0x4c7193(0xe4)]({'event':_0x42f046[_0x4c7193(0xeb)],'resource':_0x2cee8a,'error':_0x7f4b59['message']},_0x4c7193(0xe9)+_0x7f4b59[_0x4c7193(0xf9)]),{'success':![],'error':_0x4c7193(0xd3)+_0x7f4b59[_0x4c7193(0xf9)]};}}async['getResourceLockStatus']({resource:_0x409181,lockKeys:_0xeedcf6}){const _0x2c4a03=a0_0x1e85ee,_0x2a9b52={'BlVDg':function(_0x32ce66,_0x385b10){return _0x32ce66===_0x385b10;},'vBCOC':function(_0x17eabb,_0x2e0ebe){return _0x17eabb!==_0x2e0ebe;}};if(!_0x409181||!Array['isArray'](_0xeedcf6)||_0x2a9b52[_0x2c4a03(0x105)](_0xeedcf6['length'],0x0))return{'success':![],'error':_0x2c4a03(0xf6)};try{const _0x3d45e9=redisClient['getClient'](),_0x3101ac=[];for(const {key:_0xbd5d27,value:_0x4a9953}of _0xeedcf6){const _0x427bc2=this[_0x2c4a03(0xc9)](_0x409181,_0xbd5d27,_0x4a9953),[_0x1fc4a8,_0xc07595]=await Promise['all']([_0x3d45e9['get'](_0x427bc2),_0x3d45e9['ttl'](_0x427bc2)]),_0xfb6e18=_0x2a9b52[_0x2c4a03(0xd5)](_0x1fc4a8,null);_0x3101ac[_0x2c4a03(0xd9)]({'key':_0xbd5d27,'value':_0x4a9953,'locked':_0xfb6e18,'owner':_0xfb6e18?this['extractOwner'](_0x1fc4a8):null,'ttl_remaining':_0xfb6e18&&_0xc07595>0x0?_0xc07595:null});}return{'success':!![],'data':{'resource':_0x409181,'keys':_0x3101ac}};}catch(_0x26d2ac){return logger['error']({'event':'resource_lock_status_error','resource':_0x409181,'error':_0x26d2ac['message']},_0x2c4a03(0xee)+_0x26d2ac['message']),{'success':![],'error':'Lock\x20status\x20check\x20failed:\x20'+_0x26d2ac['message']};}}async[a0_0x1e85ee(0xdf)](_0x368dee,_0x5ce0cc,_0xf23d71){const _0x4bea80=a0_0x1e85ee;for(const _0x415ec5 of _0x5ce0cc){try{await _0x368dee[_0x4bea80(0xd0)](RELEASE_LUA_SCRIPT,0x1,_0x415ec5,_0xf23d71);}catch(_0x3be8f6){logger['error']({'event':'resource_lock_rollback_key_error','key':_0x415ec5,'error':_0x3be8f6['message']},'Failed\x20to\x20rollback\x20key:\x20'+_0x415ec5);}}}async[a0_0x1e85ee(0xfd)](_0x536615,_0x2c0f62){const _0x1bdf32=a0_0x1e85ee,_0x5e0bba={'ElXmG':_0x1bdf32(0xd1)};try{const [_0x7f3dff,_0x32e952]=await Promise['all']([_0x536615[_0x1bdf32(0xfc)](_0x2c0f62),_0x536615[_0x1bdf32(0xcf)](_0x2c0f62)]);return{'owner':_0x7f3dff?this['extractOwner'](_0x7f3dff):_0x1bdf32(0xd1),'ttlRemaining':_0x32e952>0x0?_0x32e952:null};}catch{return{'owner':_0x5e0bba['ElXmG'],'ttlRemaining':null};}}[a0_0x1e85ee(0xe3)]({resource:_0x5e1028,lockKeys:_0x572f60,ttl:_0x9e0906,owner:_0x9b3225}){const _0x70f85a=a0_0x1e85ee,_0x253ca9={'qkWpR':_0x70f85a(0xfb),'SHBkN':_0x70f85a(0xc5),'mknWy':function(_0x4a7134,_0x30aa50){return _0x4a7134<_0x30aa50;},'xldhp':function(_0x184ea0,_0x95610){return _0x184ea0!==_0x95610;},'YbXLT':'string','MVlQW':_0x70f85a(0xd6)};if(!_0x5e1028||typeof _0x5e1028!==_0x70f85a(0xfa))return{'valid':![],'error':_0x253ca9['qkWpR']};if(!Array[_0x70f85a(0xf8)](_0x572f60)||_0x572f60['length']===0x0)return{'valid':![],'error':_0x253ca9[_0x70f85a(0xdb)]};if(_0x572f60['length']>0x64)return{'valid':![],'error':'lock_keys\x20exceeds\x20maximum\x20of\x20100\x20items'};for(let _0x226538=0x0;_0x253ca9[_0x70f85a(0x106)](_0x226538,_0x572f60['length']);_0x226538++){const _0x2b1b0c=_0x572f60[_0x226538];if(!_0x2b1b0c||!_0x2b1b0c[_0x70f85a(0xef)]||!_0x2b1b0c['value'])return{'valid':![],'error':'lock_keys['+_0x226538+_0x70f85a(0xf7)};}if(!_0x9e0906||typeof _0x9e0906!==_0x70f85a(0xc1)||_0x253ca9[_0x70f85a(0x106)](_0x9e0906,0x1))return{'valid':![],'error':_0x70f85a(0xdd)};const _0x916b64=this[_0x70f85a(0xed)]();if(_0x9e0906>_0x916b64)return{'valid':![],'error':'ttl\x20exceeds\x20maximum\x20of\x20'+_0x916b64+'\x20seconds.\x20Configure\x20LOCK_RESOURCE_MAX_TTL\x20to\x20increase.'};if(!_0x9b3225||_0x253ca9['xldhp'](typeof _0x9b3225,_0x253ca9['YbXLT']))return{'valid':![],'error':_0x253ca9['MVlQW']};return{'valid':!![]};}[a0_0x1e85ee(0x104)]({resource:_0x3e2d8f,lockKeys:_0x5af33d,lockToken:_0x11ddc3}){const _0x599530=a0_0x1e85ee,_0x4f8f80={'NiqDk':function(_0x23516a,_0x128b9b){return _0x23516a!==_0x128b9b;},'WDdcd':_0x599530(0xfa),'nNbhE':'lock_keys\x20is\x20required\x20and\x20must\x20be\x20a\x20non-empty\x20array','PyhRO':_0x599530(0xfe)};if(!_0x3e2d8f||_0x4f8f80[_0x599530(0xf1)](typeof _0x3e2d8f,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x599530(0xfb)};if(!Array['isArray'](_0x5af33d)||_0x5af33d[_0x599530(0xe1)]===0x0)return{'valid':![],'error':_0x4f8f80['nNbhE']};for(let _0x92b68c=0x0;_0x92b68c<_0x5af33d['length'];_0x92b68c++){const _0x44698d=_0x5af33d[_0x92b68c];if(!_0x44698d||!_0x44698d['key']||!_0x44698d['value'])return{'valid':![],'error':'lock_keys['+_0x92b68c+']\x20must\x20have\x20key\x20and\x20value\x20properties'};}if(!_0x11ddc3||_0x4f8f80[_0x599530(0xf1)](typeof _0x11ddc3,_0x4f8f80[_0x599530(0xf0)]))return{'valid':![],'error':_0x4f8f80['PyhRO']};return{'valid':!![]};}}module[a0_0x1e85ee(0xca)]=new ResourceLockManager();function a0_0x3fbb(){const _0x205863=['CMvZB3vYy2uGyw5KigXVy2TFA2v5CYbHCMuGCMvXDwLYzwq','xsbTDxn0igHHDMuGA2v5igfUzcb2ywX1zsbWCM9Wzxj0AwvZ','AxnbCNjHEq','BwvZC2fNzq','C3rYAw5N','CMvZB3vYy2uGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','z2v0','x2DLDenVBMzSAwn0sw5MBW','Bg9JA190B2TLBIbPCYbYzxf1AxjLzcbHBMqGBxvZDcbIzsbHihn0CMLUzW','DMfSAwq','ywnXDwLYzvjLC291CMnLtg9JA3m','uMvZB3vYy2uGBg9JAYbJB25MBgLJDa','zw52','lI4VlI4VDxrPBhmVBg9Nz2vY','x3zHBgLKyxrLuMvSzwfZzuLUChv0','qMXwrgC','BwTUv3K','BwfW','BNvTyMvY','nJmZnJm0nfjNt0vSzW','lI4VlI4VDxrPBhmVCMvKAxmTy2XPzw50','zxH0CMfJDe93BMvY','Bg9JA19RzxLZigLZihjLCxvPCMvKigfUzcbTDxn0igjLigeGBM9UlwvTChr5igfYCMf5','CMvZB3vYy2vFBg9JA19YzwXLyxnLx2vYCM9Y','B3DUzxi','mtG1mJy0m2zQEe93Aq','yNvPBgrlzxK','zxHWB3j0CW','nti3nZu0mgjiwKn1qW','CMvZB3vYy2vFBg9JA19Hy3f1AxjLx2vYCM9Y','igTLExmP','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DhrS','zxzHBa','Dw5RBM93BG','Aw5MBW','tg9JAYbYzwXLyxnLigzHAwXLzdOG','mtm3ndu4y1PTvhDQ','DKjdt0m','B3DUzxiGAxmGCMvXDwLYzwqGyw5Kig11C3qGyMuGysbZDhjPBMC','Dw1urwK','mJqZnZyXmtntzuPjEvi','ChvZAa','mtruCNvHqNy','u0HcA04','igTLExmSifrutdOG','DhrSigLZihjLCxvPCMvKigfUzcbTDxn0igjLigf0igXLyxn0ideGkgLUihnLy29UzhmP','zgvMyxvSDa','x3jVBgXIywnRs2v5CW','z2vUzxjHDgvuB2TLBG','BgvUz3rO','mJfKt0Pyzey','x3zHBgLKyxrLqwnXDwLYzuLUChv0','zxjYB3i','nZG0ntiYmfPmuevUCG','DhrSuMvTywLUAw5N','CMvZB3vYy2vFBg9JA19JB25MBgLJDa','DxvPza','uMvZB3vYy2uGBg9JAYbYzwXLyxnLigvYCM9YoIa','rMfPBgvKihrVihjVBgXIywnRihjLC291CMnLigXVy2TZigfMDgvYigvYCM9Y','B1rftNy','CMvSzwfZzvjLC291CMnLtg9JA3m','z2v0twf4vfrmu2vJB25KCW','uMvZB3vYy2uGBg9JAYbZDgf0DxmGzxjYB3i6ia','A2v5','v0rKy2q','tMLXrgS','uMvZB3vYy2uGBg9JAYbYzwXLyxnLzdOG','ntyYmte5nMv4qNzVrG','CMy6','z2v0q2XPzw50'];a0_0x3fbb=function(){return _0x205863;};return a0_0x3fbb();}
@@ -1 +1 @@
1
- const a0_0x53e109=a0_0x25a3;function a0_0x1651(){const _0x21963c=['mZaWmda','rK1vB2m','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','y2XVC2u','zgLZy29UBMvJDa','BgvUz3rO','zw52','v3n3Exa','CMvXDwvZDfrPBwvVDxq','y29UC3vTzxiUy3jHC2G','BwvZC2fNzq','Bwv0CMLJCW','icHNCM91CeLKoIa','zgvMyxvSDa','DwrwEfe','z2v0twv0CMLJCW','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','icHMCM9TqMvNAw5UAw5NoIa','BwLU','Bg9JywXOB3n0oJKWoti','CMv0CNLbDhrLBxb0CW','C3rVCa','Bwf4qNL0zxnqzxjqyxj0AxrPB24','rvjst1i','C3Diqxy','y29UBMvJDgLVBLbYB21PC2u','s0fgs0fFsevbuLrcrufux0LovevsvKfm','revcvuC','s0fgs0fFq09otKvdveLptL9usu1ft1vu','BwfW','y2XPzw50swq','mtmYmJq0n1jsuM5nCa','nMnHtxrrvq','CgfYC2u','s0fgs0fFuKvuuLLFtufyx0rftefz','odG2mdfLELrfz08','A2v5','B0jSELu','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','ufj4CK4','DgLTzxn0yw1W','Ae1nzLm','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihn0B3bWzwq','DhzYwMW','sKHZz0K','CMvZDgzVCMDLlq','DhbuyK8','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','mhWXFdn8nhW1Fdi','z2v0tg9Ntgv2zwW','CMvZzxrnzxrYAwnZ','C2vZC2LVBLrPBwvVDxq','r25wz3C','AxnsDw5UAw5N','s0fgs0fFqLjps0vsuW','nta2mdb3t0vJreG','EKLWBfO','CMvZDw1L','zgXpBfe','EMLYyNK','mtbzqKvvDw8','mJG2mJa0r2nTyvLR','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','C3bSAxq','w0THzMTHq29UC3vTzxjDienVBM5Ly3rPB24GzMfPBgvKoIa','z2v0q29UzMLN','vxfZrgK','r2vUyLK','Dg9mB3DLCKnHC2u','s0fgs0fFu0fttf9vu0vstKfnrq','s2rmyxi','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigrPC2nVBM5Ly3rLza','tK9useLorW','s0fgs0fFq0Xjru5ux0Le','BwvZC2fNzxngywLSzwq','Aw5PDgLHBgL6zq','zhfLz2e','CKjiEu0','DMDNqwS','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','mZK1oda2mfDLD2Dgwq','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','ChvZAa','D2fYBG','z3jVDxbjza','Dhj1zq','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','B2zMC2v0','C3vIC2nYAwjLzfrVCgLJCW','AxndB25Uzwn0zwq','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbWyxvZzwq','lwnVBNn1BwvY','v0fstG','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','BM93','ntaWma','Dw5bu3i','yxv0B0nVBw1PDa','s0fgs0fFte9hx0XfvKvm','w0THzMTHq29UC3vTzxjDie1LDhjPy3mGCMvZzxq','w0THzMTHq29UC3vTzxjDienVBNn1BwvYigfSCMvHzhKGCNvUBMLUzW','Bg9N','CKnvz0y','zxjYB3i','zw5HyMXLza','wKjpwLC','uNfIwKS','y29TBwL0t2zMC2v0CW','y29UC3vTzxiUCMvIywXHBMnPBMC','Bg9Ntgv2zwW','tw1KB0y','oujpsgTyEa','y29UC3vTzxi','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','AxnqyxvZzwq','mZHLqxPPy1y','C2v0DxbfDMvUDeHHBMrSzxjZ','C3vIC2nYAwjL','nte5ntfcrfPsyvO','su5gtW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','A2fMA2e','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','BwvZC2fNzuHHBMrSzxi','ChjVy2vZC2LUz1rPBwvZ','mZaXodu4nhfOzwTYtq','Dg9tDhjPBMC','DxvPza','C3rHCNruAw1L','yNjVA2vYCW'];a0_0x1651=function(){return _0x21963c;};return a0_0x1651();}(function(_0x19025b,_0x4e026c){const _0x700573=a0_0x25a3,_0x45983e=_0x19025b();while(!![]){try{const _0x329a37=parseInt(_0x700573(0x21f))/0x1+-parseInt(_0x700573(0x1ec))/0x2*(parseInt(_0x700573(0x1ef))/0x3)+parseInt(_0x700573(0x1b3))/0x4*(-parseInt(_0x700573(0x1b2))/0x5)+-parseInt(_0x700573(0x21c))/0x6*(parseInt(_0x700573(0x21b))/0x7)+parseInt(_0x700573(0x1f7))/0x8+parseInt(_0x700573(0x1e7))/0x9*(parseInt(_0x700573(0x1c7))/0xa)+parseInt(_0x700573(0x1ad))/0xb;if(_0x329a37===_0x4e026c)break;else _0x45983e['push'](_0x45983e['shift']());}catch(_0xf2af67){_0x45983e['push'](_0x45983e['shift']());}}}(a0_0x1651,0x321e4));const {Kafka,logLevel}=require('kafkajs'),{v7:uuidv7}=require(a0_0x53e109(0x1f9));class KafkaConsumerService{constructor(){const _0x33a108=a0_0x53e109;this[_0x33a108(0x1f3)]=null,this['consumer']=null,this['isConnected']=![],this[_0x33a108(0x1bd)]=![],this[_0x33a108(0x1ab)]=![],this['isPaused']=![],this[_0x33a108(0x215)]=null,this[_0x33a108(0x1cf)]=[],this['groupId']=null,this['messageHandler']=null,this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};}[a0_0x53e109(0x1b7)](){const _0x1b7fc3=a0_0x53e109,_0xf501d0={'rBHyM':function(_0x390fd0,_0x2d720f){return _0x390fd0===_0x2d720f;},'CpDpp':_0x1b7fc3(0x1cc),'tvrZl':_0x1b7fc3(0x20f),'zirby':_0x1b7fc3(0x209),'KdLar':function(_0x337832,_0x53abac){return _0x337832(_0x53abac);},'zIplZ':'3000','Wswyp':'1048576','ijwiD':function(_0x58c687,_0x45a1a8){return _0x58c687(_0x45a1a8);},'FMUoc':_0x1b7fc3(0x1fc),'hMMfS':_0x1b7fc3(0x1ca)};return{'enabled':_0xf501d0[_0x1b7fc3(0x1c4)](process['env']['KAFKA_ENABLED'],_0xf501d0['CpDpp']),'brokers':(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1ac)]||_0xf501d0[_0x1b7fc3(0x227)])[_0x1b7fc3(0x1b5)](','),'clientId':process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c0)]||'restforge-'+(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x20c)]||_0xf501d0[_0x1b7fc3(0x1b1)])+_0x1b7fc3(0x1d3),'connectionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x218)]||_0xf501d0[_0x1b7fc3(0x1ae)]),'requestTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)]['KAFKA_REQUEST_TIMEOUT']||'25000'),'sessionTimeout':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env']['KAFKA_SESSION_TIMEOUT']||'30000'),'heartbeatInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x216)]||'3000'),'maxBytesPerPartition':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process['env'][_0x1b7fc3(0x1d5)]||_0xf501d0[_0x1b7fc3(0x203)]),'autoCommit':process['env']['KAFKA_AUTO_COMMIT']===_0xf501d0['CpDpp'],'autoCommitInterval':_0xf501d0[_0x1b7fc3(0x1bc)](parseInt,process[_0x1b7fc3(0x202)][_0x1b7fc3(0x1c6)]||_0x1b7fc3(0x1d7)),'retryAttempts':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':_0xf501d0['ijwiD'](parseInt,process['env']['KAFKA_RETRY_DELAY']||'1000'),'retryMaxDelay':parseInt(process[_0x1b7fc3(0x202)][_0x1b7fc3(0x21e)]||_0xf501d0[_0x1b7fc3(0x1fd)]),'logLevel':process['env'][_0x1b7fc3(0x1da)]||_0xf501d0[_0x1b7fc3(0x225)]};}['getLogLevel'](_0x5af983){const _0x1db367=a0_0x53e109,_0x33607d={'nothing':logLevel[_0x1db367(0x1bf)],'error':logLevel[_0x1db367(0x213)],'warn':logLevel[_0x1db367(0x1d4)],'info':logLevel[_0x1db367(0x1f0)],'debug':logLevel[_0x1db367(0x217)]};return _0x33607d[_0x5af983[_0x1db367(0x1ba)]()]||logLevel[_0x1db367(0x1d4)];}async[a0_0x53e109(0x1c2)](_0x442745={}){const _0x45b36b=a0_0x53e109,_0x73df78={'hpOPs':function(_0x2e6cbe,_0x500c76){return _0x2e6cbe===_0x500c76;},'GnVgw':_0x45b36b(0x1cc),'jnwLf':function(_0x58c81a,_0x31bbc4){return _0x58c81a(_0x31bbc4);},'unASr':'[KafkaConsumer]\x20Kafka\x20consumer\x20is\x20disabled\x20in\x20configuration'},_0x3671f7=this['getConfig']();if(!_0x3671f7[_0x45b36b(0x1e0)])return console[_0x45b36b(0x1dd)](_0x73df78[_0x45b36b(0x1d8)]),![];if(this['isConnected'])return!![];if(this['isInitializing']&&this[_0x45b36b(0x215)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0x3364fd=>{const _0x226074=_0x45b36b;try{let _0x1290f6=undefined;_0x73df78['hpOPs'](process[_0x226074(0x202)]['KAFKA_SSL'],_0x73df78[_0x226074(0x1aa)])&&(_0x1290f6=!![]);let _0x35b770=undefined;process['env']['KAFKA_SASL_MECHANISM']&&(_0x35b770={'mechanism':process[_0x226074(0x202)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x226074(0x1bb)]||'','password':process[_0x226074(0x202)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x442745[_0x226074(0x21a)]||_0x3671f7[_0x226074(0x21a)],'brokers':_0x3671f7[_0x226074(0x1fb)],'connectionTimeout':_0x3671f7[_0x226074(0x1d1)],'requestTimeout':_0x3671f7[_0x226074(0x204)],'logLevel':this[_0x226074(0x1a7)](_0x3671f7[_0x226074(0x1e5)]),'ssl':_0x1290f6,'sasl':_0x35b770,'retry':{'initialRetryTime':_0x3671f7['retryDelay'],'retries':_0x3671f7[_0x226074(0x210)],'maxRetryTime':_0x3671f7['retryMaxDelay']}}),this[_0x226074(0x1cb)]=_0x442745['groupId']||_0x226074(0x229)+(process[_0x226074(0x202)][_0x226074(0x20c)]||'default')+'-consumer-group',this[_0x226074(0x1e8)]=this[_0x226074(0x1f3)]['consumer']({'groupId':this['groupId'],'sessionTimeout':_0x3671f7[_0x226074(0x1a9)],'heartbeatInterval':_0x3671f7['heartbeatInterval'],'maxBytesPerPartition':_0x3671f7[_0x226074(0x212)],'allowAutoTopicCreation':![]}),await this[_0x226074(0x1e8)]['connect'](),this[_0x226074(0x1d0)]=!![],console[_0x226074(0x1dd)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x3671f7[_0x226074(0x1fb)]['join'](',\x20')+_0x226074(0x208)+this[_0x226074(0x1cb)]+')'),this[_0x226074(0x1ed)](),_0x73df78['jnwLf'](_0x3364fd,!![]);}catch(_0x4a8af8){console['error'](_0x226074(0x1b6)+_0x4a8af8['message']),this['isConnected']=![],_0x3364fd(![]);}finally{this[_0x226074(0x1bd)]=![];}}),this[_0x45b36b(0x215)];}[a0_0x53e109(0x1ed)](){const _0x3bd73e=a0_0x53e109,_0xf5b9b8={'ZBOZW':_0x3bd73e(0x226),'iDnby':'consumer.disconnect','rCUgF':'consumer.stop','ntdIh':_0x3bd73e(0x205),'tpTbO':_0x3bd73e(0x1e4)};if(!this[_0x3bd73e(0x1e8)])return;this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8['iDnby'],()=>{const _0x4c02cf=_0x3bd73e;console[_0x4c02cf(0x1dd)](_0x4c02cf(0x1be)),this[_0x4c02cf(0x1d0)]=![],this[_0x4c02cf(0x1ab)]=![];}),this[_0x3bd73e(0x1e8)]['on'](_0xf5b9b8[_0x3bd73e(0x1de)],()=>{const _0xdb6017=_0x3bd73e;console['log'](_0xf5b9b8[_0xdb6017(0x1e1)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8['ntdIh'],_0x9bf295=>{const _0x1fab74=_0x3bd73e;console[_0x1fab74(0x1df)]('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0x9bf295['payload']['error'][_0x1fab74(0x206)]),this['isRunning']=![];}),this['consumer']['on'](_0xf5b9b8[_0x3bd73e(0x22a)],()=>{const _0x156f92=_0x3bd73e;console[_0x156f92(0x1dd)]('[KafkaConsumer]\x20Consumer\x20rebalancing...');});}async[a0_0x53e109(0x1ee)](_0x24b245,_0x1626c6=![]){const _0x550803=a0_0x53e109,_0x5f074a={'vggAk':'[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x5f074a[_0x550803(0x1c5)]),![];try{const _0x2587b7=Array['isArray'](_0x24b245)?_0x24b245:[_0x24b245];for(const _0x85c595 of _0x2587b7){await this[_0x550803(0x1e8)][_0x550803(0x1ee)]({'topic':_0x85c595,'fromBeginning':_0x1626c6}),console[_0x550803(0x1dd)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x85c595+_0x550803(0x20d)+_0x1626c6+')');}return this[_0x550803(0x1cf)]=[...new Set([...this['subscribedTopics'],..._0x2587b7])],!![];}catch(_0x38402a){return console[_0x550803(0x1df)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x38402a['message']),![];}}async['startConsuming'](_0x1fa060,_0x170bd7={}){const _0x6411cf=a0_0x53e109,_0x11ebea={'UqsDi':function(_0x2cda97,_0x442235){return _0x2cda97+_0x442235;},'MmdoF':function(_0x352a9e,_0x25959c){return _0x352a9e(_0x25959c);},'dqega':function(_0x3ca137,_0x5d4d70){return _0x3ca137>_0x5d4d70;},'bdxZA':_0x6411cf(0x1b4),'swHAv':_0x6411cf(0x1dc)};if(!this[_0x6411cf(0x1d0)])return console[_0x6411cf(0x1df)](_0x11ebea['bdxZA']),![];if(this[_0x6411cf(0x1ab)])return console['log'](_0x11ebea[_0x6411cf(0x214)]),!![];const _0x63c60b=this[_0x6411cf(0x1b7)]();this[_0x6411cf(0x1f5)]=_0x1fa060;try{return this[_0x6411cf(0x207)][_0x6411cf(0x1fa)]=new Date(),await this['consumer']['run']({'autoCommit':_0x170bd7[_0x6411cf(0x1d9)]!==undefined?_0x170bd7[_0x6411cf(0x1d9)]:_0x63c60b[_0x6411cf(0x1d9)],'autoCommitInterval':_0x63c60b['autoCommitInterval'],'eachMessage':async({topic:_0x1d52b1,partition:_0x465916,message:_0x19760f,heartbeat:_0x463a21})=>{const _0x4542a6=_0x6411cf,_0x5195f4=Date['now']();this[_0x4542a6(0x207)]['messagesReceived']++,this[_0x4542a6(0x207)][_0x4542a6(0x1e9)]=new Date();try{const _0x20a6cd=_0x19760f['value']?_0x19760f['value']['toString']():null;let _0x1a202a=null;try{_0x1a202a=_0x20a6cd?JSON[_0x4542a6(0x21d)](_0x20a6cd):null;}catch(_0xa2c59b){_0x1a202a=_0x20a6cd;}const _0x48a7a0={'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x19760f[_0x4542a6(0x1ce)],'key':_0x19760f['key']?_0x19760f[_0x4542a6(0x220)]['toString']():null,'headers':this['parseHeaders'](_0x19760f['headers']),'timestamp':_0x19760f[_0x4542a6(0x224)],'value':_0x1a202a,'raw':_0x20a6cd};this[_0x4542a6(0x1f5)]&&await this['messageHandler'](_0x48a7a0);!_0x63c60b['autoCommit']&&await this[_0x4542a6(0x1e8)][_0x4542a6(0x1e3)]([{'topic':_0x1d52b1,'partition':_0x465916,'offset':_0x11ebea[_0x4542a6(0x1b8)](_0x11ebea[_0x4542a6(0x1e6)](parseInt,_0x19760f['offset']),0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x48ad87=Date['now']()-_0x5195f4;this[_0x4542a6(0x207)][_0x4542a6(0x1f6)][_0x4542a6(0x1c9)](_0x48ad87),_0x11ebea[_0x4542a6(0x1c3)](this['metrics'][_0x4542a6(0x1f6)][_0x4542a6(0x201)],0x64)&&this[_0x4542a6(0x207)]['processingTimes']['shift'](),await _0x463a21();}catch(_0x1b1d05){this['metrics'][_0x4542a6(0x1c1)]++,console[_0x4542a6(0x1df)](_0x4542a6(0x1cd)+_0x1b1d05[_0x4542a6(0x206)]);throw _0x1b1d05;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this[_0x6411cf(0x1cf)]['join'](',\x20')),!![];}catch(_0x3198e3){return console[_0x6411cf(0x1df)](_0x6411cf(0x1ea)+_0x3198e3[_0x6411cf(0x206)]),![];}}['parseHeaders'](_0x24a912){const _0x30686c=a0_0x53e109;if(!_0x24a912)return{};const _0x33a39a={};for(const [_0x4fdc82,_0x535145]of Object['entries'](_0x24a912)){_0x33a39a[_0x4fdc82]=_0x535145?_0x535145[_0x30686c(0x1f8)]():null;}return _0x33a39a;}async['pause'](){const _0x3e49e4=a0_0x53e109,_0x2ff9eb={'JHsgI':'[KafkaConsumer]\x20Consumer\x20paused'};if(!this[_0x3e49e4(0x1d0)]||!this['isRunning'])return console['log'](_0x3e49e4(0x1c8)),![];if(this[_0x3e49e4(0x1eb)])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x3fed2f=this[_0x3e49e4(0x1cf)][_0x3e49e4(0x219)](_0xbecfd9=>({'topic':_0xbecfd9}));return this[_0x3e49e4(0x1e8)]['pause'](_0x3fed2f),this['isPaused']=!![],console['log'](_0x2ff9eb[_0x3e49e4(0x228)]),!![];}catch(_0x2f01ad){return console[_0x3e49e4(0x1df)](_0x3e49e4(0x1f4)+_0x2f01ad[_0x3e49e4(0x206)]),![];}}async[a0_0x53e109(0x1af)](){const _0x8b0db0=a0_0x53e109,_0x5c8315={'RqbZK':_0x8b0db0(0x22b),'EdyoL':_0x8b0db0(0x1d2),'HNyGI':_0x8b0db0(0x222)};if(!this[_0x8b0db0(0x1d0)]||!this['isRunning'])return console['log'](_0x5c8315[_0x8b0db0(0x1e2)]),![];if(!this[_0x8b0db0(0x1eb)])return console['log'](_0x5c8315['EdyoL']),!![];try{const _0x31f5d3=this['subscribedTopics']['map'](_0x54dd99=>({'topic':_0x54dd99}));return this[_0x8b0db0(0x1e8)]['resume'](_0x31f5d3),this[_0x8b0db0(0x1eb)]=![],console['log'](_0x5c8315['HNyGI']),!![];}catch(_0x2d3468){return console[_0x8b0db0(0x1df)]('[KafkaConsumer]\x20Resume\x20error:\x20'+_0x2d3468[_0x8b0db0(0x206)]),![];}}async[a0_0x53e109(0x211)](){const _0x93952e=a0_0x53e109;if(!this[_0x93952e(0x1d0)])return console[_0x93952e(0x1dd)](_0x93952e(0x1fe)),!![];try{const _0x38b618=_0x93952e(0x1a6)['split']('|');let _0x54ff6d=0x0;while(!![]){switch(_0x38b618[_0x54ff6d++]){case'0':this['consumer']&&(await this['consumer'][_0x93952e(0x211)](),await this[_0x93952e(0x1e8)][_0x93952e(0x200)]());continue;case'1':this[_0x93952e(0x1d0)]=![];continue;case'2':return!![];case'3':this['isRunning']=![];continue;case'4':this[_0x93952e(0x1eb)]=![];continue;case'5':console['log']('[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected');continue;}break;}}catch(_0x2685b9){return console['error'](_0x93952e(0x1f1)+_0x2685b9['message']),![];}}async['seekToOffset'](_0x458989,_0x147fd2,_0x172151){const _0x3da619=a0_0x53e109,_0x457ba6={'HNHcV':'[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'};if(!this['isConnected'])return console['error'](_0x457ba6['HNHcV']),![];try{return this['consumer']['seek']({'topic':_0x458989,'partition':_0x147fd2,'offset':_0x172151[_0x3da619(0x1f8)]()}),console[_0x3da619(0x1dd)](_0x3da619(0x1f2)+_0x172151+'\x20on\x20'+_0x458989+':'+_0x147fd2),!![];}catch(_0x4d3395){return console['error']('[KafkaConsumer]\x20Seek\x20error:\x20'+_0x4d3395[_0x3da619(0x206)]),![];}}['getStatus'](){const _0x468458=a0_0x53e109,_0x1f9e44=this['getConfig']();return{'enabled':_0x1f9e44['enabled'],'connected':this['isConnected'],'running':this[_0x468458(0x1ab)],'paused':this['isPaused'],'brokers':_0x1f9e44['brokers'],'clientId':_0x1f9e44['clientId'],'groupId':this[_0x468458(0x1cb)],'subscribedTopics':this['subscribedTopics']};}[a0_0x53e109(0x20b)](){const _0x5968e0=a0_0x53e109,_0xb1937a={'ZTDmG':function(_0x59687b,_0xe78eb9){return _0x59687b>_0xe78eb9;},'SBDeH':function(_0x165617,_0x498ef6){return _0x165617/_0x498ef6;},'dlOlQ':function(_0x1712c5,_0x31fd25){return _0x1712c5+_0x31fd25;},'oBlzU':function(_0x706192,_0x99be45){return _0x706192+_0x99be45;},'udVxQ':function(_0x4115ad,_0x6dcaa6){return _0x4115ad/_0x6dcaa6;},'GenbY':function(_0x1b509a,_0x4fb986){return _0x1b509a-_0x4fb986;},'PRxrN':function(_0x55b810,_0x42ece4){return _0x55b810+_0x42ece4;}},_0x16b294=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?_0xb1937a['SBDeH'](this['metrics'][_0x5968e0(0x1f6)]['reduce']((_0x4c7e98,_0x28faae)=>_0x4c7e98+_0x28faae,0x0),this[_0x5968e0(0x207)]['processingTimes']['length']):0x0,_0x1b1db6=_0xb1937a['ZTDmG'](this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)],0x0)?Math[_0x5968e0(0x20e)](...this[_0x5968e0(0x207)]['processingTimes']):0x0,_0x3cad41=this['metrics'][_0x5968e0(0x1f6)][_0x5968e0(0x201)]>0x0?Math['max'](...this['metrics']['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0x5968e0(0x207)]['messagesProcessed'],'messagesFailed':this[_0x5968e0(0x207)]['messagesFailed'],'successRate':this['metrics']['messagesReceived']>0x0?_0xb1937a[_0x5968e0(0x1b0)]((_0xb1937a['SBDeH'](this['metrics']['messagesProcessed'],this[_0x5968e0(0x207)]['messagesReceived'])*0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0x5968e0(0x207)]['lastMessageTime'],'startTime':this[_0x5968e0(0x207)]['startTime'],'uptime':this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]?_0xb1937a[_0x5968e0(0x221)](Math['floor'](_0xb1937a[_0x5968e0(0x20a)](_0xb1937a[_0x5968e0(0x1b9)](Date[_0x5968e0(0x1d6)](),this[_0x5968e0(0x207)][_0x5968e0(0x1fa)]['getTime']()),0x3e8)),'s'):'0s','processingTime':{'avg':_0xb1937a['dlOlQ'](Math['round'](_0x16b294),'ms'),'min':_0x1b1db6+'ms','max':_0xb1937a[_0x5968e0(0x223)](_0x3cad41,'ms')}};}[a0_0x53e109(0x1a8)](){const _0x1b4368=a0_0x53e109;this['metrics']={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console['log'](_0x1b4368(0x1db));}async['close'](){await this['stop']();}}function a0_0x25a3(_0x5e1a81,_0x181a9e){_0x5e1a81=_0x5e1a81-0x1a6;const _0x165162=a0_0x1651();let _0x25a3c2=_0x165162[_0x5e1a81];if(a0_0x25a3['gCVdXO']===undefined){var _0xc158db=function(_0x39b68c){const _0x53de5f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x552578='',_0x5b429b='';for(let _0x1d38df=0x0,_0xcf6e58,_0x19300a,_0x8596b2=0x0;_0x19300a=_0x39b68c['charAt'](_0x8596b2++);~_0x19300a&&(_0xcf6e58=_0x1d38df%0x4?_0xcf6e58*0x40+_0x19300a:_0x19300a,_0x1d38df++%0x4)?_0x552578+=String['fromCharCode'](0xff&_0xcf6e58>>(-0x2*_0x1d38df&0x6)):0x0){_0x19300a=_0x53de5f['indexOf'](_0x19300a);}for(let _0x3c461c=0x0,_0x4e2b09=_0x552578['length'];_0x3c461c<_0x4e2b09;_0x3c461c++){_0x5b429b+='%'+('00'+_0x552578['charCodeAt'](_0x3c461c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b429b);};a0_0x25a3['ZjKKFl']=_0xc158db,a0_0x25a3['jfhhTB']={},a0_0x25a3['gCVdXO']=!![];}const _0x47a74=_0x165162[0x0],_0x56906a=_0x5e1a81+_0x47a74,_0x23f379=a0_0x25a3['jfhhTB'][_0x56906a];return!_0x23f379?(_0x25a3c2=a0_0x25a3['ZjKKFl'](_0x25a3c2),a0_0x25a3['jfhhTB'][_0x56906a]=_0x25a3c2):_0x25a3c2=_0x23f379,_0x25a3c2;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){const _0x91380f=a0_0x53e109;instance&&(instance[_0x91380f(0x1ff)](),instance=null);}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
1
+ const a0_0x934f1a=a0_0x45b7;(function(_0x3713bb,_0x21f17f){const _0x5b1666=a0_0x45b7,_0x5ecc39=_0x3713bb();while(!![]){try{const _0x14ac12=parseInt(_0x5b1666(0x1f0))/0x1*(-parseInt(_0x5b1666(0x217))/0x2)+parseInt(_0x5b1666(0x1c2))/0x3+parseInt(_0x5b1666(0x1f8))/0x4+-parseInt(_0x5b1666(0x1c5))/0x5+parseInt(_0x5b1666(0x1cb))/0x6*(parseInt(_0x5b1666(0x1fe))/0x7)+-parseInt(_0x5b1666(0x22d))/0x8*(-parseInt(_0x5b1666(0x20d))/0x9)+-parseInt(_0x5b1666(0x206))/0xa;if(_0x14ac12===_0x21f17f)break;else _0x5ecc39['push'](_0x5ecc39['shift']());}catch(_0x4a48af){_0x5ecc39['push'](_0x5ecc39['shift']());}}}(a0_0x133e,0x9b78d));const {Kafka,logLevel}=require(a0_0x934f1a(0x1c7)),{v7:uuidv7}=require(a0_0x934f1a(0x200));class KafkaConsumerService{constructor(){const _0x29d4d7=a0_0x934f1a,_0x639168={'OFoaN':_0x29d4d7(0x208)},_0x4fabea=_0x639168['OFoaN'][_0x29d4d7(0x1fd)]('|');let _0x16d9cb=0x0;while(!![]){switch(_0x4fabea[_0x16d9cb++]){case'0':this[_0x29d4d7(0x1c6)]=![];continue;case'1':this['isPaused']=![];continue;case'2':this['isRunning']=![];continue;case'3':this[_0x29d4d7(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':null,'processingTimes':[]};continue;case'4':this[_0x29d4d7(0x1e0)]=[];continue;case'5':this[_0x29d4d7(0x21f)]=null;continue;case'6':this['messageHandler']=null;continue;case'7':this['isInitializing']=![];continue;case'8':this['connectionPromise']=null;continue;case'9':this[_0x29d4d7(0x1ce)]=null;continue;case'10':this[_0x29d4d7(0x211)]=null;continue;}break;}}[a0_0x934f1a(0x238)](){const _0x114936=a0_0x934f1a,_0x5a3d82={'CXTcS':function(_0x38b52c,_0x77c3db){return _0x38b52c===_0x77c3db;},'UJLbh':function(_0x219e18,_0x225672){return _0x219e18(_0x225672);},'WhCwn':'30000','yRQSR':'3000','yoMKQ':function(_0x7476b3,_0xac88eb){return _0x7476b3(_0xac88eb);},'Kieyp':_0x114936(0x1f1),'KDdxY':'1000','FUHgm':'warn'};return{'enabled':_0x5a3d82[_0x114936(0x220)](process[_0x114936(0x235)]['KAFKA_ENABLED'],'true'),'brokers':(process['env']['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process[_0x114936(0x235)]['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x114936(0x235)][_0x114936(0x1e3)]||'default')+_0x114936(0x213),'connectionTimeout':parseInt(process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x114936(0x212)),'requestTimeout':parseInt(process[_0x114936(0x235)]['KAFKA_REQUEST_TIMEOUT']||_0x114936(0x1ed)),'sessionTimeout':_0x5a3d82[_0x114936(0x1eb)](parseInt,process['env'][_0x114936(0x21e)]||_0x5a3d82['WhCwn']),'heartbeatInterval':parseInt(process[_0x114936(0x235)][_0x114936(0x1da)]||_0x5a3d82[_0x114936(0x1e7)]),'maxBytesPerPartition':_0x5a3d82[_0x114936(0x1db)](parseInt,process[_0x114936(0x235)][_0x114936(0x1d5)]||_0x114936(0x228)),'autoCommit':process[_0x114936(0x235)]['KAFKA_AUTO_COMMIT']===_0x114936(0x201),'autoCommitInterval':_0x5a3d82[_0x114936(0x1db)](parseInt,process['env'][_0x114936(0x1ea)]||_0x5a3d82['Kieyp']),'retryAttempts':parseInt(process['env'][_0x114936(0x204)]||'3'),'retryDelay':_0x5a3d82['UJLbh'](parseInt,process['env'][_0x114936(0x1dd)]||_0x5a3d82['KDdxY']),'retryMaxDelay':parseInt(process[_0x114936(0x235)]['KAFKA_RETRY_MAX_DELAY']||_0x114936(0x1dc)),'logLevel':process['env']['KAFKA_LOG_LEVEL']||_0x5a3d82[_0x114936(0x22f)]};}[a0_0x934f1a(0x1fa)](_0x408c90){const _0x258739=a0_0x934f1a,_0x50e20f={'nothing':logLevel['NOTHING'],'error':logLevel[_0x258739(0x1e2)],'warn':logLevel['WARN'],'info':logLevel[_0x258739(0x1df)],'debug':logLevel[_0x258739(0x229)]};return _0x50e20f[_0x408c90[_0x258739(0x1c3)]()]||logLevel[_0x258739(0x234)];}async[a0_0x934f1a(0x1f3)](_0x5067d0={}){const _0x95e913=a0_0x934f1a,_0x3edbd1={'EFRDC':function(_0x185d47,_0x43bee3){return _0x185d47===_0x43bee3;},'yeRAP':function(_0x47c181,_0x18c5df){return _0x47c181(_0x18c5df);},'eBVdk':_0x95e913(0x20e)},_0x2c92d8=this['getConfig']();if(!_0x2c92d8[_0x95e913(0x1d7)])return console['log'](_0x3edbd1[_0x95e913(0x239)]),![];if(this[_0x95e913(0x1c6)])return!![];if(this['isInitializing']&&this[_0x95e913(0x216)])return this['connectionPromise'];return this['isInitializing']=!![],this['connectionPromise']=new Promise(async _0xa794e1=>{const _0x47d15f=_0x95e913;try{let _0x3e150b=undefined;_0x3edbd1['EFRDC'](process['env']['KAFKA_SSL'],_0x47d15f(0x201))&&(_0x3e150b=!![]);let _0x26eaaa=undefined;process['env'][_0x47d15f(0x205)]&&(_0x26eaaa={'mechanism':process[_0x47d15f(0x235)][_0x47d15f(0x205)],'username':process['env']['KAFKA_SASL_USERNAME']||'','password':process[_0x47d15f(0x235)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x5067d0[_0x47d15f(0x1d3)]||_0x2c92d8[_0x47d15f(0x1d3)],'brokers':_0x2c92d8['brokers'],'connectionTimeout':_0x2c92d8[_0x47d15f(0x1bd)],'requestTimeout':_0x2c92d8['requestTimeout'],'logLevel':this[_0x47d15f(0x1fa)](_0x2c92d8[_0x47d15f(0x1d1)]),'ssl':_0x3e150b,'sasl':_0x26eaaa,'retry':{'initialRetryTime':_0x2c92d8['retryDelay'],'retries':_0x2c92d8[_0x47d15f(0x1cf)],'maxRetryTime':_0x2c92d8['retryMaxDelay']}}),this['groupId']=_0x5067d0['groupId']||_0x47d15f(0x1d2)+(process['env']['RESTFORGE_PROJECT_NAME']||_0x47d15f(0x227))+'-consumer-group',this['consumer']=this[_0x47d15f(0x211)]['consumer']({'groupId':this[_0x47d15f(0x21f)],'sessionTimeout':_0x2c92d8[_0x47d15f(0x1cd)],'heartbeatInterval':_0x2c92d8['heartbeatInterval'],'maxBytesPerPartition':_0x2c92d8['maxBytesPerPartition'],'allowAutoTopicCreation':![]}),await this[_0x47d15f(0x1ce)][_0x47d15f(0x1c8)](),this[_0x47d15f(0x1c6)]=!![],console[_0x47d15f(0x215)]('[KafkaConsumer]\x20Consumer\x20connected\x20to\x20brokers:\x20'+_0x2c92d8['brokers'][_0x47d15f(0x21d)](',\x20')+_0x47d15f(0x1fb)+this['groupId']+')'),this[_0x47d15f(0x1f7)](),_0xa794e1(!![]);}catch(_0x2e762b){console['error']('[KafkaConsumer]\x20Connection\x20failed:\x20'+_0x2e762b['message']),this[_0x47d15f(0x1c6)]=![],_0x3edbd1[_0x47d15f(0x1c9)](_0xa794e1,![]);}finally{this[_0x47d15f(0x1e5)]=![];}}),this['connectionPromise'];}[a0_0x934f1a(0x1f7)](){const _0x16448d=a0_0x934f1a,_0x16faf2={'xxeIP':'[KafkaConsumer]\x20Consumer\x20disconnected','QtFRk':'[KafkaConsumer]\x20Consumer\x20stopped','zQopG':_0x16448d(0x1f5),'dzTPq':_0x16448d(0x1e1),'TVTEb':_0x16448d(0x1ca),'dCuKn':'consumer.rebalancing'};if(!this[_0x16448d(0x1ce)])return;this['consumer']['on']('consumer.disconnect',()=>{const _0x31f7da=_0x16448d;console[_0x31f7da(0x215)](_0x16faf2['xxeIP']),this['isConnected']=![],this[_0x31f7da(0x218)]=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2[_0x16448d(0x21a)],()=>{const _0x1cd36d=_0x16448d;console['log'](_0x16faf2[_0x1cd36d(0x221)]),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['TVTEb'],_0xde3c9=>{const _0x1ec540=_0x16448d;console['error']('[KafkaConsumer]\x20Consumer\x20crashed:\x20'+_0xde3c9[_0x1ec540(0x1d6)]['error']['message']),this['isRunning']=![];}),this[_0x16448d(0x1ce)]['on'](_0x16faf2['dCuKn'],()=>{const _0x4e9090=_0x16448d;console[_0x4e9090(0x215)](_0x16faf2[_0x4e9090(0x219)]);});}async[a0_0x934f1a(0x237)](_0x30af11,_0x39dffb=![]){const _0x166626=a0_0x934f1a;if(!this['isConnected'])return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Cannot\x20subscribe\x20-\x20not\x20connected'),![];try{const _0x12185b=Array['isArray'](_0x30af11)?_0x30af11:[_0x30af11];for(const _0x574602 of _0x12185b){await this['consumer']['subscribe']({'topic':_0x574602,'fromBeginning':_0x39dffb}),console[_0x166626(0x215)]('[KafkaConsumer]\x20Subscribed\x20to\x20topic:\x20'+_0x574602+_0x166626(0x20c)+_0x39dffb+')');}return this[_0x166626(0x1e0)]=[...new Set([...this['subscribedTopics'],..._0x12185b])],!![];}catch(_0x468f74){return console[_0x166626(0x1ec)]('[KafkaConsumer]\x20Subscribe\x20error:\x20'+_0x468f74['message']),![];}}async['startConsuming'](_0x49ab66,_0x4931a2={}){const _0x29d768=a0_0x934f1a,_0x522a85={'IaxSD':function(_0x560b8d,_0x273209){return _0x560b8d(_0x273209);},'rqENo':function(_0x4da4b5,_0x3d0ac3){return _0x4da4b5-_0x3d0ac3;},'qiFJo':function(_0x141e8b,_0x1ec3f6){return _0x141e8b>_0x1ec3f6;},'fzKwp':function(_0x38d099){return _0x38d099();},'xCdaQ':_0x29d768(0x214),'gvnmf':function(_0x45ba61,_0x2ed768){return _0x45ba61!==_0x2ed768;}};if(!this[_0x29d768(0x1c6)])return console['error'](_0x522a85['xCdaQ']),![];if(this[_0x29d768(0x218)])return console[_0x29d768(0x215)]('[KafkaConsumer]\x20Consumer\x20already\x20running'),!![];const _0x1abeec=this[_0x29d768(0x238)]();this[_0x29d768(0x1ee)]=_0x49ab66;try{return this[_0x29d768(0x1c0)][_0x29d768(0x1d4)]=new Date(),await this['consumer']['run']({'autoCommit':_0x522a85[_0x29d768(0x1e8)](_0x4931a2['autoCommit'],undefined)?_0x4931a2[_0x29d768(0x21b)]:_0x1abeec['autoCommit'],'autoCommitInterval':_0x1abeec['autoCommitInterval'],'eachMessage':async({topic:_0x49d60b,partition:_0x48c10c,message:_0x11b3ef,heartbeat:_0x41d94a})=>{const _0x523cd1=_0x29d768,_0x31e1db=Date[_0x523cd1(0x233)]();this['metrics'][_0x523cd1(0x1bf)]++,this['metrics'][_0x523cd1(0x1f4)]=new Date();try{const _0x1b9677=_0x11b3ef['value']?_0x11b3ef[_0x523cd1(0x207)]['toString']():null;let _0x1fd3bc=null;try{_0x1fd3bc=_0x1b9677?JSON['parse'](_0x1b9677):null;}catch(_0x556d6f){_0x1fd3bc=_0x1b9677;}const _0x4b395c={'topic':_0x49d60b,'partition':_0x48c10c,'offset':_0x11b3ef[_0x523cd1(0x1f6)],'key':_0x11b3ef['key']?_0x11b3ef['key']['toString']():null,'headers':this['parseHeaders'](_0x11b3ef['headers']),'timestamp':_0x11b3ef['timestamp'],'value':_0x1fd3bc,'raw':_0x1b9677};this['messageHandler']&&await this['messageHandler'](_0x4b395c);!_0x1abeec[_0x523cd1(0x21b)]&&await this['consumer']['commitOffsets']([{'topic':_0x49d60b,'partition':_0x48c10c,'offset':(_0x522a85['IaxSD'](parseInt,_0x11b3ef['offset'])+0x1)['toString']()}]);this['metrics']['messagesProcessed']++;const _0x1be4b9=_0x522a85['rqENo'](Date[_0x523cd1(0x233)](),_0x31e1db);this[_0x523cd1(0x1c0)][_0x523cd1(0x1f2)]['push'](_0x1be4b9),_0x522a85[_0x523cd1(0x226)](this[_0x523cd1(0x1c0)]['processingTimes']['length'],0x64)&&this[_0x523cd1(0x1c0)]['processingTimes'][_0x523cd1(0x1e9)](),await _0x522a85['fzKwp'](_0x41d94a);}catch(_0x395f3c){this['metrics']['messagesFailed']++,console['error'](_0x523cd1(0x1e6)+_0x395f3c[_0x523cd1(0x1ef)]);throw _0x395f3c;}}}),this['isRunning']=!![],console['log']('[KafkaConsumer]\x20Started\x20consuming\x20from\x20topics:\x20'+this['subscribedTopics']['join'](',\x20')),!![];}catch(_0x375b81){return console['error'](_0x29d768(0x1be)+_0x375b81[_0x29d768(0x1ef)]),![];}}['parseHeaders'](_0x1c316f){const _0x34bc8f=a0_0x934f1a;if(!_0x1c316f)return{};const _0x437ba6={};for(const [_0x17e099,_0x270217]of Object['entries'](_0x1c316f)){_0x437ba6[_0x17e099]=_0x270217?_0x270217[_0x34bc8f(0x1e4)]():null;}return _0x437ba6;}async['pause'](){const _0x3e73e7=a0_0x934f1a,_0x4231a2={'Fxrki':_0x3e73e7(0x1d9)};if(!this[_0x3e73e7(0x1c6)]||!this['isRunning'])return console['log'](_0x4231a2['Fxrki']),![];if(this['isPaused'])return console['log']('[KafkaConsumer]\x20Consumer\x20already\x20paused'),!![];try{const _0x345d3b=this[_0x3e73e7(0x1e0)]['map'](_0x2d06e5=>({'topic':_0x2d06e5}));return this['consumer'][_0x3e73e7(0x222)](_0x345d3b),this[_0x3e73e7(0x20b)]=!![],console['log'](_0x3e73e7(0x1c1)),!![];}catch(_0x4c7b0c){return console['error'](_0x3e73e7(0x224)+_0x4c7b0c[_0x3e73e7(0x1ef)]),![];}}async['resume'](){const _0x29ecf4=a0_0x934f1a,_0x587d65={'stYRy':'[KafkaConsumer]\x20Consumer\x20not\x20paused','QMAXv':_0x29ecf4(0x1c4)};if(!this[_0x29ecf4(0x1c6)]||!this[_0x29ecf4(0x218)])return console[_0x29ecf4(0x215)](_0x29ecf4(0x209)),![];if(!this[_0x29ecf4(0x20b)])return console[_0x29ecf4(0x215)](_0x587d65['stYRy']),!![];try{const _0x2bea00=this['subscribedTopics']['map'](_0x576b80=>({'topic':_0x576b80}));return this[_0x29ecf4(0x1ce)]['resume'](_0x2bea00),this[_0x29ecf4(0x20b)]=![],console[_0x29ecf4(0x215)](_0x587d65[_0x29ecf4(0x202)]),!![];}catch(_0x2f927f){return console['error'](_0x29ecf4(0x223)+_0x2f927f['message']),![];}}async['stop'](){const _0x4a80a8=a0_0x934f1a,_0x9c2737={'RcYwq':_0x4a80a8(0x1de),'hVJuq':'[KafkaConsumer]\x20Consumer\x20stopped\x20and\x20disconnected'};if(!this[_0x4a80a8(0x1c6)])return console['log'](_0x4a80a8(0x225)),!![];try{const _0x42d3cd=_0x9c2737['RcYwq'][_0x4a80a8(0x1fd)]('|');let _0x4f835d=0x0;while(!![]){switch(_0x42d3cd[_0x4f835d++]){case'0':this[_0x4a80a8(0x1ce)]&&(await this[_0x4a80a8(0x1ce)][_0x4a80a8(0x20f)](),await this['consumer'][_0x4a80a8(0x22b)]());continue;case'1':this['isRunning']=![];continue;case'2':return!![];case'3':console['log'](_0x9c2737[_0x4a80a8(0x22e)]);continue;case'4':this['isPaused']=![];continue;case'5':this['isConnected']=![];continue;}break;}}catch(_0x2713a3){return console[_0x4a80a8(0x1ec)](_0x4a80a8(0x1d0)+_0x2713a3[_0x4a80a8(0x1ef)]),![];}}async['seekToOffset'](_0x2f8be2,_0x56604,_0x28aa84){const _0x113a98=a0_0x934f1a;if(!this['isConnected'])return console['error']('[KafkaConsumer]\x20Cannot\x20seek\x20-\x20not\x20connected'),![];try{return this[_0x113a98(0x1ce)]['seek']({'topic':_0x2f8be2,'partition':_0x56604,'offset':_0x28aa84[_0x113a98(0x1e4)]()}),console['log'](_0x113a98(0x1ff)+_0x28aa84+'\x20on\x20'+_0x2f8be2+':'+_0x56604),!![];}catch(_0x457ae1){return console['error'](_0x113a98(0x1fc)+_0x457ae1[_0x113a98(0x1ef)]),![];}}[a0_0x934f1a(0x22a)](){const _0x4bf9a7=a0_0x934f1a,_0x5a2de1=this['getConfig']();return{'enabled':_0x5a2de1[_0x4bf9a7(0x1d7)],'connected':this[_0x4bf9a7(0x1c6)],'running':this['isRunning'],'paused':this[_0x4bf9a7(0x20b)],'brokers':_0x5a2de1[_0x4bf9a7(0x1f9)],'clientId':_0x5a2de1['clientId'],'groupId':this['groupId'],'subscribedTopics':this['subscribedTopics']};}['getMetrics'](){const _0xca34a3=a0_0x934f1a,_0x3831fe={'bgfvM':function(_0x4fd769,_0x53d75c){return _0x4fd769>_0x53d75c;},'QNBXb':function(_0x13869b,_0x4d631f){return _0x13869b+_0x4d631f;},'dCswA':function(_0x2b42cb,_0x3b2ffb){return _0x2b42cb*_0x3b2ffb;},'DzsFF':function(_0x4d4d1f,_0x57b6c1){return _0x4d4d1f/_0x57b6c1;},'NyWQZ':function(_0x26d19f,_0x5e62e0){return _0x26d19f/_0x5e62e0;},'wzRVp':function(_0x1f8698,_0x2e23d8){return _0x1f8698-_0x2e23d8;}},_0x44b73b=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?this['metrics']['processingTimes'][_0xca34a3(0x20a)]((_0x3b5780,_0x5aab57)=>_0x3b5780+_0x5aab57,0x0)/this['metrics']['processingTimes'][_0xca34a3(0x230)]:0x0,_0x4c6260=this[_0xca34a3(0x1c0)]['processingTimes']['length']>0x0?Math[_0xca34a3(0x236)](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0,_0x3206c2=this[_0xca34a3(0x1c0)][_0xca34a3(0x1f2)][_0xca34a3(0x230)]>0x0?Math['max'](...this[_0xca34a3(0x1c0)]['processingTimes']):0x0;return{'messagesReceived':this['metrics']['messagesReceived'],'messagesProcessed':this[_0xca34a3(0x1c0)]['messagesProcessed'],'messagesFailed':this['metrics'][_0xca34a3(0x22c)],'successRate':_0x3831fe['bgfvM'](this[_0xca34a3(0x1c0)]['messagesReceived'],0x0)?_0x3831fe[_0xca34a3(0x231)](_0x3831fe['dCswA'](_0x3831fe[_0xca34a3(0x203)](this[_0xca34a3(0x1c0)][_0xca34a3(0x21c)],this[_0xca34a3(0x1c0)]['messagesReceived']),0x64)['toFixed'](0x2),'%'):'0%','lastMessageTime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1f4)],'startTime':this['metrics']['startTime'],'uptime':this[_0xca34a3(0x1c0)][_0xca34a3(0x1d4)]?Math[_0xca34a3(0x232)](_0x3831fe[_0xca34a3(0x1cc)](_0x3831fe['wzRVp'](Date[_0xca34a3(0x233)](),this[_0xca34a3(0x1c0)]['startTime']['getTime']()),0x3e8))+'s':'0s','processingTime':{'avg':Math[_0xca34a3(0x210)](_0x44b73b)+'ms','min':_0x3831fe['QNBXb'](_0x4c6260,'ms'),'max':_0x3831fe['QNBXb'](_0x3206c2,'ms')}};}[a0_0x934f1a(0x1d8)](){const _0x2bb43b=a0_0x934f1a,_0x2150c9={'NSOnC':'[KafkaConsumer]\x20Metrics\x20reset'};this[_0x2bb43b(0x1c0)]={'messagesReceived':0x0,'messagesProcessed':0x0,'messagesFailed':0x0,'lastMessageTime':null,'startTime':this['isRunning']?new Date():null,'processingTimes':[]},console[_0x2bb43b(0x215)](_0x2150c9['NSOnC']);}async['close'](){await this['stop']();}}let instance=null;function a0_0x133e(){const _0x56e5bc=['C3vIC2nYAwjL','z2v0q29UzMLN','zujwzgS','y29UBMvJDgLVBLrPBwvVDxq','w0THzMTHq29UC3vTzxjDifn0yxj0ignVBNn1BwLUzYbLCNjVCJOG','BwvZC2fNzxnszwnLAxzLza','Bwv0CMLJCW','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihbHDxnLza','mZmYnty1m3rfD21NAG','Dg9mB3DLCKnHC2u','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLC3vTzwq','mtK0mteXnwjItKrhAa','AxndB25Uzwn0zwq','A2fMA2fQCW','y29UBMvJDa','Ewvsqva','y29UC3vTzxiUy3jHC2G','mta2nJy3nhzurMLuza','tNLxuvO','C2vZC2LVBLrPBwvVDxq','y29UC3vTzxi','CMv0CNLbDhrLBxb0CW','w0THzMTHq29UC3vTzxjDifn0B3aGzxjYB3i6ia','Bg9Ntgv2zwW','CMvZDgzVCMDLlq','y2XPzw50swq','C3rHCNruAw1L','s0fgs0fFtufyx0jzvevtx1bfuL9qqvjusvrjt04','Cgf5Bg9Hza','zw5HyMXLza','CMvZzxrnzxrYAwnZ','w0THzMTHq29UC3vTzxjDienHBM5VDcbWyxvZzsaTignVBNn1BwvYig5VDcbYDw5UAw5N','s0fgs0fFsevbuLrcrufux0LovevsvKfm','Ew9ns1e','mZaWmda','s0fgs0fFuKvuuLLFrevmqvK','mhW1Fdf8nhWZFdi','su5gtW','C3vIC2nYAwjLzfrVCgLJCW','y29UC3vTzxiUC3rVCa','rvjst1i','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','Dg9tDhjPBMC','AxnjBML0AwfSAxPPBMC','w0THzMTHq29UC3vTzxjDie1LC3nHz2uGChjVy2vZC2LUzYbLCNjVCJOG','Evjru1i','z3zUBwy','C2HPzNq','s0fgs0fFqvvut19dt01nsvrFsu5urvjwquW','vuPmyMG','zxjYB3i','mJuWmda','BwvZC2fNzuHHBMrSzxi','BwvZC2fNzq','mJCZnZu3zhjps0rs','ntaWma','ChjVy2vZC2LUz1rPBwvZ','Aw5PDgLHBgL6zq','BgfZDe1LC3nHz2vuAw1L','w0THzMTHq29UC3vTzxjDienVBNn1BwvYihjLyMfSyw5JAw5NlI4U','B2zMC2v0','C2v0DxbfDMvUDeHHBMrSzxjZ','nJqXodCYsfvxvhr6','yNjVA2vYCW','z2v0tg9Ntgv2zwW','icHNCM91CeLKoIa','w0THzMTHq29UC3vTzxjDifnLzwSGzxjYB3i6ia','C3bSAxq','ndjcDNjQywy','w0THzMTHq29UC3vTzxjDifnLzwTLzcb0BYbVzMzZzxqG','DxvPza','Dhj1zq','uu1bwhy','rhPZrKy','s0fgs0fFuKvuuLLFqvruru1qvfm','s0fgs0fFu0fttf9nruniqu5ju00','odK1otyZmhnSsejvAa','DMfSDwu','mtb8oxWWFdD8mNWXFdH8nhW1Fdz8mW','w0THzMTHq29UC3vTzxjDienHBM5VDcbYzxn1BwuGlsbJB25ZDw1LCIbUB3qGCNvUBMLUzW','CMvKDwnL','AxnqyxvZzwq','icHMCM9TqMvNAw5UAw5NoIa','mJK4odq1swrlCNfH','w0THzMTHq29UC3vTzxjDieTHzMTHignVBNn1BwvYigLZigrPC2fIBgvKigLUignVBMzPz3vYyxrPB24','C3rVCa','CM91BMq','A2fMA2e','mZaWma','lwnVBNn1BwvY','w0THzMTHq29UC3vTzxjDienHBM5VDcbZDgfYDcbJB25ZDw1PBMCGlsbUB3qGy29UBMvJDgvK','Bg9N','y29UBMvJDgLVBLbYB21PC2u','ngLQChbNwq','AxnsDw5UAw5N','ELfVCeC','zhPuuhe','yxv0B0nVBw1PDa','BwvZC2fNzxnqCM9JzxnZzwq','AM9PBG','s0fgs0fFu0vtu0LptL9usu1ft1vu','z3jVDxbjza','q1Huy1m','uxrguMS','Cgf1C2u','w0THzMTHq29UC3vTzxjDifjLC3vTzsbLCNjVCJOG','w0THzMTHq29UC3vTzxjDifbHDxnLigvYCM9YoIa','w0THzMTHq29UC3vTzxjDienVBNn1BwvYig5VDcbJB25Uzwn0zwq','CwLgsM8','zgvMyxvSDa','mta0odu3nG','revcvuC','z2v0u3rHDhvZ','zgLZy29UBMvJDa','BwvZC2fNzxngywLSzwq','mZj6tuHuzvC','AfzkDxe','rLviz20','BgvUz3rO','uu5cwgi','zMXVB3i','BM93','v0fstG','zw52','BwLU'];a0_0x133e=function(){return _0x56e5bc;};return a0_0x133e();}function getInstance(){return!instance&&(instance=new KafkaConsumerService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}function a0_0x45b7(_0x71d80,_0x2d5b1d){_0x71d80=_0x71d80-0x1bd;const _0x133e2f=a0_0x133e();let _0x45b711=_0x133e2f[_0x71d80];if(a0_0x45b7['NFDRIO']===undefined){var _0x2c6178=function(_0x30e39b){const _0x1ac057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e8775='',_0x5ec8ba='';for(let _0xd557f1=0x0,_0x49d076,_0x261a54,_0x1a643e=0x0;_0x261a54=_0x30e39b['charAt'](_0x1a643e++);~_0x261a54&&(_0x49d076=_0xd557f1%0x4?_0x49d076*0x40+_0x261a54:_0x261a54,_0xd557f1++%0x4)?_0x2e8775+=String['fromCharCode'](0xff&_0x49d076>>(-0x2*_0xd557f1&0x6)):0x0){_0x261a54=_0x1ac057['indexOf'](_0x261a54);}for(let _0x14f325=0x0,_0x3a8ca2=_0x2e8775['length'];_0x14f325<_0x3a8ca2;_0x14f325++){_0x5ec8ba+='%'+('00'+_0x2e8775['charCodeAt'](_0x14f325)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ec8ba);};a0_0x45b7['DdgjNR']=_0x2c6178,a0_0x45b7['hArwOK']={},a0_0x45b7['NFDRIO']=!![];}const _0x337108=_0x133e2f[0x0],_0x3e5f30=_0x71d80+_0x337108,_0x17e457=a0_0x45b7['hArwOK'][_0x3e5f30];return!_0x17e457?(_0x45b711=a0_0x45b7['DdgjNR'](_0x45b711),a0_0x45b7['hArwOK'][_0x3e5f30]=_0x45b711):_0x45b711=_0x17e457,_0x45b711;}function createInstance(){return new KafkaConsumerService();}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'createInstance':createInstance,'KafkaConsumerService':KafkaConsumerService};
@@ -1 +1 @@
1
- const a0_0x2d9966=a0_0x405b;function a0_0x405b(_0x13292e,_0x4937a4){_0x13292e=_0x13292e-0x9a;const _0x15f86c=a0_0x15f8();let _0x405b22=_0x15f86c[_0x13292e];if(a0_0x405b['hXosqJ']===undefined){var _0x23aec8=function(_0x4f3945){const _0x53fd99='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x55890b='',_0x44e2ce='';for(let _0x511a60=0x0,_0x565b40,_0x4426a4,_0x1f4fb2=0x0;_0x4426a4=_0x4f3945['charAt'](_0x1f4fb2++);~_0x4426a4&&(_0x565b40=_0x511a60%0x4?_0x565b40*0x40+_0x4426a4:_0x4426a4,_0x511a60++%0x4)?_0x55890b+=String['fromCharCode'](0xff&_0x565b40>>(-0x2*_0x511a60&0x6)):0x0){_0x4426a4=_0x53fd99['indexOf'](_0x4426a4);}for(let _0x133b9b=0x0,_0xb48fbe=_0x55890b['length'];_0x133b9b<_0xb48fbe;_0x133b9b++){_0x44e2ce+='%'+('00'+_0x55890b['charCodeAt'](_0x133b9b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x44e2ce);};a0_0x405b['zeFmDI']=_0x23aec8,a0_0x405b['IECXQO']={},a0_0x405b['hXosqJ']=!![];}const _0x40cb15=_0x15f86c[0x0],_0xe168b8=_0x13292e+_0x40cb15,_0x768cff=a0_0x405b['IECXQO'][_0xe168b8];return!_0x768cff?(_0x405b22=a0_0x405b['zeFmDI'](_0x405b22),a0_0x405b['IECXQO'][_0xe168b8]=_0x405b22):_0x405b22=_0x768cff,_0x405b22;}(function(_0x43961b,_0x29b4db){const _0x1020fa=a0_0x405b,_0x1abfdf=_0x43961b();while(!![]){try{const _0xbb5426=-parseInt(_0x1020fa(0xca))/0x1+parseInt(_0x1020fa(0xa0))/0x2+-parseInt(_0x1020fa(0xa4))/0x3*(parseInt(_0x1020fa(0xe9))/0x4)+-parseInt(_0x1020fa(0xbf))/0x5+parseInt(_0x1020fa(0xed))/0x6+parseInt(_0x1020fa(0xd9))/0x7+parseInt(_0x1020fa(0xa8))/0x8*(parseInt(_0x1020fa(0xb4))/0x9);if(_0xbb5426===_0x29b4db)break;else _0x1abfdf['push'](_0x1abfdf['shift']());}catch(_0x19b06a){_0x1abfdf['push'](_0x1abfdf['shift']());}}}(a0_0x15f8,0xb6792));function a0_0x15f8(){const _0xf1e93e=['CMv0CNLbDhrLBxb0CW','y29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','Bg9JywXOB3n0oJKWoti','mtq2nJK1mfHgshb0sa','ChvIBgLZAev2zw50','Bg9N','w0THzMTHxsbqDwjSAxnOigvYCM9YihrVia','ndiWmtC4nxnUCM1wsG','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','zgLZy29UBMvJDa','ChjVzhvJzxi','mtzzEwzQu2K','CvrVCe8','Dg9vChbLCKnHC2u','AxnjBML0AwfSAxPPBMC','Dhj1zq','z2v0u3rHDhvZ','E21VzhvSzx0','uKvtvezpuKDflq','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G','z2v0tg9Ntgv2zwW','y2XPzw50swq','ChvIBgLZAeLUC2vYDa','mta0odeXmZL2r250AMu','zgvSzxrLza','tK9useLorW','yNvPBgruB3bPy05HBwu','Au90tMS','C2vUza','u2Lhv1u','z2v0twLUDxrLCW','lxbYB2r1y2vY','y2XVC2u','E2vUzhbVAw50Fq','nJe4nJa4mfHXEhLeAW','rvjst1i','z2v0rNvSBfLLyxi','E21VzhvSzx0UE2vUzhbVAw50Fs5LDMvUDhm','AM9PBG','s0fgs0fFru5bqKXfra','wuHrrw4','CMvWBgfJzq','zw5HyMXLza','zxz0lq','AxndB25Uzwn0zwq','mJG2mtiYy2zyrhHl','zw52','zgvMyxvSDa','y29YCMvSyxrPB25jza','tgvNywn5ugfYDgL0Aw9Uzxi','ru5usvrzx1vqrefuruq','vujyuNe','B0jJDvi','ru5usvrzx0rftevuruq','z2v0rgf0zq','CgfKu3rHCNq','C3bSAxq','s0fgs0fFve9qsunFuefuvevstG','Bw9KDwXL','Dg9WAwnqyxr0zxjU','nJGXntm0v3vwv2TY','CMvXDwvZDfrPBwvVDxq','sff1zxG','zxjYB3i','y29YCI0','DgfIBgvoyw1L','mJuWmda','zM9YBwf0rgf0zvrPBwu','C291CMnL','Dg9WAwm','revcvuC','y29UBMvJDgLVBLbYB21PC2u','ww95r2y','A2v5rMLLBgq','mtaWma','BwvZC2fNzq','nenUBKjuza','yNjVA2vYCW','mZaWma','Bg9Ntgv2zwW','mZa2ode4nevYvKD1rq','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','CgfYDgL0Aw9U','DgvUyw50swq','Afnbuwi','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwqGz3jHy2vMDwXSEq','y3jLyxrLza','zw5KCg9PBNq','s0fgs0fFuKvuuLLFrevmqvK','D2fYBG','yMfZzu9MzNnLDa','ru5usvrzx0nsrufuruq','u1PUqwG'];a0_0x15f8=function(){return _0xf1e93e;};return a0_0x15f8();}const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require('uuid');class KafkaService{constructor(){const _0xee94e8=a0_0x405b;this['kafka']=null,this['producer']=null,this[_0xee94e8(0xc9)]=![],this[_0xee94e8(0xab)]=![],this[_0xee94e8(0xe4)]=null;}['getConfig'](){const _0x463691=a0_0x405b,_0x52f444={'daUyH':_0x463691(0xac),'SZnAh':_0x463691(0x9f),'YHQEn':function(_0x53da97,_0x3130a9){return _0x53da97(_0x3130a9);},'oPbxa':function(_0xd9ddd3,_0x22278e){return _0xd9ddd3(_0x22278e);},'qTopO':_0x463691(0xdf),'HQuex':_0x463691(0xc2),'UBXRq':_0x463691(0xcc),'oBcuR':_0x463691(0xf6)};return{'enabled':process['env'][_0x463691(0xc4)]===_0x52f444['daUyH'],'brokers':(process['env']['KAFKA_BROKERS']||_0x52f444[_0x463691(0x9b)])[_0x463691(0xd5)](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x463691(0xcb)]['RESTFORGE_PROJECT_NAME']||_0x463691(0xcc))+_0x463691(0xbc),'connectionTimeout':_0x52f444[_0x463691(0xc5)](parseInt,process['env']['KAFKA_CONNECTION_TIMEOUT']||_0x463691(0xeb)),'requestTimeout':_0x52f444['oPbxa'](parseInt,process[_0x463691(0xcb)]['KAFKA_REQUEST_TIMEOUT']||_0x52f444[_0x463691(0xa9)]),'topicPattern':process[_0x463691(0xcb)][_0x463691(0xd6)]||_0x52f444[_0x463691(0xdb)],'tenantId':process[_0x463691(0xcb)]['KAFKA_TENANT_ID']||_0x52f444[_0x463691(0xd0)],'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x463691(0xcb)][_0x463691(0xf5)]||_0x463691(0xe7)),'logLevel':process[_0x463691(0xcb)]['KAFKA_LOG_LEVEL']||_0x52f444[_0x463691(0xd1)]};}['getLogLevel'](_0x6fc2c7){const _0x213bf6=a0_0x405b,_0x545db0={'nothing':logLevel[_0x213bf6(0xb6)],'error':logLevel[_0x213bf6(0xc0)],'warn':logLevel['WARN'],'info':logLevel['INFO'],'debug':logLevel[_0x213bf6(0xe3)]};return _0x545db0[_0x6fc2c7['toLowerCase']()]||logLevel['WARN'];}async['initialize'](){const _0xb5c0ac=a0_0x405b,_0x21a018={'oyOgZ':_0xb5c0ac(0xa5),'WPzZb':'producer.disconnect','hSAQb':function(_0x139ff9,_0x5528ad){return _0x139ff9(_0x5528ad);},'exDSf':function(_0xc2f2c8,_0x45c37c){return _0xc2f2c8(_0x45c37c);}},_0x4c9424=this['getConfig']();if(!_0x4c9424['enabled'])return console[_0xb5c0ac(0xa2)]('[Kafka]\x20Kafka\x20producer\x20is\x20disabled\x20in\x20configuration'),![];if(this[_0xb5c0ac(0xc9)])return!![];if(this[_0xb5c0ac(0xab)]&&this[_0xb5c0ac(0xe4)])return this[_0xb5c0ac(0xe4)];return this[_0xb5c0ac(0xab)]=!![],this[_0xb5c0ac(0xe4)]=new Promise(async _0x48b370=>{const _0x5302fb=_0xb5c0ac,_0x2b6026={'YoyGf':_0x21a018['oyOgZ']};try{let _0x1ca0bb=undefined;process[_0x5302fb(0xcb)]['KAFKA_SSL']==='true'&&(_0x1ca0bb=!![]);let _0x31a91d=undefined;process[_0x5302fb(0xcb)]['KAFKA_SASL_MECHANISM']&&(_0x31a91d={'mechanism':process['env']['KAFKA_SASL_MECHANISM'],'username':process[_0x5302fb(0xcb)][_0x5302fb(0x9e)]||'','password':process[_0x5302fb(0xcb)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x4c9424[_0x5302fb(0xb2)],'brokers':_0x4c9424[_0x5302fb(0xea)],'connectionTimeout':_0x4c9424['connectionTimeout'],'requestTimeout':_0x4c9424[_0x5302fb(0xda)],'logLevel':this[_0x5302fb(0xb1)](_0x4c9424[_0x5302fb(0xec)]),'ssl':_0x1ca0bb,'sasl':_0x31a91d,'retry':{'initialRetryTime':_0x4c9424['retryDelay'],'retries':_0x4c9424[_0x5302fb(0x9c)]}}),this['producer']=this['kafka']['producer']({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners[_0x5302fb(0xce)]}),await this['producer'][_0x5302fb(0x9d)](),this['isConnected']=!![],console[_0x5302fb(0xa2)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x4c9424[_0x5302fb(0xea)][_0x5302fb(0xc3)](',\x20')),this[_0x5302fb(0xa7)]['on'](_0x21a018['WPzZb'],()=>{const _0x3c5c8b=_0x5302fb;console['log'](_0x2b6026[_0x3c5c8b(0xe5)]),this['isConnected']=![];}),_0x21a018[_0x5302fb(0xf1)](_0x48b370,!![]);}catch(_0x2c1bf3){console['error']('[Kafka]\x20Connection\x20failed:\x20'+_0x2c1bf3['message']),this['isConnected']=![],_0x21a018['exDSf'](_0x48b370,![]);}finally{this['isInitializing']=![];}}),this[_0xb5c0ac(0xe4)];}['formatDateTime'](_0xd40320){const _0x1a004b=a0_0x405b,_0x4f0900=_0xd40320||new Date(),_0x5cb480=_0x4f0900[_0x1a004b(0xc1)](),_0x692e6b=String(_0x4f0900['getMonth']()+0x1)[_0x1a004b(0xd4)](0x2,'0'),_0x3df99a=String(_0x4f0900[_0x1a004b(0xd3)]())['padStart'](0x2,'0'),_0x589294=String(_0x4f0900['getHours']())['padStart'](0x2,'0'),_0x319a32=String(_0x4f0900[_0x1a004b(0xbb)]())['padStart'](0x2,'0'),_0xe1e787=String(_0x4f0900['getSeconds']())['padStart'](0x2,'0');return _0x5cb480+'-'+_0x692e6b+'-'+_0x3df99a+'\x20'+_0x589294+':'+_0x319a32+':'+_0xe1e787;}[a0_0x2d9966(0xb7)](_0x626c5c,_0x45496e,_0x24bcb0,_0x2b1abc=null){const _0x448ce6=a0_0x2d9966,_0x49fd6e={'PBMQx':_0x448ce6(0xae),'iOtNk':_0x448ce6(0xbe),'SiGWU':'{action}'};if(_0x2b1abc)return _0x2b1abc;const _0x44d589=this['getConfig']()[_0x448ce6(0xd8)];return _0x44d589[_0x448ce6(0xc6)](_0x49fd6e['PBMQx'],_0x626c5c)['replace'](_0x49fd6e[_0x448ce6(0xb8)],_0x45496e)[_0x448ce6(0xc6)](_0x49fd6e[_0x448ce6(0xba)],_0x24bcb0);}['buildEventMessage'](_0x413083,_0x31f5d7,_0x54c10e,_0x1de163={}){const _0x15a140=a0_0x2d9966,_0x10b504={'IcqhA':function(_0x3097bf){return _0x3097bf();}},_0x41b910=new Date(),_0x36ccf0=this[_0x15a140(0xe0)](_0x41b910),_0x2a43bc=_0x1de163[_0x15a140(0xcd)]||_0x15a140(0xdd)+uuidv7();return{'eventId':_0x15a140(0xc8)+_0x10b504['IcqhA'](uuidv7),'eventType':_0x413083,'eventTime':_0x36ccf0,'eventVersion':'1.0','source':'restforge-'+(_0x1de163['module']||'unknown'),'correlationId':_0x2a43bc,'newData':_0x54c10e,'oldData':_0x31f5d7,'metadata':{'createdBy':_0x1de163['createdBy']||'SYSTEM','createdAt':_0x36ccf0,'systemId':_0x15a140(0xaf)+(_0x1de163[_0x15a140(0xd7)]||'unknown')[_0x15a140(0xaa)](),'tenantId':this['getConfig']()[_0x15a140(0xf0)],'endpoint':_0x1de163[_0x15a140(0xf4)]||null,'tableName':_0x1de163['tableName']||null}};}async[a0_0x2d9966(0xa1)](_0x551253,_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3={}){const _0x185465=a0_0x2d9966,_0xa5a13c={'zyhSw':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker'},_0xddecb=this['getConfig']();if(!_0xddecb[_0x185465(0xc7)])return{'success':![],'reason':_0x185465(0xee),'published':![]};if(!this[_0x185465(0xc9)]){const _0x472fdc=await this['initialize']();if(!_0x472fdc)return{'success':![],'reason':_0xa5a13c['zyhSw'],'published':![]};}try{const _0x35b868=this['buildEventMessage'](_0x3e9915,_0x46d5c2,_0x4fdb5b,_0x5ab8d3),_0x47d785=_0x5ab8d3[_0x185465(0xe6)]||'id',_0x2fa424=_0x4fdb5b?.[_0x47d785]||_0x46d5c2?.[_0x47d785]||uuidv7(),_0x7b1ccd=await this[_0x185465(0xa7)][_0x185465(0xb9)]({'topic':_0x551253,'messages':[{'key':String(_0x2fa424),'value':JSON['stringify'](_0x35b868),'headers':{'event-type':_0x3e9915,'correlation-id':_0x35b868['correlationId'],'source':_0x35b868[_0x185465(0xe1)]}}]});return console[_0x185465(0xa2)](_0x185465(0xb0)+_0x551253+':\x20'+_0x3e9915+'\x20(key:\x20'+_0x2fa424+')'),{'success':!![],'correlationId':_0x35b868['correlationId'],'topic':_0x551253,'partition':_0x7b1ccd[0x0]?.[_0x185465(0xef)],'offset':_0x7b1ccd[0x0]?.[_0x185465(0xf7)],'published':!![]};}catch(_0x3aa551){return console[_0x185465(0xdc)](_0x185465(0xa3)+_0x551253+':\x20'+_0x3aa551[_0x185465(0xe8)]),{'success':![],'error':_0x3aa551[_0x185465(0xe8)],'published':![]};}}async[a0_0x2d9966(0xb3)](_0x1560cf,_0x3af4d7,_0x5e424c,_0x4aa8a7={}){const _0x1ab6bc=a0_0x2d9966,_0x4f9ccc=this['buildTopicName'](_0x1560cf,_0x3af4d7,_0x1ab6bc(0xf3),_0x4aa8a7[_0x1ab6bc(0xe2)]);return this['publishEvent'](_0x4f9ccc,_0x1ab6bc(0x9a),null,_0x5e424c,{'module':_0x1560cf,'endpoint':_0x3af4d7,'keyField':_0x4aa8a7[_0x1ab6bc(0xe6)],'tableName':_0x4aa8a7[_0x1ab6bc(0xde)],'correlationId':_0x4aa8a7[_0x1ab6bc(0xcd)]});}async['publishUpdate'](_0x3f3a5f,_0xb47efe,_0x3c425f,_0x5dfbf8,_0x5bc6d9={}){const _0x455f3d=a0_0x2d9966,_0x1aa0a9={'IvmFz':'updated'},_0x10fee6=this['buildTopicName'](_0x3f3a5f,_0xb47efe,_0x1aa0a9['IvmFz'],_0x5bc6d9['topic']);return this[_0x455f3d(0xa1)](_0x10fee6,_0x455f3d(0xcf),_0x3c425f,_0x5dfbf8,{'module':_0x3f3a5f,'endpoint':_0xb47efe,'keyField':_0x5bc6d9['keyField'],'tableName':_0x5bc6d9['tableName'],'correlationId':_0x5bc6d9['correlationId']});}async['publishDelete'](_0x20611d,_0x1c90db,_0x1d0cea,_0x4cbfd9={}){const _0x32eec4=a0_0x2d9966,_0x4f52a6=this[_0x32eec4(0xb7)](_0x20611d,_0x1c90db,_0x32eec4(0xb5),_0x4cbfd9[_0x32eec4(0xe2)]);return this[_0x32eec4(0xa1)](_0x4f52a6,_0x32eec4(0xd2),_0x1d0cea,null,{'module':_0x20611d,'endpoint':_0x1c90db,'keyField':_0x4cbfd9[_0x32eec4(0xe6)],'tableName':_0x4cbfd9[_0x32eec4(0xde)],'correlationId':_0x4cbfd9['correlationId']});}[a0_0x2d9966(0xad)](){const _0x4ce7d5=a0_0x2d9966,_0x1e0c06=this['getConfig']();return{'enabled':_0x1e0c06[_0x4ce7d5(0xc7)],'connected':this['isConnected'],'brokers':_0x1e0c06[_0x4ce7d5(0xea)],'clientId':_0x1e0c06['clientId'],'topicPattern':_0x1e0c06[_0x4ce7d5(0xd8)]};}async['close'](){const _0xbbad64=a0_0x2d9966;if(this[_0xbbad64(0xa7)]&&this['isConnected'])try{await this[_0xbbad64(0xa7)][_0xbbad64(0xa6)](),this[_0xbbad64(0xc9)]=![],console['log'](_0xbbad64(0xf2));}catch(_0x258e76){console[_0xbbad64(0xdc)]('[Kafka]\x20Error\x20disconnecting:\x20'+_0x258e76['message']);}}}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){const _0x1e33be=a0_0x2d9966;instance&&(instance[_0x1e33be(0xbd)](),instance=null);}module['exports']={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};
1
+ const a0_0xe5a180=a0_0x2b6f;(function(_0x329134,_0x2181f9){const _0x5ef3cf=a0_0x2b6f,_0x11a2ab=_0x329134();while(!![]){try{const _0x2aa9e4=-parseInt(_0x5ef3cf(0x10c))/0x1*(-parseInt(_0x5ef3cf(0xfb))/0x2)+parseInt(_0x5ef3cf(0xed))/0x3+-parseInt(_0x5ef3cf(0xf9))/0x4*(parseInt(_0x5ef3cf(0xe8))/0x5)+parseInt(_0x5ef3cf(0xd9))/0x6+-parseInt(_0x5ef3cf(0xdf))/0x7+-parseInt(_0x5ef3cf(0x101))/0x8*(-parseInt(_0x5ef3cf(0x10d))/0x9)+-parseInt(_0x5ef3cf(0x108))/0xa;if(_0x2aa9e4===_0x2181f9)break;else _0x11a2ab['push'](_0x11a2ab['shift']());}catch(_0x104b7a){_0x11a2ab['push'](_0x11a2ab['shift']());}}}(a0_0x5ce5,0xbad27));const {Kafka,logLevel,Partitioners}=require('kafkajs'),{v7:uuidv7}=require(a0_0xe5a180(0xf1));class KafkaService{constructor(){const _0x278901=a0_0xe5a180;this['kafka']=null,this['producer']=null,this[_0x278901(0xe3)]=![],this[_0x278901(0xf4)]=![],this[_0x278901(0xd7)]=null;}['getConfig'](){const _0x2ea9bb=a0_0xe5a180,_0x6912c8={'zGUEU':_0x2ea9bb(0xec),'PIYCe':function(_0x7927ba,_0x31f294){return _0x7927ba(_0x31f294);},'ehamk':_0x2ea9bb(0x11d),'dqqSc':'{module}.{endpoint}.events','jiHFo':'warn'};return{'enabled':process['env'][_0x2ea9bb(0xdc)]==='true','brokers':(process[_0x2ea9bb(0xea)]['KAFKA_BROKERS']||'localhost:9092')['split'](','),'clientId':process['env']['KAFKA_CLIENT_ID']||'restforge-'+(process[_0x2ea9bb(0xea)]['RESTFORGE_PROJECT_NAME']||_0x2ea9bb(0xee))+_0x2ea9bb(0x110),'connectionTimeout':parseInt(process[_0x2ea9bb(0xea)]['KAFKA_CONNECTION_TIMEOUT']||_0x6912c8['zGUEU']),'requestTimeout':_0x6912c8['PIYCe'](parseInt,process['env']['KAFKA_REQUEST_TIMEOUT']||_0x6912c8[_0x2ea9bb(0xeb)]),'topicPattern':process['env'][_0x2ea9bb(0xfd)]||_0x6912c8[_0x2ea9bb(0xfa)],'tenantId':process['env']['KAFKA_TENANT_ID']||_0x2ea9bb(0xee),'retryAttempts':parseInt(process['env']['KAFKA_RETRY_ATTEMPTS']||'3'),'retryDelay':parseInt(process[_0x2ea9bb(0xea)][_0x2ea9bb(0xd2)]||_0x2ea9bb(0xef)),'logLevel':process['env'][_0x2ea9bb(0x116)]||_0x6912c8[_0x2ea9bb(0x105)]};}[a0_0xe5a180(0xcf)](_0x24c5a4){const _0x481b36=a0_0xe5a180,_0x577c7d={'nothing':logLevel[_0x481b36(0x11f)],'error':logLevel[_0x481b36(0x115)],'warn':logLevel[_0x481b36(0x106)],'info':logLevel[_0x481b36(0xf6)],'debug':logLevel['DEBUG']};return _0x577c7d[_0x24c5a4[_0x481b36(0xe7)]()]||logLevel[_0x481b36(0x106)];}async[a0_0xe5a180(0x11b)](){const _0x56a297=a0_0xe5a180,_0x2d3eef={'PToDm':function(_0xd1031b,_0x4026b8){return _0xd1031b===_0x4026b8;},'zktOv':'true','WrsuN':function(_0x13dbd9,_0x52f1e4){return _0x13dbd9(_0x52f1e4);},'vBjDA':_0x56a297(0x104)},_0x2f7faf=this['getConfig']();if(!_0x2f7faf['enabled'])return console['log'](_0x2d3eef['vBjDA']),![];if(this[_0x56a297(0xe3)])return!![];if(this['isInitializing']&&this['connectionPromise'])return this['connectionPromise'];return this['isInitializing']=!![],this[_0x56a297(0xd7)]=new Promise(async _0x5bfeed=>{const _0x47a1a6=_0x56a297;try{let _0x13a3ef=undefined;_0x2d3eef['PToDm'](process[_0x47a1a6(0xea)][_0x47a1a6(0x10a)],_0x2d3eef['zktOv'])&&(_0x13a3ef=!![]);let _0x151380=undefined;process['env'][_0x47a1a6(0xe9)]&&(_0x151380={'mechanism':process[_0x47a1a6(0xea)]['KAFKA_SASL_MECHANISM'],'username':process['env'][_0x47a1a6(0x100)]||'','password':process[_0x47a1a6(0xea)]['KAFKA_SASL_PASSWORD']||''}),this['kafka']=new Kafka({'clientId':_0x2f7faf[_0x47a1a6(0x113)],'brokers':_0x2f7faf[_0x47a1a6(0x10e)],'connectionTimeout':_0x2f7faf['connectionTimeout'],'requestTimeout':_0x2f7faf['requestTimeout'],'logLevel':this[_0x47a1a6(0xcf)](_0x2f7faf['logLevel']),'ssl':_0x13a3ef,'sasl':_0x151380,'retry':{'initialRetryTime':_0x2f7faf['retryDelay'],'retries':_0x2f7faf[_0x47a1a6(0xf7)]}}),this['producer']=this['kafka'][_0x47a1a6(0xd4)]({'allowAutoTopicCreation':!![],'transactionTimeout':0x7530,'createPartitioner':Partitioners['LegacyPartitioner']}),await this['producer'][_0x47a1a6(0xfc)](),this['isConnected']=!![],console[_0x47a1a6(0xd6)]('[Kafka]\x20Producer\x20connected\x20to\x20brokers:\x20'+_0x2f7faf['brokers']['join'](',\x20')),this['producer']['on']('producer.disconnect',()=>{const _0x1b6211=_0x47a1a6;console['log'](_0x1b6211(0xf5)),this['isConnected']=![];}),_0x5bfeed(!![]);}catch(_0x29fa7c){console['error'](_0x47a1a6(0x10b)+_0x29fa7c['message']),this['isConnected']=![],_0x2d3eef[_0x47a1a6(0x109)](_0x5bfeed,![]);}finally{this[_0x47a1a6(0xf4)]=![];}}),this['connectionPromise'];}['formatDateTime'](_0x621056){const _0x144aa6=a0_0xe5a180,_0x42f293={'yHdOk':function(_0x1ff651,_0x160d39){return _0x1ff651(_0x160d39);}},_0x410c80=_0x621056||new Date(),_0x558e37=_0x410c80['getFullYear'](),_0x5adddd=String(_0x410c80['getMonth']()+0x1)[_0x144aa6(0x119)](0x2,'0'),_0x459fe8=String(_0x410c80['getDate']())['padStart'](0x2,'0'),_0x5c4884=_0x42f293['yHdOk'](String,_0x410c80[_0x144aa6(0xe4)]())[_0x144aa6(0x119)](0x2,'0'),_0x150776=String(_0x410c80['getMinutes']())['padStart'](0x2,'0'),_0x4d2e69=_0x42f293[_0x144aa6(0xd5)](String,_0x410c80['getSeconds']())[_0x144aa6(0x119)](0x2,'0');return _0x558e37+'-'+_0x5adddd+'-'+_0x459fe8+'\x20'+_0x5c4884+':'+_0x150776+':'+_0x4d2e69;}['buildTopicName'](_0x23976c,_0x4728b2,_0x2e977d,_0x9712f3=null){const _0x318499=a0_0xe5a180;if(_0x9712f3)return _0x9712f3;const _0x5a80bc=this['getConfig']()[_0x318499(0xcd)];return _0x5a80bc['replace'](_0x318499(0xe6),_0x23976c)['replace']('{endpoint}',_0x4728b2)[_0x318499(0xf8)]('{action}',_0x2e977d);}['buildEventMessage'](_0x2a4fd5,_0x4b67c3,_0x497d06,_0x445ce6={}){const _0x18fc8c=a0_0xe5a180,_0x372365={'QLUgT':_0x18fc8c(0xda)},_0x1c0ce0=new Date(),_0xfbf656=this[_0x18fc8c(0xe2)](_0x1c0ce0),_0x3b19d3=_0x445ce6[_0x18fc8c(0x103)]||'corr-'+uuidv7();return{'eventId':_0x18fc8c(0xe1)+uuidv7(),'eventType':_0x2a4fd5,'eventTime':_0xfbf656,'eventVersion':_0x372365['QLUgT'],'source':_0x18fc8c(0xdb)+(_0x445ce6[_0x18fc8c(0x11a)]||_0x18fc8c(0xd8)),'correlationId':_0x3b19d3,'newData':_0x497d06,'oldData':_0x4b67c3,'metadata':{'createdBy':_0x445ce6['createdBy']||_0x18fc8c(0x111),'createdAt':_0xfbf656,'systemId':_0x18fc8c(0x114)+(_0x445ce6['module']||'unknown')['toUpperCase'](),'tenantId':this['getConfig']()['tenantId'],'endpoint':_0x445ce6['endpoint']||null,'tableName':_0x445ce6['tableName']||null}};}async[a0_0xe5a180(0x11c)](_0x1556fa,_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8={}){const _0x35bbe1=a0_0xe5a180,_0x38f28d={'mhwOq':_0x35bbe1(0x102),'tHgFB':'Failed\x20to\x20connect\x20to\x20Kafka\x20broker','QZfWs':function(_0x178f9d,_0x1614f8){return _0x178f9d(_0x1614f8);}},_0x2526ed=this[_0x35bbe1(0xdd)]();if(!_0x2526ed[_0x35bbe1(0xe5)])return{'success':![],'reason':_0x38f28d[_0x35bbe1(0xde)],'published':![]};if(!this[_0x35bbe1(0xe3)]){const _0x48a86b=await this['initialize']();if(!_0x48a86b)return{'success':![],'reason':_0x38f28d['tHgFB'],'published':![]};}try{const _0x5de1ee=this[_0x35bbe1(0x11e)](_0x513492,_0x4b6ce3,_0x4c5404,_0x15f3d8),_0x322e74=_0x15f3d8[_0x35bbe1(0x112)]||'id',_0xf6918f=_0x4c5404?.[_0x322e74]||_0x4b6ce3?.[_0x322e74]||uuidv7(),_0x27ebf2=await this['producer']['send']({'topic':_0x1556fa,'messages':[{'key':_0x38f28d['QZfWs'](String,_0xf6918f),'value':JSON['stringify'](_0x5de1ee),'headers':{'event-type':_0x513492,'correlation-id':_0x5de1ee['correlationId'],'source':_0x5de1ee[_0x35bbe1(0xfe)]}}]});return console[_0x35bbe1(0xd6)](_0x35bbe1(0xf2)+_0x1556fa+':\x20'+_0x513492+_0x35bbe1(0x10f)+_0xf6918f+')'),{'success':!![],'correlationId':_0x5de1ee[_0x35bbe1(0x103)],'topic':_0x1556fa,'partition':_0x27ebf2[0x0]?.['partition'],'offset':_0x27ebf2[0x0]?.['baseOffset'],'published':!![]};}catch(_0x510360){return console['error']('[Kafka]\x20Publish\x20error\x20to\x20'+_0x1556fa+':\x20'+_0x510360[_0x35bbe1(0xf3)]),{'success':![],'error':_0x510360[_0x35bbe1(0xf3)],'published':![]};}}async[a0_0xe5a180(0xe0)](_0x19ea46,_0xdc56db,_0x50078c,_0x22e97a={}){const _0xf9b602=a0_0xe5a180,_0x31e217={'VWTXE':_0xf9b602(0x107)},_0x36f71c=this[_0xf9b602(0xce)](_0x19ea46,_0xdc56db,_0x31e217['VWTXE'],_0x22e97a[_0xf9b602(0x117)]);return this[_0xf9b602(0x11c)](_0x36f71c,'ENTITY_CREATED',null,_0x50078c,{'module':_0x19ea46,'endpoint':_0xdc56db,'keyField':_0x22e97a[_0xf9b602(0x112)],'tableName':_0x22e97a['tableName'],'correlationId':_0x22e97a['correlationId']});}async['publishUpdate'](_0x1471e0,_0x478cbd,_0x13d681,_0x4ef54e,_0x4f92ff={}){const _0x45c558=a0_0xe5a180,_0x5dfd3d=this['buildTopicName'](_0x1471e0,_0x478cbd,'updated',_0x4f92ff['topic']);return this[_0x45c558(0x11c)](_0x5dfd3d,'ENTITY_UPDATED',_0x13d681,_0x4ef54e,{'module':_0x1471e0,'endpoint':_0x478cbd,'keyField':_0x4f92ff['keyField'],'tableName':_0x4f92ff[_0x45c558(0xd0)],'correlationId':_0x4f92ff[_0x45c558(0x103)]});}async[a0_0xe5a180(0x118)](_0x433ffe,_0x51cbfc,_0x30e9ea,_0x4b9156={}){const _0x845d71=a0_0xe5a180,_0x2339a4=this['buildTopicName'](_0x433ffe,_0x51cbfc,_0x845d71(0xf0),_0x4b9156[_0x845d71(0x117)]);return this[_0x845d71(0x11c)](_0x2339a4,_0x845d71(0xd3),_0x30e9ea,null,{'module':_0x433ffe,'endpoint':_0x51cbfc,'keyField':_0x4b9156['keyField'],'tableName':_0x4b9156['tableName'],'correlationId':_0x4b9156[_0x845d71(0x103)]});}['getStatus'](){const _0x27d5cc=a0_0xe5a180,_0x280de5=this['getConfig']();return{'enabled':_0x280de5[_0x27d5cc(0xe5)],'connected':this['isConnected'],'brokers':_0x280de5[_0x27d5cc(0x10e)],'clientId':_0x280de5[_0x27d5cc(0x113)],'topicPattern':_0x280de5[_0x27d5cc(0xcd)]};}async['close'](){const _0x2a7c11=a0_0xe5a180;if(this['producer']&&this['isConnected'])try{await this['producer'][_0x2a7c11(0xff)](),this[_0x2a7c11(0xe3)]=![],console['log']('[Kafka]\x20Producer\x20disconnected\x20gracefully');}catch(_0x2a67c6){console['error']('[Kafka]\x20Error\x20disconnecting:\x20'+_0x2a67c6['message']);}}}function a0_0x2b6f(_0x257e16,_0x1af9fa){_0x257e16=_0x257e16-0xcd;const _0x5ce580=a0_0x5ce5();let _0x2b6f0a=_0x5ce580[_0x257e16];if(a0_0x2b6f['yltAre']===undefined){var _0xa5879c=function(_0xd378e5){const _0x2d8670='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e41cf='',_0x1570b0='';for(let _0x2e9055=0x0,_0xdd1f8a,_0x4b551a,_0x2bfa51=0x0;_0x4b551a=_0xd378e5['charAt'](_0x2bfa51++);~_0x4b551a&&(_0xdd1f8a=_0x2e9055%0x4?_0xdd1f8a*0x40+_0x4b551a:_0x4b551a,_0x2e9055++%0x4)?_0x4e41cf+=String['fromCharCode'](0xff&_0xdd1f8a>>(-0x2*_0x2e9055&0x6)):0x0){_0x4b551a=_0x2d8670['indexOf'](_0x4b551a);}for(let _0xe34b1=0x0,_0x312786=_0x4e41cf['length'];_0xe34b1<_0x312786;_0xe34b1++){_0x1570b0+='%'+('00'+_0x4e41cf['charCodeAt'](_0xe34b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1570b0);};a0_0x2b6f['dwounC']=_0xa5879c,a0_0x2b6f['wjeiEx']={},a0_0x2b6f['yltAre']=!![];}const _0x8fa15c=_0x5ce580[0x0],_0x2f0033=_0x257e16+_0x8fa15c,_0x4be3cc=a0_0x2b6f['wjeiEx'][_0x2f0033];return!_0x4be3cc?(_0x2b6f0a=a0_0x2b6f['dwounC'](_0x2b6f0a),a0_0x2b6f['wjeiEx'][_0x2f0033]=_0x2b6f0a):_0x2b6f0a=_0x4be3cc,_0x2b6f0a;}let instance=null;function getInstance(){return!instance&&(instance=new KafkaService()),instance;}function resetInstance(){instance&&(instance['close'](),instance=null);}module[a0_0xe5a180(0xd1)]={'getInstance':getInstance,'resetInstance':resetInstance,'KafkaService':KafkaService};function a0_0x5ce5(){const _0x1abbc0=['BwvZC2fNzq','AxnjBML0AwfSAxPPBMC','w0THzMTHxsbqCM9KDwnLCIbKAxnJB25Uzwn0zwq','su5gtW','CMv0CNLbDhrLBxb0CW','CMvWBgfJzq','mJr5ufvLsgi','zhfXu2m','mM15wMvHBa','y29UBMvJDa','s0fgs0fFve9qsunFuefuvevstG','C291CMnL','zgLZy29UBMvJDa','s0fgs0fFu0fttf9vu0vstKfnrq','mJy0nJmYrhzvCNLP','s2fMA2eGChjVzhvJzxiGAxmGzgLZywjSzwq','y29YCMvSyxrPB25jza','w0THzMTHxsblywzRysbWCM9KDwnLCIbPCYbKAxnHyMXLzcbPBIbJB25MAwD1CMf0Aw9U','AMLirM8','v0fstG','y3jLyxrLza','otq1nJKWzgPTvNjx','v3jZDu4','s0fgs0fFu1nm','w0THzMTHxsbdB25Uzwn0Aw9UigzHAwXLzdOG','mZq3nde5C0HoBLHf','mJDbzNrOyMK','yNjVA2vYCW','icHRzxK6ia','lxbYB2r1y2vY','u1Ltvevn','A2v5rMLLBgq','y2XPzw50swq','uKvtvezpuKDflq','rvjst1i','s0fgs0fFte9hx0XfvKvm','Dg9WAwm','ChvIBgLZAerLBgv0zq','CgfKu3rHCNq','Bw9KDwXL','Aw5PDgLHBgL6zq','ChvIBgLZAev2zw50','mJuWmda','yNvPBgrfDMvUDe1LC3nHz2u','tK9useLorW','Dg9WAwnqyxr0zxjU','yNvPBgruB3bPy05HBwu','z2v0tg9Ntgv2zwW','DgfIBgvoyw1L','zxHWB3j0CW','s0fgs0fFuKvuuLLFrevmqvK','ru5usvrzx0rftevuruq','ChjVzhvJzxi','EuHKt2S','Bg9N','y29UBMvJDgLVBLbYB21PC2u','Dw5RBM93BG','mJCXodu0EfHfu2nW','ms4W','CMvZDgzVCMDLlq','s0fgs0fFru5bqKXfra','z2v0q29UzMLN','BwH3t3e','ota1mJyXCMfHAgXi','ChvIBgLZAeLUC2vYDa','zxz0lq','zM9YBwf0rgf0zvrPBwu','AxndB25Uzwn0zwq','z2v0sg91CNm','zw5HyMXLza','E21VzhvSzx0','Dg9mB3DLCKnHC2u','ntyYmZmWqujXsgTb','s0fgs0fFu0fttf9nruniqu5ju00','zw52','zwHHBwS','mZaWma','mZuXntGZoeH6rhr4va','zgvMyxvSDa','mtaWma','zgvSzxrLza','DxvPza','w0THzMTHxsbfDMvUDcbWDwjSAxnOzwqGDg8G'];a0_0x5ce5=function(){return _0x1abbc0;};return a0_0x5ce5();}