@budibase/backend-core 3.2.41 → 3.2.43

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 (358) hide show
  1. package/dist/package.json +3 -3
  2. package/dist/src/accounts/accounts.js +83 -0
  3. package/dist/src/accounts/accounts.js.map +1 -0
  4. package/dist/src/accounts/api.js +102 -0
  5. package/dist/src/accounts/api.js.map +1 -0
  6. package/dist/src/accounts/index.js +18 -0
  7. package/dist/src/accounts/index.js.map +1 -0
  8. package/dist/src/cache/appMetadata.js +96 -0
  9. package/dist/src/cache/appMetadata.js.map +1 -0
  10. package/dist/src/cache/base/index.js +189 -0
  11. package/dist/src/cache/base/index.js.map +1 -0
  12. package/dist/src/cache/docWritethrough.js +123 -0
  13. package/dist/src/cache/docWritethrough.js.map +1 -0
  14. package/dist/src/cache/generic.js +37 -0
  15. package/dist/src/cache/generic.js.map +1 -0
  16. package/dist/src/cache/index.js +48 -0
  17. package/dist/src/cache/index.js.map +1 -0
  18. package/dist/src/cache/invite.js +128 -0
  19. package/dist/src/cache/invite.js.map +1 -0
  20. package/dist/src/cache/passwordReset.js +92 -0
  21. package/dist/src/cache/passwordReset.js.map +1 -0
  22. package/dist/src/cache/user.js +183 -0
  23. package/dist/src/cache/user.js.map +1 -0
  24. package/dist/src/cache/writethrough.js +170 -0
  25. package/dist/src/cache/writethrough.js.map +1 -0
  26. package/dist/src/configs/configs.js +294 -0
  27. package/dist/src/configs/configs.js.map +1 -0
  28. package/dist/src/configs/index.js +18 -0
  29. package/dist/src/configs/index.js.map +1 -0
  30. package/dist/src/constants/db.js +75 -0
  31. package/dist/src/constants/db.js.map +1 -0
  32. package/dist/src/constants/index.js +19 -0
  33. package/dist/src/constants/index.js.map +1 -0
  34. package/dist/src/constants/misc.js +40 -0
  35. package/dist/src/constants/misc.js.map +1 -0
  36. package/dist/src/context/Context.js +14 -0
  37. package/dist/src/context/Context.js.map +1 -0
  38. package/dist/src/context/identity.js +81 -0
  39. package/dist/src/context/identity.js.map +1 -0
  40. package/dist/src/context/index.js +44 -0
  41. package/dist/src/context/index.js.map +1 -0
  42. package/dist/src/context/mainContext.js +446 -0
  43. package/dist/src/context/mainContext.js.map +1 -0
  44. package/dist/src/context/types.js +3 -0
  45. package/dist/src/context/types.js.map +1 -0
  46. package/dist/src/db/Replication.js +90 -0
  47. package/dist/src/db/Replication.js.map +1 -0
  48. package/dist/src/db/couch/DatabaseImpl.js +475 -0
  49. package/dist/src/db/couch/DatabaseImpl.js.map +1 -0
  50. package/dist/src/db/couch/connections.js +101 -0
  51. package/dist/src/db/couch/connections.js.map +1 -0
  52. package/dist/src/db/couch/index.js +26 -0
  53. package/dist/src/db/couch/index.js.map +1 -0
  54. package/dist/src/db/couch/pouchDB.js +108 -0
  55. package/dist/src/db/couch/pouchDB.js.map +1 -0
  56. package/dist/src/db/couch/utils.js +60 -0
  57. package/dist/src/db/couch/utils.js.map +1 -0
  58. package/dist/src/db/db.js +47 -0
  59. package/dist/src/db/db.js.map +1 -0
  60. package/dist/src/db/errors.js +21 -0
  61. package/dist/src/db/errors.js.map +1 -0
  62. package/dist/src/db/index.js +58 -0
  63. package/dist/src/db/index.js.map +1 -0
  64. package/dist/src/db/instrumentation.js +202 -0
  65. package/dist/src/db/instrumentation.js.map +1 -0
  66. package/dist/src/db/lucene.js +638 -0
  67. package/dist/src/db/lucene.js.map +1 -0
  68. package/dist/src/db/searchIndexes/index.js +18 -0
  69. package/dist/src/db/searchIndexes/index.js.map +1 -0
  70. package/dist/src/db/searchIndexes/searchIndexes.js +76 -0
  71. package/dist/src/db/searchIndexes/searchIndexes.js.map +1 -0
  72. package/dist/src/db/utils.js +212 -0
  73. package/dist/src/db/utils.js.map +1 -0
  74. package/dist/src/db/views.js +224 -0
  75. package/dist/src/db/views.js.map +1 -0
  76. package/dist/src/docIds/conversions.js +62 -0
  77. package/dist/src/docIds/conversions.js.map +1 -0
  78. package/dist/src/docIds/ids.js +125 -0
  79. package/dist/src/docIds/ids.js.map +1 -0
  80. package/dist/src/docIds/index.js +19 -0
  81. package/dist/src/docIds/index.js.map +1 -0
  82. package/dist/src/docIds/newid.js +8 -0
  83. package/dist/src/docIds/newid.js.map +1 -0
  84. package/dist/src/docIds/params.js +141 -0
  85. package/dist/src/docIds/params.js.map +1 -0
  86. package/dist/src/environment.js +182 -0
  87. package/dist/src/environment.js.map +1 -0
  88. package/dist/src/errors/errors.js +97 -0
  89. package/dist/src/errors/errors.js.map +1 -0
  90. package/dist/src/errors/index.js +18 -0
  91. package/dist/src/errors/index.js.map +1 -0
  92. package/dist/src/events/analytics.js +52 -0
  93. package/dist/src/events/analytics.js.map +1 -0
  94. package/dist/src/events/asyncEvents/index.js +19 -0
  95. package/dist/src/events/asyncEvents/index.js.map +1 -0
  96. package/dist/src/events/asyncEvents/publisher.js +26 -0
  97. package/dist/src/events/asyncEvents/publisher.js.map +1 -0
  98. package/dist/src/events/asyncEvents/queue.js +26 -0
  99. package/dist/src/events/asyncEvents/queue.js.map +1 -0
  100. package/dist/src/events/backfill.js +189 -0
  101. package/dist/src/events/backfill.js.map +1 -0
  102. package/dist/src/events/events.js +87 -0
  103. package/dist/src/events/events.js.map +1 -0
  104. package/dist/src/events/identification.js +299 -0
  105. package/dist/src/events/identification.js.map +1 -0
  106. package/dist/src/events/index.js +59 -0
  107. package/dist/src/events/index.js.map +1 -0
  108. package/dist/src/events/processors/AnalyticsProcessor.js +103 -0
  109. package/dist/src/events/processors/AnalyticsProcessor.js.map +1 -0
  110. package/dist/src/events/processors/AuditLogsProcessor.js +86 -0
  111. package/dist/src/events/processors/AuditLogsProcessor.js.map +1 -0
  112. package/dist/src/events/processors/LoggingProcessor.js +47 -0
  113. package/dist/src/events/processors/LoggingProcessor.js.map +1 -0
  114. package/dist/src/events/processors/Processors.js +52 -0
  115. package/dist/src/events/processors/Processors.js.map +1 -0
  116. package/dist/src/events/processors/index.js +23 -0
  117. package/dist/src/events/processors/index.js.map +1 -0
  118. package/dist/src/events/processors/posthog/PosthogProcessor.js +147 -0
  119. package/dist/src/events/processors/posthog/PosthogProcessor.js.map +1 -0
  120. package/dist/src/events/processors/posthog/index.js +8 -0
  121. package/dist/src/events/processors/posthog/index.js.map +1 -0
  122. package/dist/src/events/processors/posthog/rateLimiting.js +129 -0
  123. package/dist/src/events/processors/posthog/rateLimiting.js.map +1 -0
  124. package/dist/src/events/processors/types.js +3 -0
  125. package/dist/src/events/processors/types.js.map +1 -0
  126. package/dist/src/events/publishers/account.js +43 -0
  127. package/dist/src/events/publishers/account.js.map +1 -0
  128. package/dist/src/events/publishers/ai.js +30 -0
  129. package/dist/src/events/publishers/ai.js.map +1 -0
  130. package/dist/src/events/publishers/app.js +166 -0
  131. package/dist/src/events/publishers/app.js.map +1 -0
  132. package/dist/src/events/publishers/auditLog.js +34 -0
  133. package/dist/src/events/publishers/auditLog.js.map +1 -0
  134. package/dist/src/events/publishers/auth.js +80 -0
  135. package/dist/src/events/publishers/auth.js.map +1 -0
  136. package/dist/src/events/publishers/automation.js +117 -0
  137. package/dist/src/events/publishers/automation.js.map +1 -0
  138. package/dist/src/events/publishers/backfill.js +85 -0
  139. package/dist/src/events/publishers/backfill.js.map +1 -0
  140. package/dist/src/events/publishers/backup.js +41 -0
  141. package/dist/src/events/publishers/backup.js.map +1 -0
  142. package/dist/src/events/publishers/datasource.js +54 -0
  143. package/dist/src/events/publishers/datasource.js.map +1 -0
  144. package/dist/src/events/publishers/email.js +30 -0
  145. package/dist/src/events/publishers/email.js.map +1 -0
  146. package/dist/src/events/publishers/environmentVariable.js +44 -0
  147. package/dist/src/events/publishers/environmentVariable.js.map +1 -0
  148. package/dist/src/events/publishers/group.js +107 -0
  149. package/dist/src/events/publishers/group.js.map +1 -0
  150. package/dist/src/events/publishers/index.js +59 -0
  151. package/dist/src/events/publishers/index.js.map +1 -0
  152. package/dist/src/events/publishers/installation.js +52 -0
  153. package/dist/src/events/publishers/installation.js.map +1 -0
  154. package/dist/src/events/publishers/layout.js +34 -0
  155. package/dist/src/events/publishers/layout.js.map +1 -0
  156. package/dist/src/events/publishers/license.js +77 -0
  157. package/dist/src/events/publishers/license.js.map +1 -0
  158. package/dist/src/events/publishers/org.js +52 -0
  159. package/dist/src/events/publishers/org.js.map +1 -0
  160. package/dist/src/events/publishers/plugin.js +55 -0
  161. package/dist/src/events/publishers/plugin.js.map +1 -0
  162. package/dist/src/events/publishers/query.js +73 -0
  163. package/dist/src/events/publishers/query.js.map +1 -0
  164. package/dist/src/events/publishers/role.js +69 -0
  165. package/dist/src/events/publishers/role.js.map +1 -0
  166. package/dist/src/events/publishers/rowAction.js +22 -0
  167. package/dist/src/events/publishers/rowAction.js.map +1 -0
  168. package/dist/src/events/publishers/rows.js +31 -0
  169. package/dist/src/events/publishers/rows.js.map +1 -0
  170. package/dist/src/events/publishers/screen.js +46 -0
  171. package/dist/src/events/publishers/screen.js.map +1 -0
  172. package/dist/src/events/publishers/serve.js +47 -0
  173. package/dist/src/events/publishers/serve.js.map +1 -0
  174. package/dist/src/events/publishers/table.js +95 -0
  175. package/dist/src/events/publishers/table.js.map +1 -0
  176. package/dist/src/events/publishers/user.js +201 -0
  177. package/dist/src/events/publishers/user.js.map +1 -0
  178. package/dist/src/events/publishers/view.js +123 -0
  179. package/dist/src/events/publishers/view.js.map +1 -0
  180. package/dist/src/helpers.js +13 -0
  181. package/dist/src/helpers.js.map +1 -0
  182. package/dist/src/installation.js +159 -0
  183. package/dist/src/installation.js.map +1 -0
  184. package/dist/src/logging/alerts.js +23 -0
  185. package/dist/src/logging/alerts.js.map +1 -0
  186. package/dist/src/logging/correlation/correlation.js +18 -0
  187. package/dist/src/logging/correlation/correlation.js.map +1 -0
  188. package/dist/src/logging/correlation/index.js +18 -0
  189. package/dist/src/logging/correlation/index.js.map +1 -0
  190. package/dist/src/logging/index.js +45 -0
  191. package/dist/src/logging/index.js.map +1 -0
  192. package/dist/src/logging/pino/logger.js +234 -0
  193. package/dist/src/logging/pino/logger.js.map +1 -0
  194. package/dist/src/logging/system.js +110 -0
  195. package/dist/src/logging/system.js.map +1 -0
  196. package/dist/src/objectStore/buckets/app.js +95 -0
  197. package/dist/src/objectStore/buckets/app.js.map +1 -0
  198. package/dist/src/objectStore/buckets/global.js +68 -0
  199. package/dist/src/objectStore/buckets/global.js.map +1 -0
  200. package/dist/src/objectStore/buckets/index.js +20 -0
  201. package/dist/src/objectStore/buckets/index.js.map +1 -0
  202. package/dist/src/objectStore/buckets/plugins.js +104 -0
  203. package/dist/src/objectStore/buckets/plugins.js.map +1 -0
  204. package/dist/src/objectStore/cloudfront.js +73 -0
  205. package/dist/src/objectStore/cloudfront.js.map +1 -0
  206. package/dist/src/objectStore/index.js +20 -0
  207. package/dist/src/objectStore/index.js.map +1 -0
  208. package/dist/src/objectStore/objectStore.js +509 -0
  209. package/dist/src/objectStore/objectStore.js.map +1 -0
  210. package/dist/src/objectStore/utils.js +148 -0
  211. package/dist/src/objectStore/utils.js.map +1 -0
  212. package/dist/src/platform/index.js +43 -0
  213. package/dist/src/platform/index.js.map +1 -0
  214. package/dist/src/platform/platformDb.js +9 -0
  215. package/dist/src/platform/platformDb.js.map +1 -0
  216. package/dist/src/platform/tenants.js +149 -0
  217. package/dist/src/platform/tenants.js.map +1 -0
  218. package/dist/src/platform/users.js +118 -0
  219. package/dist/src/platform/users.js.map +1 -0
  220. package/dist/src/queue/constants.js +13 -0
  221. package/dist/src/queue/constants.js.map +1 -0
  222. package/dist/src/queue/inMemoryQueue.js +192 -0
  223. package/dist/src/queue/inMemoryQueue.js.map +1 -0
  224. package/dist/src/queue/index.js +19 -0
  225. package/dist/src/queue/index.js.map +1 -0
  226. package/dist/src/queue/listeners.js +199 -0
  227. package/dist/src/queue/listeners.js.map +1 -0
  228. package/dist/src/queue/queue.js +124 -0
  229. package/dist/src/queue/queue.js.map +1 -0
  230. package/dist/src/redis/index.js +47 -0
  231. package/dist/src/redis/index.js.map +1 -0
  232. package/dist/src/redis/init.js +184 -0
  233. package/dist/src/redis/init.js.map +1 -0
  234. package/dist/src/redis/redis.js +396 -0
  235. package/dist/src/redis/redis.js.map +1 -0
  236. package/dist/src/redis/redlockImpl.js +181 -0
  237. package/dist/src/redis/redlockImpl.js.map +1 -0
  238. package/dist/src/redis/utils.js +131 -0
  239. package/dist/src/redis/utils.js.map +1 -0
  240. package/dist/src/security/auth.js +26 -0
  241. package/dist/src/security/auth.js.map +1 -0
  242. package/dist/src/security/index.js +18 -0
  243. package/dist/src/security/index.js.map +1 -0
  244. package/dist/src/security/roles.js +566 -0
  245. package/dist/src/security/roles.js.map +1 -0
  246. package/dist/src/security/sessions.js +156 -0
  247. package/dist/src/security/sessions.js.map +1 -0
  248. package/dist/src/sql/utils.js +180 -0
  249. package/dist/src/sql/utils.js.map +1 -0
  250. package/dist/src/tenancy/db.js +9 -0
  251. package/dist/src/tenancy/db.js.map +1 -0
  252. package/dist/src/tenancy/index.js +19 -0
  253. package/dist/src/tenancy/index.js.map +1 -0
  254. package/dist/src/tenancy/tenancy.js +125 -0
  255. package/dist/src/tenancy/tenancy.js.map +1 -0
  256. package/dist/src/timers/index.js +18 -0
  257. package/dist/src/timers/index.js.map +1 -0
  258. package/dist/src/timers/timers.js +25 -0
  259. package/dist/src/timers/timers.js.map +1 -0
  260. package/dist/src/users/db.js +489 -0
  261. package/dist/src/users/db.js.map +1 -0
  262. package/dist/src/users/events.js +179 -0
  263. package/dist/src/users/events.js.map +1 -0
  264. package/dist/src/users/index.js +23 -0
  265. package/dist/src/users/index.js.map +1 -0
  266. package/dist/src/users/lookup.js +126 -0
  267. package/dist/src/users/lookup.js.map +1 -0
  268. package/dist/src/users/users.js +376 -0
  269. package/dist/src/users/users.js.map +1 -0
  270. package/dist/src/users/utils.js +127 -0
  271. package/dist/src/users/utils.js.map +1 -0
  272. package/dist/src/utils/Duration.js +54 -0
  273. package/dist/src/utils/Duration.js.map +1 -0
  274. package/dist/src/utils/hashing.js +46 -0
  275. package/dist/src/utils/hashing.js.map +1 -0
  276. package/dist/src/utils/index.js +21 -0
  277. package/dist/src/utils/index.js.map +1 -0
  278. package/dist/src/utils/stringUtils.js +8 -0
  279. package/dist/src/utils/stringUtils.js.map +1 -0
  280. package/dist/src/utils/utils.js +267 -0
  281. package/dist/src/utils/utils.js.map +1 -0
  282. package/dist/tests/core/logging.js +33 -0
  283. package/dist/tests/core/logging.js.map +1 -0
  284. package/dist/tests/core/utilities/index.js +48 -0
  285. package/dist/tests/core/utilities/index.js.map +1 -0
  286. package/dist/tests/core/utilities/jestUtils.js +21 -0
  287. package/dist/tests/core/utilities/jestUtils.js.map +1 -0
  288. package/dist/tests/core/utilities/mocks/alerts.js +40 -0
  289. package/dist/tests/core/utilities/mocks/alerts.js.map +1 -0
  290. package/dist/tests/core/utilities/mocks/date.js +6 -0
  291. package/dist/tests/core/utilities/mocks/date.js.map +1 -0
  292. package/dist/tests/core/utilities/mocks/events.js +155 -0
  293. package/dist/tests/core/utilities/mocks/events.js.map +1 -0
  294. package/dist/tests/core/utilities/mocks/index.js +47 -0
  295. package/dist/tests/core/utilities/mocks/index.js.map +1 -0
  296. package/dist/tests/core/utilities/mocks/licenses.js +109 -0
  297. package/dist/tests/core/utilities/mocks/licenses.js.map +1 -0
  298. package/dist/tests/core/utilities/queue.js +21 -0
  299. package/dist/tests/core/utilities/queue.js.map +1 -0
  300. package/dist/tests/core/utilities/structures/Chance.js +21 -0
  301. package/dist/tests/core/utilities/structures/Chance.js.map +1 -0
  302. package/dist/tests/core/utilities/structures/accounts.js +43 -0
  303. package/dist/tests/core/utilities/structures/accounts.js.map +1 -0
  304. package/dist/tests/core/utilities/structures/apps.js +23 -0
  305. package/dist/tests/core/utilities/structures/apps.js.map +1 -0
  306. package/dist/tests/core/utilities/structures/common.js +11 -0
  307. package/dist/tests/core/utilities/structures/common.js.map +1 -0
  308. package/dist/tests/core/utilities/structures/db.js +15 -0
  309. package/dist/tests/core/utilities/structures/db.js.map +1 -0
  310. package/dist/tests/core/utilities/structures/documents/index.js +18 -0
  311. package/dist/tests/core/utilities/structures/documents/index.js.map +1 -0
  312. package/dist/tests/core/utilities/structures/documents/platform/index.js +38 -0
  313. package/dist/tests/core/utilities/structures/documents/platform/index.js.map +1 -0
  314. package/dist/tests/core/utilities/structures/documents/platform/installation.js +47 -0
  315. package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +1 -0
  316. package/dist/tests/core/utilities/structures/generator.js +9 -0
  317. package/dist/tests/core/utilities/structures/generator.js.map +1 -0
  318. package/dist/tests/core/utilities/structures/index.js +56 -0
  319. package/dist/tests/core/utilities/structures/index.js.map +1 -0
  320. package/dist/tests/core/utilities/structures/koa.js +10 -0
  321. package/dist/tests/core/utilities/structures/koa.js.map +1 -0
  322. package/dist/tests/core/utilities/structures/licenses.js +157 -0
  323. package/dist/tests/core/utilities/structures/licenses.js.map +1 -0
  324. package/dist/tests/core/utilities/structures/plugins.js +22 -0
  325. package/dist/tests/core/utilities/structures/plugins.js.map +1 -0
  326. package/dist/tests/core/utilities/structures/quotas.js +73 -0
  327. package/dist/tests/core/utilities/structures/quotas.js.map +1 -0
  328. package/dist/tests/core/utilities/structures/scim.js +62 -0
  329. package/dist/tests/core/utilities/structures/scim.js.map +1 -0
  330. package/dist/tests/core/utilities/structures/sso.js +140 -0
  331. package/dist/tests/core/utilities/structures/sso.js.map +1 -0
  332. package/dist/tests/core/utilities/structures/tenants.js +8 -0
  333. package/dist/tests/core/utilities/structures/tenants.js.map +1 -0
  334. package/dist/tests/core/utilities/structures/userGroups.js +12 -0
  335. package/dist/tests/core/utilities/structures/userGroups.js.map +1 -0
  336. package/dist/tests/core/utilities/structures/users.js +53 -0
  337. package/dist/tests/core/utilities/structures/users.js.map +1 -0
  338. package/dist/tests/core/utilities/testContainerUtils.js +161 -0
  339. package/dist/tests/core/utilities/testContainerUtils.js.map +1 -0
  340. package/dist/tests/core/utilities/utils/index.js +39 -0
  341. package/dist/tests/core/utilities/utils/index.js.map +1 -0
  342. package/dist/tests/core/utilities/utils/queue.js +37 -0
  343. package/dist/tests/core/utilities/utils/queue.js.map +1 -0
  344. package/dist/tests/core/utilities/utils/time.js +7 -0
  345. package/dist/tests/core/utilities/utils/time.js.map +1 -0
  346. package/dist/tests/extra/DBTestConfiguration.js +65 -0
  347. package/dist/tests/extra/DBTestConfiguration.js.map +1 -0
  348. package/dist/tests/extra/index.js +43 -0
  349. package/dist/tests/extra/index.js.map +1 -0
  350. package/dist/tests/extra/testEnv.js +136 -0
  351. package/dist/tests/extra/testEnv.js.map +1 -0
  352. package/dist/tests/index.js +19 -0
  353. package/dist/tests/index.js.map +1 -0
  354. package/dist/tests/jestEnv.js +12 -0
  355. package/dist/tests/jestEnv.js.map +1 -0
  356. package/dist/tests/jestSetup.js +33 -0
  357. package/dist/tests/jestSetup.js.map +1 -0
  358. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/objectStore/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
