@budibase/backend-core 2.9.39-alpha.8 → 2.9.39

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 (481) hide show
  1. package/dist/jest.config.js +25 -0
  2. package/dist/jest.config.js.map +1 -0
  3. package/dist/package.json +5 -5
  4. package/dist/src/accounts/accounts.js +75 -92
  5. package/dist/src/accounts/accounts.js.map +1 -7
  6. package/dist/src/accounts/api.js +85 -71
  7. package/dist/src/accounts/api.js.map +1 -7
  8. package/dist/src/accounts/index.js +16 -21
  9. package/dist/src/accounts/index.js.map +1 -7
  10. package/dist/src/auth/auth.js +178 -197
  11. package/dist/src/auth/auth.js.map +1 -7
  12. package/dist/src/auth/index.js +16 -21
  13. package/dist/src/auth/index.js.map +1 -7
  14. package/dist/src/blacklist/blacklist.js +69 -81
  15. package/dist/src/blacklist/blacklist.js.map +1 -7
  16. package/dist/src/blacklist/index.js +16 -21
  17. package/dist/src/blacklist/index.js.map +1 -7
  18. package/dist/src/cache/appMetadata.js +88 -78
  19. package/dist/src/cache/appMetadata.js.map +1 -7
  20. package/dist/src/cache/base/index.js +110 -92
  21. package/dist/src/cache/base/index.js.map +1 -7
  22. package/dist/src/cache/generic.js +26 -64
  23. package/dist/src/cache/generic.js.map +1 -7
  24. package/dist/src/cache/index.js +32 -48
  25. package/dist/src/cache/index.js.map +1 -7
  26. package/dist/src/cache/user.js +115 -91
  27. package/dist/src/cache/user.js.map +1 -7
  28. package/dist/src/cache/writethrough.js +144 -129
  29. package/dist/src/cache/writethrough.js.map +1 -7
  30. package/dist/src/configs/configs.js +265 -215
  31. package/dist/src/configs/configs.js.map +1 -7
  32. package/dist/src/configs/index.js +16 -21
  33. package/dist/src/configs/index.js.map +1 -7
  34. package/dist/src/constants/db.js +64 -104
  35. package/dist/src/constants/db.js.map +1 -7
  36. package/dist/src/constants/index.js +17 -23
  37. package/dist/src/constants/index.js.map +1 -7
  38. package/dist/src/constants/misc.js +53 -91
  39. package/dist/src/constants/misc.js.map +1 -7
  40. package/dist/src/context/Context.js +11 -33
  41. package/dist/src/context/Context.js.map +1 -7
  42. package/dist/src/context/identity.js +60 -75
  43. package/dist/src/context/identity.js.map +1 -7
  44. package/dist/src/context/index.js +31 -42
  45. package/dist/src/context/index.js.map +1 -7
  46. package/dist/src/context/mainContext.js +275 -264
  47. package/dist/src/context/mainContext.js.map +1 -7
  48. package/dist/src/context/types.js +2 -16
  49. package/dist/src/context/types.js.map +1 -7
  50. package/dist/src/db/Replication.js +81 -85
  51. package/dist/src/db/Replication.js.map +1 -7
  52. package/dist/src/db/constants.js +11 -37
  53. package/dist/src/db/constants.js.map +1 -7
  54. package/dist/src/db/couch/DatabaseImpl.js +236 -212
  55. package/dist/src/db/couch/DatabaseImpl.js.map +1 -7
  56. package/dist/src/db/couch/connections.js +81 -96
  57. package/dist/src/db/couch/connections.js.map +1 -7
  58. package/dist/src/db/couch/index.js +25 -42
  59. package/dist/src/db/couch/index.js.map +1 -7
  60. package/dist/src/db/couch/pouchDB.js +93 -103
  61. package/dist/src/db/couch/pouchDB.js.map +1 -7
  62. package/dist/src/db/couch/pouchDump.js +1 -1
  63. package/dist/src/db/couch/pouchDump.js.map +1 -7
  64. package/dist/src/db/couch/utils.js +49 -70
  65. package/dist/src/db/couch/utils.js.map +1 -7
  66. package/dist/src/db/db.js +49 -63
  67. package/dist/src/db/db.js.map +1 -7
  68. package/dist/src/db/errors.js +17 -38
  69. package/dist/src/db/errors.js.map +1 -7
  70. package/dist/src/db/index.js +45 -61
  71. package/dist/src/db/index.js.map +1 -7
  72. package/dist/src/db/lucene.js +655 -582
  73. package/dist/src/db/lucene.js.map +1 -7
  74. package/dist/src/db/searchIndexes/index.js +16 -21
  75. package/dist/src/db/searchIndexes/index.js.map +1 -7
  76. package/dist/src/db/searchIndexes/searchIndexes.js +72 -77
  77. package/dist/src/db/searchIndexes/searchIndexes.js.map +1 -7
  78. package/dist/src/db/utils.js +199 -184
  79. package/dist/src/db/utils.js.map +1 -7
  80. package/dist/src/db/views.js +187 -191
  81. package/dist/src/db/views.js.map +1 -7
  82. package/dist/src/docIds/conversions.js +48 -69
  83. package/dist/src/docIds/conversions.js.map +1 -7
  84. package/dist/src/docIds/ids.js +87 -76
  85. package/dist/src/docIds/ids.js.map +1 -7
  86. package/dist/src/docIds/index.js +17 -23
  87. package/dist/src/docIds/index.js.map +1 -7
  88. package/dist/src/docIds/newid.js +6 -29
  89. package/dist/src/docIds/newid.js.map +1 -7
  90. package/dist/src/docIds/params.js +111 -109
  91. package/dist/src/docIds/params.js.map +1 -7
  92. package/dist/src/docUpdates/index.js +29 -54
  93. package/dist/src/docUpdates/index.js.map +1 -7
  94. package/dist/src/environment.js +81 -152
  95. package/dist/src/environment.js.map +1 -7
  96. package/dist/src/errors/errors.js +77 -106
  97. package/dist/src/errors/errors.js.map +1 -7
  98. package/dist/src/errors/index.js +16 -21
  99. package/dist/src/errors/index.js.map +1 -7
  100. package/dist/src/events/analytics.js +38 -38
  101. package/dist/src/events/analytics.js.map +1 -7
  102. package/dist/src/events/asyncEvents/index.js +17 -23
  103. package/dist/src/events/asyncEvents/index.js.map +1 -7
  104. package/dist/src/events/asyncEvents/publisher.js +24 -36
  105. package/dist/src/events/asyncEvents/publisher.js.map +1 -7
  106. package/dist/src/events/asyncEvents/queue.js +21 -37
  107. package/dist/src/events/asyncEvents/queue.js.map +1 -7
  108. package/dist/src/events/backfill.js +170 -163
  109. package/dist/src/events/backfill.js.map +1 -7
  110. package/dist/src/events/documentId.js +23 -46
  111. package/dist/src/events/documentId.js.map +1 -7
  112. package/dist/src/events/events.js +68 -58
  113. package/dist/src/events/events.js.map +1 -7
  114. package/dist/src/events/identification.js +279 -254
  115. package/dist/src/events/identification.js.map +1 -7
  116. package/dist/src/events/index.js +42 -57
  117. package/dist/src/events/index.js.map +1 -7
  118. package/dist/src/events/processors/AnalyticsProcessor.js +81 -64
  119. package/dist/src/events/processors/AnalyticsProcessor.js.map +1 -7
  120. package/dist/src/events/processors/AuditLogsProcessor.js +79 -90
  121. package/dist/src/events/processors/AuditLogsProcessor.js.map +1 -7
  122. package/dist/src/events/processors/LoggingProcessor.js +39 -50
  123. package/dist/src/events/processors/LoggingProcessor.js.map +1 -7
  124. package/dist/src/events/processors/Processors.js +44 -49
  125. package/dist/src/events/processors/Processors.js.map +1 -7
  126. package/dist/src/events/processors/async/DocumentUpdateProcessor.js +37 -46
  127. package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +1 -7
  128. package/dist/src/events/processors/index.js +18 -52
  129. package/dist/src/events/processors/index.js.map +1 -7
  130. package/dist/src/events/processors/posthog/PosthogProcessor.js +126 -113
  131. package/dist/src/events/processors/posthog/PosthogProcessor.js.map +1 -7
  132. package/dist/src/events/processors/posthog/index.js +6 -34
  133. package/dist/src/events/processors/posthog/index.js.map +1 -7
  134. package/dist/src/events/processors/posthog/rateLimiting.js +104 -90
  135. package/dist/src/events/processors/posthog/rateLimiting.js.map +1 -7
  136. package/dist/src/events/processors/types.js +2 -28
  137. package/dist/src/events/processors/types.js.map +1 -7
  138. package/dist/src/events/publishers/account.js +37 -43
  139. package/dist/src/events/publishers/account.js.map +1 -7
  140. package/dist/src/events/publishers/app.js +139 -131
  141. package/dist/src/events/publishers/app.js.map +1 -7
  142. package/dist/src/events/publishers/auditLog.js +29 -37
  143. package/dist/src/events/publishers/auditLog.js.map +1 -7
  144. package/dist/src/events/publishers/auth.js +71 -71
  145. package/dist/src/events/publishers/auth.js.map +1 -7
  146. package/dist/src/events/publishers/automation.js +108 -102
  147. package/dist/src/events/publishers/automation.js.map +1 -7
  148. package/dist/src/events/publishers/backfill.js +75 -82
  149. package/dist/src/events/publishers/backfill.js.map +1 -7
  150. package/dist/src/events/publishers/backup.js +36 -44
  151. package/dist/src/events/publishers/backup.js.map +1 -7
  152. package/dist/src/events/publishers/datasource.js +46 -51
  153. package/dist/src/events/publishers/datasource.js.map +1 -7
  154. package/dist/src/events/publishers/email.js +25 -33
  155. package/dist/src/events/publishers/email.js.map +1 -7
  156. package/dist/src/events/publishers/environmentVariable.js +38 -47
  157. package/dist/src/events/publishers/environmentVariable.js.map +1 -7
  158. package/dist/src/events/publishers/group.js +97 -95
  159. package/dist/src/events/publishers/group.js.map +1 -7
  160. package/dist/src/events/publishers/index.js +53 -106
  161. package/dist/src/events/publishers/index.js.map +1 -7
  162. package/dist/src/events/publishers/installation.js +45 -49
  163. package/dist/src/events/publishers/installation.js.map +1 -7
  164. package/dist/src/events/publishers/layout.js +29 -37
  165. package/dist/src/events/publishers/layout.js.map +1 -7
  166. package/dist/src/events/publishers/license.js +67 -68
  167. package/dist/src/events/publishers/license.js.map +1 -7
  168. package/dist/src/events/publishers/org.js +44 -45
  169. package/dist/src/events/publishers/org.js.map +1 -7
  170. package/dist/src/events/publishers/plugin.js +49 -55
  171. package/dist/src/events/publishers/plugin.js.map +1 -7
  172. package/dist/src/events/publishers/query.js +70 -81
  173. package/dist/src/events/publishers/query.js.map +1 -7
  174. package/dist/src/events/publishers/role.js +61 -63
  175. package/dist/src/events/publishers/role.js.map +1 -7
  176. package/dist/src/events/publishers/rows.js +28 -39
  177. package/dist/src/events/publishers/rows.js.map +1 -7
  178. package/dist/src/events/publishers/screen.js +41 -47
  179. package/dist/src/events/publishers/screen.js.map +1 -7
  180. package/dist/src/events/publishers/serve.js +41 -47
  181. package/dist/src/events/publishers/serve.js.map +1 -7
  182. package/dist/src/events/publishers/table.js +69 -71
  183. package/dist/src/events/publishers/table.js.map +1 -7
  184. package/dist/src/events/publishers/user.js +184 -173
  185. package/dist/src/events/publishers/user.js.map +1 -7
  186. package/dist/src/events/publishers/view.js +98 -89
  187. package/dist/src/events/publishers/view.js.map +1 -7
  188. package/dist/src/features/index.js +88 -93
  189. package/dist/src/features/index.js.map +1 -7
  190. package/dist/src/features/installation.js +16 -38
  191. package/dist/src/features/installation.js.map +1 -7
  192. package/dist/src/helpers.js +11 -28
  193. package/dist/src/helpers.js.map +1 -7
  194. package/dist/src/index.js +77 -148
  195. package/dist/src/index.js.map +1 -7
  196. package/dist/src/installation.js +127 -128
  197. package/dist/src/installation.js.map +1 -7
  198. package/dist/src/logging/alerts.js +14 -39
  199. package/dist/src/logging/alerts.js.map +1 -7
  200. package/dist/src/logging/correlation/correlation.js +11 -35
  201. package/dist/src/logging/correlation/correlation.js.map +1 -7
  202. package/dist/src/logging/correlation/index.js +16 -21
  203. package/dist/src/logging/correlation/index.js.map +1 -7
  204. package/dist/src/logging/correlation/middleware.js +13 -33
  205. package/dist/src/logging/correlation/middleware.js.map +1 -7
  206. package/dist/src/logging/index.js +32 -45
  207. package/dist/src/logging/index.js.map +1 -7
  208. package/dist/src/logging/pino/logger.js +206 -185
  209. package/dist/src/logging/pino/logger.js.map +1 -7
  210. package/dist/src/logging/pino/middleware.js +38 -68
  211. package/dist/src/logging/pino/middleware.js.map +1 -7
  212. package/dist/src/logging/system.js +86 -95
  213. package/dist/src/logging/system.js.map +1 -7
  214. package/dist/src/middleware/adminOnly.js +16 -28
  215. package/dist/src/middleware/adminOnly.js.map +1 -7
  216. package/dist/src/middleware/auditLog.js +13 -24
  217. package/dist/src/middleware/auditLog.js.map +1 -7
  218. package/dist/src/middleware/authenticated.js +191 -165
  219. package/dist/src/middleware/authenticated.js.map +1 -7
  220. package/dist/src/middleware/builderOnly.js +29 -44
  221. package/dist/src/middleware/builderOnly.js.map +1 -7
  222. package/dist/src/middleware/builderOrAdmin.js +29 -44
  223. package/dist/src/middleware/builderOrAdmin.js.map +1 -7
  224. package/dist/src/middleware/csrf.js +75 -54
  225. package/dist/src/middleware/csrf.js.map +1 -7
  226. package/dist/src/middleware/errorHandling.js +60 -58
  227. package/dist/src/middleware/errorHandling.js.map +1 -7
  228. package/dist/src/middleware/index.js +61 -91
  229. package/dist/src/middleware/index.js.map +1 -7
  230. package/dist/src/middleware/internalApi.js +27 -36
  231. package/dist/src/middleware/internalApi.js.map +1 -7
  232. package/dist/src/middleware/joi-validator.js +39 -65
  233. package/dist/src/middleware/joi-validator.js.map +1 -7
  234. package/dist/src/middleware/matchers.js +36 -55
  235. package/dist/src/middleware/matchers.js.map +1 -7
  236. package/dist/src/middleware/passport/datasource/google.js +88 -96
  237. package/dist/src/middleware/passport/datasource/google.js.map +1 -7
  238. package/dist/src/middleware/passport/local.js +74 -66
  239. package/dist/src/middleware/passport/local.js.map +1 -7
  240. package/dist/src/middleware/passport/sso/google.js +81 -84
  241. package/dist/src/middleware/passport/sso/google.js.map +1 -7
  242. package/dist/src/middleware/passport/sso/oidc.js +140 -124
  243. package/dist/src/middleware/passport/sso/oidc.js.map +1 -7
  244. package/dist/src/middleware/passport/sso/sso.js +157 -141
  245. package/dist/src/middleware/passport/sso/sso.js.map +1 -7
  246. package/dist/src/middleware/passport/utils.js +60 -56
  247. package/dist/src/middleware/passport/utils.js.map +1 -7
  248. package/dist/src/middleware/querystringToBody.js +26 -42
  249. package/dist/src/middleware/querystringToBody.js.map +1 -7
  250. package/dist/src/middleware/tenancy.js +33 -42
  251. package/dist/src/middleware/tenancy.js.map +1 -7
  252. package/dist/src/migrations/definitions.js +37 -61
  253. package/dist/src/migrations/definitions.js.map +1 -7
  254. package/dist/src/migrations/index.js +17 -23
  255. package/dist/src/migrations/index.js.map +1 -7
  256. package/dist/src/migrations/migrations.js +182 -162
  257. package/dist/src/migrations/migrations.js.map +1 -7
  258. package/dist/src/objectStore/buckets/app.js +65 -57
  259. package/dist/src/objectStore/buckets/app.js.map +1 -7
  260. package/dist/src/objectStore/buckets/global.js +50 -55
  261. package/dist/src/objectStore/buckets/global.js.map +1 -7
  262. package/dist/src/objectStore/buckets/index.js +18 -25
  263. package/dist/src/objectStore/buckets/index.js.map +1 -7
  264. package/dist/src/objectStore/buckets/plugins.js +76 -82
  265. package/dist/src/objectStore/buckets/plugins.js.map +1 -7
  266. package/dist/src/objectStore/cloudfront.js +27 -61
  267. package/dist/src/objectStore/cloudfront.js.map +1 -7
  268. package/dist/src/objectStore/index.js +18 -25
  269. package/dist/src/objectStore/index.js.map +1 -7
  270. package/dist/src/objectStore/objectStore.js +351 -341
  271. package/dist/src/objectStore/objectStore.js.map +1 -7
  272. package/dist/src/objectStore/utils.js +26 -52
  273. package/dist/src/objectStore/utils.js.map +1 -7
  274. package/dist/src/platform/index.js +30 -42
  275. package/dist/src/platform/index.js.map +1 -7
  276. package/dist/src/platform/platformDb.js +7 -30
  277. package/dist/src/platform/platformDb.js.map +1 -7
  278. package/dist/src/platform/tenants.js +126 -110
  279. package/dist/src/platform/tenants.js.map +1 -7
  280. package/dist/src/platform/users.js +84 -92
  281. package/dist/src/platform/users.js.map +1 -7
  282. package/dist/src/plugin/index.js +16 -21
  283. package/dist/src/plugin/index.js.map +1 -7
  284. package/dist/src/plugin/utils.js +129 -137
  285. package/dist/src/plugin/utils.js.map +1 -7
  286. package/dist/src/queue/constants.js +10 -34
  287. package/dist/src/queue/constants.js.map +1 -7
  288. package/dist/src/queue/inMemoryQueue.js +137 -131
  289. package/dist/src/queue/inMemoryQueue.js.map +1 -7
  290. package/dist/src/queue/index.js +17 -23
  291. package/dist/src/queue/index.js.map +1 -7
  292. package/dist/src/queue/listeners.js +170 -161
  293. package/dist/src/queue/listeners.js.map +1 -7
  294. package/dist/src/queue/queue.js +83 -76
  295. package/dist/src/queue/queue.js.map +1 -7
  296. package/dist/src/redis/index.js +34 -45
  297. package/dist/src/redis/index.js.map +1 -7
  298. package/dist/src/redis/init.js +125 -115
  299. package/dist/src/redis/init.js.map +1 -7
  300. package/dist/src/redis/redis.js +302 -244
  301. package/dist/src/redis/redis.js.map +1 -7
  302. package/dist/src/redis/redlockImpl.js +152 -135
  303. package/dist/src/redis/redlockImpl.js.map +1 -7
  304. package/dist/src/redis/utils.js +115 -128
  305. package/dist/src/redis/utils.js.map +1 -7
  306. package/dist/src/security/encryption.js +141 -162
  307. package/dist/src/security/encryption.js.map +1 -7
  308. package/dist/src/security/permissions.js +132 -170
  309. package/dist/src/security/permissions.js.map +1 -7
  310. package/dist/src/security/roles.js +319 -298
  311. package/dist/src/security/roles.js.map +1 -7
  312. package/dist/src/security/sessions.js +106 -120
  313. package/dist/src/security/sessions.js.map +1 -7
  314. package/dist/src/tenancy/db.js +7 -30
  315. package/dist/src/tenancy/db.js.map +1 -7
  316. package/dist/src/tenancy/index.js +17 -23
  317. package/dist/src/tenancy/index.js.map +1 -7
  318. package/dist/src/tenancy/tenancy.js +101 -114
  319. package/dist/src/tenancy/tenancy.js.map +1 -7
  320. package/dist/src/timers/index.js +16 -21
  321. package/dist/src/timers/index.js.map +1 -7
  322. package/dist/src/timers/timers.js +18 -43
  323. package/dist/src/timers/timers.js.map +1 -7
  324. package/dist/src/users/db.js +403 -357
  325. package/dist/src/users/db.js.map +1 -7
  326. package/dist/src/users/events.js +150 -133
  327. package/dist/src/users/events.js.map +1 -7
  328. package/dist/src/users/index.js +21 -34
  329. package/dist/src/users/index.js.map +1 -7
  330. package/dist/src/users/lookup.js +104 -102
  331. package/dist/src/users/lookup.js.map +1 -7
  332. package/dist/src/users/users.js +244 -240
  333. package/dist/src/users/users.js.map +1 -7
  334. package/dist/src/users/utils.js +87 -90
  335. package/dist/src/users/utils.js.map +1 -7
  336. package/dist/src/utils/hashing.js +42 -48
  337. package/dist/src/utils/hashing.js.map +1 -7
  338. package/dist/src/utils/index.js +18 -25
  339. package/dist/src/utils/index.js.map +1 -7
  340. package/dist/src/utils/stringUtils.js +6 -30
  341. package/dist/src/utils/stringUtils.js.map +1 -7
  342. package/dist/src/utils/utils.js +212 -172
  343. package/dist/src/utils/utils.js.map +1 -7
  344. package/dist/tests/core/logging.js +21 -45
  345. package/dist/tests/core/logging.js.map +1 -7
  346. package/dist/tests/core/utilities/index.js +34 -51
  347. package/dist/tests/core/utilities/index.js.map +1 -7
  348. package/dist/tests/core/utilities/jestUtils.js +16 -45
  349. package/dist/tests/core/utilities/jestUtils.js.map +1 -7
  350. package/dist/tests/core/utilities/mocks/alerts.js +27 -38
  351. package/dist/tests/core/utilities/mocks/alerts.js.map +1 -7
  352. package/dist/tests/core/utilities/mocks/date.js +5 -31
  353. package/dist/tests/core/utilities/mocks/date.js.map +1 -7
  354. package/dist/tests/core/utilities/mocks/events.js +141 -131
  355. package/dist/tests/core/utilities/mocks/events.js.map +1 -7
  356. package/dist/tests/core/utilities/mocks/fetch.js +10 -34
  357. package/dist/tests/core/utilities/mocks/fetch.js.map +1 -7
  358. package/dist/tests/core/utilities/mocks/index.js +39 -51
  359. package/dist/tests/core/utilities/mocks/index.js.map +1 -7
  360. package/dist/tests/core/utilities/mocks/licenses.js +67 -107
  361. package/dist/tests/core/utilities/mocks/licenses.js.map +1 -7
  362. package/dist/tests/core/utilities/mocks/posthog.js +6 -6
  363. package/dist/tests/core/utilities/mocks/posthog.js.map +1 -7
  364. package/dist/tests/core/utilities/structures/Chance.js +17 -44
  365. package/dist/tests/core/utilities/structures/Chance.js.map +1 -7
  366. package/dist/tests/core/utilities/structures/accounts.js +61 -131
  367. package/dist/tests/core/utilities/structures/accounts.js.map +1 -7
  368. package/dist/tests/core/utilities/structures/apps.js +21 -44
  369. package/dist/tests/core/utilities/structures/apps.js.map +1 -7
  370. package/dist/tests/core/utilities/structures/common.js +8 -32
  371. package/dist/tests/core/utilities/structures/common.js.map +1 -7
  372. package/dist/tests/core/utilities/structures/db.js +11 -35
  373. package/dist/tests/core/utilities/structures/db.js.map +1 -7
  374. package/dist/tests/core/utilities/structures/documents/index.js +16 -21
  375. package/dist/tests/core/utilities/structures/documents/index.js.map +1 -7
  376. package/dist/tests/core/utilities/structures/documents/platform/index.js +26 -37
  377. package/dist/tests/core/utilities/structures/documents/platform/index.js.map +1 -7
  378. package/dist/tests/core/utilities/structures/documents/platform/installation.js +34 -44
  379. package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +1 -7
  380. package/dist/tests/core/utilities/structures/generator.js +7 -38
  381. package/dist/tests/core/utilities/structures/generator.js.map +1 -7
  382. package/dist/tests/core/utilities/structures/index.js +43 -78
  383. package/dist/tests/core/utilities/structures/index.js.map +1 -7
  384. package/dist/tests/core/utilities/structures/koa.js +7 -39
  385. package/dist/tests/core/utilities/structures/koa.js.map +1 -7
  386. package/dist/tests/core/utilities/structures/licenses.js +121 -156
  387. package/dist/tests/core/utilities/structures/licenses.js.map +1 -7
  388. package/dist/tests/core/utilities/structures/plugins.js +20 -43
  389. package/dist/tests/core/utilities/structures/plugins.js.map +1 -7
  390. package/dist/tests/core/utilities/structures/quotas.js +67 -90
  391. package/dist/tests/core/utilities/structures/quotas.js.map +1 -7
  392. package/dist/tests/core/utilities/structures/scim.js +57 -84
  393. package/dist/tests/core/utilities/structures/scim.js.map +1 -7
  394. package/dist/tests/core/utilities/structures/shared.js +9 -41
  395. package/dist/tests/core/utilities/structures/shared.js.map +1 -7
  396. package/dist/tests/core/utilities/structures/sso.js +112 -124
  397. package/dist/tests/core/utilities/structures/sso.js.map +1 -7
  398. package/dist/tests/core/utilities/structures/tenants.js +6 -29
  399. package/dist/tests/core/utilities/structures/tenants.js.map +1 -7
  400. package/dist/tests/core/utilities/structures/userGroups.js +10 -33
  401. package/dist/tests/core/utilities/structures/userGroups.js.map +1 -7
  402. package/dist/tests/core/utilities/structures/users.js +36 -84
  403. package/dist/tests/core/utilities/structures/users.js.map +1 -7
  404. package/dist/tests/core/utilities/testContainerUtils.js +59 -84
  405. package/dist/tests/core/utilities/testContainerUtils.js.map +1 -7
  406. package/dist/tests/core/utilities/utils/index.js +26 -37
  407. package/dist/tests/core/utilities/utils/index.js.map +1 -7
  408. package/dist/tests/core/utilities/utils/time.js +5 -28
  409. package/dist/tests/core/utilities/utils/time.js.map +1 -7
  410. package/dist/tests/extra/DBTestConfiguration.js +50 -56
  411. package/dist/tests/extra/DBTestConfiguration.js.map +1 -7
  412. package/dist/tests/extra/index.js +30 -39
  413. package/dist/tests/extra/index.js.map +1 -7
  414. package/dist/tests/extra/testEnv.js +105 -84
  415. package/dist/tests/extra/testEnv.js.map +1 -7
  416. package/dist/tests/index.js +16 -21
  417. package/dist/tests/index.js.map +1 -7
  418. package/dist/tests/jestEnv.js +1 -1
  419. package/dist/tests/jestEnv.js.map +1 -7
  420. package/dist/tests/jestSetup.js +20 -33
  421. package/dist/tests/jestSetup.js.map +1 -7
  422. package/package.json +5 -5
  423. package/dist/plugins.js +0 -290
  424. package/dist/plugins.js.map +0 -7
  425. package/dist/plugins.js.meta.json +0 -1
  426. package/dist/src/auth/tests/auth.spec.js +0 -37
  427. package/dist/src/auth/tests/auth.spec.js.map +0 -7
  428. package/dist/src/blacklist/tests/blacklist.spec.js +0 -61
  429. package/dist/src/blacklist/tests/blacklist.spec.js.map +0 -7
  430. package/dist/src/cache/tests/writethrough.spec.js +0 -132
  431. package/dist/src/cache/tests/writethrough.spec.js.map +0 -7
  432. package/dist/src/configs/tests/configs.spec.js +0 -182
  433. package/dist/src/configs/tests/configs.spec.js.map +0 -7
  434. package/dist/src/context/tests/index.spec.js +0 -147
  435. package/dist/src/context/tests/index.spec.js.map +0 -7
  436. package/dist/src/db/tests/index.spec.js +0 -24
  437. package/dist/src/db/tests/index.spec.js.map +0 -7
  438. package/dist/src/db/tests/lucene.spec.js +0 -312
  439. package/dist/src/db/tests/lucene.spec.js.map +0 -7
  440. package/dist/src/db/tests/pouch.spec.js +0 -63
  441. package/dist/src/db/tests/pouch.spec.js.map +0 -7
  442. package/dist/src/db/tests/utils.spec.js +0 -50
  443. package/dist/src/db/tests/utils.spec.js.map +0 -7
  444. package/dist/src/events/processors/posthog/tests/PosthogProcessor.spec.js +0 -154
  445. package/dist/src/events/processors/posthog/tests/PosthogProcessor.spec.js.map +0 -7
  446. package/dist/src/features/tests/featureFlags.spec.js +0 -86
  447. package/dist/src/features/tests/featureFlags.spec.js.map +0 -7
  448. package/dist/src/logging/tests/system.spec.js +0 -59
  449. package/dist/src/logging/tests/system.spec.js.map +0 -7
  450. package/dist/src/middleware/passport/sso/tests/google.spec.js +0 -77
  451. package/dist/src/middleware/passport/sso/tests/google.spec.js.map +0 -7
  452. package/dist/src/middleware/passport/sso/tests/oidc.spec.js +0 -143
  453. package/dist/src/middleware/passport/sso/tests/oidc.spec.js.map +0 -7
  454. package/dist/src/middleware/passport/sso/tests/sso.spec.js +0 -167
  455. package/dist/src/middleware/passport/sso/tests/sso.spec.js.map +0 -7
  456. package/dist/src/middleware/tests/builder.spec.js +0 -169
  457. package/dist/src/middleware/tests/builder.spec.js.map +0 -7
  458. package/dist/src/middleware/tests/matchers.spec.js +0 -120
  459. package/dist/src/middleware/tests/matchers.spec.js.map +0 -7
  460. package/dist/src/migrations/tests/migrations.spec.js +0 -78
  461. package/dist/src/migrations/tests/migrations.spec.js.map +0 -7
  462. package/dist/src/objectStore/buckets/tests/app.spec.js +0 -171
  463. package/dist/src/objectStore/buckets/tests/app.spec.js.map +0 -7
  464. package/dist/src/objectStore/buckets/tests/global.spec.js +0 -87
  465. package/dist/src/objectStore/buckets/tests/global.spec.js.map +0 -7
  466. package/dist/src/objectStore/buckets/tests/plugins.spec.js +0 -123
  467. package/dist/src/objectStore/buckets/tests/plugins.spec.js.map +0 -7
  468. package/dist/src/platform/tests/tenants.spec.js +0 -46
  469. package/dist/src/platform/tests/tenants.spec.js.map +0 -7
  470. package/dist/src/plugin/tests/validation.spec.js +0 -97
  471. package/dist/src/plugin/tests/validation.spec.js.map +0 -7
  472. package/dist/src/security/tests/encryption.spec.js +0 -51
  473. package/dist/src/security/tests/encryption.spec.js.map +0 -7
  474. package/dist/src/security/tests/permissions.spec.js +0 -154
  475. package/dist/src/security/tests/permissions.spec.js.map +0 -7
  476. package/dist/src/security/tests/sessions.spec.js +0 -33
  477. package/dist/src/security/tests/sessions.spec.js.map +0 -7
  478. package/dist/src/tenancy/tests/tenancy.spec.js +0 -154
  479. package/dist/src/tenancy/tests/tenancy.spec.js.map +0 -7
  480. package/dist/src/utils/tests/utils.spec.js +0 -165
  481. package/dist/src/utils/tests/utils.spec.js.map +0 -7
