@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,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/security/roles.ts"],
4
- "sourcesContent": ["import { BuiltinPermissionID, PermissionLevel } from \"./permissions\"\nimport { prefixRoleID, getRoleParams, DocumentType, SEPARATOR } from \"../db\"\nimport { getAppDB } from \"../context\"\nimport { doWithDB } from \"../db\"\nimport { Screen, Role as RoleDoc } from \"@budibase/types\"\nimport cloneDeep from \"lodash/fp/cloneDeep\"\n\nexport const BUILTIN_ROLE_IDS = {\n ADMIN: \"ADMIN\",\n POWER: \"POWER\",\n BASIC: \"BASIC\",\n PUBLIC: \"PUBLIC\",\n}\n\nconst BUILTIN_IDS = {\n ...BUILTIN_ROLE_IDS,\n BUILDER: \"BUILDER\",\n}\n\n// exclude internal roles like builder\nconst EXTERNAL_BUILTIN_ROLE_IDS = [\n BUILTIN_IDS.ADMIN,\n BUILTIN_IDS.POWER,\n BUILTIN_IDS.BASIC,\n BUILTIN_IDS.PUBLIC,\n]\n\nexport const RoleIDVersion = {\n // original version, with a UUID based ID\n UUID: undefined,\n // new version - with name based ID\n NAME: \"name\",\n}\n\nexport class Role implements RoleDoc {\n _id: string\n _rev?: string\n name: string\n permissionId: string\n inherits?: string\n version?: string\n permissions = {}\n\n constructor(id: string, name: string, permissionId: string) {\n this._id = id\n this.name = name\n this.permissionId = permissionId\n // version for managing the ID - removing the role_ when responding\n this.version = RoleIDVersion.NAME\n }\n\n addInheritance(inherits: string) {\n this.inherits = inherits\n return this\n }\n}\n\nconst BUILTIN_ROLES = {\n ADMIN: new Role(\n BUILTIN_IDS.ADMIN,\n \"Admin\",\n BuiltinPermissionID.ADMIN\n ).addInheritance(BUILTIN_IDS.POWER),\n POWER: new Role(\n BUILTIN_IDS.POWER,\n \"Power\",\n BuiltinPermissionID.POWER\n ).addInheritance(BUILTIN_IDS.BASIC),\n BASIC: new Role(\n BUILTIN_IDS.BASIC,\n \"Basic\",\n BuiltinPermissionID.WRITE\n ).addInheritance(BUILTIN_IDS.PUBLIC),\n PUBLIC: new Role(BUILTIN_IDS.PUBLIC, \"Public\", BuiltinPermissionID.PUBLIC),\n BUILDER: new Role(BUILTIN_IDS.BUILDER, \"Builder\", BuiltinPermissionID.ADMIN),\n}\n\nexport function getBuiltinRoles(): { [key: string]: RoleDoc } {\n return cloneDeep(BUILTIN_ROLES)\n}\n\nexport const BUILTIN_ROLE_ID_ARRAY = Object.values(BUILTIN_ROLES).map(\n role => role._id\n)\n\nexport const BUILTIN_ROLE_NAME_ARRAY = Object.values(BUILTIN_ROLES).map(\n role => role.name\n)\n\nexport function isBuiltin(role?: string) {\n return BUILTIN_ROLE_ID_ARRAY.some(builtin => role?.includes(builtin))\n}\n\n/**\n * Works through the inheritance ranks to see how far up the builtin stack this ID is.\n */\nexport function builtinRoleToNumber(id?: string) {\n if (!id) {\n return 0\n }\n const builtins = getBuiltinRoles()\n const MAX = Object.values(builtins).length + 1\n if (id === BUILTIN_IDS.ADMIN || id === BUILTIN_IDS.BUILDER) {\n return MAX\n }\n let role = builtins[id],\n count = 0\n do {\n if (!role) {\n break\n }\n role = builtins[role.inherits!]\n count++\n } while (role !== null)\n return count\n}\n\n/**\n * Converts any role to a number, but has to be async to get the roles from db.\n */\nexport async function roleToNumber(id?: string) {\n if (isBuiltin(id)) {\n return builtinRoleToNumber(id)\n }\n const hierarchy = (await getUserRoleHierarchy(id)) as RoleDoc[]\n for (let role of hierarchy) {\n if (isBuiltin(role?.inherits)) {\n return builtinRoleToNumber(role.inherits) + 1\n }\n }\n return 0\n}\n\n/**\n * Returns whichever builtin roleID is lower.\n */\nexport function lowerBuiltinRoleID(roleId1?: string, roleId2?: string): string {\n if (!roleId1) {\n return roleId2 as string\n }\n if (!roleId2) {\n return roleId1 as string\n }\n return builtinRoleToNumber(roleId1) > builtinRoleToNumber(roleId2)\n ? roleId2\n : roleId1\n}\n\n/**\n * Gets the role object, this is mainly useful for two purposes, to check if the level exists and\n * to check if the role inherits any others.\n * @param {string|null} roleId The level ID to lookup.\n * @param {object|null} opts options for the function, like whether to halt errors, instead return public.\n * @returns {Promise<Role|object|null>} The role object, which may contain an \"inherits\" property.\n */\nexport async function getRole(\n roleId?: string,\n opts?: { defaultPublic?: boolean }\n): Promise<RoleDoc | undefined> {\n if (!roleId) {\n return undefined\n }\n let role: any = {}\n // built in roles mostly come from the in-code implementation,\n // but can be extended by a doc stored about them (e.g. permissions)\n if (isBuiltin(roleId)) {\n role = cloneDeep(\n Object.values(BUILTIN_ROLES).find(role => role._id === roleId)\n )\n } else {\n // make sure has the prefix (if it has it then it won't be added)\n roleId = prefixRoleID(roleId)\n }\n try {\n const db = getAppDB()\n const dbRole = await db.get(getDBRoleID(roleId))\n role = Object.assign(role, dbRole)\n // finalise the ID\n role._id = getExternalRoleID(role._id, role.version)\n } catch (err) {\n if (!isBuiltin(roleId) && opts?.defaultPublic) {\n return cloneDeep(BUILTIN_ROLES.PUBLIC)\n }\n // only throw an error if there is no role at all\n if (Object.keys(role).length === 0) {\n throw err\n }\n }\n return role\n}\n\n/**\n * Simple function to get all the roles based on the top level user role ID.\n */\nasync function getAllUserRoles(userRoleId?: string): Promise<RoleDoc[]> {\n // admins have access to all roles\n if (userRoleId === BUILTIN_IDS.ADMIN) {\n return getAllRoles()\n }\n let currentRole = await getRole(userRoleId)\n let roles = currentRole ? [currentRole] : []\n let roleIds = [userRoleId]\n // get all the inherited roles\n while (\n currentRole &&\n currentRole.inherits &&\n roleIds.indexOf(currentRole.inherits) === -1\n ) {\n roleIds.push(currentRole.inherits)\n currentRole = await getRole(currentRole.inherits)\n if (currentRole) {\n roles.push(currentRole)\n }\n }\n return roles\n}\n\n/**\n * Returns an ordered array of the user's inherited role IDs, this can be used\n * to determine if a user can access something that requires a specific role.\n * @param {string} userRoleId The user's role ID, this can be found in their access token.\n * @param {object} opts Various options, such as whether to only retrieve the IDs (default true).\n * @returns {Promise<string[]|object[]>} returns an ordered array of the roles, with the first being their\n * highest level of access and the last being the lowest level.\n */\nexport async function getUserRoleHierarchy(\n userRoleId?: string,\n opts = { idOnly: true }\n) {\n // special case, if they don't have a role then they are a public user\n const roles = await getAllUserRoles(userRoleId)\n return opts.idOnly ? roles.map(role => role._id) : roles\n}\n\n// this function checks that the provided permissions are in an array format\n// some templates/older apps will use a simple string instead of array for roles\n// convert the string to an array using the theory that write is higher than read\nexport function checkForRoleResourceArray(\n rolePerms: { [key: string]: string[] },\n resourceId: string\n) {\n if (rolePerms && !Array.isArray(rolePerms[resourceId])) {\n const permLevel = rolePerms[resourceId] as any\n rolePerms[resourceId] = [permLevel]\n if (permLevel === PermissionLevel.WRITE) {\n rolePerms[resourceId].push(PermissionLevel.READ)\n }\n }\n return rolePerms\n}\n\n/**\n * Given an app ID this will retrieve all of the roles that are currently within that app.\n * @return {Promise<object[]>} An array of the role objects that were found.\n */\nexport async function getAllRoles(appId?: string): Promise<RoleDoc[]> {\n if (appId) {\n return doWithDB(appId, internal)\n } else {\n let appDB\n try {\n appDB = getAppDB()\n } catch (error) {\n // We don't have any apps, so we'll just use the built-in roles\n }\n return internal(appDB)\n }\n async function internal(db: any) {\n let roles: RoleDoc[] = []\n if (db) {\n const body = await db.allDocs(\n getRoleParams(null, {\n include_docs: true,\n })\n )\n roles = body.rows.map((row: any) => row.doc)\n roles.forEach(\n role => (role._id = getExternalRoleID(role._id!, role.version))\n )\n }\n const builtinRoles = getBuiltinRoles()\n\n // need to combine builtin with any DB record of them (for sake of permissions)\n for (let builtinRoleId of EXTERNAL_BUILTIN_ROLE_IDS) {\n const builtinRole = builtinRoles[builtinRoleId]\n const dbBuiltin = roles.filter(\n dbRole =>\n getExternalRoleID(dbRole._id!, dbRole.version) === builtinRoleId\n )[0]\n if (dbBuiltin == null) {\n roles.push(builtinRole || builtinRoles.BASIC)\n } else {\n // remove role and all back after combining with the builtin\n roles = roles.filter(role => role._id !== dbBuiltin._id)\n dbBuiltin._id = getExternalRoleID(dbBuiltin._id!, dbBuiltin.version)\n roles.push(Object.assign(builtinRole, dbBuiltin))\n }\n }\n // check permissions\n for (let role of roles) {\n if (!role.permissions) {\n continue\n }\n for (let resourceId of Object.keys(role.permissions)) {\n role.permissions = checkForRoleResourceArray(\n role.permissions,\n resourceId\n )\n }\n }\n return roles\n }\n}\n\nexport class AccessController {\n userHierarchies: { [key: string]: string[] }\n constructor() {\n this.userHierarchies = {}\n }\n\n async hasAccess(tryingRoleId?: string, userRoleId?: string) {\n // special cases, the screen has no role, the roles are the same or the user\n // is currently in the builder\n if (\n tryingRoleId == null ||\n tryingRoleId === \"\" ||\n tryingRoleId === userRoleId ||\n tryingRoleId === BUILTIN_IDS.BUILDER ||\n userRoleId === BUILTIN_IDS.BUILDER\n ) {\n return true\n }\n let roleIds = userRoleId ? this.userHierarchies[userRoleId] : null\n if (!roleIds && userRoleId) {\n roleIds = (await getUserRoleHierarchy(userRoleId, {\n idOnly: true,\n })) as string[]\n this.userHierarchies[userRoleId] = roleIds\n }\n\n return roleIds?.indexOf(tryingRoleId) !== -1\n }\n\n async checkScreensAccess(screens: Screen[], userRoleId: string) {\n let accessibleScreens = []\n // don't want to handle this with Promise.all as this would mean all custom roles would be\n // retrieved at same time, it is likely a custom role will be re-used and therefore want\n // to work in sync for performance save\n for (let screen of screens) {\n const accessible = await this.checkScreenAccess(screen, userRoleId)\n if (accessible) {\n accessibleScreens.push(accessible)\n }\n }\n return accessibleScreens\n }\n\n async checkScreenAccess(screen: Screen, userRoleId: string) {\n const roleId = screen && screen.routing ? screen.routing.roleId : undefined\n if (await this.hasAccess(roleId, userRoleId)) {\n return screen\n }\n return null\n }\n}\n\n/**\n * Adds the \"role_\" for builtin role IDs which are to be written to the DB (for permissions).\n */\nexport function getDBRoleID(roleName: string) {\n if (roleName?.startsWith(DocumentType.ROLE)) {\n return roleName\n }\n return prefixRoleID(roleName)\n}\n\n/**\n * Remove the \"role_\" from builtin role IDs that have been written to the DB (for permissions).\n */\nexport function getExternalRoleID(roleId: string, version?: string) {\n // for built-in roles we want to remove the DB role ID element (role_)\n if (\n roleId.startsWith(DocumentType.ROLE) &&\n (isBuiltin(roleId) || version === RoleIDVersion.NAME)\n ) {\n return roleId.split(`${DocumentType.ROLE}${SEPARATOR}`)[1]\n }\n return roleId\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_db", "cloneDeep", "role"]
7
- }
1
+ {"version":3,"file":"roles.js","sourceRoot":"","sources":["../../../src/security/roles.ts"],"names":[],"mappings":"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"}
@@ -1,135 +1,121 @@
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 sessions_exports = {};
30
- __export(sessions_exports, {
31
- createASession: () => createASession,
32
- endSession: () => endSession,
33
- getSession: () => getSession,
34
- getSessionsForUser: () => getSessionsForUser,
35
- invalidateSessions: () => invalidateSessions,
36
- updateSessionTTL: () => updateSessionTTL
37
- });
38
- module.exports = __toCommonJS(sessions_exports);
39
- var import_environment = __toESM(require("../environment"));
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.getSession = exports.endSession = exports.updateSessionTTL = exports.createASession = exports.invalidateSessions = exports.getSessionsForUser = void 0;
40
16
  const redis = require("../redis/init");