36
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.tenants = exports.users = void 0;
40
+ exports.users = __importStar(require("./users"));
41
+ exports.tenants = __importStar(require("./tenants"));
42
+ __exportStar(require("./platformDb"), exports);
43
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/platform/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAgC;AAChC,qDAAoC;AACpC,+CAA4B"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPlatformDB = getPlatformDB;
4
+ const constants_1 = require("../constants");
5
+ const db_1 = require("../db/db");
6
+ function getPlatformDB() {
7
+ return (0, db_1.getDB)(constants_1.StaticDatabases.PLATFORM_INFO.name);
8
+ }
9
+ //# sourceMappingURL=platformDb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformDb.js","sourceRoot":"","sources":["../../../src/platform/platformDb.ts"],"names":[],"mappings":";;AAGA,sCAEC;AALD,4CAA8C;AAC9C,iCAAgC;AAEhC,SAAgB,aAAa;IAC3B,OAAO,IAAA,UAAK,EAAC,2BAAe,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;AAClD,CAAC"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
+ return new (P || (P = Promise))(function (resolve, reject) {
38
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
42
+ });
43
+ };
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.tenacyLockOptions = void 0;
46
+ exports.getTenantIds = getTenantIds;
47
+ exports.exists = exists;
48
+ exports.addTenant = addTenant;
49
+ exports.removeTenant = removeTenant;
50
+ const constants_1 = require("../constants");
51
+ const platformDb_1 = require("./platformDb");
52
+ const types_1 = require("@budibase/types");
53
+ const locks = __importStar(require("../redis/redlockImpl"));
54
+ const TENANT_DOC = constants_1.StaticDatabases.PLATFORM_INFO.docs.tenants;
55
+ exports.tenacyLockOptions = {
56
+ type: types_1.LockType.DEFAULT,
57
+ name: types_1.LockName.UPDATE_TENANTS_DOC,
58
+ ttl: 10 * 1000, // auto expire after 10 seconds
59
+ systemLock: true,
60
+ };
61
+ // READ
62
+ function getTenantIds() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ const tenants = yield getTenants();
65
+ return tenants.tenantIds;
66
+ });
67
+ }
68
+ function getTenants() {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const db = (0, platformDb_1.getPlatformDB)();
71
+ let tenants;
72
+ try {
73
+ tenants = yield db.get(TENANT_DOC);
74
+ }
75
+ catch (e) {
76
+ // doesn't exist yet - create
77
+ if (e.status === 404) {
78
+ tenants = yield createTenantsDoc();
79
+ }
80
+ else {
81
+ throw e;
82
+ }
83
+ }
84
+ return tenants;
85
+ });
86
+ }
87
+ function exists(tenantId) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const tenants = yield getTenants();
90
+ return tenants.tenantIds.indexOf(tenantId) !== -1;
91
+ });
92
+ }
93
+ // CREATE / UPDATE
94
+ function newTenantsDoc() {
95
+ return {
96
+ _id: TENANT_DOC,
97
+ tenantIds: [],
98
+ };
99
+ }
100
+ function createTenantsDoc() {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const db = (0, platformDb_1.getPlatformDB)();
103
+ let tenants = newTenantsDoc();
104
+ try {
105
+ const response = yield db.put(tenants);
106
+ tenants._rev = response.rev;
107
+ }
108
+ catch (e) {
109
+ // don't throw 409 is doc has already been created
110
+ if (e.status === 409) {
111
+ return db.get(TENANT_DOC);
112
+ }
113
+ throw e;
114
+ }
115
+ return tenants;
116
+ });
117
+ }
118
+ function addTenant(tenantId) {
119
+ return __awaiter(this, void 0, void 0, function* () {
120
+ const db = (0, platformDb_1.getPlatformDB)();
121
+ // use a lock as tenant creation is conflict prone
122
+ yield locks.doWithLock(exports.tenacyLockOptions, () => __awaiter(this, void 0, void 0, function* () {
123
+ const tenants = yield getTenants();
124
+ // write the new tenant if it doesn't already exist
125
+ if (tenants.tenantIds.indexOf(tenantId) === -1) {
126
+ tenants.tenantIds.push(tenantId);
127
+ yield db.put(tenants);
128
+ }
129
+ }));
130
+ });
131
+ }
132
+ // DELETE
133
+ function removeTenant(tenantId) {
134
+ return __awaiter(this, void 0, void 0, function* () {
135
+ try {
136
+ yield locks.doWithLock(exports.tenacyLockOptions, () => __awaiter(this, void 0, void 0, function* () {
137
+ const db = (0, platformDb_1.getPlatformDB)();
138
+ const tenants = yield getTenants();
139
+ tenants.tenantIds = tenants.tenantIds.filter(id => id !== tenantId);
140
+ yield db.put(tenants);
141
+ }));
142
+ }
143
+ catch (err) {
144
+ console.error(`Error removing tenant ${tenantId} from info db`, err);
145
+ throw err;
146
+ }
147
+ });
148
+ }
149
+ //# sourceMappingURL=tenants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenants.js","sourceRoot":"","sources":["../../../src/platform/tenants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.lookupTenantId = lookupTenantId;
16
+ exports.getUserDoc = getUserDoc;
17
+ exports.updateUserDoc = updateUserDoc;
18
+ exports.addSsoUser = addSsoUser;
19
+ exports.addUser = addUser;
20
+ exports.removeUser = removeUser;
21
+ const platformDb_1 = require("./platformDb");
22
+ const constants_1 = require("../constants");
23
+ const environment_1 = __importDefault(require("../environment"));
24
+ // READ
25
+ function lookupTenantId(userId) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ if (!environment_1.default.MULTI_TENANCY) {
28
+ return constants_1.DEFAULT_TENANT_ID;
29
+ }
30
+ const user = yield getUserDoc(userId);
31
+ return user.tenantId;
32
+ });
33
+ }
34
+ function getUserDoc(emailOrId) {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ const db = (0, platformDb_1.getPlatformDB)();
37
+ return db.get(emailOrId);
38
+ });
39
+ }
40
+ function updateUserDoc(platformUser) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ const db = (0, platformDb_1.getPlatformDB)();
43
+ yield db.put(platformUser);
44
+ });
45
+ }
46
+ // CREATE
47
+ function newUserIdDoc(id, tenantId) {
48
+ return {
49
+ _id: id,
50
+ tenantId,
51
+ };
52
+ }
53
+ function newUserEmailDoc(userId, email, tenantId) {
54
+ return {
55
+ _id: email,
56
+ userId,
57
+ tenantId,
58
+ };
59
+ }
60
+ function newUserSsoIdDoc(ssoId, email, userId, tenantId) {
61
+ return {
62
+ _id: ssoId,
63
+ userId,
64
+ email,
65
+ tenantId,
66
+ };
67
+ }
68
+ /**
69
+ * Add a new user id or email doc if it doesn't exist.
70
+ */
71
+ function addUserDoc(emailOrId, newDocFn) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ const db = (0, platformDb_1.getPlatformDB)();
74
+ let user;
75
+ try {
76
+ yield db.get(emailOrId);
77
+ }
78
+ catch (e) {
79
+ if (e.status === 404) {
80
+ user = newDocFn();
81
+ yield db.put(user);
82
+ }
83
+ else {
84
+ throw e;
85
+ }
86
+ }
87
+ });
88
+ }
89
+ function addSsoUser(ssoId, email, userId, tenantId) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ return addUserDoc(ssoId, () => newUserSsoIdDoc(ssoId, email, userId, tenantId));
92
+ });
93
+ }
94
+ function addUser(tenantId, userId, email, ssoId) {
95
+ return __awaiter(this, void 0, void 0, function* () {
96
+ const promises = [
97
+ addUserDoc(userId, () => newUserIdDoc(userId, tenantId)),
98
+ addUserDoc(email, () => newUserEmailDoc(userId, email, tenantId)),
99
+ ];
100
+ if (ssoId) {
101
+ promises.push(addSsoUser(ssoId, email, userId, tenantId));
102
+ }
103
+ yield Promise.all(promises);
104
+ });
105
+ }
106
+ // DELETE
107
+ function removeUser(user) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ const db = (0, platformDb_1.getPlatformDB)();
110
+ const keys = [user._id, user.email];
111
+ const userDocs = yield db.allDocs({
112
+ keys,
113
+ include_docs: true,
114
+ });
115
+ yield db.bulkRemove(userDocs.rows.map(row => row.doc), { silenceErrors: true });
116
+ });
117
+ }
118
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/platform/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.JobQueue = void 0;
4
+ var JobQueue;
5
+ (function (JobQueue) {
6
+ JobQueue["AUTOMATION"] = "automationQueue";
7
+ JobQueue["APP_BACKUP"] = "appBackupQueue";
8
+ JobQueue["AUDIT_LOG"] = "auditLogQueue";
9
+ JobQueue["SYSTEM_EVENT_QUEUE"] = "systemEventQueue";
10
+ JobQueue["APP_MIGRATION"] = "appMigration";
11
+ JobQueue["DOC_WRITETHROUGH_QUEUE"] = "docWritethroughQueue";
12
+ })(JobQueue || (exports.JobQueue = JobQueue = {}));
13
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/queue/constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAOX;AAPD,WAAY,QAAQ;IAClB,0CAA8B,CAAA;IAC9B,yCAA6B,CAAA;IAC7B,uCAA2B,CAAA;IAC3B,mDAAuC,CAAA;IACvC,0CAA8B,CAAA;IAC9B,2DAA+C,CAAA;AACjD,CAAC,EAPW,QAAQ,wBAAR,QAAQ,QAOnB"}
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const events_1 = __importDefault(require("events"));
16
+ const utils_1 = require("../utils");
17
+ /**
18
+ * Bull works with a Job wrapper around all messages that contains a lot more information about
19
+ * the state of the message, this object constructor implements the same schema of Bull jobs
20
+ * for the sake of maintaining API consistency.
21
+ * @param queue The name of the queue which the message will be carried on.
22
+ * @param message The JSON message which will be passed back to the consumer.
23
+ * @returns A new job which can now be put onto the queue, this is mostly an
24
+ * internal structure so that an in memory queue can be easily swapped for a Bull queue.
25
+ */
26
+ function newJob(queue, message, opts) {
27
+ return {
28
+ id: (0, utils_1.newid)(),
29
+ timestamp: Date.now(),
30
+ queue: queue,
31
+ data: message,
32
+ opts,
33
+ };
34
+ }
35
+ /**
36
+ * This is designed to replicate Bull (https://github.com/OptimalBits/bull) in memory as a sort of mock.
37
+ * It is relatively simple, using an event emitter internally to register when messages are available
38
+ * to the consumers - in can support many inputs and many consumers.
39
+ */
40
+ class InMemoryQueue {
41
+ /**
42
+ * The constructor the queue, exactly the same as that of Bulls.
43
+ * @param name The name of the queue which is being configured.
44
+ * @param opts This is not used by the in memory queue as there is no real use
45
+ * case when in memory, but is the same API as Bull
46
+ */
47
+ constructor(name, opts) {
48
+ this._name = name;
49
+ this._opts = opts;
50
+ this._messages = [];
51
+ this._emitter = new events_1.default.EventEmitter();
52
+ this._runCount = 0;
53
+ this._addCount = 0;
54
+ this._queuedJobIds = new Set();
55
+ }
56
+ /**
57
+ * Same callback API as Bull, each callback passed to this will consume messages as they are
58
+ * available. Please note this is a queue service, not a notification service, so each
59
+ * consumer will receive different messages.
60
+ * as the Bull API, within this job the property "data" contains the JSON message. Please
61
+ * note this is incredibly limited compared to Bull as in reality the Job would contain
62
+ * a lot more information about the queue and current status of Bull cluster.
63
+ */
64
+ process(concurrencyOrFunc, func) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ func = typeof concurrencyOrFunc === "number" ? func : concurrencyOrFunc;
67
+ this._emitter.on("message", () => __awaiter(this, void 0, void 0, function* () {
68
+ var _a, _b, _c;
69
+ if (this._messages.length <= 0) {
70
+ return;
71
+ }
72
+ let msg = this._messages.shift();
73
+ let resp = func(msg);
74
+ function retryFunc(fnc) {
75
+ return __awaiter(this, void 0, void 0, function* () {
76
+ try {
77
+ yield fnc;
78
+ }
79
+ catch (e) {
80
+ yield new Promise(r => setTimeout(() => r(), 50));
81
+ yield retryFunc(func(msg));
82
+ }
83
+ });
84
+ }
85
+ if (resp.then != null) {
86
+ try {
87
+ yield retryFunc(resp);
88
+ }
89
+ catch (e) {
90
+ console.error(e);
91
+ }
92
+ }
93
+ this._runCount++;
94
+ const jobId = (_b = (_a = msg === null || msg === void 0 ? void 0 : msg.opts) === null || _a === void 0 ? void 0 : _a.jobId) === null || _b === void 0 ? void 0 : _b.toString();
95
+ if (jobId && ((_c = msg === null || msg === void 0 ? void 0 : msg.opts) === null || _c === void 0 ? void 0 : _c.removeOnComplete)) {
96
+ this._queuedJobIds.delete(jobId);
97
+ }
98
+ }));
99
+ });
100
+ }
101
+ isReady() {
102
+ return __awaiter(this, void 0, void 0, function* () {
103
+ return this;
104
+ });
105
+ }
106
+ // simply puts a message to the queue and emits to the queue for processing
107
+ /**
108
+ * Simple function to replicate the add message functionality of Bull, putting
109
+ * a new message on the queue. This then emits an event which will be used to
110
+ * return the message to a consumer (if one is attached).
111
+ * @param msg A message to be transported over the queue, this should be
112
+ * a JSON message as this is required by Bull.
113
+ * @param repeat serves no purpose for the import queue.
114
+ */
115
+ add(data, opts) {
116
+ return __awaiter(this, void 0, void 0, function* () {
117
+ var _a;
118
+ const jobId = (_a = opts === null || opts === void 0 ? void 0 : opts.jobId) === null || _a === void 0 ? void 0 : _a.toString();
119
+ if (jobId && this._queuedJobIds.has(jobId)) {
120
+ console.log(`Ignoring already queued job ${jobId}`);
121
+ return;
122
+ }
123
+ if (typeof data !== "object") {
124
+ throw "Queue only supports carrying JSON.";
125
+ }
126
+ if (jobId) {
127
+ this._queuedJobIds.add(jobId);
128
+ }
129
+ const pushMessage = () => {
130
+ this._messages.push(newJob(this._name, data, opts));
131
+ this._addCount++;
132
+ this._emitter.emit("message");
133
+ };
134
+ const delay = opts === null || opts === void 0 ? void 0 : opts.delay;
135
+ if (delay) {
136
+ setTimeout(pushMessage, delay);
137
+ }
138
+ else {
139
+ pushMessage();
140
+ }
141
+ return { id: jobId };
142
+ });
143
+ }
144
+ /**
145
+ * replicating the close function from bull, which waits for jobs to finish.
146
+ */
147
+ close() {
148
+ return __awaiter(this, void 0, void 0, function* () { });
149
+ }
150
+ /**
151
+ * This removes a cron which has been implemented, this is part of Bull API.
152
+ * @param cronJobId The cron which is to be removed.
153
+ */
154
+ removeRepeatableByKey(cronJobId) {
155
+ return __awaiter(this, void 0, void 0, function* () {
156
+ // TODO: implement for testing
157
+ console.log(cronJobId);
158
+ });
159
+ }
160
+ /**
161
+ * Implemented for tests
162
+ */
163
+ getRepeatableJobs() {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ return [];
166
+ });
167
+ }
168
+ removeJobs(_pattern) {
169
+ return __awaiter(this, void 0, void 0, function* () {
170
+ // no-op
171
+ });
172
+ }
173
+ /**
174
+ * Implemented for tests
175
+ */
176
+ clean() {
177
+ return __awaiter(this, void 0, void 0, function* () {
178
+ return [];
179
+ });
180
+ }
181
+ getJob() {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ return null;
184
+ });
185
+ }
186
+ on() {
187
+ // do nothing
188
+ return this;
189
+ }
190
+ }
191
+ exports.default = InMemoryQueue;
192
+ //# sourceMappingURL=inMemoryQueue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inMemoryQueue.js","sourceRoot":"","sources":["../../../src/queue/inMemoryQueue.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./queue"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,8CAA2B"}