@budibase/backend-core 2.5.6-alpha.9 → 2.5.7

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 (397) hide show
  1. package/dist/package.json +12 -12
  2. package/dist/src/cache/writethrough.js +1 -1
  3. package/dist/src/cache/writethrough.js.map +1 -1
  4. package/dist/src/configs/configs.d.ts +1 -2
  5. package/dist/src/configs/configs.js +1 -9
  6. package/dist/src/configs/configs.js.map +1 -1
  7. package/dist/src/constants/misc.d.ts +2 -4
  8. package/dist/src/constants/misc.js +0 -2
  9. package/dist/src/constants/misc.js.map +1 -1
  10. package/dist/src/context/mainContext.d.ts +1 -4
  11. package/dist/src/context/mainContext.js +3 -20
  12. package/dist/src/context/mainContext.js.map +1 -1
  13. package/dist/src/context/types.d.ts +0 -1
  14. package/dist/src/db/conversions.js.map +1 -0
  15. package/dist/src/db/couch/DatabaseImpl.js +1 -1
  16. package/dist/src/db/couch/DatabaseImpl.js.map +1 -1
  17. package/dist/src/db/index.d.ts +1 -2
  18. package/dist/src/db/index.js +2 -15
  19. package/dist/src/db/index.js.map +1 -1
  20. package/dist/src/db/lucene.d.ts +14 -8
  21. package/dist/src/db/lucene.js +86 -152
  22. package/dist/src/db/lucene.js.map +1 -1
  23. package/dist/src/db/utils.d.ts +126 -5
  24. package/dist/src/db/utils.js +232 -20
  25. package/dist/src/db/utils.js.map +1 -1
  26. package/dist/src/db/views.js +1 -16
  27. package/dist/src/db/views.js.map +1 -1
  28. package/dist/src/environment.d.ts +2 -2
  29. package/dist/src/environment.js +2 -9
  30. package/dist/src/environment.js.map +1 -1
  31. package/dist/src/errors/errors.d.ts +0 -3
  32. package/dist/src/errors/errors.js +1 -8
  33. package/dist/src/errors/errors.js.map +1 -1
  34. package/dist/src/events/events.js +0 -9
  35. package/dist/src/events/events.js.map +1 -1
  36. package/dist/src/events/identification.js +0 -1
  37. package/dist/src/events/identification.js.map +1 -1
  38. package/dist/src/events/index.d.ts +0 -1
  39. package/dist/src/events/index.js +1 -3
  40. package/dist/src/events/index.js.map +1 -1
  41. package/dist/src/events/processors/LoggingProcessor.js +17 -3
  42. package/dist/src/events/processors/LoggingProcessor.js.map +1 -1
  43. package/dist/src/events/processors/Processors.js +3 -9
  44. package/dist/src/events/processors/Processors.js.map +1 -1
  45. package/dist/src/events/processors/types.d.ts +11 -1
  46. package/dist/src/events/processors/types.js +6 -0
  47. package/dist/src/events/processors/types.js.map +1 -1
  48. package/dist/src/events/publishers/group.js +0 -6
  49. package/dist/src/events/publishers/group.js.map +1 -1
  50. package/dist/src/events/publishers/user.js +0 -4
  51. package/dist/src/events/publishers/user.js.map +1 -1
  52. package/dist/src/index.d.ts +1 -5
  53. package/dist/src/index.js +1 -2
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/{logging/alerts.d.ts → logging.d.ts} +5 -0
  56. package/dist/src/logging.js +56 -0
  57. package/dist/src/logging.js.map +1 -0
  58. package/dist/src/middleware/authenticated.js +2 -5
  59. package/dist/src/middleware/authenticated.js.map +1 -1
  60. package/dist/src/middleware/errorHandling.js +7 -5
  61. package/dist/src/middleware/errorHandling.js.map +1 -1
  62. package/dist/src/middleware/index.d.ts +1 -2
  63. package/dist/src/middleware/index.js +3 -5
  64. package/dist/src/middleware/index.js.map +1 -1
  65. package/dist/src/middleware/logging.d.ts +2 -0
  66. package/dist/src/middleware/logging.js +106 -0
  67. package/dist/src/middleware/logging.js.map +1 -0
  68. package/dist/src/middleware/passport/sso/oidc.js +5 -2
  69. package/dist/src/middleware/passport/sso/oidc.js.map +1 -1
  70. package/dist/src/migrations/migrations.js +4 -4
  71. package/dist/src/migrations/migrations.js.map +1 -1
  72. package/dist/src/newid.js.map +1 -0
  73. package/dist/src/objectStore/objectStore.js +3 -3
  74. package/dist/src/objectStore/objectStore.js.map +1 -1
  75. package/dist/src/plugin/utils.js +2 -53
  76. package/dist/src/plugin/utils.js.map +1 -1
  77. package/dist/src/queue/constants.d.ts +1 -2
  78. package/dist/src/queue/constants.js +0 -1
  79. package/dist/src/queue/constants.js.map +1 -1
  80. package/dist/src/security/encryption.d.ts +0 -1
  81. package/dist/src/security/encryption.js +1 -2
  82. package/dist/src/security/encryption.js.map +1 -1
  83. package/dist/src/security/permissions.d.ts +2 -35
  84. package/dist/src/security/permissions.js +6 -9
  85. package/dist/src/security/permissions.js.map +1 -1
  86. package/dist/src/tenancy/tenancy.js +5 -1
  87. package/dist/src/tenancy/tenancy.js.map +1 -1
  88. package/dist/src/users.d.ts +1 -10
  89. package/dist/src/users.js +1 -35
  90. package/dist/src/users.js.map +1 -1
  91. package/dist/src/utils/hashing.d.ts +1 -1
  92. package/dist/src/utils/hashing.js +1 -1
  93. package/dist/src/utils/hashing.js.map +1 -1
  94. package/dist/src/utils/index.d.ts +0 -1
  95. package/dist/src/utils/index.js +0 -1
  96. package/dist/src/utils/index.js.map +1 -1
  97. package/dist/tests/index.d.ts +1 -1
  98. package/dist/tests/index.js +1 -1
  99. package/dist/tests/index.js.map +1 -1
  100. package/dist/tests/jestEnv.js +1 -0
  101. package/dist/tests/jestEnv.js.map +1 -1
  102. package/dist/tests/jestSetup.d.ts +1 -1
  103. package/dist/tests/jestSetup.js +2 -2
  104. package/dist/tests/jestSetup.js.map +1 -1
  105. package/dist/tests/logging.js.map +1 -0
  106. package/dist/tests/{extra → utilities}/DBTestConfiguration.d.ts +1 -1
  107. package/dist/tests/{extra → utilities}/DBTestConfiguration.js +2 -2
  108. package/dist/tests/utilities/DBTestConfiguration.js.map +1 -0
  109. package/dist/tests/{core/utilities → utilities}/index.d.ts +2 -0
  110. package/dist/tests/{core/utilities → utilities}/index.js +7 -1
  111. package/dist/tests/utilities/index.js.map +1 -0
  112. package/dist/tests/utilities/jestUtils.js.map +1 -0
  113. package/dist/tests/utilities/mocks/date.js.map +1 -0
  114. package/dist/tests/utilities/mocks/events.d.ts +1 -0
  115. package/dist/tests/utilities/mocks/events.js +126 -0
  116. package/dist/tests/utilities/mocks/events.js.map +1 -0
  117. package/dist/tests/utilities/mocks/fetch.d.ts +31 -0
  118. package/dist/tests/utilities/mocks/fetch.js +8 -0
  119. package/dist/tests/utilities/mocks/fetch.js.map +1 -0
  120. package/dist/tests/{core/utilities → utilities}/mocks/index.d.ts +3 -4
  121. package/dist/tests/{core/utilities → utilities}/mocks/index.js +3 -7
  122. package/dist/tests/utilities/mocks/index.js.map +1 -0
  123. package/dist/tests/{core/utilities → utilities}/mocks/licenses.d.ts +0 -1
  124. package/dist/tests/{core/utilities → utilities}/mocks/licenses.js +1 -5
  125. package/dist/tests/utilities/mocks/licenses.js.map +1 -0
  126. package/dist/tests/utilities/mocks/posthog.js.map +1 -0
  127. package/dist/tests/{core/utilities → utilities}/structures/accounts.js +25 -2
  128. package/dist/tests/utilities/structures/accounts.js.map +1 -0
  129. package/dist/tests/{core/utilities → utilities}/structures/apps.js +1 -1
  130. package/dist/tests/utilities/structures/apps.js.map +1 -0
  131. package/dist/tests/utilities/structures/common.js.map +1 -0
  132. package/dist/tests/{core/utilities → utilities}/structures/db.js +1 -1
  133. package/dist/tests/utilities/structures/db.js.map +1 -0
  134. package/dist/tests/utilities/structures/generator.js.map +1 -0
  135. package/dist/tests/{core/utilities → utilities}/structures/index.d.ts +0 -1
  136. package/dist/tests/{core/utilities → utilities}/structures/index.js +1 -2
  137. package/dist/tests/utilities/structures/index.js.map +1 -0
  138. package/dist/tests/utilities/structures/koa.js.map +1 -0
  139. package/dist/tests/utilities/structures/licenses.js.map +1 -0
  140. package/dist/tests/utilities/structures/plugins.js.map +1 -0
  141. package/dist/tests/utilities/structures/shared.js.map +1 -0
  142. package/dist/tests/utilities/structures/sso.js.map +1 -0
  143. package/dist/tests/{core/utilities → utilities}/structures/tenants.js +1 -1
  144. package/dist/tests/utilities/structures/tenants.js.map +1 -0
  145. package/dist/tests/utilities/structures/userGroups.js.map +1 -0
  146. package/dist/tests/utilities/structures/users.js.map +1 -0
  147. package/dist/tests/utilities/testContainerUtils.js.map +1 -0
  148. package/dist/tests/{extra → utilities}/testEnv.js +1 -1
  149. package/dist/tests/utilities/testEnv.js.map +1 -0
  150. package/dist/tsconfig.build.tsbuildinfo +1 -1
  151. package/package.json +12 -12
  152. package/src/auth/tests/auth.spec.ts +1 -2
  153. package/src/cache/tests/writethrough.spec.ts +3 -4
  154. package/src/cache/writethrough.ts +2 -1
  155. package/src/configs/configs.ts +0 -9
  156. package/src/configs/tests/configs.spec.ts +6 -2
  157. package/src/constants/misc.ts +0 -2
  158. package/src/context/mainContext.ts +2 -19
  159. package/src/context/tests/index.spec.ts +3 -16
  160. package/src/context/types.ts +0 -1
  161. package/src/db/couch/DatabaseImpl.ts +1 -1
  162. package/src/db/index.ts +1 -2
  163. package/src/db/lucene.ts +88 -143
  164. package/src/db/tests/lucene.spec.ts +1 -101
  165. package/src/db/tests/utils.spec.ts +1 -1
  166. package/src/db/utils.ts +275 -7
  167. package/src/db/views.ts +2 -18
  168. package/src/environment.ts +2 -11
  169. package/src/errors/errors.ts +0 -8
  170. package/src/events/events.ts +1 -10
  171. package/src/events/identification.ts +0 -1
  172. package/src/events/index.ts +0 -2
  173. package/src/events/processors/LoggingProcessor.ts +22 -3
  174. package/src/events/processors/Processors.ts +3 -9
  175. package/src/events/processors/posthog/tests/PosthogProcessor.spec.ts +1 -1
  176. package/src/events/processors/types.ts +18 -1
  177. package/src/events/publishers/group.ts +1 -6
  178. package/src/events/publishers/user.ts +0 -4
  179. package/src/index.ts +0 -1
  180. package/src/logging.ts +60 -0
  181. package/src/middleware/authenticated.ts +2 -8
  182. package/src/middleware/errorHandling.ts +4 -4
  183. package/src/middleware/index.ts +1 -2
  184. package/src/middleware/logging.ts +90 -0
  185. package/src/middleware/passport/sso/oidc.ts +9 -2
  186. package/src/middleware/passport/sso/tests/sso.spec.ts +1 -2
  187. package/src/migrations/migrations.ts +8 -4
  188. package/src/migrations/tests/__snapshots__/migrations.spec.ts.snap +1 -1
  189. package/src/migrations/tests/migrations.spec.ts +1 -1
  190. package/src/objectStore/buckets/tests/app.spec.ts +1 -1
  191. package/src/objectStore/buckets/tests/global.spec.ts +1 -1
  192. package/src/objectStore/buckets/tests/plugins.spec.ts +1 -2
  193. package/src/objectStore/objectStore.ts +3 -3
  194. package/src/platform/tests/tenants.spec.ts +1 -2
  195. package/src/plugin/utils.ts +3 -63
  196. package/src/queue/constants.ts +0 -1
  197. package/src/security/encryption.ts +1 -1
  198. package/src/security/permissions.ts +5 -5
  199. package/src/tenancy/tenancy.ts +2 -2
  200. package/src/users.ts +1 -41
  201. package/src/utils/hashing.ts +1 -1
  202. package/src/utils/index.ts +0 -1
  203. package/src/utils/tests/utils.spec.ts +1 -2
  204. package/tests/index.ts +1 -1
  205. package/tests/jestEnv.ts +1 -0
  206. package/tests/jestSetup.ts +2 -2
  207. package/tests/{extra → utilities}/DBTestConfiguration.ts +2 -2
  208. package/tests/{core/utilities → utilities}/index.ts +3 -0
  209. package/tests/utilities/mocks/events.ts +122 -0
  210. package/tests/utilities/mocks/fetch.ts +10 -0
  211. package/tests/{core/utilities → utilities}/mocks/index.ts +3 -4
  212. package/tests/{core/utilities → utilities}/mocks/licenses.ts +0 -4
  213. package/tests/{core/utilities → utilities}/structures/accounts.ts +2 -2
  214. package/tests/{core/utilities → utilities}/structures/apps.ts +1 -1
  215. package/tests/{core/utilities → utilities}/structures/db.ts +1 -1
  216. package/tests/{core/utilities → utilities}/structures/index.ts +0 -1
  217. package/tests/{core/utilities → utilities}/structures/tenants.ts +1 -1
  218. package/tests/{extra → utilities}/testEnv.ts +1 -1
  219. package/tsconfig.json +8 -3
  220. package/dist/src/db/searchIndexes/index.d.ts +0 -1
  221. package/dist/src/db/searchIndexes/index.js +0 -18
  222. package/dist/src/db/searchIndexes/index.js.map +0 -1
  223. package/dist/src/db/searchIndexes/searchIndexes.d.ts +0 -1
  224. package/dist/src/db/searchIndexes/searchIndexes.js +0 -77
  225. package/dist/src/db/searchIndexes/searchIndexes.js.map +0 -1
  226. package/dist/src/docIds/conversions.js.map +0 -1
  227. package/dist/src/docIds/ids.d.ts +0 -53
  228. package/dist/src/docIds/ids.js +0 -101
  229. package/dist/src/docIds/ids.js.map +0 -1
  230. package/dist/src/docIds/index.d.ts +0 -2
  231. package/dist/src/docIds/index.js +0 -19
  232. package/dist/src/docIds/index.js.map +0 -1
  233. package/dist/src/docIds/newid.js.map +0 -1
  234. package/dist/src/docIds/params.d.ts +0 -69
  235. package/dist/src/docIds/params.js +0 -138
  236. package/dist/src/docIds/params.js.map +0 -1
  237. package/dist/src/docUpdates/index.d.ts +0 -2
  238. package/dist/src/docUpdates/index.js +0 -36
  239. package/dist/src/docUpdates/index.js.map +0 -1
  240. package/dist/src/events/asyncEvents/index.d.ts +0 -2
  241. package/dist/src/events/asyncEvents/index.js +0 -19
  242. package/dist/src/events/asyncEvents/index.js.map +0 -1
  243. package/dist/src/events/asyncEvents/publisher.d.ts +0 -2
  244. package/dist/src/events/asyncEvents/publisher.js +0 -27
  245. package/dist/src/events/asyncEvents/publisher.js.map +0 -1
  246. package/dist/src/events/asyncEvents/queue.d.ts +0 -11
  247. package/dist/src/events/asyncEvents/queue.js +0 -26
  248. package/dist/src/events/asyncEvents/queue.js.map +0 -1
  249. package/dist/src/events/documentId.d.ts +0 -2
  250. package/dist/src/events/documentId.js +0 -28
  251. package/dist/src/events/documentId.js.map +0 -1
  252. package/dist/src/events/processors/async/DocumentUpdateProcessor.d.ts +0 -13
  253. package/dist/src/events/processors/async/DocumentUpdateProcessor.js +0 -44
  254. package/dist/src/events/processors/async/DocumentUpdateProcessor.js.map +0 -1
  255. package/dist/src/logging/alerts.js +0 -24
  256. package/dist/src/logging/alerts.js.map +0 -1
  257. package/dist/src/logging/correlation/correlation.d.ts +0 -2
  258. package/dist/src/logging/correlation/correlation.js +0 -17
  259. package/dist/src/logging/correlation/correlation.js.map +0 -1
  260. package/dist/src/logging/correlation/index.d.ts +0 -1
  261. package/dist/src/logging/correlation/index.js +0 -18
  262. package/dist/src/logging/correlation/index.js.map +0 -1
  263. package/dist/src/logging/correlation/middleware.d.ts +0 -2
  264. package/dist/src/logging/correlation/middleware.js +0 -17
  265. package/dist/src/logging/correlation/middleware.js.map +0 -1
  266. package/dist/src/logging/index.d.ts +0 -4
  267. package/dist/src/logging/index.js +0 -37
  268. package/dist/src/logging/index.js.map +0 -1
  269. package/dist/src/logging/pino/logger.d.ts +0 -3
  270. package/dist/src/logging/pino/logger.js +0 -181
  271. package/dist/src/logging/pino/logger.js.map +0 -1
  272. package/dist/src/logging/pino/middleware.d.ts +0 -4
  273. package/dist/src/logging/pino/middleware.js +0 -47
  274. package/dist/src/logging/pino/middleware.js.map +0 -1
  275. package/dist/src/utils/stringUtils.d.ts +0 -1
  276. package/dist/src/utils/stringUtils.js +0 -9
  277. package/dist/src/utils/stringUtils.js.map +0 -1
  278. package/dist/tests/core/logging.js.map +0 -1
  279. package/dist/tests/core/utilities/index.js.map +0 -1
  280. package/dist/tests/core/utilities/jestUtils.js.map +0 -1
  281. package/dist/tests/core/utilities/mocks/alerts.d.ts +0 -3
  282. package/dist/tests/core/utilities/mocks/alerts.js +0 -30
  283. package/dist/tests/core/utilities/mocks/alerts.js.map +0 -1
  284. package/dist/tests/core/utilities/mocks/date.js.map +0 -1
  285. package/dist/tests/core/utilities/mocks/events.d.ts +0 -0
  286. package/dist/tests/core/utilities/mocks/events.js +0 -136
  287. package/dist/tests/core/utilities/mocks/events.js.map +0 -1
  288. package/dist/tests/core/utilities/mocks/fetch.d.ts +0 -33
  289. package/dist/tests/core/utilities/mocks/fetch.js +0 -15
  290. package/dist/tests/core/utilities/mocks/fetch.js.map +0 -1
  291. package/dist/tests/core/utilities/mocks/index.js.map +0 -1
  292. package/dist/tests/core/utilities/mocks/licenses.js.map +0 -1
  293. package/dist/tests/core/utilities/mocks/posthog.js.map +0 -1
  294. package/dist/tests/core/utilities/structures/accounts.js.map +0 -1
  295. package/dist/tests/core/utilities/structures/apps.js.map +0 -1
  296. package/dist/tests/core/utilities/structures/common.js.map +0 -1
  297. package/dist/tests/core/utilities/structures/db.js.map +0 -1
  298. package/dist/tests/core/utilities/structures/generator.js.map +0 -1
  299. package/dist/tests/core/utilities/structures/index.js.map +0 -1
  300. package/dist/tests/core/utilities/structures/koa.js.map +0 -1
  301. package/dist/tests/core/utilities/structures/licenses.js.map +0 -1
  302. package/dist/tests/core/utilities/structures/plugins.js.map +0 -1
  303. package/dist/tests/core/utilities/structures/scim.d.ts +0 -14
  304. package/dist/tests/core/utilities/structures/scim.js +0 -67
  305. package/dist/tests/core/utilities/structures/scim.js.map +0 -1
  306. package/dist/tests/core/utilities/structures/shared.js.map +0 -1
  307. package/dist/tests/core/utilities/structures/sso.js.map +0 -1
  308. package/dist/tests/core/utilities/structures/tenants.js.map +0 -1
  309. package/dist/tests/core/utilities/structures/userGroups.js.map +0 -1
  310. package/dist/tests/core/utilities/structures/users.js.map +0 -1
  311. package/dist/tests/core/utilities/testContainerUtils.js.map +0 -1
  312. package/dist/tests/extra/DBTestConfiguration.js.map +0 -1
  313. package/dist/tests/extra/index.d.ts +0 -2
  314. package/dist/tests/extra/index.js +0 -33
  315. package/dist/tests/extra/index.js.map +0 -1
  316. package/dist/tests/extra/testEnv.js.map +0 -1
  317. package/src/db/searchIndexes/index.ts +0 -1
  318. package/src/db/searchIndexes/searchIndexes.ts +0 -62
  319. package/src/docIds/ids.ts +0 -102
  320. package/src/docIds/index.ts +0 -2
  321. package/src/docIds/params.ts +0 -174
  322. package/src/docUpdates/index.ts +0 -29
  323. package/src/events/asyncEvents/index.ts +0 -2
  324. package/src/events/asyncEvents/publisher.ts +0 -12
  325. package/src/events/asyncEvents/queue.ts +0 -22
  326. package/src/events/documentId.ts +0 -56
  327. package/src/events/processors/async/DocumentUpdateProcessor.ts +0 -43
  328. package/src/logging/alerts.ts +0 -26
  329. package/src/logging/correlation/correlation.ts +0 -13
  330. package/src/logging/correlation/index.ts +0 -1
  331. package/src/logging/correlation/middleware.ts +0 -17
  332. package/src/logging/index.ts +0 -6
  333. package/src/logging/pino/logger.ts +0 -188
  334. package/src/logging/pino/middleware.ts +0 -45
  335. package/src/plugin/tests/validation.spec.ts +0 -83
  336. package/src/security/tests/encryption.spec.ts +0 -31
  337. package/src/security/tests/permissions.spec.ts +0 -145
  338. package/src/tenancy/tests/tenancy.spec.ts +0 -184
  339. package/src/utils/stringUtils.ts +0 -8
  340. package/tests/core/utilities/mocks/alerts.ts +0 -3
  341. package/tests/core/utilities/mocks/events.ts +0 -123
  342. package/tests/core/utilities/mocks/fetch.ts +0 -17
  343. package/tests/core/utilities/structures/scim.ts +0 -81
  344. package/tests/extra/index.ts +0 -2
  345. /package/dist/src/{docIds → db}/conversions.d.ts +0 -0
  346. /package/dist/src/{docIds → db}/conversions.js +0 -0
  347. /package/dist/src/{docIds/newid.d.ts → newid.d.ts} +0 -0
  348. /package/dist/src/{docIds/newid.js → newid.js} +0 -0
  349. /package/dist/tests/{core/logging.d.ts → logging.d.ts} +0 -0
  350. /package/dist/tests/{core/logging.js → logging.js} +0 -0
  351. /package/dist/tests/{core/utilities → utilities}/jestUtils.d.ts +0 -0
  352. /package/dist/tests/{core/utilities → utilities}/jestUtils.js +0 -0
  353. /package/dist/tests/{core/utilities → utilities}/mocks/date.d.ts +0 -0
  354. /package/dist/tests/{core/utilities → utilities}/mocks/date.js +0 -0
  355. /package/dist/tests/{core/utilities → utilities}/mocks/posthog.d.ts +0 -0
  356. /package/dist/tests/{core/utilities → utilities}/mocks/posthog.js +0 -0
  357. /package/dist/tests/{core/utilities → utilities}/structures/accounts.d.ts +0 -0
  358. /package/dist/tests/{core/utilities → utilities}/structures/apps.d.ts +0 -0
  359. /package/dist/tests/{core/utilities → utilities}/structures/common.d.ts +0 -0
  360. /package/dist/tests/{core/utilities → utilities}/structures/common.js +0 -0
  361. /package/dist/tests/{core/utilities → utilities}/structures/db.d.ts +0 -0
  362. /package/dist/tests/{core/utilities → utilities}/structures/generator.d.ts +0 -0
  363. /package/dist/tests/{core/utilities → utilities}/structures/generator.js +0 -0
  364. /package/dist/tests/{core/utilities → utilities}/structures/koa.d.ts +0 -0
  365. /package/dist/tests/{core/utilities → utilities}/structures/koa.js +0 -0
  366. /package/dist/tests/{core/utilities → utilities}/structures/licenses.d.ts +0 -0
  367. /package/dist/tests/{core/utilities → utilities}/structures/licenses.js +0 -0
  368. /package/dist/tests/{core/utilities → utilities}/structures/plugins.d.ts +0 -0
  369. /package/dist/tests/{core/utilities → utilities}/structures/plugins.js +0 -0
  370. /package/dist/tests/{core/utilities → utilities}/structures/shared.d.ts +0 -0
  371. /package/dist/tests/{core/utilities → utilities}/structures/shared.js +0 -0
  372. /package/dist/tests/{core/utilities → utilities}/structures/sso.d.ts +0 -0
  373. /package/dist/tests/{core/utilities → utilities}/structures/sso.js +0 -0
  374. /package/dist/tests/{core/utilities → utilities}/structures/tenants.d.ts +0 -0
  375. /package/dist/tests/{core/utilities → utilities}/structures/userGroups.d.ts +0 -0
  376. /package/dist/tests/{core/utilities → utilities}/structures/userGroups.js +0 -0
  377. /package/dist/tests/{core/utilities → utilities}/structures/users.d.ts +0 -0
  378. /package/dist/tests/{core/utilities → utilities}/structures/users.js +0 -0
  379. /package/dist/tests/{core/utilities → utilities}/testContainerUtils.d.ts +0 -0
  380. /package/dist/tests/{core/utilities → utilities}/testContainerUtils.js +0 -0
  381. /package/dist/tests/{extra → utilities}/testEnv.d.ts +0 -0
  382. /package/src/{docIds → db}/conversions.ts +0 -0
  383. /package/src/{docIds/newid.ts → newid.ts} +0 -0
  384. /package/tests/{core/logging.ts → logging.ts} +0 -0
  385. /package/tests/{core/utilities → utilities}/jestUtils.ts +0 -0
  386. /package/tests/{core/utilities → utilities}/mocks/date.ts +0 -0
  387. /package/tests/{core/utilities → utilities}/mocks/posthog.ts +0 -0
  388. /package/tests/{core/utilities → utilities}/structures/common.ts +0 -0
  389. /package/tests/{core/utilities → utilities}/structures/generator.ts +0 -0
  390. /package/tests/{core/utilities → utilities}/structures/koa.ts +0 -0
  391. /package/tests/{core/utilities → utilities}/structures/licenses.ts +0 -0
  392. /package/tests/{core/utilities → utilities}/structures/plugins.ts +0 -0
  393. /package/tests/{core/utilities → utilities}/structures/shared.ts +0 -0
  394. /package/tests/{core/utilities → utilities}/structures/sso.ts +0 -0
  395. /package/tests/{core/utilities → utilities}/structures/userGroups.ts +0 -0
  396. /package/tests/{core/utilities → utilities}/structures/users.ts +0 -0
  397. /package/tests/{core/utilities → utilities}/testContainerUtils.ts +0 -0
