@budibase/backend-core 2.9.16 → 2.9.17

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 (435) hide show
  1. package/dist/index.js +12544 -0
  2. package/dist/index.js.map +7 -0
  3. package/dist/index.js.meta.json +1 -0
  4. package/dist/package.json +5 -5
  5. package/dist/plugins.js +288 -16
  6. package/dist/plugins.js.map +7 -1
  7. package/dist/plugins.js.meta.json +1 -0
  8. package/dist/tests.js +8476 -0
  9. package/dist/tests.js.map +7 -0
  10. package/dist/tests.js.meta.json +1 -0
  11. package/dist/tsconfig.build.tsbuildinfo +1 -1
  12. package/package.json +5 -5
  13. package/scripts/build.js +6 -0
  14. package/tsconfig.build.json +5 -1
  15. package/tsconfig.json +0 -8
  16. package/dist/jest.config.js +0 -25
  17. package/dist/jest.config.js.map +0 -1
  18. package/dist/plugins.d.ts +0 -1
  19. package/dist/src/accounts/accounts.js +0 -83
  20. package/dist/src/accounts/accounts.js.map +0 -1
  21. package/dist/src/accounts/api.js +0 -92
  22. package/dist/src/accounts/api.js.map +0 -1
  23. package/dist/src/accounts/index.js +0 -18
  24. package/dist/src/accounts/index.js.map +0 -1
  25. package/dist/src/auth/auth.js +0 -189
  26. package/dist/src/auth/auth.js.map +0 -1
  27. package/dist/src/auth/index.js +0 -18
  28. package/dist/src/auth/index.js.map +0 -1
  29. package/dist/src/blacklist/blacklist.js +0 -76
  30. package/dist/src/blacklist/blacklist.js.map +0 -1
  31. package/dist/src/blacklist/index.js +0 -18
  32. package/dist/src/blacklist/index.js.map +0 -1
  33. package/dist/src/cache/appMetadata.js +0 -96
  34. package/dist/src/cache/appMetadata.js.map +0 -1
  35. package/dist/src/cache/base/index.js +0 -120
  36. package/dist/src/cache/base/index.js.map +0 -1
  37. package/dist/src/cache/generic.js +0 -31
  38. package/dist/src/cache/generic.js.map +0 -1
  39. package/dist/src/cache/index.js +0 -35
  40. package/dist/src/cache/index.js.map +0 -1
  41. package/dist/src/cache/user.js +0 -108
  42. package/dist/src/cache/user.js.map +0 -1
  43. package/dist/src/cache/writethrough.js +0 -159
  44. package/dist/src/cache/writethrough.js.map +0 -1
  45. package/dist/src/configs/configs.js +0 -278
  46. package/dist/src/configs/configs.js.map +0 -1
  47. package/dist/src/configs/index.js +0 -18
  48. package/dist/src/configs/index.js.map +0 -1
  49. package/dist/src/constants/db.js +0 -67
  50. package/dist/src/constants/db.js.map +0 -1
  51. package/dist/src/constants/index.js +0 -19
  52. package/dist/src/constants/index.js.map +0 -1
  53. package/dist/src/constants/misc.js +0 -54
  54. package/dist/src/constants/misc.js.map +0 -1
  55. package/dist/src/context/Context.js +0 -14
  56. package/dist/src/context/Context.js.map +0 -1
  57. package/dist/src/context/identity.js +0 -72
  58. package/dist/src/context/identity.js.map +0 -1
  59. package/dist/src/context/index.js +0 -34
  60. package/dist/src/context/index.js.map +0 -1
  61. package/dist/src/context/mainContext.js +0 -331
  62. package/dist/src/context/mainContext.js.map +0 -1
  63. package/dist/src/context/types.js +0 -3
  64. package/dist/src/context/types.js.map +0 -1
  65. package/dist/src/db/Replication.js +0 -85
  66. package/dist/src/db/Replication.js.map +0 -1
  67. package/dist/src/db/constants.js +0 -13
  68. package/dist/src/db/constants.js.map +0 -1
  69. package/dist/src/db/couch/DatabaseImpl.js +0 -248
  70. package/dist/src/db/couch/DatabaseImpl.js.map +0 -1
  71. package/dist/src/db/couch/connections.js +0 -88
  72. package/dist/src/db/couch/connections.js.map +0 -1
  73. package/dist/src/db/couch/index.js +0 -27
  74. package/dist/src/db/couch/index.js.map +0 -1
  75. package/dist/src/db/couch/pouchDB.js +0 -108
  76. package/dist/src/db/couch/pouchDB.js.map +0 -1
  77. package/dist/src/db/couch/pouchDump.js +0 -2
  78. package/dist/src/db/couch/pouchDump.js.map +0 -1
  79. package/dist/src/db/couch/utils.js +0 -55
  80. package/dist/src/db/couch/utils.js.map +0 -1
  81. package/dist/src/db/db.js +0 -59
  82. package/dist/src/db/db.js.map +0 -1
  83. package/dist/src/db/errors.js +0 -22
  84. package/dist/src/db/errors.js.map +0 -1
  85. package/dist/src/db/index.js +0 -48
  86. package/dist/src/db/index.js.map +0 -1
  87. package/dist/src/db/lucene.js +0 -650
  88. package/dist/src/db/lucene.js.map +0 -1
  89. package/dist/src/db/searchIndexes/index.js +0 -18
  90. package/dist/src/db/searchIndexes/index.js.map +0 -1
  91. package/dist/src/db/searchIndexes/searchIndexes.js +0 -77
  92. package/dist/src/db/searchIndexes/searchIndexes.js.map +0 -1
  93. package/dist/src/db/utils.js +0 -213
  94. package/dist/src/db/utils.js.map +0 -1
  95. package/dist/src/db/views.js +0 -219
  96. package/dist/src/db/views.js.map +0 -1
  97. package/dist/src/docIds/conversions.js +0 -62
  98. package/dist/src/docIds/conversions.js.map +0 -1
  99. package/dist/src/docIds/ids.js +0 -112
  100. package/dist/src/docIds/ids.js.map +0 -1
  101. package/dist/src/docIds/index.js +0 -19
  102. package/dist/src/docIds/index.js.map +0 -1
  103. package/dist/src/docIds/newid.js +0 -9
  104. package/dist/src/docIds/newid.js.map +0 -1
  105. package/dist/src/docIds/params.js +0 -138
  106. package/dist/src/docIds/params.js.map +0 -1
  107. package/dist/src/docUpdates/index.js +0 -36
  108. package/dist/src/docUpdates/index.js.map +0 -1
  109. package/dist/src/environment.js +0 -110
  110. package/dist/src/environment.js.map +0 -1
  111. package/dist/src/errors/errors.js +0 -97
  112. package/dist/src/errors/errors.js.map +0 -1
  113. package/dist/src/errors/index.js +0 -18
  114. package/dist/src/errors/index.js.map +0 -1
  115. package/dist/src/events/analytics.js +0 -42
  116. package/dist/src/events/analytics.js.map +0 -1
  117. package/dist/src/events/asyncEvents/index.js +0 -19
  118. package/dist/src/events/asyncEvents/index.js.map +0 -1
  119. package/dist/src/events/asyncEvents/publisher.js +0 -27
  120. package/dist/src/events/asyncEvents/publisher.js.map +0 -1
  121. package/dist/src/events/asyncEvents/queue.js +0 -26
  122. package/dist/src/events/asyncEvents/queue.js.map +0 -1
  123. package/dist/src/events/backfill.js +0 -179
  124. package/dist/src/events/backfill.js.map +0 -1
  125. package/dist/src/events/documentId.js +0 -28
  126. package/dist/src/events/documentId.js.map +0 -1
  127. package/dist/src/events/events.js +0 -73
  128. package/dist/src/events/events.js.map +0 -1
  129. package/dist/src/events/identification.js +0 -300
  130. package/dist/src/events/identification.js.map +0 -1
  131. package/dist/src/events/index.js +0 -47
  132. package/dist/src/events/index.js.map +0 -1
  133. package/dist/src/events/processors/AnalyticsProcessor.js +0 -93
  134. package/dist/src/events/processors/AnalyticsProcessor.js.map +0 -1
  135. package/dist/src/events/processors/AuditLogsProcessor.js +0 -86
  136. package/dist/src/events/processors/AuditLogsProcessor.js.map +0 -1
  137. package/dist/src/events/processors/LoggingProcessor.js +0 -47
  138. package/dist/src/events/processors/LoggingProcessor.js.map +0 -1
  139. package/dist/src/events/processors/Processors.js +0 -52
  140. package/dist/src/events/processors/Processors.js.map +0 -1
  141. package/dist/src/events/processors/async/DocumentUpdateProcessor.js +0 -44
  142. package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +0 -1
  143. package/dist/src/events/processors/index.js +0 -23
  144. package/dist/src/events/processors/index.js.map +0 -1
  145. package/dist/src/events/processors/posthog/PosthogProcessor.js +0 -139
  146. package/dist/src/events/processors/posthog/PosthogProcessor.js.map +0 -1
  147. package/dist/src/events/processors/posthog/index.js +0 -8
  148. package/dist/src/events/processors/posthog/index.js.map +0 -1
  149. package/dist/src/events/processors/posthog/rateLimiting.js +0 -119
  150. package/dist/src/events/processors/posthog/rateLimiting.js.map +0 -1
  151. package/dist/src/events/processors/types.js +0 -3
  152. package/dist/src/events/processors/types.js.map +0 -1
  153. package/dist/src/events/publishers/account.js +0 -43
  154. package/dist/src/events/publishers/account.js.map +0 -1
  155. package/dist/src/events/publishers/app.js +0 -153
  156. package/dist/src/events/publishers/app.js.map +0 -1
  157. package/dist/src/events/publishers/auditLog.js +0 -34
  158. package/dist/src/events/publishers/auditLog.js.map +0 -1
  159. package/dist/src/events/publishers/auth.js +0 -80
  160. package/dist/src/events/publishers/auth.js.map +0 -1
  161. package/dist/src/events/publishers/automation.js +0 -117
  162. package/dist/src/events/publishers/automation.js.map +0 -1
  163. package/dist/src/events/publishers/backfill.js +0 -85
  164. package/dist/src/events/publishers/backfill.js.map +0 -1
  165. package/dist/src/events/publishers/backup.js +0 -41
  166. package/dist/src/events/publishers/backup.js.map +0 -1
  167. package/dist/src/events/publishers/datasource.js +0 -54
  168. package/dist/src/events/publishers/datasource.js.map +0 -1
  169. package/dist/src/events/publishers/email.js +0 -30
  170. package/dist/src/events/publishers/email.js.map +0 -1
  171. package/dist/src/events/publishers/environmentVariable.js +0 -44
  172. package/dist/src/events/publishers/environmentVariable.js.map +0 -1
  173. package/dist/src/events/publishers/group.js +0 -107
  174. package/dist/src/events/publishers/group.js.map +0 -1
  175. package/dist/src/events/publishers/index.js +0 -55
  176. package/dist/src/events/publishers/index.js.map +0 -1
  177. package/dist/src/events/publishers/installation.js +0 -52
  178. package/dist/src/events/publishers/installation.js.map +0 -1
  179. package/dist/src/events/publishers/layout.js +0 -34
  180. package/dist/src/events/publishers/layout.js.map +0 -1
  181. package/dist/src/events/publishers/license.js +0 -77
  182. package/dist/src/events/publishers/license.js.map +0 -1
  183. package/dist/src/events/publishers/org.js +0 -52
  184. package/dist/src/events/publishers/org.js.map +0 -1
  185. package/dist/src/events/publishers/plugin.js +0 -55
  186. package/dist/src/events/publishers/plugin.js.map +0 -1
  187. package/dist/src/events/publishers/query.js +0 -74
  188. package/dist/src/events/publishers/query.js.map +0 -1
  189. package/dist/src/events/publishers/role.js +0 -69
  190. package/dist/src/events/publishers/role.js.map +0 -1
  191. package/dist/src/events/publishers/rows.js +0 -32
  192. package/dist/src/events/publishers/rows.js.map +0 -1
  193. package/dist/src/events/publishers/screen.js +0 -46
  194. package/dist/src/events/publishers/screen.js.map +0 -1
  195. package/dist/src/events/publishers/serve.js +0 -47
  196. package/dist/src/events/publishers/serve.js.map +0 -1
  197. package/dist/src/events/publishers/table.js +0 -77
  198. package/dist/src/events/publishers/table.js.map +0 -1
  199. package/dist/src/events/publishers/user.js +0 -202
  200. package/dist/src/events/publishers/user.js.map +0 -1
  201. package/dist/src/events/publishers/view.js +0 -111
  202. package/dist/src/events/publishers/view.js.map +0 -1
  203. package/dist/src/featureFlags/index.js +0 -96
  204. package/dist/src/featureFlags/index.js.map +0 -1
  205. package/dist/src/helpers.js +0 -14
  206. package/dist/src/helpers.js.map +0 -1
  207. package/dist/src/index.js +0 -82
  208. package/dist/src/index.js.map +0 -1
  209. package/dist/src/installation.js +0 -138
  210. package/dist/src/installation.js.map +0 -1
  211. package/dist/src/logging/alerts.js +0 -24
  212. package/dist/src/logging/alerts.js.map +0 -1
  213. package/dist/src/logging/correlation/correlation.js +0 -17
  214. package/dist/src/logging/correlation/correlation.js.map +0 -1
  215. package/dist/src/logging/correlation/index.js +0 -18
  216. package/dist/src/logging/correlation/index.js.map +0 -1
  217. package/dist/src/logging/correlation/middleware.js +0 -17
  218. package/dist/src/logging/correlation/middleware.js.map +0 -1
  219. package/dist/src/logging/index.js +0 -35
  220. package/dist/src/logging/index.js.map +0 -1
  221. package/dist/src/logging/pino/logger.js +0 -218
  222. package/dist/src/logging/pino/logger.js.map +0 -1
  223. package/dist/src/logging/pino/middleware.js +0 -47
  224. package/dist/src/logging/pino/middleware.js.map +0 -1
  225. package/dist/src/logging/system.js +0 -101
  226. package/dist/src/logging/system.js.map +0 -1
  227. package/dist/src/middleware/adminOnly.js +0 -19
  228. package/dist/src/middleware/adminOnly.js.map +0 -1
  229. package/dist/src/middleware/auditLog.js +0 -16
  230. package/dist/src/middleware/auditLog.js.map +0 -1
  231. package/dist/src/middleware/authenticated.js +0 -204
  232. package/dist/src/middleware/authenticated.js.map +0 -1
  233. package/dist/src/middleware/builderOnly.js +0 -33
  234. package/dist/src/middleware/builderOnly.js.map +0 -1
  235. package/dist/src/middleware/builderOrAdmin.js +0 -33
  236. package/dist/src/middleware/builderOrAdmin.js.map +0 -1
  237. package/dist/src/middleware/csrf.js +0 -81
  238. package/dist/src/middleware/csrf.js.map +0 -1
  239. package/dist/src/middleware/errorHandling.js +0 -64
  240. package/dist/src/middleware/errorHandling.js.map +0 -1
  241. package/dist/src/middleware/index.js +0 -65
  242. package/dist/src/middleware/index.js.map +0 -1
  243. package/dist/src/middleware/internalApi.js +0 -30
  244. package/dist/src/middleware/internalApi.js.map +0 -1
  245. package/dist/src/middleware/joi-validator.js +0 -47
  246. package/dist/src/middleware/joi-validator.js.map +0 -1
  247. package/dist/src/middleware/matchers.js +0 -43
  248. package/dist/src/middleware/matchers.js.map +0 -1
  249. package/dist/src/middleware/passport/datasource/google.js +0 -95
  250. package/dist/src/middleware/passport/datasource/google.js.map +0 -1
  251. package/dist/src/middleware/passport/local.js +0 -81
  252. package/dist/src/middleware/passport/local.js.map +0 -1
  253. package/dist/src/middleware/passport/sso/google.js +0 -90
  254. package/dist/src/middleware/passport/sso/google.js.map +0 -1
  255. package/dist/src/middleware/passport/sso/oidc.js +0 -151
  256. package/dist/src/middleware/passport/sso/oidc.js.map +0 -1
  257. package/dist/src/middleware/passport/sso/sso.js +0 -165
  258. package/dist/src/middleware/passport/sso/sso.js.map +0 -1
  259. package/dist/src/middleware/passport/utils.js +0 -66
  260. package/dist/src/middleware/passport/utils.js.map +0 -1
  261. package/dist/src/middleware/querystringToBody.js +0 -29
  262. package/dist/src/middleware/querystringToBody.js.map +0 -1
  263. package/dist/src/middleware/tenancy.js +0 -37
  264. package/dist/src/middleware/tenancy.js.map +0 -1
  265. package/dist/src/migrations/definitions.js +0 -39
  266. package/dist/src/migrations/definitions.js.map +0 -1
  267. package/dist/src/migrations/index.js +0 -19
  268. package/dist/src/migrations/index.js.map +0 -1
  269. package/dist/src/migrations/migrations.js +0 -198
  270. package/dist/src/migrations/migrations.js.map +0 -1
  271. package/dist/src/objectStore/buckets/app.js +0 -73
  272. package/dist/src/objectStore/buckets/app.js.map +0 -1
  273. package/dist/src/objectStore/buckets/global.js +0 -58
  274. package/dist/src/objectStore/buckets/global.js.map +0 -1
  275. package/dist/src/objectStore/buckets/index.js +0 -20
  276. package/dist/src/objectStore/buckets/index.js.map +0 -1
  277. package/dist/src/objectStore/buckets/plugins.js +0 -95
  278. package/dist/src/objectStore/buckets/plugins.js.map +0 -1
  279. package/dist/src/objectStore/cloudfront.js +0 -40
  280. package/dist/src/objectStore/cloudfront.js.map +0 -1
  281. package/dist/src/objectStore/index.js +0 -20
  282. package/dist/src/objectStore/index.js.map +0 -1
  283. package/dist/src/objectStore/objectStore.js +0 -382
  284. package/dist/src/objectStore/objectStore.js.map +0 -1
  285. package/dist/src/objectStore/utils.js +0 -32
  286. package/dist/src/objectStore/utils.js.map +0 -1
  287. package/dist/src/platform/index.js +0 -33
  288. package/dist/src/platform/index.js.map +0 -1
  289. package/dist/src/platform/platformDb.js +0 -10
  290. package/dist/src/platform/platformDb.js.map +0 -1
  291. package/dist/src/platform/tenants.js +0 -139
  292. package/dist/src/platform/tenants.js.map +0 -1
  293. package/dist/src/platform/users.js +0 -96
  294. package/dist/src/platform/users.js.map +0 -1
  295. package/dist/src/plugin/index.js +0 -18
  296. package/dist/src/plugin/index.js.map +0 -1
  297. package/dist/src/plugin/utils.js +0 -145
  298. package/dist/src/plugin/utils.js.map +0 -1
  299. package/dist/src/queue/constants.js +0 -11
  300. package/dist/src/queue/constants.js.map +0 -1
  301. package/dist/src/queue/inMemoryQueue.js +0 -145
  302. package/dist/src/queue/inMemoryQueue.js.map +0 -1
  303. package/dist/src/queue/index.js +0 -19
  304. package/dist/src/queue/index.js.map +0 -1
  305. package/dist/src/queue/listeners.js +0 -186
  306. package/dist/src/queue/listeners.js.map +0 -1
  307. package/dist/src/queue/queue.js +0 -92
  308. package/dist/src/queue/queue.js.map +0 -1
  309. package/dist/src/redis/index.js +0 -37
  310. package/dist/src/redis/index.js.map +0 -1
  311. package/dist/src/redis/init.js +0 -138
  312. package/dist/src/redis/init.js.map +0 -1
  313. package/dist/src/redis/redis.js +0 -335
  314. package/dist/src/redis/redis.js.map +0 -1
  315. package/dist/src/redis/redlockImpl.js +0 -162
  316. package/dist/src/redis/redlockImpl.js.map +0 -1
  317. package/dist/src/redis/utils.js +0 -123
  318. package/dist/src/redis/utils.js.map +0 -1
  319. package/dist/src/security/encryption.js +0 -163
  320. package/dist/src/security/encryption.js.map +0 -1
  321. package/dist/src/security/permissions.js +0 -151
  322. package/dist/src/security/permissions.js.map +0 -1
  323. package/dist/src/security/roles.js +0 -388
  324. package/dist/src/security/roles.js.map +0 -1
  325. package/dist/src/security/sessions.js +0 -121
  326. package/dist/src/security/sessions.js.map +0 -1
  327. package/dist/src/tenancy/db.js +0 -10
  328. package/dist/src/tenancy/db.js.map +0 -1
  329. package/dist/src/tenancy/index.js +0 -19
  330. package/dist/src/tenancy/index.js.map +0 -1
  331. package/dist/src/tenancy/tenancy.js +0 -116
  332. package/dist/src/tenancy/tenancy.js.map +0 -1
  333. package/dist/src/timers/index.js +0 -18
  334. package/dist/src/timers/index.js.map +0 -1
  335. package/dist/src/timers/timers.js +0 -26
  336. package/dist/src/timers/timers.js.map +0 -1
  337. package/dist/src/users/db.js +0 -407
  338. package/dist/src/users/db.js.map +0 -1
  339. package/dist/src/users/events.js +0 -169
  340. package/dist/src/users/events.js.map +0 -1
  341. package/dist/src/users/index.js +0 -23
  342. package/dist/src/users/index.js.map +0 -1
  343. package/dist/src/users/lookup.js +0 -112
  344. package/dist/src/users/lookup.js.map +0 -1
  345. package/dist/src/users/users.js +0 -261
  346. package/dist/src/users/users.js.map +0 -1
  347. package/dist/src/users/utils.js +0 -92
  348. package/dist/src/users/utils.js.map +0 -1
  349. package/dist/src/utils/hashing.js +0 -47
  350. package/dist/src/utils/hashing.js.map +0 -1
  351. package/dist/src/utils/index.js +0 -20
  352. package/dist/src/utils/index.js.map +0 -1
  353. package/dist/src/utils/stringUtils.js +0 -9
  354. package/dist/src/utils/stringUtils.js.map +0 -1
  355. package/dist/src/utils/utils.js +0 -247
  356. package/dist/src/utils/utils.js.map +0 -1
  357. package/dist/tests/core/logging.js +0 -33
  358. package/dist/tests/core/logging.js.map +0 -1
  359. package/dist/tests/core/utilities/index.js +0 -37
  360. package/dist/tests/core/utilities/index.js.map +0 -1
  361. package/dist/tests/core/utilities/jestUtils.js +0 -21
  362. package/dist/tests/core/utilities/jestUtils.js.map +0 -1
  363. package/dist/tests/core/utilities/mocks/alerts.js +0 -30
  364. package/dist/tests/core/utilities/mocks/alerts.js.map +0 -1
  365. package/dist/tests/core/utilities/mocks/date.js +0 -6
  366. package/dist/tests/core/utilities/mocks/date.js.map +0 -1
  367. package/dist/tests/core/utilities/mocks/events.js +0 -143
  368. package/dist/tests/core/utilities/mocks/events.js.map +0 -1
  369. package/dist/tests/core/utilities/mocks/fetch.js +0 -15
  370. package/dist/tests/core/utilities/mocks/fetch.js.map +0 -1
  371. package/dist/tests/core/utilities/mocks/index.js +0 -43
  372. package/dist/tests/core/utilities/mocks/index.js.map +0 -1
  373. package/dist/tests/core/utilities/mocks/licenses.js +0 -97
  374. package/dist/tests/core/utilities/mocks/licenses.js.map +0 -1
  375. package/dist/tests/core/utilities/mocks/posthog.js +0 -9
  376. package/dist/tests/core/utilities/mocks/posthog.js.map +0 -1
  377. package/dist/tests/core/utilities/structures/Chance.js +0 -21
  378. package/dist/tests/core/utilities/structures/Chance.js.map +0 -1
  379. package/dist/tests/core/utilities/structures/accounts.js +0 -78
  380. package/dist/tests/core/utilities/structures/accounts.js.map +0 -1
  381. package/dist/tests/core/utilities/structures/apps.js +0 -24
  382. package/dist/tests/core/utilities/structures/apps.js.map +0 -1
  383. package/dist/tests/core/utilities/structures/common.js +0 -11
  384. package/dist/tests/core/utilities/structures/common.js.map +0 -1
  385. package/dist/tests/core/utilities/structures/db.js +0 -16
  386. package/dist/tests/core/utilities/structures/db.js.map +0 -1
  387. package/dist/tests/core/utilities/structures/documents/index.js +0 -18
  388. package/dist/tests/core/utilities/structures/documents/index.js.map +0 -1
  389. package/dist/tests/core/utilities/structures/documents/platform/index.js +0 -28
  390. package/dist/tests/core/utilities/structures/documents/platform/index.js.map +0 -1
  391. package/dist/tests/core/utilities/structures/documents/platform/installation.js +0 -38
  392. package/dist/tests/core/utilities/structures/documents/platform/installation.js.map +0 -1
  393. package/dist/tests/core/utilities/structures/generator.js +0 -9
  394. package/dist/tests/core/utilities/structures/generator.js.map +0 -1
  395. package/dist/tests/core/utilities/structures/index.js +0 -46
  396. package/dist/tests/core/utilities/structures/index.js.map +0 -1
  397. package/dist/tests/core/utilities/structures/koa.js +0 -10
  398. package/dist/tests/core/utilities/structures/koa.js.map +0 -1
  399. package/dist/tests/core/utilities/structures/licenses.js +0 -140
  400. package/dist/tests/core/utilities/structures/licenses.js.map +0 -1
  401. package/dist/tests/core/utilities/structures/plugins.js +0 -23
  402. package/dist/tests/core/utilities/structures/plugins.js.map +0 -1
  403. package/dist/tests/core/utilities/structures/quotas.js +0 -71
  404. package/dist/tests/core/utilities/structures/quotas.js.map +0 -1
  405. package/dist/tests/core/utilities/structures/scim.js +0 -63
  406. package/dist/tests/core/utilities/structures/scim.js.map +0 -1
  407. package/dist/tests/core/utilities/structures/shared.js +0 -14
  408. package/dist/tests/core/utilities/structures/shared.js.map +0 -1
  409. package/dist/tests/core/utilities/structures/sso.js +0 -132
  410. package/dist/tests/core/utilities/structures/sso.js.map +0 -1
  411. package/dist/tests/core/utilities/structures/tenants.js +0 -9
  412. package/dist/tests/core/utilities/structures/tenants.js.map +0 -1
  413. package/dist/tests/core/utilities/structures/userGroups.js +0 -13
  414. package/dist/tests/core/utilities/structures/userGroups.js.map +0 -1
  415. package/dist/tests/core/utilities/structures/users.js +0 -48
  416. package/dist/tests/core/utilities/structures/users.js.map +0 -1
  417. package/dist/tests/core/utilities/testContainerUtils.js +0 -84
  418. package/dist/tests/core/utilities/testContainerUtils.js.map +0 -1
  419. package/dist/tests/core/utilities/utils/index.js +0 -28
  420. package/dist/tests/core/utilities/utils/index.js.map +0 -1
  421. package/dist/tests/core/utilities/utils/time.js +0 -8
  422. package/dist/tests/core/utilities/utils/time.js.map +0 -1
  423. package/dist/tests/extra/DBTestConfiguration.js +0 -55
  424. package/dist/tests/extra/DBTestConfiguration.js.map +0 -1
  425. package/dist/tests/extra/index.js +0 -33
  426. package/dist/tests/extra/index.js.map +0 -1
  427. package/dist/tests/extra/testEnv.js +0 -127
  428. package/dist/tests/extra/testEnv.js.map +0 -1
  429. package/dist/tests/index.js +0 -18
  430. package/dist/tests/index.js.map +0 -1
  431. package/dist/tests/jestEnv.js +0 -8
  432. package/dist/tests/jestEnv.js.map +0 -1
  433. package/dist/tests/jestSetup.js +0 -28
  434. package/dist/tests/jestSetup.js.map +0 -1
  435. package/plugins.ts +0 -1