41
17
  const { v4: uuidv4 } = require("uuid");
42
18
  const { logWarn } = require("../logging");
19
+ const environment_1 = __importDefault(require("../environment"));
20
+ // a week in seconds
43
21
  const EXPIRY_SECONDS = 86400 * 7;
44
22
  function makeSessionID(userId, sessionId) {
45
- return `${userId}/${sessionId}`;
23
+ return `${userId}/${sessionId}`;
46
24
  }
47
- async function getSessionsForUser(userId) {
48
- if (!userId) {
49
- console.trace("Cannot get sessions for undefined userId");
50
- return [];
51
- }
52
- const client = await redis.getSessionClient();
53
- const sessions = await client.scan(userId);
54
- return sessions.map((session) => session.value);
25
+ function getSessionsForUser(userId) {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ if (!userId) {
28
+ console.trace("Cannot get sessions for undefined userId");
29
+ return [];
30
+ }
31
+ const client = yield redis.getSessionClient();
32
+ const sessions = yield client.scan(userId);
33
+ return sessions.map(session => session.value);
34
+ });
55
35
  }
56
- async function invalidateSessions(userId, opts = {}) {
57
- try {
58
- const reason = opts?.reason || "unknown";
59
- let sessionIds = opts.sessionIds || [];
60
- let sessionKeys;
61
- if (sessionIds.length === 0) {
62
- const sessions = await getSessionsForUser(userId);
63
- sessionKeys = sessions.map((session) => ({
64
- key: makeSessionID(session.userId, session.sessionId)
65
- }));
66
- } else {
67
- sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds];
68
- sessionKeys = sessionIds.map((sessionId) => ({
69
- key: makeSessionID(userId, sessionId)
70
- }));
71
- }
72
- if (sessionKeys && sessionKeys.length > 0) {
73
- const client = await redis.getSessionClient();
74
- const promises = [];
75
- for (let sessionKey of sessionKeys) {
76
- promises.push(client.delete(sessionKey.key));
77
- }
78
- if (!import_environment.default.isTest()) {
79
- logWarn(
80
- `Invalidating sessions for ${userId} (reason: ${reason}) - ${sessionKeys.map((sessionKey) => sessionKey.key).join(", ")}`
81
- );
82
- }
83
- await Promise.all(promises);
84
- }
85
- } catch (err) {
86
- console.error(`Error invalidating sessions: ${err}`);
87
- }
36
+ exports.getSessionsForUser = getSessionsForUser;
37
+ function invalidateSessions(userId, opts = {}) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ try {
40
+ const reason = (opts === null || opts === void 0 ? void 0 : opts.reason) || "unknown";
41
+ let sessionIds = opts.sessionIds || [];
42
+ let sessionKeys;
43
+ // If no sessionIds, get all the sessions for the user
44
+ if (sessionIds.length === 0) {
45
+ const sessions = yield getSessionsForUser(userId);
46
+ sessionKeys = sessions.map(session => ({
47
+ key: makeSessionID(session.userId, session.sessionId),
48
+ }));
49
+ }
50
+ else {
51
+ // use the passed array of sessionIds
52
+ sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds];
53
+ sessionKeys = sessionIds.map(sessionId => ({
54
+ key: makeSessionID(userId, sessionId),
55
+ }));
56
+ }
57
+ if (sessionKeys && sessionKeys.length > 0) {
58
+ const client = yield redis.getSessionClient();
59
+ const promises = [];
60
+ for (let sessionKey of sessionKeys) {
61
+ promises.push(client.delete(sessionKey.key));
62
+ }
63
+ if (!environment_1.default.isTest()) {
64
+ logWarn(`Invalidating sessions for ${userId} (reason: ${reason}) - ${sessionKeys
65
+ .map(sessionKey => sessionKey.key)
66
+ .join(", ")}`);
67
+ }
68
+ yield Promise.all(promises);
69
+ }
70
+ }
71
+ catch (err) {
72
+ console.error(`Error invalidating sessions: ${err}`);
73
+ }
74
+ });
88
75
  }
