@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,149 +1,165 @@
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 __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
+ });
11
33
  };
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;
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
19
36
  };
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 sso_exports = {};
30
- __export(sso_exports, {
31
- authenticate: () => authenticate,
32
- ssoSaveUserNoOp: () => ssoSaveUserNoOp
33
- });
34
- module.exports = __toCommonJS(sso_exports);
35
- var import_db = require("../../../db");
36
- var import_utils = require("../utils");
37
- var users = __toESM(require("../../../users"));
38
- var context = __toESM(require("../../../context"));
39
- var import_node_fetch = __toESM(require("node-fetch"));
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.authenticate = exports.ssoSaveUserNoOp = void 0;
39
+ const db_1 = require("../../../db");
40
+ const utils_1 = require("../utils");
41
+ const users = __importStar(require("../../../users"));
42
+ const context = __importStar(require("../../../context"));
43
+ const node_fetch_1 = __importDefault(require("node-fetch"));
44
+ // no-op function for user save
45
+ // - this allows datasource auth and access token refresh to work correctly
46
+ // - prefer no-op over an optional argument to ensure function is provided to login flows
40
47
  const ssoSaveUserNoOp = (user, opts) => Promise.resolve(user);
41
- async function authenticate(details, requireLocalAccount = true, done, saveUserFn) {
42
- if (!saveUserFn) {
43
- throw new Error("Save user function must be provided");
44
- }
45
- if (!details.userId) {
46
- return (0, import_utils.authError)(done, "sso user id required");
47
- }
48
- if (!details.email) {
49
- return (0, import_utils.authError)(done, "sso user email required");
50
- }
51
- const userId = (0, import_db.generateGlobalUserID)(details.userId);
52
- let dbUser;
53
- try {
54
- dbUser = await users.getById(userId);
55
- } catch (err) {
56
- if (!err.status || err.status !== 404) {
57
- return (0, import_utils.authError)(
58
- done,
59
- "Unexpected error when retrieving existing user",
60
- err
61
- );
62
- }
63
- }
64
- if (!dbUser) {
65
- dbUser = await users.getGlobalUserByEmail(details.email);
66
- }
67
- if (!dbUser && requireLocalAccount) {
68
- return (0, import_utils.authError)(
69
- done,
70
- "Email does not yet exist. You must set up your local budibase account first."
71
- );
72
- }
73
- if (!dbUser) {
74
- dbUser = {
75
- _id: userId,
76
- email: details.email,
77
- roles: {},
78
- tenantId: context.getTenantId()
79
- };
80
- }
81
- let ssoUser = await syncUser(dbUser, details);
82
- ssoUser.forceResetPassword = false;
83
- try {
84
- delete ssoUser.password;
85
- ssoUser = await saveUserFn(ssoUser, {
86
- hashPassword: false,
87
- requirePassword: false
48
+ exports.ssoSaveUserNoOp = ssoSaveUserNoOp;
49
+ /**
50
+ * Common authentication logic for third parties. e.g. OAuth, OIDC.
51
+ */
52
+ function authenticate(details, requireLocalAccount = true, done, saveUserFn) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ if (!saveUserFn) {
55
+ throw new Error("Save user function must be provided");
56
+ }
57
+ if (!details.userId) {
58
+ return (0, utils_1.authError)(done, "sso user id required");
59
+ }
60
+ if (!details.email) {
61
+ return (0, utils_1.authError)(done, "sso user email required");
62
+ }
63
+ // use the third party id
64
+ const userId = (0, db_1.generateGlobalUserID)(details.userId);
65
+ let dbUser;
66
+ // try to load by id
67
+ try {
68
+ dbUser = yield users.getById(userId);
69
+ }
70
+ catch (err) {
71
+ // abort when not 404 error
72
+ if (!err.status || err.status !== 404) {
73
+ return (0, utils_1.authError)(done, "Unexpected error when retrieving existing user", err);
74
+ }
75
+ }
76
+ // fallback to loading by email
77
+ if (!dbUser) {
78
+ dbUser = yield users.getGlobalUserByEmail(details.email);
79
+ }
80
+ // exit early if there is still no user and auto creation is disabled
81
+ if (!dbUser && requireLocalAccount) {
82
+ return (0, utils_1.authError)(done, "Email does not yet exist. You must set up your local budibase account first.");
83
+ }
84
+ // first time creation
85
+ if (!dbUser) {
86
+ // setup a blank user using the third party id
87
+ dbUser = {
88
+ _id: userId,
89
+ email: details.email,
90
+ roles: {},
91
+ tenantId: context.getTenantId(),
92
+ };
93
+ }
94
+ let ssoUser = yield syncUser(dbUser, details);
95
+ // never prompt for password reset
96
+ ssoUser.forceResetPassword = false;
97
+ try {
98
+ // don't try to re-save any existing password
99
+ delete ssoUser.password;
100
+ // create or sync the user
101
+ ssoUser = (yield saveUserFn(ssoUser, {
102
+ hashPassword: false,
103
+ requirePassword: false,
104
+ }));
105
+ }
106
+ catch (err) {
107
+ return (0, utils_1.authError)(done, "Error saving user", err);
108
+ }
109
+ return done(null, ssoUser);
88
110
  });
89
- } catch (err) {
90
- return (0, import_utils.authError)(done, "Error saving user", err);
91
- }
92
- return done(null, ssoUser);
93
111
  }