@@ -1,223 +1,219 @@
1
1
  "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
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
+ });
11
10
  };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
13
  };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var views_exports = {};
30
- __export(views_exports, {
31
- createApiKeyView: () => createApiKeyView,
32
- createNewUserEmailView: () => createNewUserEmailView,
33
- createPlatformAccountEmailView: () => createPlatformAccountEmailView,
34
- createPlatformUserView: () => createPlatformUserView,
35
- createUserAppView: () => createUserAppView,
36
- createView: () => createView,
37
- queryGlobalView: () => queryGlobalView,
38
- queryGlobalViewRaw: () => queryGlobalViewRaw,
39
- queryPlatformView: () => queryPlatformView,
40
- queryView: () => queryView,
41
- queryViewRaw: () => queryViewRaw
42
- });
43
- module.exports = __toCommonJS(views_exports);
44
- var import_constants = require("../constants");
45
- var import_context = require("../context");
46
- var import__ = require("./");
47
- var import_environment = __toESM(require("../environment"));
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.queryGlobalViewRaw = exports.queryGlobalView = exports.queryPlatformView = exports.createPlatformUserView = exports.createPlatformAccountEmailView = exports.queryView = exports.queryViewRaw = exports.createApiKeyView = exports.createUserAppView = exports.createNewUserEmailView = exports.createView = void 0;
16
+ const constants_1 = require("../constants");
17
+ const context_1 = require("../context");
18
+ const _1 = require("./");
19
+ const environment_1 = __importDefault(require("../environment"));
48
20
  const DESIGN_DB = "_design/database";