89
- async function createASession(userId, createSession) {
90
- await invalidateSessions(userId, { reason: "creation" });
91
- const client = await redis.getSessionClient();
92
- const sessionId = createSession.sessionId;
93
- const csrfToken = createSession.csrfToken ? createSession.csrfToken : uuidv4();
94
- const key = makeSessionID(userId, sessionId);
95
- const session = {
96
- ...createSession,
97
- csrfToken,
98
- createdAt: (/* @__PURE__ */ new Date()).toISOString(),
99
- lastAccessedAt: (/* @__PURE__ */ new Date()).toISOString(),
100
- userId
101
- };
102
- await client.store(key, session, EXPIRY_SECONDS);
103
- return session;
76
+ exports.invalidateSessions = invalidateSessions;
77
+ function createASession(userId, createSession) {
78
+ return __awaiter(this, void 0, void 0, function* () {
79
+ // invalidate all other sessions
80
+ yield invalidateSessions(userId, { reason: "creation" });
81
+ const client = yield redis.getSessionClient();
82
+ const sessionId = createSession.sessionId;
83
+ const csrfToken = createSession.csrfToken ? createSession.csrfToken : uuidv4();
84
+ const key = makeSessionID(userId, sessionId);
85
+ const session = Object.assign(Object.assign({}, createSession), { csrfToken, createdAt: new Date().toISOString(), lastAccessedAt: new Date().toISOString(), userId });
86
+ yield client.store(key, session, EXPIRY_SECONDS);
87
+ return session;
88
+ });
104
89
  }
105
- async function updateSessionTTL(session) {
106
- const client = await redis.getSessionClient();
107
- const key = makeSessionID(session.userId, session.sessionId);
108
- session.lastAccessedAt = (/* @__PURE__ */ new Date()).toISOString();
109
- await client.store(key, session, EXPIRY_SECONDS);
90
+ exports.createASession = createASession;
91
+ function updateSessionTTL(session) {
92
+ return __awaiter(this, void 0, void 0, function* () {
93
+ const client = yield redis.getSessionClient();
94
+ const key = makeSessionID(session.userId, session.sessionId);
95
+ session.lastAccessedAt = new Date().toISOString();
96
+ yield client.store(key, session, EXPIRY_SECONDS);
97
+ });
110
98
  }
111
- async function endSession(userId, sessionId) {
112
- const client = await redis.getSessionClient();
113
- await client.delete(makeSessionID(userId, sessionId));
99
+ exports.updateSessionTTL = updateSessionTTL;
100
+ function endSession(userId, sessionId) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const client = yield redis.getSessionClient();
103
+ yield client.delete(makeSessionID(userId, sessionId));
104
+ });
114
105
  }