@@ -1,43 +0,0 @@
1
- import { EventProcessor } from "../types"
2
- import { Event, Identity, DocUpdateEvent } from "@budibase/types"
3
- import { doInTenant } from "../../../context"
4
- import { getDocumentId } from "../../documentId"
5
- import { shutdown } from "../../asyncEvents"
6
-
7
- export type Processor = (update: DocUpdateEvent) => Promise<void>
8
- export type ProcessorMap = { events: Event[]; processor: Processor }[]
9
-
10
- export default class DocumentUpdateProcessor implements EventProcessor {
11
- processors: ProcessorMap = []
12
-
13
- constructor(processors: ProcessorMap) {
14
- this.processors = processors
15
- }
16
-
17
- async processEvent(
18
- event: Event,
19
- identity: Identity,
20
- properties: any,
21
- timestamp?: string | number
22
- ) {
23
- const tenantId = identity.realTenantId
24
- const docId = getDocumentId(event, properties)
25
- if (!tenantId || !docId) {
26
- return
27
- }
28
- for (let { events, processor } of this.processors) {
29
- if (events.includes(event)) {
30
- await doInTenant(tenantId, async () => {
31
- await processor({
32
- id: docId,
33
- tenantId,
34
- })
35
- })
36
- }
37
- }
38
- }
39
-
40
- shutdown() {
41
- return shutdown()
42
- }
43
- }
@@ -1,26 +0,0 @@
1
- const NonErrors = ["AccountError"]
2
-
3
- function isSuppressed(e?: any) {
4
- return e && e["suppressAlert"]
5
- }
6
-
7
- export function logAlert(message: string, e?: any) {
8
- if (e && NonErrors.includes(e.name) && isSuppressed(e)) {
9
- return
10
- }
11
- console.error(`bb-alert: ${message}`, e)
12
- }
13
-
14
- export function logAlertWithInfo(
15
- message: string,
16
- db: string,
17
- id: string,
18
- error: any
19
- ) {
20
- message = `${message} - db: ${db} - doc: ${id} - error: `
21
- logAlert(message, error)
22
- }
23
-
24
- export function logWarn(message: string) {
25
- console.warn(`bb-warn: ${message}`)
26
- }
@@ -1,13 +0,0 @@
1
- import { Header } from "../../constants"
2
- const correlator = require("correlation-id")
3
-
4
- export const setHeader = (headers: any) => {
5
- const correlationId = correlator.getId()
6
- if (correlationId) {
7
- headers[Header.CORRELATION_ID] = correlationId
8
- }
9
- }
10
-
11
- export function getId() {
12
- return correlator.getId()
13
- }
@@ -1 +0,0 @@
1
- export * from "./correlation"
@@ -1,17 +0,0 @@
1
- import { Header } from "../../constants"
2
- import { v4 as uuid } from "uuid"
3
- const correlator = require("correlation-id")
4
-
5
- const correlation = (ctx: any, next: any) => {
6
- // use the provided correlation id header if present
7
- let correlationId = ctx.headers[Header.CORRELATION_ID]
8
- if (!correlationId) {
9
- correlationId = uuid()
10
- }
11
-
12
- return correlator.withId(correlationId, () => {
13
- return next()
14
- })
15
- }
16
-
17
- export default correlation
@@ -1,6 +0,0 @@
1
- export * as correlation from "./correlation/correlation"
2
- export { logger, disableLogger } from "./pino/logger"
3
- export * from "./alerts"
4
-
5
- // turn off or on context logging i.e. tenantId, appId etc
6
- export let LOG_CONTEXT = true
@@ -1,188 +0,0 @@
1
- import env from "../../environment"
2
- import pino, { LoggerOptions } from "pino"
3
- import * as context from "../../context"
4
- import * as correlation from "../correlation"
5
- import { IdentityType } from "@budibase/types"
6
- import { LOG_CONTEXT } from "../index"
7
-
8
- // CORE LOGGERS - for disabling
9
-
10
- const BUILT_INS = {
11
- log: console.log,
12
- error: console.error,
13
- info: console.info,
14
- warn: console.warn,
15
- trace: console.trace,
16
- debug: console.debug,
17
- }
18
-
19
- // LOGGER
20
-
21
- const pinoOptions: LoggerOptions = {
22
- level: env.LOG_LEVEL,
23
- formatters: {
24
- level: label => {
25
- return { level: label.toUpperCase() }
26
- },
27
- bindings: () => {
28
- return {}
29
- },
30
- },
31
- timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`,
32
- }
33
-
34
- if (env.isDev()) {
35
- pinoOptions.transport = {
36
- target: "pino-pretty",
37
- options: {
38
- singleLine: true,
39
- },
40
- }
41
- }
42
-
43
- export const logger = pino(pinoOptions)
44
-
45
- export function disableLogger() {
46
- console.log = BUILT_INS.log
47
- console.error = BUILT_INS.error
48
- console.info = BUILT_INS.info
49
- console.warn = BUILT_INS.warn
50
- console.trace = BUILT_INS.trace
51
- console.debug = BUILT_INS.debug
52
- }
53
-
54
- // CONSOLE OVERRIDES
55
-
56
- interface MergingObject {
57
- objects?: any[]
58
- tenantId?: string
59
- appId?: string
60
- identityId?: string
61
- identityType?: IdentityType
62
- correlationId?: string
63
- err?: Error
64
- }
65
-
66
- function isPlainObject(obj: any) {
67
- return typeof obj === "object" && obj !== null && !(obj instanceof Error)
68
- }
69
-
70
- function isError(obj: any) {
71
- return obj instanceof Error
72
- }
73
-
74
- function isMessage(obj: any) {
75
- return typeof obj === "string"
76
- }
77
-
78
- /**
79
- * Backwards compatibility between console logging statements
80
- * and pino logging requirements.
81
- */
82
- function getLogParams(args: any[]): [MergingObject, string] {
83
- let error = undefined
84
- let objects: any[] = []
85
- let message = ""
86
-
87
- args.forEach(arg => {
88
- if (isMessage(arg)) {
89
- message = `${message} ${arg}`.trimStart()
90
- }
91
- if (isPlainObject(arg)) {
92
- objects.push(arg)
93
- }
94
- if (isError(arg)) {
95
- error = arg
96
- }
97
- })
98
-
99
- const identity = getIdentity()
100
-
101
- let contextObject = {}
102
-
103
- if (LOG_CONTEXT) {
104
- contextObject = {
105
- tenantId: getTenantId(),
106
- appId: getAppId(),
107
- identityId: identity?._id,
108
- identityType: identity?.type,
109
- correlationId: correlation.getId(),
110
- }
111
- }
112
-
113
- const mergingObject = {
114
- objects: objects.length ? objects : undefined,
115
- err: error,
116
- ...contextObject,
117
- }
118
-
119
- return [mergingObject, message]
120
- }
121
-
122
- console.log = (...arg: any[]) => {
123
- const [obj, msg] = getLogParams(arg)
124
- logger.info(obj, msg)
125
- }
126
- console.info = (...arg: any[]) => {
127
- const [obj, msg] = getLogParams(arg)
128
- logger.info(obj, msg)
129
- }
130
- console.warn = (...arg: any[]) => {
131
- const [obj, msg] = getLogParams(arg)
132
- logger.warn(obj, msg)
133
- }
134
- console.error = (...arg: any[]) => {
135
- const [obj, msg] = getLogParams(arg)
136
- logger.error(obj, msg)
137
- }
138
-
139
- /**
140
- * custom trace impl - this resembles the node trace behaviour rather
141
- * than traditional trace logging
142
- * @param arg
143
- */
144
- console.trace = (...arg: any[]) => {
145
- const [obj, msg] = getLogParams(arg)
146
- if (!obj.err) {
147
- // to get stack trace
148
- obj.err = new Error()
149
- }
150
- logger.trace(obj, msg)
151
- }
152
-
153
- console.debug = (...arg: any) => {
154
- const [obj, msg] = getLogParams(arg)
155
- logger.debug(obj, msg)
156
- }
157
-
158
- // CONTEXT
159
-
160
- const getTenantId = () => {
161
- let tenantId
162
- try {
163
- tenantId = context.getTenantId()
164
- } catch (e: any) {
165
- // do nothing
166
- }
167
- return tenantId
168
- }
169
-
170
- const getAppId = () => {
171
- let appId
172
- try {
173
- appId = context.getAppId()
174
- } catch (e) {
175
- // do nothing
176
- }
177
- return appId
178
- }
179
-
180
- const getIdentity = () => {
181
- let identity
182
- try {
183
- identity = context.getIdentity()
184
- } catch (e) {
185
- // do nothing
186
- }
187
- return identity
188
- }
@@ -1,45 +0,0 @@
1
- import env from "../../environment"
2
- import { logger } from "./logger"
3
- import { IncomingMessage } from "http"
4
- const pino = require("koa-pino-logger")
5
- import { Options } from "pino-http"
6
- import { Ctx } from "@budibase/types"
7
- const correlator = require("correlation-id")
8
-
9
- export function pinoSettings(): Options {
10
- return {
11
- logger,
12
- genReqId: correlator.getId,
13
- autoLogging: {
14
- ignore: (req: IncomingMessage) => !!req.url?.includes("/health"),
15
- },
16
- serializers: {
17
- req: req => {
18
- return {
19
- method: req.method,
20
- url: req.url,
21
- correlationId: req.id,
22
- }
23
- },
24
- res: res => {
25
- return {
26
- status: res.statusCode,
27
- }
28
- },
29
- },
30
- }
31
- }
32
-
33
- function getMiddleware() {
34
- if (env.HTTP_LOGGING) {
35
- return pino(pinoSettings())
36
- } else {
37
- return (ctx: Ctx, next: any) => {
38
- return next()
39
- }
40
- }
41
- }
42
-
43
- const pinoMiddleware = getMiddleware()
44
-
45
- export default pinoMiddleware
@@ -1,83 +0,0 @@
1
- import { validate } from "../utils"
2
- import fetch from "node-fetch"
3
- import { PluginType } from "@budibase/types"
4
-
5
- const repoUrl =
6
- "https://raw.githubusercontent.com/Budibase/budibase-skeleton/master"
7
- const automationLink = `${repoUrl}/automation/schema.json.hbs`
8
- const componentLink = `${repoUrl}/component/schema.json.hbs`
9
- const datasourceLink = `${repoUrl}/datasource/schema.json.hbs`
10
-
11
- async function getSchema(link: string) {
12
- const response = await fetch(link)
13
- if (response.status > 300) {
14
- return
15
- }
16
- const text = await response.text()
17
- return JSON.parse(text)
18
- }
19
-
20
- async function runTest(opts: { link?: string; schema?: any }) {
21
- let error
22
- try {
23
- let schema = opts.schema
24
- if (opts.link) {
25
- schema = await getSchema(opts.link)
26
- }
27
- validate(schema)
28
- } catch (err) {
29
- error = err
30
- }
31
- return error
32
- }
33
-
34
- describe("it should be able to validate an automation schema", () => {
35
- it("should return automation skeleton schema is valid", async () => {
36
- const error = await runTest({ link: automationLink })
37
- expect(error).toBeUndefined()
38
- })
39
-
40
- it("should fail given invalid automation schema", async () => {
41
- const error = await runTest({
42
- schema: {
43
- type: PluginType.AUTOMATION,
44
- schema: {},
45
- },
46
- })
47
- expect(error).toBeDefined()
48
- })
49
- })
50
-
51
- describe("it should be able to validate a component schema", () => {
52
- it("should return component skeleton schema is valid", async () => {
53
- const error = await runTest({ link: componentLink })
54
- expect(error).toBeUndefined()
55
- })
56
-
57
- it("should fail given invalid component schema", async () => {
58
- const error = await runTest({
59
- schema: {
60
- type: PluginType.COMPONENT,
61
- schema: {},
62
- },
63
- })
64
- expect(error).toBeDefined()
65
- })
66
- })
67
-
68
- describe("it should be able to validate a datasource schema", () => {
69
- it("should return datasource skeleton schema is valid", async () => {
70
- const error = await runTest({ link: datasourceLink })
71
- expect(error).toBeUndefined()
72
- })
73
-
74
- it("should fail given invalid datasource schema", async () => {
75
- const error = await runTest({
76
- schema: {
77
- type: PluginType.DATASOURCE,
78
- schema: {},
79
- },
80
- })
81
- expect(error).toBeDefined()
82
- })
83
- })
@@ -1,31 +0,0 @@
1
- import { encrypt, decrypt, SecretOption, getSecret } from "../encryption"
2
- import env from "../../environment"
3
-
4
- describe("encryption", () => {
5
- it("should throw an error if API encryption key is not set", () => {
6
- const jwt = getSecret(SecretOption.API)
7
- expect(jwt).toBe(env.JWT_SECRET)
8
- })
9
-
10
- it("should throw an error if encryption key is not set", () => {
11
- expect(() => getSecret(SecretOption.ENCRYPTION)).toThrow(
12
- 'Secret "ENCRYPTION_KEY" has not been set in environment.'
13
- )
14
- })
15
-
16
- it("should encrypt and decrypt a string using API encryption key", () => {
17
- env._set("API_ENCRYPTION_KEY", "api_secret")
18
- const plaintext = "budibase"
19
- const apiEncrypted = encrypt(plaintext, SecretOption.API)
20
- const decrypted = decrypt(apiEncrypted, SecretOption.API)
21
- expect(decrypted).toEqual(plaintext)
22
- })
23
-
24
- it("should encrypt and decrypt a string using encryption key", () => {
25
- env._set("ENCRYPTION_KEY", "normal_secret")
26
- const plaintext = "budibase"
27
- const encryptionEncrypted = encrypt(plaintext, SecretOption.ENCRYPTION)
28
- const decrypted = decrypt(encryptionEncrypted, SecretOption.ENCRYPTION)
29
- expect(decrypted).toEqual(plaintext)
30
- })
31
- })
@@ -1,145 +0,0 @@
1
- import { cloneDeep } from "lodash"
2
- import * as permissions from "../permissions"
3
- import { BUILTIN_ROLE_IDS } from "../roles"
4
-
5
- describe("levelToNumber", () => {
6
- it("should return 0 for EXECUTE", () => {
7
- expect(permissions.levelToNumber(permissions.PermissionLevel.EXECUTE)).toBe(
8
- 0
9
- )
10
- })
11
-
12
- it("should return 1 for READ", () => {
13
- expect(permissions.levelToNumber(permissions.PermissionLevel.READ)).toBe(1)
14
- })
15
-
16
- it("should return 2 for WRITE", () => {
17
- expect(permissions.levelToNumber(permissions.PermissionLevel.WRITE)).toBe(2)
18
- })
19
-
20
- it("should return 3 for ADMIN", () => {
21
- expect(permissions.levelToNumber(permissions.PermissionLevel.ADMIN)).toBe(3)
22
- })
23
-
24
- it("should return -1 for an unknown permission level", () => {
25
- expect(
26
- permissions.levelToNumber("unknown" as permissions.PermissionLevel)
27
- ).toBe(-1)
28
- })
29
- })
30
- describe("getAllowedLevels", () => {
31
- it('should return ["execute"] for EXECUTE', () => {
32
- expect(
33
- permissions.getAllowedLevels(permissions.PermissionLevel.EXECUTE)
34
- ).toEqual([permissions.PermissionLevel.EXECUTE])
35
- })
36
-
37
- it('should return ["execute", "read"] for READ', () => {
38
- expect(
39
- permissions.getAllowedLevels(permissions.PermissionLevel.READ)
40
- ).toEqual([
41
- permissions.PermissionLevel.EXECUTE,
42
- permissions.PermissionLevel.READ,
43
- ])
44
- })
45
-
46
- it('should return ["execute", "read", "write"] for WRITE', () => {
47
- expect(
48
- permissions.getAllowedLevels(permissions.PermissionLevel.WRITE)
49
- ).toEqual([
50
- permissions.PermissionLevel.EXECUTE,
51
- permissions.PermissionLevel.READ,
52
- permissions.PermissionLevel.WRITE,
53
- ])
54
- })
55
-
56
- it('should return ["execute", "read", "write"] for ADMIN', () => {
57
- expect(
58
- permissions.getAllowedLevels(permissions.PermissionLevel.ADMIN)
59
- ).toEqual([
60
- permissions.PermissionLevel.EXECUTE,
61
- permissions.PermissionLevel.READ,
62
- permissions.PermissionLevel.WRITE,
63
- ])
64
- })
65
-
66
- it("should return [] for an unknown permission level", () => {
67
- expect(
68
- permissions.getAllowedLevels("unknown" as permissions.PermissionLevel)
69
- ).toEqual([])
70
- })
71
- })
72
-
73
- describe("doesHaveBasePermission", () => {
74
- it("should return true if base permission has the required level", () => {
75
- const permType = permissions.PermissionType.USER
76
- const permLevel = permissions.PermissionLevel.READ
77
- const rolesHierarchy = [
78
- {
79
- roleId: BUILTIN_ROLE_IDS.ADMIN,
80
- permissionId: permissions.BuiltinPermissionID.ADMIN,
81
- },
82
- ]
83
- expect(
84
- permissions.doesHaveBasePermission(permType, permLevel, rolesHierarchy)
85
- ).toBe(true)
86
- })
87
-
88
- it("should return false if base permission does not have the required level", () => {
89
- const permType = permissions.PermissionType.APP
90
- const permLevel = permissions.PermissionLevel.READ
91
- const rolesHierarchy = [
92
- {
93
- roleId: BUILTIN_ROLE_IDS.PUBLIC,
94
- permissionId: permissions.BuiltinPermissionID.PUBLIC,
95
- },
96
- ]
97
- expect(
98
- permissions.doesHaveBasePermission(permType, permLevel, rolesHierarchy)
99
- ).toBe(false)
100
- })
101
- })
102
-
103
- describe("isPermissionLevelHigherThanRead", () => {
104
- it("should return true if level is higher than read", () => {
105
- expect(
106
- permissions.isPermissionLevelHigherThanRead(
107
- permissions.PermissionLevel.WRITE
108
- )
109
- ).toBe(true)
110
- })
111
-
112
- it("should return false if level is read or lower", () => {
113
- expect(
114
- permissions.isPermissionLevelHigherThanRead(
115
- permissions.PermissionLevel.READ
116
- )
117
- ).toBe(false)
118
- })
119
- })
120
-
121
- describe("getBuiltinPermissions", () => {
122
- it("returns a clone of the builtin permissions", () => {
123
- const builtins = permissions.getBuiltinPermissions()
124
- expect(builtins).toEqual(cloneDeep(permissions.BUILTIN_PERMISSIONS))
125
- expect(builtins).not.toBe(permissions.BUILTIN_PERMISSIONS)
126
- })
127
- })
128
-
129
- describe("getBuiltinPermissionByID", () => {
130
- it("returns correct permission object for valid ID", () => {
131
- const expectedPermission = {
132
- _id: permissions.BuiltinPermissionID.PUBLIC,
133
- name: "Public",
134
- permissions: [
135
- new permissions.Permission(
136
- permissions.PermissionType.WEBHOOK,
137
- permissions.PermissionLevel.EXECUTE
138
- ),
139
- ],
140
- }
141
- expect(permissions.getBuiltinPermissionByID("public")).toEqual(
142
- expectedPermission
143
- )
144
- })
145
- })