@@ -1,169 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.isRemovingBuilder = exports.isAddingBuilder = exports.handleSaveEvents = exports.handleDeleteEvents = void 0;
39
- const environment_1 = __importDefault(require("../environment"));
40
- const events = __importStar(require("../events"));
41
- const accounts = __importStar(require("../accounts"));
42
- const context_1 = require("../context");
43
- const utils_1 = require("./utils");
44
- const handleDeleteEvents = (user) => __awaiter(void 0, void 0, void 0, function* () {
45
- yield events.user.deleted(user);
46
- if ((0, utils_1.hasBuilderPermissions)(user)) {
47
- yield events.user.permissionBuilderRemoved(user);
48
- }
49
- if ((0, utils_1.hasAdminPermissions)(user)) {
50
- yield events.user.permissionAdminRemoved(user);
51
- }
52
- });
53
- exports.handleDeleteEvents = handleDeleteEvents;
54
- const assignAppRoleEvents = (user, roles, existingRoles) => __awaiter(void 0, void 0, void 0, function* () {
55
- for (const [appId, role] of Object.entries(roles)) {
56
- // app role in existing is not same as new
57
- if (!existingRoles || existingRoles[appId] !== role) {
58
- yield events.role.assigned(user, role);
59
- }
60
- }
61
- });
62
- const unassignAppRoleEvents = (user, roles, existingRoles) => __awaiter(void 0, void 0, void 0, function* () {
63
- if (!existingRoles) {
64
- return;
65
- }
66
- for (const [appId, role] of Object.entries(existingRoles)) {
67
- // app role in new is not same as existing
68
- if (!roles || roles[appId] !== role) {
69
- yield events.role.unassigned(user, role);
70
- }
71
- }
72
- });
73
- const handleAppRoleEvents = (user, existingUser) => __awaiter(void 0, void 0, void 0, function* () {
74
- const roles = user.roles;
75
- const existingRoles = existingUser === null || existingUser === void 0 ? void 0 : existingUser.roles;
76
- yield assignAppRoleEvents(user, roles, existingRoles);
77
- yield unassignAppRoleEvents(user, roles, existingRoles);
78
- });
79
- const handleSaveEvents = (user, existingUser) => __awaiter(void 0, void 0, void 0, function* () {
80
- const tenantId = (0, context_1.getTenantId)();
81
- let tenantAccount;
82
- if (!environment_1.default.SELF_HOSTED && !environment_1.default.DISABLE_ACCOUNT_PORTAL) {
83
- tenantAccount = yield accounts.getAccountByTenantId(tenantId);
84
- }
85
- yield events.identification.identifyUser(user, tenantAccount);
86
- if (existingUser) {
87
- yield events.user.updated(user);
88
- if ((0, exports.isRemovingBuilder)(user, existingUser)) {
89
- yield events.user.permissionBuilderRemoved(user);
90
- }
91
- if (isRemovingAdmin(user, existingUser)) {
92
- yield events.user.permissionAdminRemoved(user);
93
- }
94
- if (isOnboardingComplete(user, existingUser)) {
95
- yield events.user.onboardingComplete(user);
96
- }
97
- if (!existingUser.forceResetPassword &&
98
- user.forceResetPassword &&
99
- user.password) {
100
- yield events.user.passwordForceReset(user);
101
- }
102
- if (user.password !== existingUser.password) {
103
- yield events.user.passwordUpdated(user);
104
- }
105
- }
106
- else {
107
- yield events.user.created(user);
108
- }
109
- if ((0, exports.isAddingBuilder)(user, existingUser)) {
110
- yield events.user.permissionBuilderAssigned(user);
111
- }
112
- if (isAddingAdmin(user, existingUser)) {
113
- yield events.user.permissionAdminAssigned(user);
114
- }
115
- yield handleAppRoleEvents(user, existingUser);
116
- });
117
- exports.handleSaveEvents = handleSaveEvents;
118
- const isAddingBuilder = (user, existingUser) => {
119
- return isAddingPermission(user, existingUser, utils_1.hasBuilderPermissions);
120
- };
121
- exports.isAddingBuilder = isAddingBuilder;
122
- const isRemovingBuilder = (user, existingUser) => {
123
- return isRemovingPermission(user, existingUser, utils_1.hasBuilderPermissions);
124
- };
125
- exports.isRemovingBuilder = isRemovingBuilder;
126
- const isAddingAdmin = (user, existingUser) => {
127
- return isAddingPermission(user, existingUser, utils_1.hasAdminPermissions);
128
- };
129
- const isRemovingAdmin = (user, existingUser) => {
130
- return isRemovingPermission(user, existingUser, utils_1.hasAdminPermissions);
131
- };
132
- const isOnboardingComplete = (user, existingUser) => {
133
- return !(existingUser === null || existingUser === void 0 ? void 0 : existingUser.onboardedAt) && typeof user.onboardedAt === "string";
134
- };
135
- /**
136
- * Check if a permission is being added to a new or existing user.
137
- */
138
- const isAddingPermission = (user, existingUser, hasPermission) => {
139
- // new user doesn't have the permission
140
- if (!hasPermission(user)) {
141
- return false;
142
- }
143
- // existing user has the permission
144
- if (existingUser && hasPermission(existingUser)) {
145
- return false;
146
- }
147
- // permission is being added
148
- return true;
149
- };
150
- /**
151
- * Check if a permission is being removed from an existing user.
152
- */
153
- const isRemovingPermission = (user, existingUser, hasPermission) => {
154
- // new user has the permission
155
- if (hasPermission(user)) {
156
- return false;
157
- }
158
- // no existing user or existing user doesn't have the permission
159
- if (!existingUser) {
160
- return false;
161
- }
162
- // existing user doesn't have the permission
163
- if (!hasPermission(existingUser)) {
164
- return false;
165
- }
166
- // permission is being removed
167
- return true;
168
- };
169
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/users/events.ts"],"names":[],"mappings":"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"}
@@ -1,23 +0,0 @@
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
- exports.UserDB = void 0;
18
- __exportStar(require("./users"), exports);
19
- __exportStar(require("./utils"), exports);
20
- __exportStar(require("./lookup"), exports);
21
- var db_1 = require("./db");
22
- Object.defineProperty(exports, "UserDB", { enumerable: true, get: function () { return db_1.UserDB; } });
23
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/users/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,0CAAuB;AACvB,2CAAwB;AACxB,2BAA6B;AAApB,4FAAA,MAAM,OAAA"}
@@ -1,112 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.getExistingAccounts = exports.getExistingPlatformUsers = exports.getExistingTenantUsers = exports.getPlatformUser = exports.searchExistingEmails = void 0;
36
- const dbUtils = __importStar(require("../db"));
37
- const constants_1 = require("../constants");
38
- /**
39
- * Apply a system-wide search on emails:
40
- * - in tenant
41
- * - cross tenant
42
- * - accounts
43
- * return an array of emails that match the supplied emails.
44
- */
45
- function searchExistingEmails(emails) {
46
- return __awaiter(this, void 0, void 0, function* () {
47
- let matchedEmails = [];
48
- const existingTenantUsers = yield getExistingTenantUsers(emails);
49
- matchedEmails.push(...existingTenantUsers.map(user => user.email));
50
- const existingPlatformUsers = yield getExistingPlatformUsers(emails);
51
- matchedEmails.push(...existingPlatformUsers.map(user => user._id));
52
- const existingAccounts = yield getExistingAccounts(emails);
53
- matchedEmails.push(...existingAccounts.map(account => account.email));
54
- return [...new Set(matchedEmails.map(email => email.toLowerCase()))];
55
- });
56
- }
57
- exports.searchExistingEmails = searchExistingEmails;
58
- // lookup, could be email or userId, either will return a doc
59
- function getPlatformUser(identifier) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- // use the view here and allow to find anyone regardless of casing
62
- // Use lowercase to ensure email login is case insensitive
63
- return (yield dbUtils.queryPlatformView(constants_1.ViewName.PLATFORM_USERS_LOWERCASE, {
64
- keys: [identifier.toLowerCase()],
65
- include_docs: true,
66
- }));
67
- });
68
- }
69
- exports.getPlatformUser = getPlatformUser;
70
- function getExistingTenantUsers(emails) {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const lcEmails = emails.map(email => email.toLowerCase());
73
- const params = {
74
- keys: lcEmails,
75
- include_docs: true,
76
- };
77
- const opts = {
78
- arrayResponse: true,
79
- };
80
- return (yield dbUtils.queryGlobalView(constants_1.ViewName.USER_BY_EMAIL, params, undefined, opts));
81
- });
82
- }
83
- exports.getExistingTenantUsers = getExistingTenantUsers;
84
- function getExistingPlatformUsers(emails) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const lcEmails = emails.map(email => email.toLowerCase());
87
- const params = {
88
- keys: lcEmails,
89
- include_docs: true,
90
- };
91
- const opts = {
92
- arrayResponse: true,
93
- };
94
- return (yield dbUtils.queryPlatformView(constants_1.ViewName.PLATFORM_USERS_LOWERCASE, params, opts));
95
- });
96
- }
97
- exports.getExistingPlatformUsers = getExistingPlatformUsers;
98
- function getExistingAccounts(emails) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- const lcEmails = emails.map(email => email.toLowerCase());
101
- const params = {
102
- keys: lcEmails,
103
- include_docs: true,
104
- };
105
- const opts = {
106
- arrayResponse: true,
107
- };
108
- return (yield dbUtils.queryPlatformView(constants_1.ViewName.ACCOUNT_BY_EMAIL, params, opts));
109
- });
110
- }
111
- exports.getExistingAccounts = getExistingAccounts;
112
- //# sourceMappingURL=lookup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lookup.js","sourceRoot":"","sources":["../../../src/users/lookup.ts"],"names":[],"mappings":"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"}
@@ -1,261 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- Object.defineProperty(exports, "__esModule", { value: true });
35
- exports.cleanseUserObject = exports.removePortalUserPermissions = exports.getUserCount = exports.paginatedUsers = exports.searchGlobalUsersByEmail = exports.getGlobalUserByAppPage = exports.searchGlobalUsersByAppAccess = exports.searchGlobalUsersByApp = exports.getGlobalUserByEmail = exports.getById = exports.bulkUpdateGlobalUsers = exports.getAllUserIds = exports.bulkGetGlobalUsersById = void 0;
36
- const db_1 = require("../db");
37
- const context_1 = require("../context");
38
- const context = __importStar(require("../context"));
39
- function removeUserPassword(users) {
40
- if (Array.isArray(users)) {
41
- return users.map(user => {
42
- if (user) {
43
- delete user.password;
44
- return user;
45
- }
46
- });
47
- }
48
- else if (users) {
49
- delete users.password;
50
- return users;
51
- }
52
- return users;
53
- }
54
- const bulkGetGlobalUsersById = (userIds, opts) => __awaiter(void 0, void 0, void 0, function* () {
55
- const db = (0, context_1.getGlobalDB)();
56
- let users = (yield db.allDocs({
57
- keys: userIds,
58
- include_docs: true,
59
- })).rows.map(row => row.doc);
60
- if (opts === null || opts === void 0 ? void 0 : opts.cleanup) {
61
- users = removeUserPassword(users);
62
- }
63
- return users;
64
- });
65
- exports.bulkGetGlobalUsersById = bulkGetGlobalUsersById;
66
- const getAllUserIds = () => __awaiter(void 0, void 0, void 0, function* () {
67
- const db = (0, context_1.getGlobalDB)();
68
- const startKey = `${db_1.DocumentType.USER}${db_1.SEPARATOR}`;
69
- const response = yield db.allDocs({
70
- startkey: startKey,
71
- endkey: `${startKey}${db_1.UNICODE_MAX}`,
72
- });
73
- return response.rows.map(row => row.id);
74
- });
75
- exports.getAllUserIds = getAllUserIds;
76
- const bulkUpdateGlobalUsers = (users) => __awaiter(void 0, void 0, void 0, function* () {
77
- const db = (0, context_1.getGlobalDB)();
78
- return (yield db.bulkDocs(users));
79
- });
80
- exports.bulkUpdateGlobalUsers = bulkUpdateGlobalUsers;
81
- function getById(id, opts) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const db = context.getGlobalDB();
84
- let user = yield db.get(id);
85
- if (opts === null || opts === void 0 ? void 0 : opts.cleanup) {
86
- user = removeUserPassword(user);
87
- }
88
- return user;
89
- });
90
- }
91
- exports.getById = getById;
92
- /**
93
- * Given an email address this will use a view to search through
94
- * all the users to find one with this email address.
95
- */
96
- const getGlobalUserByEmail = (email, opts) => __awaiter(void 0, void 0, void 0, function* () {
97
- if (email == null) {
98
- throw "Must supply an email address to view";
99
- }
100
- const response = yield (0, db_1.queryGlobalView)(db_1.ViewName.USER_BY_EMAIL, {
101
- key: email.toLowerCase(),
102
- include_docs: true,
103
- });
104
- if (Array.isArray(response)) {
105
- // shouldn't be able to happen, but need to handle just in case
106
- throw new Error(`Multiple users found with email address: ${email}`);
107
- }
108
- let user = response;
109
- if (opts === null || opts === void 0 ? void 0 : opts.cleanup) {
110
- user = removeUserPassword(user);
111
- }
112
- return user;
113
- });
114
- exports.getGlobalUserByEmail = getGlobalUserByEmail;
115
- const searchGlobalUsersByApp = (appId, opts, getOpts) => __awaiter(void 0, void 0, void 0, function* () {
116
- if (typeof appId !== "string") {
117
- throw new Error("Must provide a string based app ID");
118
- }
119
- const params = (0, db_1.getUsersByAppParams)(appId, {
120
- include_docs: true,
121
- });
122
- params.startkey = opts && opts.startkey ? opts.startkey : params.startkey;
123
- let response = yield (0, db_1.queryGlobalView)(db_1.ViewName.USER_BY_APP, params);
124
- if (!response) {
125
- response = [];
126
- }
127
- let users = Array.isArray(response) ? response : [response];
128
- if (getOpts === null || getOpts === void 0 ? void 0 : getOpts.cleanup) {
129
- users = removeUserPassword(users);
130
- }
131
- return users;
132
- });
133
- exports.searchGlobalUsersByApp = searchGlobalUsersByApp;
134
- /*
135
- Return any user who potentially has access to the application
136
- Admins, developers and app users with the explicitly role.
137
- */
138
- const searchGlobalUsersByAppAccess = (appId, opts) => __awaiter(void 0, void 0, void 0, function* () {
139
- const roleSelector = `roles.${appId}`;
140
- let orQuery = [
141
- {
142
- "builder.global": true,
143
- },
144
- {
145
- "admin.global": true,
146
- },
147
- ];
148
- if (appId) {
149
- const roleCheck = {
150
- [roleSelector]: {
151
- $exists: true,
152
- },
153
- };
154
- orQuery.push(roleCheck);
155
- }
156
- let searchOptions = {
157
- selector: {
158
- $or: orQuery,
159
- _id: {
160
- $regex: "^us_",
161
- },
162
- },
163
- limit: (opts === null || opts === void 0 ? void 0 : opts.limit) || 50,
164
- };
165
- const resp = yield (0, db_1.directCouchFind)(context.getGlobalDBName(), searchOptions);
166
- return resp === null || resp === void 0 ? void 0 : resp.rows;
167
- });
168
- exports.searchGlobalUsersByAppAccess = searchGlobalUsersByAppAccess;
169
- const getGlobalUserByAppPage = (appId, user) => {
170
- if (!user) {
171
- return;
172
- }
173
- return (0, db_1.generateAppUserID)((0, db_1.getProdAppID)(appId), user._id);
174
- };
175
- exports.getGlobalUserByAppPage = getGlobalUserByAppPage;
176
- /**
177
- * Performs a starts with search on the global email view.
178
- */
179
- const searchGlobalUsersByEmail = (email, opts, getOpts) => __awaiter(void 0, void 0, void 0, function* () {
180
- if (typeof email !== "string") {
181
- throw new Error("Must provide a string to search by");
182
- }
183
- const lcEmail = email.toLowerCase();
184
- // handle if passing up startkey for pagination
185
- const startkey = opts && opts.startkey ? opts.startkey : lcEmail;
186
- let response = yield (0, db_1.queryGlobalView)(db_1.ViewName.USER_BY_EMAIL, Object.assign(Object.assign({}, opts), { startkey, endkey: `${lcEmail}${db_1.UNICODE_MAX}` }));
187
- if (!response) {
188
- response = [];
189
- }
190
- let users = Array.isArray(response) ? response : [response];
191
- if (getOpts === null || getOpts === void 0 ? void 0 : getOpts.cleanup) {
192
- users = removeUserPassword(users);
193
- }
194
- return users;
195
- });
196
- exports.searchGlobalUsersByEmail = searchGlobalUsersByEmail;
197
- const PAGE_LIMIT = 8;
198
- const paginatedUsers = ({ page, email, appId, } = {}) => __awaiter(void 0, void 0, void 0, function* () {
199
- const db = (0, context_1.getGlobalDB)();
200
- // get one extra document, to have the next page
201
- const opts = {
202
- include_docs: true,
203
- limit: PAGE_LIMIT + 1,
204
- };
205
- // add a startkey if the page was specified (anchor)
206
- if (page) {
207
- opts.startkey = page;
208
- }
209
- // property specifies what to use for the page/anchor
210
- let userList, property = "_id", getKey;
211
- if (appId) {
212
- userList = yield (0, exports.searchGlobalUsersByApp)(appId, opts);
213
- getKey = (doc) => (0, exports.getGlobalUserByAppPage)(appId, doc);
214
- }
215
- else if (email) {
216
- userList = yield (0, exports.searchGlobalUsersByEmail)(email, opts);
217
- property = "email";
218
- }
219
- else {
220
- // no search, query allDocs
221
- const response = yield db.allDocs((0, db_1.getGlobalUserParams)(null, opts));
222
- userList = response.rows.map((row) => row.doc);
223
- }
224
- return (0, db_1.pagination)(userList, PAGE_LIMIT, {
225
- paginate: true,
226
- property,
227
- getKey,
228
- });
229
- });
230
- exports.paginatedUsers = paginatedUsers;
231
- function getUserCount() {
232
- return __awaiter(this, void 0, void 0, function* () {
233
- const response = yield (0, db_1.queryGlobalViewRaw)(db_1.ViewName.USER_BY_EMAIL, {
234
- limit: 0,
235
- include_docs: false,
236
- });
237
- return response.total_rows;
238
- });
239
- }
240
- exports.getUserCount = getUserCount;
241
- // used to remove the builder/admin permissions, for processing the
242
- // user as an app user (they may have some specific role/group
243
- function removePortalUserPermissions(user) {
244
- delete user.admin;
245
- delete user.builder;
246
- return user;
247
- }
248
- exports.removePortalUserPermissions = removePortalUserPermissions;
249
- function cleanseUserObject(user, base) {
250
- delete user.admin;
251
- delete user.builder;
252
- delete user.roles;
253
- if (base) {
254
- user.admin = base.admin;
255
- user.builder = base.builder;
256
- user.roles = base.roles;
257
- }
258
- return user;
259
- }
260
- exports.cleanseUserObject = cleanseUserObject;
261
- //# sourceMappingURL=users.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/users/users.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8BAac;AAOd,wCAAwC;AACxC,oDAAqC;AAKrC,SAAS,kBAAkB,CAAC,KAAoB;IAC9C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACxB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACtB,IAAI,IAAI,EAAE;gBACR,OAAO,IAAI,CAAC,QAAQ,CAAA;gBACpB,OAAO,IAAI,CAAA;aACZ;QACH,CAAC,CAAC,CAAA;KACH;SAAM,IAAI,KAAK,EAAE;QAChB,OAAO,KAAK,CAAC,QAAQ,CAAA;QACrB,OAAO,KAAK,CAAA;KACb;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAEM,MAAM,sBAAsB,GAAG,CACpC,OAAiB,EACjB,IAAc,EACd,EAAE;IACF,MAAM,EAAE,GAAG,IAAA,qBAAW,GAAE,CAAA;IACxB,IAAI,KAAK,GAAG,CACV,MAAM,EAAE,CAAC,OAAO,CAAC;QACf,IAAI,EAAE,OAAO;QACb,YAAY,EAAE,IAAI;KACnB,CAAC,CACH,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAW,CAAA;IACpC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;QACjB,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAW,CAAA;KAC5C;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAfY,QAAA,sBAAsB,0BAelC;AAEM,MAAM,aAAa,GAAG,GAAS,EAAE;IACtC,MAAM,EAAE,GAAG,IAAA,qBAAW,GAAE,CAAA;IACxB,MAAM,QAAQ,GAAG,GAAG,iBAAY,CAAC,IAAI,GAAG,cAAS,EAAE,CAAA;IACnD,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;QAChC,QAAQ,EAAE,QAAQ;QAClB,MAAM,EAAE,GAAG,QAAQ,GAAG,gBAAW,EAAE;KACpC,CAAC,CAAA;IACF,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;AACzC,CAAC,CAAA,CAAA;AARY,QAAA,aAAa,iBAQzB;AAEM,MAAM,qBAAqB,GAAG,CAAO,KAAa,EAAE,EAAE;IAC3D,MAAM,EAAE,GAAG,IAAA,qBAAW,GAAE,CAAA;IACxB,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAqB,CAAA;AACvD,CAAC,CAAA,CAAA;AAHY,QAAA,qBAAqB,yBAGjC;AAED,SAAsB,OAAO,CAAC,EAAU,EAAE,IAAc;;QACtD,MAAM,EAAE,GAAG,OAAO,CAAC,WAAW,EAAE,CAAA;QAChC,IAAI,IAAI,GAAG,MAAM,EAAE,CAAC,GAAG,CAAO,EAAE,CAAC,CAAA;QACjC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;YACjB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAS,CAAA;SACxC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CAAA;AAPD,0BAOC;AAED;;;GAGG;AACI,MAAM,oBAAoB,GAAG,CAClC,KAAa,EACb,IAAc,EACa,EAAE;IAC7B,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,MAAM,sCAAsC,CAAA;KAC7C;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAe,EAAO,aAAQ,CAAC,aAAa,EAAE;QACnE,GAAG,EAAE,KAAK,CAAC,WAAW,EAAE;QACxB,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IAEF,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,+DAA+D;QAC/D,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,EAAE,CAAC,CAAA;KACrE;IAED,IAAI,IAAI,GAAG,QAAgB,CAAA;IAC3B,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;QACjB,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAS,CAAA;KACxC;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA,CAAA;AAxBY,QAAA,oBAAoB,wBAwBhC;AAEM,MAAM,sBAAsB,GAAG,CACpC,KAAU,EACV,IAAS,EACT,OAAiB,EACjB,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IACD,MAAM,MAAM,GAAG,IAAA,wBAAmB,EAAC,KAAK,EAAE;QACxC,YAAY,EAAE,IAAI;KACnB,CAAC,CAAA;IACF,MAAM,CAAC,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAA;IACzE,IAAI,QAAQ,GAAG,MAAM,IAAA,oBAAe,EAAC,aAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAA;IAElE,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,EAAE,CAAA;KACd;IACD,IAAI,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;QACpB,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAW,CAAA;KAC5C;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAtBY,QAAA,sBAAsB,0BAsBlC;AAED;;;EAGE;AACK,MAAM,4BAA4B,GAAG,CAAO,KAAU,EAAE,IAAS,EAAE,EAAE;IAC1E,MAAM,YAAY,GAAG,SAAS,KAAK,EAAE,CAAA;IAErC,IAAI,OAAO,GAAU;QACnB;YACE,gBAAgB,EAAE,IAAI;SACvB;QACD;YACE,cAAc,EAAE,IAAI;SACrB;KACF,CAAA;IAED,IAAI,KAAK,EAAE;QACT,MAAM,SAAS,GAAG;YAChB,CAAC,YAAY,CAAC,EAAE;gBACd,OAAO,EAAE,IAAI;aACd;SACF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;KACxB;IAED,IAAI,aAAa,GAAG;QAClB,QAAQ,EAAE;YACR,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE;gBACH,MAAM,EAAE,MAAM;aACf;SACF;QACD,KAAK,EAAE,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,KAAI,EAAE;KACzB,CAAA;IAED,MAAM,IAAI,GAAG,MAAM,IAAA,oBAAe,EAAC,OAAO,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC,CAAA;IAC5E,OAAO,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,CAAA;AACnB,CAAC,CAAA,CAAA;AAjCY,QAAA,4BAA4B,gCAiCxC;AAEM,MAAM,sBAAsB,GAAG,CAAC,KAAa,EAAE,IAAU,EAAE,EAAE;IAClE,IAAI,CAAC,IAAI,EAAE;QACT,OAAM;KACP;IACD,OAAO,IAAA,sBAAiB,EAAC,IAAA,iBAAY,EAAC,KAAK,CAAE,EAAE,IAAI,CAAC,GAAI,CAAC,CAAA;AAC3D,CAAC,CAAA;AALY,QAAA,sBAAsB,0BAKlC;AAED;;GAEG;AACI,MAAM,wBAAwB,GAAG,CACtC,KAAuB,EACvB,IAAS,EACT,OAAiB,EACjB,EAAE;IACF,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;KACtD;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAA;IACnC,+CAA+C;IAC/C,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAA;IAChE,IAAI,QAAQ,GAAG,MAAM,IAAA,oBAAe,EAAO,aAAQ,CAAC,aAAa,kCAC5D,IAAI,KACP,QAAQ,EACR,MAAM,EAAE,GAAG,OAAO,GAAG,gBAAW,EAAE,IAClC,CAAA;IACF,IAAI,CAAC,QAAQ,EAAE;QACb,QAAQ,GAAG,EAAE,CAAA;KACd;IACD,IAAI,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;IACnE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE;QACpB,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAW,CAAA;KAC5C;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA,CAAA;AAxBY,QAAA,wBAAwB,4BAwBpC;AAED,MAAM,UAAU,GAAG,CAAC,CAAA;AACb,MAAM,cAAc,GAAG,CAAO,EACnC,IAAI,EACJ,KAAK,EACL,KAAK,MACiB,EAAE,EAAE,EAAE;IAC5B,MAAM,EAAE,GAAG,IAAA,qBAAW,GAAE,CAAA;IACxB,gDAAgD;IAChD,MAAM,IAAI,GAAQ;QAChB,YAAY,EAAE,IAAI;QAClB,KAAK,EAAE,UAAU,GAAG,CAAC;KACtB,CAAA;IACD,oDAAoD;IACpD,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;KACrB;IACD,qDAAqD;IACrD,IAAI,QAAgB,EAClB,QAAQ,GAAG,KAAK,EAChB,MAAM,CAAA;IACR,IAAI,KAAK,EAAE;QACT,QAAQ,GAAG,MAAM,IAAA,8BAAsB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACpD,MAAM,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAA,8BAAsB,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;KAC1D;SAAM,IAAI,KAAK,EAAE;QAChB,QAAQ,GAAG,MAAM,IAAA,gCAAwB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QACtD,QAAQ,GAAG,OAAO,CAAA;KACnB;SAAM;QACL,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAA,wBAAmB,EAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;QAClE,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACpD;IACD,OAAO,IAAA,eAAU,EAAC,QAAQ,EAAE,UAAU,EAAE;QACtC,QAAQ,EAAE,IAAI;QACd,QAAQ;QACR,MAAM;KACP,CAAC,CAAA;AACJ,CAAC,CAAA,CAAA;AAnCY,QAAA,cAAc,kBAmC1B;AAED,SAAsB,YAAY;;QAChC,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAkB,EAAC,aAAQ,CAAC,aAAa,EAAE;YAChE,KAAK,EAAE,CAAC;YACR,YAAY,EAAE,KAAK;SACpB,CAAC,CAAA;QACF,OAAO,QAAQ,CAAC,UAAU,CAAA;IAC5B,CAAC;CAAA;AAND,oCAMC;AAED,mEAAmE;AACnE,8DAA8D;AAC9D,SAAgB,2BAA2B,CAAC,IAAwB;IAClE,OAAO,IAAI,CAAC,KAAK,CAAA;IACjB,OAAO,IAAI,CAAC,OAAO,CAAA;IACnB,OAAO,IAAI,CAAA;AACb,CAAC;AAJD,kEAIC;AAED,SAAgB,iBAAiB,CAAC,IAAwB,EAAE,IAAW;IACrE,OAAO,IAAI,CAAC,KAAK,CAAA;IACjB,OAAO,IAAI,CAAC,OAAO,CAAA;IACnB,OAAO,IAAI,CAAC,KAAK,CAAA;IACjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACvB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;KACxB;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAVD,8CAUC"}