115
- async function getSession(userId, sessionId) {
116
- if (!userId || !sessionId) {
117
- throw new Error(`Invalid session details - ${userId} - ${sessionId}`);
118
- }
119
- const client = await redis.getSessionClient();
120
- const session = await client.get(makeSessionID(userId, sessionId));
121
- if (!session) {
122
- throw new Error(`Session not found - ${userId} - ${sessionId}`);
123
- }
124
- return session;
106
+ exports.endSession = endSession;
107
+ function getSession(userId, sessionId) {
108
+ return __awaiter(this, void 0, void 0, function* () {
109
+ if (!userId || !sessionId) {
110
+ throw new Error(`Invalid session details - ${userId} - ${sessionId}`);
111
+ }
112
+ const client = yield redis.getSessionClient();
113
+ const session = yield client.get(makeSessionID(userId, sessionId));
114
+ if (!session) {
115
+ throw new Error(`Session not found - ${userId} - ${sessionId}`);
116
+ }
117
+ return session;
118
+ });
125
119
  }
126
- // Annotate the CommonJS export names for ESM import in node:
127
- 0 && (module.exports = {
128
- createASession,
129
- endSession,
130
- getSession,
131
- getSessionsForUser,
132
- invalidateSessions,
133
- updateSessionTTL
134
- });
135
- //# sourceMappingURL=sessions.js.map
120
+ exports.getSession = getSession;
121
+ //# sourceMappingURL=sessions.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/security/sessions.ts"],
4
- "sourcesContent": ["const redis = require(\"../redis/init\")\nconst { v4: uuidv4 } = require(\"uuid\")\nconst { logWarn } = require(\"../logging\")\nimport env from \"../environment\"\nimport {\n Session,\n ScannedSession,\n SessionKey,\n CreateSession,\n} from \"@budibase/types\"\n\n// a week in seconds\nconst EXPIRY_SECONDS = 86400 * 7\n\nfunction makeSessionID(userId: string, sessionId: string) {\n return `${userId}/${sessionId}`\n}\n\nexport async function getSessionsForUser(userId: string): Promise<Session[]> {\n if (!userId) {\n console.trace(\"Cannot get sessions for undefined userId\")\n return []\n }\n const client = await redis.getSessionClient()\n const sessions: ScannedSession[] = await client.scan(userId)\n return sessions.map(session => session.value)\n}\n\nexport async function invalidateSessions(\n userId: string,\n opts: { sessionIds?: string[]; reason?: string } = {}\n) {\n try {\n const reason = opts?.reason || \"unknown\"\n let sessionIds: string[] = opts.sessionIds || []\n let sessionKeys: SessionKey[]\n\n // If no sessionIds, get all the sessions for the user\n if (sessionIds.length === 0) {\n const sessions = await getSessionsForUser(userId)\n sessionKeys = sessions.map(session => ({\n key: makeSessionID(session.userId, session.sessionId),\n }))\n } else {\n // use the passed array of sessionIds\n sessionIds = Array.isArray(sessionIds) ? sessionIds : [sessionIds]\n sessionKeys = sessionIds.map(sessionId => ({\n key: makeSessionID(userId, sessionId),\n }))\n }\n\n if (sessionKeys && sessionKeys.length > 0) {\n const client = await redis.getSessionClient()\n const promises = []\n for (let sessionKey of sessionKeys) {\n promises.push(client.delete(sessionKey.key))\n }\n if (!env.isTest()) {\n logWarn(\n `Invalidating sessions for ${userId} (reason: ${reason}) - ${sessionKeys\n .map(sessionKey => sessionKey.key)\n .join(\", \")}`\n )\n }\n await Promise.all(promises)\n }\n } catch (err) {\n console.error(`Error invalidating sessions: ${err}`)\n }\n}\n\nexport async function createASession(\n userId: string,\n createSession: CreateSession\n) {\n // invalidate all other sessions\n await invalidateSessions(userId, { reason: \"creation\" })\n\n const client = await redis.getSessionClient()\n const sessionId = createSession.sessionId\n const csrfToken = createSession.csrfToken ? createSession.csrfToken : uuidv4()\n const key = makeSessionID(userId, sessionId)\n\n const session: Session = {\n ...createSession,\n csrfToken,\n createdAt: new Date().toISOString(),\n lastAccessedAt: new Date().toISOString(),\n userId,\n }\n await client.store(key, session, EXPIRY_SECONDS)\n return session\n}\n\nexport async function updateSessionTTL(session: Session) {\n const client = await redis.getSessionClient()\n const key = makeSessionID(session.userId, session.sessionId)\n session.lastAccessedAt = new Date().toISOString()\n await client.store(key, session, EXPIRY_SECONDS)\n}\n\nexport async function endSession(userId: string, sessionId: string) {\n const client = await redis.getSessionClient()\n await client.delete(makeSessionID(userId, sessionId))\n}\n\nexport async function getSession(\n userId: string,\n sessionId: string\n): Promise<Session> {\n if (!userId || !sessionId) {\n throw new Error(`Invalid session details - ${userId} - ${sessionId}`)\n }\n const client = await redis.getSessionClient()\n const session = await client.get(makeSessionID(userId, sessionId))\n if (!session) {\n throw new Error(`Session not found - ${userId} - ${sessionId}`)\n }\n return session\n}\n"],
5
- "mappings": "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",
6
- "names": ["env"]
7
- }
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../../src/security/sessions.ts"],"names":[],"mappings":"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"}
@@ -1,33 +1,10 @@
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 db_exports = {};
20
- __export(db_exports, {
21
- getTenantDB: () => getTenantDB
22
- });
23
- module.exports = __toCommonJS(db_exports);
24
- var import_db = require("../db/db");
25
- var import_context = require("../context");
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTenantDB = void 0;
4
+ const db_1 = require("../db/db");
5
+ const context_1 = require("../context");
26
6
  function getTenantDB(tenantId) {
27
- return (0, import_db.getDB)((0, import_context.getGlobalDBName)(tenantId));
7
+ return (0, db_1.getDB)((0, context_1.getGlobalDBName)(tenantId));
28
8
  }