94
- async function getProfilePictureUrl(user, details) {
95
- const pictureUrl = details.profile?._json.picture;
96
- if (pictureUrl) {
97
- const response = await (0, import_node_fetch.default)(pictureUrl);
98
- if (response.status === 200) {
99
- const type = response.headers.get("content-type");
100
- if (type.startsWith("image/")) {
101
- return pictureUrl;
102
- }
103
- }
104
- }
112
+ exports.authenticate = authenticate;
113
+ function getProfilePictureUrl(user, details) {
114
+ var _a;
115
+ return __awaiter(this, void 0, void 0, function* () {
116
+ const pictureUrl = (_a = details.profile) === null || _a === void 0 ? void 0 : _a._json.picture;
117
+ if (pictureUrl) {
118
+ const response = yield (0, node_fetch_1.default)(pictureUrl);
119
+ if (response.status === 200) {
120
+ const type = response.headers.get("content-type");
121
+ if (type.startsWith("image/")) {
122
+ return pictureUrl;
123
+ }
124
+ }
125
+ }
126
+ });
105
127
  }
106
- async function syncUser(user, details) {
107
- let firstName;
108
- let lastName;
109
- let pictureUrl;
110
- let oauth2;
111
- let thirdPartyProfile;
112
- if (details.profile) {
113
- const profile = details.profile;
114
- if (profile.name) {
115
- const name = profile.name;
116
- if (name.givenName) {
117
- firstName = name.givenName;
118
- }
119
- if (name.familyName) {
120
- lastName = name.familyName;
121
- }
122
- }
123
- pictureUrl = await getProfilePictureUrl(user, details);
124
- thirdPartyProfile = {
125
- ...profile._json
126
- };
127
- }
128
- if (details.oauth2) {
129
- oauth2 = {
130
- ...details.oauth2
131
- };
132
- }
133
- return {
134
- ...user,
135
- provider: details.provider,
136
- providerType: details.providerType,
137
- firstName,
138
- lastName,
139
- thirdPartyProfile,
140
- pictureUrl,
141
- oauth2
142
- };
128
+ /**
129
+ * @returns a user that has been sync'd with third party information
130
+ */
131
+ function syncUser(user, details) {
132
+ return __awaiter(this, void 0, void 0, function* () {
133
+ let firstName;
134
+ let lastName;
135
+ let pictureUrl;
136
+ let oauth2;
137
+ let thirdPartyProfile;
138
+ if (details.profile) {
139
+ const profile = details.profile;
140
+ if (profile.name) {
141
+ const name = profile.name;
142
+ // first name
143
+ if (name.givenName) {
144
+ firstName = name.givenName;
145
+ }
146
+ // last name
147
+ if (name.familyName) {
148
+ lastName = name.familyName;
149
+ }
150
+ }
151
+ pictureUrl = yield getProfilePictureUrl(user, details);
152
+ thirdPartyProfile = Object.assign({}, profile._json);
153
+ }
154
+ // oauth tokens for future use
155
+ if (details.oauth2) {
156
+ oauth2 = Object.assign({}, details.oauth2);
157
+ }
158
+ return Object.assign(Object.assign({}, user), { provider: details.provider, providerType: details.providerType, firstName,
159
+ lastName,
160
+ thirdPartyProfile,
161
+ pictureUrl,
162
+ oauth2 });
163
+ });
143
164
  }
144
- // Annotate the CommonJS export names for ESM import in node:
145
- 0 && (module.exports = {
146
- authenticate,
147
- ssoSaveUserNoOp
148
- });
149
- //# sourceMappingURL=sso.js.map
165
+ //# sourceMappingURL=sso.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../../src/middleware/passport/sso/sso.ts"],
4
- "sourcesContent": ["import { generateGlobalUserID } from \"../../../db\"\nimport { authError } from \"../utils\"\nimport * as users from \"../../../users\"\nimport * as context from \"../../../context\"\nimport fetch from \"node-fetch\"\nimport {\n SaveSSOUserFunction,\n SaveUserOpts,\n SSOAuthDetails,\n SSOUser,\n User,\n} from \"@budibase/types\"\n\n// no-op function for user save\n// - this allows datasource auth and access token refresh to work correctly\n// - prefer no-op over an optional argument to ensure function is provided to login flows\nexport const ssoSaveUserNoOp: SaveSSOUserFunction = (\n user: SSOUser,\n opts: SaveUserOpts\n) => Promise.resolve(user)\n\n/**\n * Common authentication logic for third parties. e.g. OAuth, OIDC.\n */\nexport async function authenticate(\n details: SSOAuthDetails,\n requireLocalAccount: boolean = true,\n done: any,\n saveUserFn: SaveSSOUserFunction\n) {\n if (!saveUserFn) {\n throw new Error(\"Save user function must be provided\")\n }\n if (!details.userId) {\n return authError(done, \"sso user id required\")\n }\n if (!details.email) {\n return authError(done, \"sso user email required\")\n }\n\n // use the third party id\n const userId = generateGlobalUserID(details.userId)\n\n let dbUser: User | undefined\n\n // try to load by id\n try {\n dbUser = await users.getById(userId)\n } catch (err: any) {\n // abort when not 404 error\n if (!err.status || err.status !== 404) {\n return authError(\n done,\n \"Unexpected error when retrieving existing user\",\n err\n )\n }\n }\n\n // fallback to loading by email\n if (!dbUser) {\n dbUser = await users.getGlobalUserByEmail(details.email)\n }\n\n // exit early if there is still no user and auto creation is disabled\n if (!dbUser && requireLocalAccount) {\n return authError(\n done,\n \"Email does not yet exist. You must set up your local budibase account first.\"\n )\n }\n\n // first time creation\n if (!dbUser) {\n // setup a blank user using the third party id\n dbUser = {\n _id: userId,\n email: details.email,\n roles: {},\n tenantId: context.getTenantId(),\n }\n }\n\n let ssoUser = await syncUser(dbUser, details)\n // never prompt for password reset\n ssoUser.forceResetPassword = false\n\n try {\n // don't try to re-save any existing password\n delete ssoUser.password\n // create or sync the user\n ssoUser = (await saveUserFn(ssoUser, {\n hashPassword: false,\n requirePassword: false,\n })) as SSOUser\n } catch (err: any) {\n return authError(done, \"Error saving user\", err)\n }\n\n return done(null, ssoUser)\n}\n\nasync function getProfilePictureUrl(user: User, details: SSOAuthDetails) {\n const pictureUrl = details.profile?._json.picture\n if (pictureUrl) {\n const response = await fetch(pictureUrl)\n if (response.status === 200) {\n const type = response.headers.get(\"content-type\") as string\n if (type.startsWith(\"image/\")) {\n return pictureUrl\n }\n }\n }\n}\n\n/**\n * @returns a user that has been sync'd with third party information\n */\nasync function syncUser(user: User, details: SSOAuthDetails): Promise<SSOUser> {\n let firstName\n let lastName\n let pictureUrl\n let oauth2\n let thirdPartyProfile\n\n if (details.profile) {\n const profile = details.profile\n\n if (profile.name) {\n const name = profile.name\n // first name\n if (name.givenName) {\n firstName = name.givenName\n }\n // last name\n if (name.familyName) {\n lastName = name.familyName\n }\n }\n\n pictureUrl = await getProfilePictureUrl(user, details)\n\n thirdPartyProfile = {\n ...profile._json,\n }\n }\n\n // oauth tokens for future use\n if (details.oauth2) {\n oauth2 = {\n ...details.oauth2,\n }\n }\n\n return {\n ...user,\n provider: details.provider,\n providerType: details.providerType,\n firstName,\n lastName,\n thirdPartyProfile,\n pictureUrl,\n oauth2,\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAqC;AACrC,mBAA0B;AAC1B,YAAuB;AACvB,cAAyB;AACzB,wBAAkB;AAYX,MAAM,kBAAuC,CAClD,MACA,SACG,QAAQ,QAAQ,IAAI;AAKzB,eAAsB,aACpB,SACA,sBAA+B,MAC/B,MACA,YACA;AACA,MAAI,CAAC,YAAY;AACf,UAAM,IAAI,MAAM,qCAAqC;AAAA,EACvD;AACA,MAAI,CAAC,QAAQ,QAAQ;AACnB,eAAO,wBAAU,MAAM,sBAAsB;AAAA,EAC/C;AACA,MAAI,CAAC,QAAQ,OAAO;AAClB,eAAO,wBAAU,MAAM,yBAAyB;AAAA,EAClD;AAGA,QAAM,aAAS,gCAAqB,QAAQ,MAAM;AAElD,MAAI;AAGJ,MAAI;AACF,aAAS,MAAM,MAAM,QAAQ,MAAM;AAAA,EACrC,SAAS,KAAU;AAEjB,QAAI,CAAC,IAAI,UAAU,IAAI,WAAW,KAAK;AACrC,iBAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAGA,MAAI,CAAC,QAAQ;AACX,aAAS,MAAM,MAAM,qBAAqB,QAAQ,KAAK;AAAA,EACzD;AAGA,MAAI,CAAC,UAAU,qBAAqB;AAClC,eAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAGA,MAAI,CAAC,QAAQ;AAEX,aAAS;AAAA,MACP,KAAK;AAAA,MACL,OAAO,QAAQ;AAAA,MACf,OAAO,CAAC;AAAA,MACR,UAAU,QAAQ,YAAY;AAAA,IAChC;AAAA,EACF;AAEA,MAAI,UAAU,MAAM,SAAS,QAAQ,OAAO;AAE5C,UAAQ,qBAAqB;AAE7B,MAAI;AAEF,WAAO,QAAQ;AAEf,cAAW,MAAM,WAAW,SAAS;AAAA,MACnC,cAAc;AAAA,MACd,iBAAiB;AAAA,IACnB,CAAC;AAAA,EACH,SAAS,KAAU;AACjB,eAAO,wBAAU,MAAM,qBAAqB,GAAG;AAAA,EACjD;AAEA,SAAO,KAAK,MAAM,OAAO;AAC3B;AAEA,eAAe,qBAAqB,MAAY,SAAyB;AACvE,QAAM,aAAa,QAAQ,SAAS,MAAM;AAC1C,MAAI,YAAY;AACd,UAAM,WAAW,UAAM,kBAAAA,SAAM,UAAU;AACvC,QAAI,SAAS,WAAW,KAAK;AAC3B,YAAM,OAAO,SAAS,QAAQ,IAAI,cAAc;AAChD,UAAI,KAAK,WAAW,QAAQ,GAAG;AAC7B,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACF;AAKA,eAAe,SAAS,MAAY,SAA2C;AAC7E,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI;AAEJ,MAAI,QAAQ,SAAS;AACnB,UAAM,UAAU,QAAQ;AAExB,QAAI,QAAQ,MAAM;AAChB,YAAM,OAAO,QAAQ;AAErB,UAAI,KAAK,WAAW;AAClB,oBAAY,KAAK;AAAA,MACnB;AAEA,UAAI,KAAK,YAAY;AACnB,mBAAW,KAAK;AAAA,MAClB;AAAA,IACF;AAEA,iBAAa,MAAM,qBAAqB,MAAM,OAAO;AAErD,wBAAoB;AAAA,MAClB,GAAG,QAAQ;AAAA,IACb;AAAA,EACF;AAGA,MAAI,QAAQ,QAAQ;AAClB,aAAS;AAAA,MACP,GAAG,QAAQ;AAAA,IACb;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,UAAU,QAAQ;AAAA,IAClB,cAAc,QAAQ;AAAA,IACtB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
6
- "names": ["fetch"]
7
- }
1
+ {"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../../../src/middleware/passport/sso/sso.ts"],"names":[],"mappings":"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"}
@@ -1,62 +1,66 @@
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 __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;
11
24
  };
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;
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
+ });
19
33
  };
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 utils_exports = {};
30
- __export(utils_exports, {
31
- authError: () => authError,
32
- ssoCallbackUrl: () => ssoCallbackUrl
33
- });
34
- module.exports = __toCommonJS(utils_exports);
35
- var import_context = require("../../context");
36
- var configs = __toESM(require("../../configs"));
34
+ Object.defineProperty(exports, "__esModule", { value: true });
35
+ exports.ssoCallbackUrl = exports.authError = void 0;
36
+ const context_1 = require("../../context");
37
+ const configs = __importStar(require("../../configs"));
38
+ /**
39
+ * Utility to handle authentication errors.
40
+ *
41
+ * @param {*} done The passport callback.
42
+ * @param {*} message Message that will be returned in the response body
43
+ * @param {*} err (Optional) error that will be logged
44
+ */
37
45
  function authError(done, message, err) {
38
- return done(
39
- err,
40
- null,
41
- // never return a user
42
- { message }
43
- );
46
+ return done(err, null, // never return a user
47
+ { message: message });
44
48
  }