49
21
  function DesignDoc() {
50
- return {
51
- _id: DESIGN_DB,
52
- // view collation information, read before writing any complex views:
53
- // https://docs.couchdb.org/en/master/ddocs/views/collation.html#collation-specification
54
- views: {}
55
- };
22
+ return {
23
+ _id: DESIGN_DB,
24
+ // view collation information, read before writing any complex views:
25
+ // https://docs.couchdb.org/en/master/ddocs/views/collation.html#collation-specification
26
+ views: {},
27
+ };
56
28
  }
57
- async function removeDeprecated(db, viewName) {
58
- if (!import_constants.DeprecatedViews[viewName]) {
59
- return;
60
- }
61
- try {
62
- const designDoc = await db.get(DESIGN_DB);
63
- for (let deprecatedNames of import_constants.DeprecatedViews[viewName]) {
64
- delete designDoc.views[deprecatedNames];
65
- }
66
- await db.put(designDoc);
67
- } catch (err) {
68
- }
29
+ function removeDeprecated(db, viewName) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ // @ts-ignore
32
+ if (!constants_1.DeprecatedViews[viewName]) {
33
+ return;
34
+ }
35
+ try {
36
+ const designDoc = yield db.get(DESIGN_DB);
37
+ // @ts-ignore
38
+ for (let deprecatedNames of constants_1.DeprecatedViews[viewName]) {
39
+ delete designDoc.views[deprecatedNames];
40
+ }
41
+ yield db.put(designDoc);
42
+ }
43
+ catch (err) {
44
+ // doesn't exist, ignore
45
+ }
46
+ });
69
47
  }