29
- // Annotate the CommonJS export names for ESM import in node:
30
- 0 && (module.exports = {
31
- getTenantDB
32
- });
33
- //# sourceMappingURL=db.js.map
9
+ exports.getTenantDB = getTenantDB;
10
+ //# sourceMappingURL=db.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tenancy/db.ts"],
4
- "sourcesContent": ["import { getDB } from \"../db/db\"\nimport { getGlobalDBName } from \"../context\"\n\nexport function getTenantDB(tenantId: string) {\n return getDB(getGlobalDBName(tenantId))\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAsB;AACtB,qBAAgC;AAEzB,SAAS,YAAY,UAAkB;AAC5C,aAAO,qBAAM,gCAAgB,QAAQ,CAAC;AACxC;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"db.js","sourceRoot":"","sources":["../../../src/tenancy/db.ts"],"names":[],"mappings":";;;AAAA,iCAAgC;AAChC,wCAA4C;AAE5C,SAAgB,WAAW,CAAC,QAAgB;IAC1C,OAAO,IAAA,UAAK,EAAC,IAAA,yBAAe,EAAC,QAAQ,CAAC,CAAC,CAAA;AACzC,CAAC;AAFD,kCAEC"}
@@ -1,25 +1,19 @@
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 __copyProps = (to, from, except, desc) => {
7
- if (from && typeof from === "object" || typeof from === "function") {
8
- for (let key of __getOwnPropNames(from))
9
- if (!__hasOwnProp.call(to, key) && key !== except)
10
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
- }
12
- return to;
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);
13
15
  };
14
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
15
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
- var tenancy_exports = {};
17
- module.exports = __toCommonJS(tenancy_exports);
18
- __reExport(tenancy_exports, require("./db"), module.exports);
19
- __reExport(tenancy_exports, require("./tenancy"), module.exports);
20
- // Annotate the CommonJS export names for ESM import in node:
21
- 0 && (module.exports = {
22
- ...require("./db"),
23
- ...require("./tenancy")
24
- });
25
- //# sourceMappingURL=index.js.map
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./db"), exports);
18
+ __exportStar(require("./tenancy"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/tenancy/index.ts"],
4
- "sourcesContent": ["export * from \"./db\"\nexport * from \"./tenancy\"\n"],
5
- "mappings": ";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,4BAAc,iBAAd;AACA,4BAAc,sBADd;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tenancy/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,uCAAoB;AACpB,4CAAyB"}