45
- async function ssoCallbackUrl(type, config) {
46
- if (config && config.callbackURL) {
47
- return config.callbackURL;
48
- }
49
- const settingsConfig = await configs.getSettingsConfig();
50
- let callbackUrl = `/api/global/auth`;
51
- if ((0, import_context.isMultiTenant)()) {
52
- callbackUrl += `/${(0, import_context.getTenantId)()}`;
53
- }
54
- callbackUrl += `/${type}/callback`;
55
- return `${settingsConfig.platformUrl}${callbackUrl}`;
49
+ exports.authError = authError;
50
+ function ssoCallbackUrl(type, config) {
51
+ return __awaiter(this, void 0, void 0, function* () {
52
+ // incase there is a callback URL from before
53
+ if (config && config.callbackURL) {
54
+ return config.callbackURL;
55
+ }
56
+ const settingsConfig = yield configs.getSettingsConfig();
57
+ let callbackUrl = `/api/global/auth`;
58
+ if ((0, context_1.isMultiTenant)()) {
59
+ callbackUrl += `/${(0, context_1.getTenantId)()}`;
60
+ }
61
+ callbackUrl += `/${type}/callback`;
62
+ return `${settingsConfig.platformUrl}${callbackUrl}`;
63
+ });
56
64
  }
57
- // Annotate the CommonJS export names for ESM import in node:
58
- 0 && (module.exports = {
59
- authError,
60
- ssoCallbackUrl
61
- });
62
- //# sourceMappingURL=utils.js.map
65
+ exports.ssoCallbackUrl = ssoCallbackUrl;
66
+ //# sourceMappingURL=utils.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../../src/middleware/passport/utils.ts"],
4
- "sourcesContent": ["import { getTenantId, isMultiTenant } from \"../../context\"\nimport * as configs from \"../../configs\"\nimport { ConfigType, GoogleInnerConfig } from \"@budibase/types\"\n\n/**\n * Utility to handle authentication errors.\n *\n * @param {*} done The passport callback.\n * @param {*} message Message that will be returned in the response body\n * @param {*} err (Optional) error that will be logged\n */\n\nexport function authError(done: Function, message: string, err?: any) {\n return done(\n err,\n null, // never return a user\n { message: message }\n )\n}\n\nexport async function ssoCallbackUrl(\n type: ConfigType,\n config?: GoogleInnerConfig\n) {\n // incase there is a callback URL from before\n if (config && (config as GoogleInnerConfig).callbackURL) {\n return (config as GoogleInnerConfig).callbackURL as string\n }\n const settingsConfig = await configs.getSettingsConfig()\n\n let callbackUrl = `/api/global/auth`\n if (isMultiTenant()) {\n callbackUrl += `/${getTenantId()}`\n }\n callbackUrl += `/${type}/callback`\n\n return `${settingsConfig.platformUrl}${callbackUrl}`\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA2C;AAC3C,cAAyB;AAWlB,SAAS,UAAU,MAAgB,SAAiB,KAAW;AACpE,SAAO;AAAA,IACL;AAAA,IACA;AAAA;AAAA,IACA,EAAE,QAAiB;AAAA,EACrB;AACF;AAEA,eAAsB,eACpB,MACA,QACA;AAEA,MAAI,UAAW,OAA6B,aAAa;AACvD,WAAQ,OAA6B;AAAA,EACvC;AACA,QAAM,iBAAiB,MAAM,QAAQ,kBAAkB;AAEvD,MAAI,cAAc;AAClB,UAAI,8BAAc,GAAG;AACnB,mBAAe,QAAI,4BAAY,CAAC;AAAA,EAClC;AACA,iBAAe,IAAI,IAAI;AAEvB,SAAO,GAAG,eAAe,WAAW,GAAG,WAAW;AACpD;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/middleware/passport/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA0D;AAC1D,uDAAwC;AAGxC;;;;;;GAMG;AAEH,SAAgB,SAAS,CAAC,IAAc,EAAE,OAAe,EAAE,GAAS;IAClE,OAAO,IAAI,CACT,GAAG,EACH,IAAI,EAAE,sBAAsB;IAC5B,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAA;AACH,CAAC;AAND,8BAMC;AAED,SAAsB,cAAc,CAClC,IAAgB,EAChB,MAA0B;;QAE1B,6CAA6C;QAC7C,IAAI,MAAM,IAAK,MAA4B,CAAC,WAAW,EAAE;YACvD,OAAQ,MAA4B,CAAC,WAAqB,CAAA;SAC3D;QACD,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,iBAAiB,EAAE,CAAA;QAExD,IAAI,WAAW,GAAG,kBAAkB,CAAA;QACpC,IAAI,IAAA,uBAAa,GAAE,EAAE;YACnB,WAAW,IAAI,IAAI,IAAA,qBAAW,GAAE,EAAE,CAAA;SACnC;QACD,WAAW,IAAI,IAAI,IAAI,WAAW,CAAA;QAElC,OAAO,GAAG,cAAc,CAAC,WAAW,GAAG,WAAW,EAAE,CAAA;IACtD,CAAC;CAAA;AAjBD,wCAiBC"}
@@ -1,45 +1,29 @@
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 querystringToBody_exports = {};
20
- __export(querystringToBody_exports, {
21
- default: () => querystringToBody_default
22
- });
23
- module.exports = __toCommonJS(querystringToBody_exports);
24
- function querystringToBody_default(ctx, next) {
25
- const queryString = ctx.request.query?.query;
26
- if (ctx.request.method.toLowerCase() !== "get") {
27
- ctx.throw(
28
- 500,
29
- "Query to download middleware can only be used for get requests."
30
- );
31
- }
32
- if (!queryString) {
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Expects a standard "query" query string property which is the JSON body
5
+ * of the request, which has to be sent via query string due to the requirement
6
+ * of making an endpoint a GET request e.g. downloading a file stream.
7
+ */
8
+ function default_1(ctx, next) {
9
+ var _a;
10
+ const queryString = (_a = ctx.request.query) === null || _a === void 0 ? void 0 : _a.query;
11
+ if (ctx.request.method.toLowerCase() !== "get") {
12
+ ctx.throw(500, "Query to download middleware can only be used for get requests.");
13
+ }
14
+ if (!queryString) {
15
+ return next();
16
+ }
17
+ const decoded = decodeURIComponent(queryString);
18
+ let json;
19
+ try {
20
+ json = JSON.parse(decoded);
21
+ }
22
+ catch (err) {
23
+ return next();
24
+ }
25
+ ctx.request.body = json;
33
26
  return next();
34
- }
35
- const decoded = decodeURIComponent(queryString);
36
- let json;
37
- try {
38
- json = JSON.parse(decoded);
39
- } catch (err) {
40
- return next();
41
- }
42
- ctx.request.body = json;
43
- return next();
44
27
  }
45
- //# sourceMappingURL=querystringToBody.js.map
28
+ exports.default = default_1;
29
+ //# sourceMappingURL=querystringToBody.js.map
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/middleware/querystringToBody.ts"],
4
- "sourcesContent": ["import { Ctx } from \"@budibase/types\"\n\n/**\n * Expects a standard \"query\" query string property which is the JSON body\n * of the request, which has to be sent via query string due to the requirement\n * of making an endpoint a GET request e.g. downloading a file stream.\n */\nexport default function (ctx: Ctx, next: any) {\n const queryString = ctx.request.query?.query as string | undefined\n if (ctx.request.method.toLowerCase() !== \"get\") {\n ctx.throw(\n 500,\n \"Query to download middleware can only be used for get requests.\"\n )\n }\n if (!queryString) {\n return next()\n }\n const decoded = decodeURIComponent(queryString)\n let json\n try {\n json = JSON.parse(decoded)\n } catch (err) {\n return next()\n }\n ctx.request.body = json\n return next()\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAOe,SAAR,0BAAkB,KAAU,MAAW;AAC5C,QAAM,cAAc,IAAI,QAAQ,OAAO;AACvC,MAAI,IAAI,QAAQ,OAAO,YAAY,MAAM,OAAO;AAC9C,QAAI;AAAA,MACF;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,MAAI,CAAC,aAAa;AAChB,WAAO,KAAK;AAAA,EACd;AACA,QAAM,UAAU,mBAAmB,WAAW;AAC9C,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,SAAS,KAAK;AACZ,WAAO,KAAK;AAAA,EACd;AACA,MAAI,QAAQ,OAAO;AACnB,SAAO,KAAK;AACd;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"querystringToBody.js","sourceRoot":"","sources":["../../../src/middleware/querystringToBody.ts"],"names":[],"mappings":";;AAEA;;;;GAIG;AACH,mBAAyB,GAAQ,EAAE,IAAS;;IAC1C,MAAM,WAAW,GAAG,MAAA,GAAG,CAAC,OAAO,CAAC,KAAK,0CAAE,KAA2B,CAAA;IAClE,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,EAAE;QAC9C,GAAG,CAAC,KAAK,CACP,GAAG,EACH,iEAAiE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,IAAI,EAAE,CAAA;KACd;IACD,MAAM,OAAO,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC/C,IAAI,IAAI,CAAA;IACR,IAAI;QACF,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;KAC3B;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,IAAI,EAAE,CAAA;KACd;IACD,GAAG,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;IACvB,OAAO,IAAI,EAAE,CAAA;AACf,CAAC;AApBD,4BAoBC"}