70
- async function createView(db, viewJs, viewName) {
71
- let designDoc;
72
- try {
73
- designDoc = await db.get(DESIGN_DB);
74
- } catch (err) {
75
- designDoc = DesignDoc();
76
- }
77
- const view = {
78
- map: viewJs
79
- };
80
- designDoc.views = {
81
- ...designDoc.views,
82
- [viewName]: view
83
- };
84
- try {
85
- await db.put(designDoc);
86
- } catch (err) {
87
- if (err.status === 409) {
88
- return await createView(db, viewJs, viewName);
89
- } else {
90
- throw err;
91
- }
92
- }
48
+ function createView(db, viewJs, viewName) {
49
+ return __awaiter(this, void 0, void 0, function* () {
50
+ let designDoc;
51
+ try {
52
+ designDoc = (yield db.get(DESIGN_DB));
53
+ }
54
+ catch (err) {
55
+ // no design doc, make one
56
+ designDoc = DesignDoc();
57
+ }
58
+ const view = {
59
+ map: viewJs,
60
+ };
61
+ designDoc.views = Object.assign(Object.assign({}, designDoc.views), { [viewName]: view });
62
+ try {
63
+ yield db.put(designDoc);
64
+ }
65
+ catch (err) {
66
+ if (err.status === 409) {
67
+ return yield createView(db, viewJs, viewName);
68
+ }
69
+ else {
70
+ throw err;
71
+ }
72
+ }
73
+ });
93
74
  }
94
- const createNewUserEmailView = async () => {
95
- const db = (0, import_context.getGlobalDB)();
96
- const viewJs = `function(doc) {
97
- if (doc._id.startsWith("${import_constants.DocumentType.USER}${import_constants.SEPARATOR}")) {
75
+ exports.createView = createView;
76
+ const createNewUserEmailView = () => __awaiter(void 0, void 0, void 0, function* () {
77
+ const db = (0, context_1.getGlobalDB)();
78
+ const viewJs = `function(doc) {
79
+ if (doc._id.startsWith("${constants_1.DocumentType.USER}${constants_1.SEPARATOR}")) {
98
80
  emit(doc.email.toLowerCase(), doc._id)
99
81
  }
100
82
  }`;
101
- await createView(db, viewJs, import_constants.ViewName.USER_BY_EMAIL);
102
- };
103
- const createUserAppView = async () => {
104
- const db = (0, import_context.getGlobalDB)();
105
- const viewJs = `function(doc) {
106
- if (doc._id.startsWith("${import_constants.DocumentType.USER}${import_constants.SEPARATOR}") && doc.roles) {
83
+ yield createView(db, viewJs, constants_1.ViewName.USER_BY_EMAIL);
84
+ });
85
+ exports.createNewUserEmailView = createNewUserEmailView;
86
+ const createUserAppView = () => __awaiter(void 0, void 0, void 0, function* () {
87
+ const db = (0, context_1.getGlobalDB)();
88
+ const viewJs = `function(doc) {
89
+ if (doc._id.startsWith("${constants_1.DocumentType.USER}${constants_1.SEPARATOR}") && doc.roles) {
107
90
  for (let prodAppId of Object.keys(doc.roles)) {
108
- let emitted = prodAppId + "${import_constants.SEPARATOR}" + doc._id
91
+ let emitted = prodAppId + "${constants_1.SEPARATOR}" + doc._id
109
92
  emit(emitted, null)
110
93
  }
111
94
  }
112
95
  }`;
113
- await createView(db, viewJs, import_constants.ViewName.USER_BY_APP);
114
- };
115
- const createApiKeyView = async () => {
116
- const db = (0, import_context.getGlobalDB)();
117
- const viewJs = `function(doc) {
118
- if (doc._id.startsWith("${import_constants.DocumentType.DEV_INFO}") && doc.apiKey) {
96
+ yield createView(db, viewJs, constants_1.ViewName.USER_BY_APP);
97
+ });
98
+ exports.createUserAppView = createUserAppView;
99
+ const createApiKeyView = () => __awaiter(void 0, void 0, void 0, function* () {
100
+ const db = (0, context_1.getGlobalDB)();
101
+ const viewJs = `function(doc) {
102
+ if (doc._id.startsWith("${constants_1.DocumentType.DEV_INFO}") && doc.apiKey) {
119
103
  emit(doc.apiKey, doc.userId)
120
104
  }
121
105
  }`;
122
- await createView(db, viewJs, import_constants.ViewName.BY_API_KEY);
123
- };
124
- async function queryViewRaw(viewName, params, db, createFunc, opts) {
125
- try {
126
- const response = await db.query(`database/${viewName}`, params);
127
- return response;
128
- } catch (err) {
129
- const pouchNotFound = err && err.name === "not_found";
130
- const couchNotFound = err && err.status === 404;
131
- if (pouchNotFound || couchNotFound) {
132
- await removeDeprecated(db, viewName);
133
- await createFunc();
134
- return queryViewRaw(viewName, params, db, createFunc, opts);
135
- } else if (err.status === 409) {
136
- return queryViewRaw(viewName, params, db, createFunc, opts);
137
- } else {
138
- throw err;
139
- }
140
- }
141
- }
142
- const queryView = async (viewName, params, db, createFunc, opts) => {
143
- const response = await queryViewRaw(viewName, params, db, createFunc, opts);
144
- const rows = response.rows;
145
- const docs = rows.map(
146
- (row) => params.include_docs ? row.doc : row.value
147
- );
148
- if (opts?.arrayResponse) {
149
- return docs;
150
- } else {
151
- return docs.length <= 1 ? docs[0] : docs;
152
- }
153
- };
154
- async function createPlatformView(viewJs, viewName) {
155
- try {
156
- await (0, import__.doWithDB)(import_constants.StaticDatabases.PLATFORM_INFO.name, async (db) => {
157
- await createView(db, viewJs, viewName);
106
+ yield createView(db, viewJs, constants_1.ViewName.BY_API_KEY);
107
+ });
108
+ exports.createApiKeyView = createApiKeyView;
109
+ function queryViewRaw(viewName, params, db, createFunc, opts) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ try {
112
+ const response = yield db.query(`database/${viewName}`, params);
113
+ // await to catch error
114
+ return response;
115
+ }
116
+ catch (err) {
117
+ const pouchNotFound = err && err.name === "not_found";
118
+ const couchNotFound = err && err.status === 404;
119
+ if (pouchNotFound || couchNotFound) {
120
+ yield removeDeprecated(db, viewName);
121
+ yield createFunc();
122
+ return queryViewRaw(viewName, params, db, createFunc, opts);
123
+ }
124
+ else if (err.status === 409) {
125
+ // can happen when multiple queries occur at once, view couldn't be created
126
+ // other design docs being updated, re-run
127
+ return queryViewRaw(viewName, params, db, createFunc, opts);
128
+ }
129
+ else {
130
+ throw err;
131
+ }
132
+ }
158
133
  });
159
- } catch (e) {
160
- if (e.status === 409 && import_environment.default.isTest()) {
161
- return;
134
+ }
135
+ exports.queryViewRaw = queryViewRaw;
136
+ const queryView = (viewName, params, db, createFunc, opts) => __awaiter(void 0, void 0, void 0, function* () {
137
+ const response = yield queryViewRaw(viewName, params, db, createFunc, opts);
138
+ const rows = response.rows;
139
+ const docs = rows.map((row) => params.include_docs ? row.doc : row.value);
140
+ // if arrayResponse has been requested, always return array regardless of length
141
+ if (opts === null || opts === void 0 ? void 0 : opts.arrayResponse) {
142
+ return docs;
143
+ }
144
+ else {
145
+ // return the single document if there is only one
146
+ return docs.length <= 1 ? docs[0] : docs;
162
147
  }
163
- throw e;
164
- }
148
+ });
149
+ exports.queryView = queryView;
150
+ // PLATFORM
151
+ function createPlatformView(viewJs, viewName) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ try {
154
+ yield (0, _1.doWithDB)(constants_1.StaticDatabases.PLATFORM_INFO.name, (db) => __awaiter(this, void 0, void 0, function* () {
155
+ yield createView(db, viewJs, viewName);
156
+ }));
157
+ }
158
+ catch (e) {
159
+ if (e.status === 409 && environment_1.default.isTest()) {
160
+ // multiple tests can try to initialise platforms views
161
+ // at once - safe to exit on conflict
162
+ return;
163
+ }
164
+ throw e;
165
+ }
166
+ });
165
167
  }
166
- const createPlatformAccountEmailView = async () => {
167
- const viewJs = `function(doc) {
168
- if (doc._id.startsWith("${import_constants.DocumentType.ACCOUNT_METADATA}${import_constants.SEPARATOR}")) {
168
+ const createPlatformAccountEmailView = () => __awaiter(void 0, void 0, void 0, function* () {
169
+ const viewJs = `function(doc) {
170
+ if (doc._id.startsWith("${constants_1.DocumentType.ACCOUNT_METADATA}${constants_1.SEPARATOR}")) {
169
171
  emit(doc.email.toLowerCase(), doc._id)
170
172
  }
171
173
  }`;
172
- await createPlatformView(viewJs, import_constants.ViewName.ACCOUNT_BY_EMAIL);
173
- };
174
- const createPlatformUserView = async () => {
175
- const viewJs = `function(doc) {
174
+ yield createPlatformView(viewJs, constants_1.ViewName.ACCOUNT_BY_EMAIL);
175
+ });
176
+ exports.createPlatformAccountEmailView = createPlatformAccountEmailView;
177
+ const createPlatformUserView = () => __awaiter(void 0, void 0, void 0, function* () {
178
+ const viewJs = `function(doc) {
176
179
  if (doc.tenantId) {
177
180
  emit(doc._id.toLowerCase(), doc._id)
178
181
  }
179
182
  }`;
180
- await createPlatformView(viewJs, import_constants.ViewName.PLATFORM_USERS_LOWERCASE);
181
- };
182
- const queryPlatformView = async (viewName, params, opts) => {
183
- const CreateFuncByName2 = {
184
- [import_constants.ViewName.ACCOUNT_BY_EMAIL]: createPlatformAccountEmailView,
185
- [import_constants.ViewName.PLATFORM_USERS_LOWERCASE]: createPlatformUserView
186
- };
187
- return (0, import__.doWithDB)(import_constants.StaticDatabases.PLATFORM_INFO.name, async (db) => {
188
- const createFn = CreateFuncByName2[viewName];
189
- return queryView(viewName, params, db, createFn, opts);
190
- });
191
- };
183
+ yield createPlatformView(viewJs, constants_1.ViewName.PLATFORM_USERS_LOWERCASE);
184
+ });
185
+ exports.createPlatformUserView = createPlatformUserView;
186
+ const queryPlatformView = (viewName, params, opts) => __awaiter(void 0, void 0, void 0, function* () {
187
+ const CreateFuncByName = {
188
+ [constants_1.ViewName.ACCOUNT_BY_EMAIL]: exports.createPlatformAccountEmailView,
189
+ [constants_1.ViewName.PLATFORM_USERS_LOWERCASE]: exports.createPlatformUserView,
190
+ };
191
+ return (0, _1.doWithDB)(constants_1.StaticDatabases.PLATFORM_INFO.name, (db) => __awaiter(void 0, void 0, void 0, function* () {
192
+ const createFn = CreateFuncByName[viewName];
193
+ return (0, exports.queryView)(viewName, params, db, createFn, opts);
194
+ }));
195
+ });
196
+ exports.queryPlatformView = queryPlatformView;
192
197
  const CreateFuncByName = {
193
- [import_constants.ViewName.USER_BY_EMAIL]: createNewUserEmailView,
194
- [import_constants.ViewName.BY_API_KEY]: createApiKeyView,
195
- [import_constants.ViewName.USER_BY_APP]: createUserAppView
198
+ [constants_1.ViewName.USER_BY_EMAIL]: exports.createNewUserEmailView,
199
+ [constants_1.ViewName.BY_API_KEY]: exports.createApiKeyView,
200
+ [constants_1.ViewName.USER_BY_APP]: exports.createUserAppView,
196
201
  };
197
- const queryGlobalView = async (viewName, params, db, opts) => {
198
- if (!db) {
199
- db = (0, import_context.getGlobalDB)();
200
- }
201
- const createFn = CreateFuncByName[viewName];
202
- return queryView(viewName, params, db, createFn, opts);
203
- };
204
- async function queryGlobalViewRaw(viewName, params, opts) {
205
- const db = (0, import_context.getGlobalDB)();
206
- const createFn = CreateFuncByName[viewName];
207
- return queryViewRaw(viewName, params, db, createFn, opts);
208
- }
209
- // Annotate the CommonJS export names for ESM import in node:
210
- 0 && (module.exports = {
211
- createApiKeyView,
212
- createNewUserEmailView,
213
- createPlatformAccountEmailView,
214
- createPlatformUserView,
215
- createUserAppView,
216
- createView,
217
- queryGlobalView,
218
- queryGlobalViewRaw,
219
- queryPlatformView,
220
- queryView,
221
- queryViewRaw
202
+ const queryGlobalView = (viewName, params, db, opts) => __awaiter(void 0, void 0, void 0, function* () {
203
+ // can pass DB in if working with something specific
204
+ if (!db) {
205
+ db = (0, context_1.getGlobalDB)();
206
+ }
207
+ const createFn = CreateFuncByName[viewName];
208
+ return (0, exports.queryView)(viewName, params, db, createFn, opts);
222
209
  });
223
- //# sourceMappingURL=views.js.map
210
+ exports.queryGlobalView = queryGlobalView;
211
+ function queryGlobalViewRaw(viewName, params, opts) {
212
+ return __awaiter(this, void 0, void 0, function* () {
213
+ const db = (0, context_1.getGlobalDB)();
214
+ const createFn = CreateFuncByName[viewName];
215
+ return queryViewRaw(viewName, params, db, createFn, opts);
216
+ });
217
+ }
218
+ exports.queryGlobalViewRaw = queryGlobalViewRaw;
219
+ //# sourceMappingURL=views.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/db/views.ts"],
4
- "sourcesContent": ["import {\n DeprecatedViews,\n DocumentType,\n SEPARATOR,\n StaticDatabases,\n ViewName,\n} from \"../constants\"\nimport { getGlobalDB } from \"../context\"\nimport { doWithDB } from \"./\"\nimport { AllDocsResponse, Database, DatabaseQueryOpts } from \"@budibase/types\"\nimport env from \"../environment\"\n\nconst DESIGN_DB = \"_design/database\"\n\nfunction DesignDoc() {\n return {\n _id: DESIGN_DB,\n // view collation information, read before writing any complex views:\n // https://docs.couchdb.org/en/master/ddocs/views/collation.html#collation-specification\n views: {},\n }\n}\n\ninterface DesignDocument {\n views: any\n}\n\nasync function removeDeprecated(db: Database, viewName: ViewName) {\n // @ts-ignore\n if (!DeprecatedViews[viewName]) {\n return\n }\n try {\n const designDoc = await db.get<DesignDocument>(DESIGN_DB)\n // @ts-ignore\n for (let deprecatedNames of DeprecatedViews[viewName]) {\n delete designDoc.views[deprecatedNames]\n }\n await db.put(designDoc)\n } catch (err) {\n // doesn't exist, ignore\n }\n}\n\nexport async function createView(\n db: any,\n viewJs: string,\n viewName: string\n): Promise<void> {\n let designDoc\n try {\n designDoc = (await db.get(DESIGN_DB)) as DesignDocument\n } catch (err) {\n // no design doc, make one\n designDoc = DesignDoc()\n }\n const view = {\n map: viewJs,\n }\n designDoc.views = {\n ...designDoc.views,\n [viewName]: view,\n }\n try {\n await db.put(designDoc)\n } catch (err: any) {\n if (err.status === 409) {\n return await createView(db, viewJs, viewName)\n } else {\n throw err\n }\n }\n}\n\nexport const createNewUserEmailView = async () => {\n const db = getGlobalDB()\n const viewJs = `function(doc) {\n if (doc._id.startsWith(\"${DocumentType.USER}${SEPARATOR}\")) {\n emit(doc.email.toLowerCase(), doc._id)\n }\n }`\n await createView(db, viewJs, ViewName.USER_BY_EMAIL)\n}\n\nexport const createUserAppView = async () => {\n const db = getGlobalDB()\n const viewJs = `function(doc) {\n if (doc._id.startsWith(\"${DocumentType.USER}${SEPARATOR}\") && doc.roles) {\n for (let prodAppId of Object.keys(doc.roles)) {\n let emitted = prodAppId + \"${SEPARATOR}\" + doc._id\n emit(emitted, null)\n }\n }\n }`\n await createView(db, viewJs, ViewName.USER_BY_APP)\n}\n\nexport const createApiKeyView = async () => {\n const db = getGlobalDB()\n const viewJs = `function(doc) {\n if (doc._id.startsWith(\"${DocumentType.DEV_INFO}\") && doc.apiKey) {\n emit(doc.apiKey, doc.userId)\n }\n }`\n await createView(db, viewJs, ViewName.BY_API_KEY)\n}\n\nexport interface QueryViewOptions {\n arrayResponse?: boolean\n}\n\nexport async function queryViewRaw<T>(\n viewName: ViewName,\n params: DatabaseQueryOpts,\n db: Database,\n createFunc: any,\n opts?: QueryViewOptions\n): Promise<AllDocsResponse<T>> {\n try {\n const response = await db.query<T>(`database/${viewName}`, params)\n // await to catch error\n return response\n } catch (err: any) {\n const pouchNotFound = err && err.name === \"not_found\"\n const couchNotFound = err && err.status === 404\n if (pouchNotFound || couchNotFound) {\n await removeDeprecated(db, viewName)\n await createFunc()\n return queryViewRaw(viewName, params, db, createFunc, opts)\n } else if (err.status === 409) {\n // can happen when multiple queries occur at once, view couldn't be created\n // other design docs being updated, re-run\n return queryViewRaw(viewName, params, db, createFunc, opts)\n } else {\n throw err\n }\n }\n}\n\nexport const queryView = async <T>(\n viewName: ViewName,\n params: DatabaseQueryOpts,\n db: Database,\n createFunc: any,\n opts?: QueryViewOptions\n): Promise<T[] | T | undefined> => {\n const response = await queryViewRaw<T>(viewName, params, db, createFunc, opts)\n const rows = response.rows\n const docs = rows.map((row: any) =>\n params.include_docs ? row.doc : row.value\n )\n\n // if arrayResponse has been requested, always return array regardless of length\n if (opts?.arrayResponse) {\n return docs as T[]\n } else {\n // return the single document if there is only one\n return docs.length <= 1 ? (docs[0] as T) : (docs as T[])\n }\n}\n\n// PLATFORM\n\nasync function createPlatformView(viewJs: string, viewName: ViewName) {\n try {\n await doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: Database) => {\n await createView(db, viewJs, viewName)\n })\n } catch (e: any) {\n if (e.status === 409 && env.isTest()) {\n // multiple tests can try to initialise platforms views\n // at once - safe to exit on conflict\n return\n }\n throw e\n }\n}\n\nexport const createPlatformAccountEmailView = async () => {\n const viewJs = `function(doc) {\n if (doc._id.startsWith(\"${DocumentType.ACCOUNT_METADATA}${SEPARATOR}\")) {\n emit(doc.email.toLowerCase(), doc._id)\n }\n }`\n await createPlatformView(viewJs, ViewName.ACCOUNT_BY_EMAIL)\n}\n\nexport const createPlatformUserView = async () => {\n const viewJs = `function(doc) {\n if (doc.tenantId) {\n emit(doc._id.toLowerCase(), doc._id)\n }\n }`\n await createPlatformView(viewJs, ViewName.PLATFORM_USERS_LOWERCASE)\n}\n\nexport const queryPlatformView = async <T>(\n viewName: ViewName,\n params: DatabaseQueryOpts,\n opts?: QueryViewOptions\n): Promise<T[] | T | undefined> => {\n const CreateFuncByName: any = {\n [ViewName.ACCOUNT_BY_EMAIL]: createPlatformAccountEmailView,\n [ViewName.PLATFORM_USERS_LOWERCASE]: createPlatformUserView,\n }\n\n return doWithDB(StaticDatabases.PLATFORM_INFO.name, async (db: Database) => {\n const createFn = CreateFuncByName[viewName]\n return queryView(viewName, params, db, createFn, opts)\n })\n}\n\nconst CreateFuncByName: any = {\n [ViewName.USER_BY_EMAIL]: createNewUserEmailView,\n [ViewName.BY_API_KEY]: createApiKeyView,\n [ViewName.USER_BY_APP]: createUserAppView,\n}\n\nexport const queryGlobalView = async <T>(\n viewName: ViewName,\n params: DatabaseQueryOpts,\n db?: Database,\n opts?: QueryViewOptions\n): Promise<T[] | T | undefined> => {\n // can pass DB in if working with something specific\n if (!db) {\n db = getGlobalDB()\n }\n const createFn = CreateFuncByName[viewName]\n return queryView(viewName, params, db!, createFn, opts)\n}\n\nexport async function queryGlobalViewRaw<T>(\n viewName: ViewName,\n params: DatabaseQueryOpts,\n opts?: QueryViewOptions\n) {\n const db = getGlobalDB()\n const createFn = CreateFuncByName[viewName]\n return queryViewRaw<T>(viewName, params, db, createFn, opts)\n}\n"],
5
- "mappings": "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",
6
- "names": ["env", "CreateFuncByName"]
7
- }
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/db/views.ts"],"names":[],"mappings":"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"}
@@ -1,83 +1,62 @@
1
1
  "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var conversions_exports = {};
20
- __export(conversions_exports, {
21
- extractAppUUID: () => extractAppUUID,
22
- getDevAppID: () => getDevAppID,
23
- getDevelopmentAppID: () => getDevelopmentAppID,
24
- getProdAppID: () => getProdAppID,
25
- isDevApp: () => isDevApp,
26
- isDevAppID: () => isDevAppID,
27
- isProdAppID: () => isProdAppID
28
- });
29
- module.exports = __toCommonJS(conversions_exports);
30
- var import_constants = require("../constants");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.extractAppUUID = exports.getProdAppID = exports.getDevAppID = exports.getDevelopmentAppID = exports.isDevApp = exports.isProdAppID = exports.isDevAppID = void 0;
4
+ const constants_1 = require("../constants");
31
5
  const NO_APP_ERROR = "No app provided";
32
6
  function isDevAppID(appId) {
33
- if (!appId) {
34
- throw NO_APP_ERROR;
35
- }
36
- return appId.startsWith(import_constants.APP_DEV_PREFIX);
7
+ if (!appId) {
8
+ throw NO_APP_ERROR;
9
+ }
10
+ return appId.startsWith(constants_1.APP_DEV_PREFIX);
37
11
  }
12
+ exports.isDevAppID = isDevAppID;
38
13
  function isProdAppID(appId) {
39
- if (!appId) {
40
- throw NO_APP_ERROR;
41
- }
42
- return appId.startsWith(import_constants.APP_PREFIX) && !isDevAppID(appId);
14
+ if (!appId) {
15
+ throw NO_APP_ERROR;
16
+ }
17
+ return appId.startsWith(constants_1.APP_PREFIX) && !isDevAppID(appId);
43
18
  }
19
+ exports.isProdAppID = isProdAppID;
44
20
  function isDevApp(app) {
45
- if (!app) {
46
- throw NO_APP_ERROR;
47
- }
48
- return isDevAppID(app.appId);
21
+ if (!app) {
22
+ throw NO_APP_ERROR;
23
+ }
24
+ return isDevAppID(app.appId);
49
25
  }
26
+ exports.isDevApp = isDevApp;
27
+ /**
28
+ * Generates a development app ID from a real app ID.
29
+ * @returns {string} the dev app ID which can be used for dev database.
30
+ */
50
31
  function getDevelopmentAppID(appId) {
51
- if (!appId || appId.startsWith(import_constants.APP_DEV_PREFIX)) {
52
- return appId;
53
- }
54
- const split = appId.split(import_constants.APP_PREFIX);
55
- split.shift();
56
- const rest = split.join(import_constants.APP_PREFIX);
57
- return `${import_constants.APP_DEV_PREFIX}${rest}`;
32
+ if (!appId || appId.startsWith(constants_1.APP_DEV_PREFIX)) {
33
+ return appId;
34
+ }
35
+ // split to take off the app_ element, then join it together incase any other app_ exist
36
+ const split = appId.split(constants_1.APP_PREFIX);
37
+ split.shift();
38
+ const rest = split.join(constants_1.APP_PREFIX);
39
+ return `${constants_1.APP_DEV_PREFIX}${rest}`;
58
40
  }
59
- const getDevAppID = getDevelopmentAppID;
41
+ exports.getDevelopmentAppID = getDevelopmentAppID;
42
+ exports.getDevAppID = getDevelopmentAppID;
43
+ /**
44
+ * Convert a development app ID to a deployed app ID.
45
+ */
60
46
  function getProdAppID(appId) {
61
- if (!appId || !appId.startsWith(import_constants.APP_DEV_PREFIX)) {
62
- return appId;
63
- }
64
- const split = appId.split(import_constants.APP_DEV_PREFIX);
65
- split.shift();
66
- const rest = split.join(import_constants.APP_DEV_PREFIX);
67
- return `${import_constants.APP_PREFIX}${rest}`;
47
+ if (!appId || !appId.startsWith(constants_1.APP_DEV_PREFIX)) {
48
+ return appId;
49
+ }
50
+ // split to take off the app_dev element, then join it together incase any other app_ exist
51
+ const split = appId.split(constants_1.APP_DEV_PREFIX);
52
+ split.shift();
53
+ const rest = split.join(constants_1.APP_DEV_PREFIX);
54
+ return `${constants_1.APP_PREFIX}${rest}`;
68
55
  }
56
+ exports.getProdAppID = getProdAppID;
69
57
  function extractAppUUID(id) {
70
- const split = id?.split("_") || [];
71
- return split.length ? split[split.length - 1] : null;
58
+ const split = (id === null || id === void 0 ? void 0 : id.split("_")) || [];
59
+ return split.length ? split[split.length - 1] : null;
72
60
  }
73
- // Annotate the CommonJS export names for ESM import in node:
74
- 0 && (module.exports = {
75
- extractAppUUID,
76
- getDevAppID,
77
- getDevelopmentAppID,
78
- getProdAppID,
79
- isDevApp,
80
- isDevAppID,
81
- isProdAppID
82
- });
83
- //# sourceMappingURL=conversions.js.map
61
+ exports.extractAppUUID = extractAppUUID;
62
+ //# sourceMappingURL=conversions.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/docIds/conversions.ts"],
4
- "sourcesContent": ["import { APP_DEV_PREFIX, APP_PREFIX } from \"../constants\"\nimport { App } from \"@budibase/types\"\nconst NO_APP_ERROR = \"No app provided\"\n\nexport function isDevAppID(appId?: string) {\n if (!appId) {\n throw NO_APP_ERROR\n }\n return appId.startsWith(APP_DEV_PREFIX)\n}\n\nexport function isProdAppID(appId?: string) {\n if (!appId) {\n throw NO_APP_ERROR\n }\n return appId.startsWith(APP_PREFIX) && !isDevAppID(appId)\n}\n\nexport function isDevApp(app: App) {\n if (!app) {\n throw NO_APP_ERROR\n }\n return isDevAppID(app.appId)\n}\n\n/**\n * Generates a development app ID from a real app ID.\n * @returns {string} the dev app ID which can be used for dev database.\n */\nexport function getDevelopmentAppID(appId: string) {\n if (!appId || appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_ element, then join it together incase any other app_ exist\n const split = appId.split(APP_PREFIX)\n split.shift()\n const rest = split.join(APP_PREFIX)\n return `${APP_DEV_PREFIX}${rest}`\n}\nexport const getDevAppID = getDevelopmentAppID\n\n/**\n * Convert a development app ID to a deployed app ID.\n */\nexport function getProdAppID(appId: string) {\n if (!appId || !appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_dev element, then join it together incase any other app_ exist\n const split = appId.split(APP_DEV_PREFIX)\n split.shift()\n const rest = split.join(APP_DEV_PREFIX)\n return `${APP_PREFIX}${rest}`\n}\n\nexport function extractAppUUID(id: string) {\n const split = id?.split(\"_\") || []\n return split.length ? split[split.length - 1] : null\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA2C;AAE3C,MAAM,eAAe;AAEd,SAAS,WAAW,OAAgB;AACzC,MAAI,CAAC,OAAO;AACV,UAAM;AAAA,EACR;AACA,SAAO,MAAM,WAAW,+BAAc;AACxC;AAEO,SAAS,YAAY,OAAgB;AAC1C,MAAI,CAAC,OAAO;AACV,UAAM;AAAA,EACR;AACA,SAAO,MAAM,WAAW,2BAAU,KAAK,CAAC,WAAW,KAAK;AAC1D;AAEO,SAAS,SAAS,KAAU;AACjC,MAAI,CAAC,KAAK;AACR,UAAM;AAAA,EACR;AACA,SAAO,WAAW,IAAI,KAAK;AAC7B;AAMO,SAAS,oBAAoB,OAAe;AACjD,MAAI,CAAC,SAAS,MAAM,WAAW,+BAAc,GAAG;AAC9C,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,MAAM,MAAM,2BAAU;AACpC,QAAM,MAAM;AACZ,QAAM,OAAO,MAAM,KAAK,2BAAU;AAClC,SAAO,GAAG,+BAAc,GAAG,IAAI;AACjC;AACO,MAAM,cAAc;AAKpB,SAAS,aAAa,OAAe;AAC1C,MAAI,CAAC,SAAS,CAAC,MAAM,WAAW,+BAAc,GAAG;AAC/C,WAAO;AAAA,EACT;AAEA,QAAM,QAAQ,MAAM,MAAM,+BAAc;AACxC,QAAM,MAAM;AACZ,QAAM,OAAO,MAAM,KAAK,+BAAc;AACtC,SAAO,GAAG,2BAAU,GAAG,IAAI;AAC7B;AAEO,SAAS,eAAe,IAAY;AACzC,QAAM,QAAQ,IAAI,MAAM,GAAG,KAAK,CAAC;AACjC,SAAO,MAAM,SAAS,MAAM,MAAM,SAAS,CAAC,IAAI;AAClD;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"conversions.js","sourceRoot":"","sources":["../../../src/docIds/conversions.ts"],"names":[],"mappings":";;;AAAA,4CAAyD;AAEzD,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAEtC,SAAgB,UAAU,CAAC,KAAc;IACvC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,YAAY,CAAA;KACnB;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,0BAAc,CAAC,CAAA;AACzC,CAAC;AALD,gCAKC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,YAAY,CAAA;KACnB;IACD,OAAO,KAAK,CAAC,UAAU,CAAC,sBAAU,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;AAC3D,CAAC;AALD,kCAKC;AAED,SAAgB,QAAQ,CAAC,GAAQ;IAC/B,IAAI,CAAC,GAAG,EAAE;QACR,MAAM,YAAY,CAAA;KACnB;IACD,OAAO,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AALD,4BAKC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,0BAAc,CAAC,EAAE;QAC9C,OAAO,KAAK,CAAA;KACb;IACD,wFAAwF;IACxF,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,sBAAU,CAAC,CAAA;IACrC,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,sBAAU,CAAC,CAAA;IACnC,OAAO,GAAG,0BAAc,GAAG,IAAI,EAAE,CAAA;AACnC,CAAC;AATD,kDASC;AACY,QAAA,WAAW,GAAG,mBAAmB,CAAA;AAE9C;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,0BAAc,CAAC,EAAE;QAC/C,OAAO,KAAK,CAAA;KACb;IACD,2FAA2F;IAC3F,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,0BAAc,CAAC,CAAA;IACzC,KAAK,CAAC,KAAK,EAAE,CAAA;IACb,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,0BAAc,CAAC,CAAA;IACvC,OAAO,GAAG,sBAAU,GAAG,IAAI,EAAE,CAAA;AAC/B,CAAC;AATD,oCASC;AAED,SAAgB,cAAc,CAAC,EAAU;IACvC,MAAM,KAAK,GAAG,CAAA,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,KAAK,CAAC,GAAG,CAAC,KAAI,EAAE,CAAA;IAClC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACtD,CAAC;AAHD,wCAGC"}