@budibase/server 2.1.22-alpha.2 → 2.1.22-alpha.4

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 (331) hide show
  1. package/builder/assets/{index.f18df330.js → index.18ee439f.js} +215 -215
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +9559 -2656
  4. package/coverage/coverage-final.json +144 -1
  5. package/coverage/lcov-report/index.html +621 -126
  6. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +190 -0
  7. package/coverage/lcov-report/{api → src/api}/controllers/apikeys.js.html +10 -10
  8. package/coverage/lcov-report/src/api/controllers/application.ts.html +1996 -0
  9. package/coverage/lcov-report/src/api/controllers/auth.ts.html +298 -0
  10. package/coverage/lcov-report/{api → src/api}/controllers/automation.js.html +10 -10
  11. package/coverage/lcov-report/src/api/controllers/backup.ts.html +148 -0
  12. package/coverage/lcov-report/{api → src/api}/controllers/cloud.js.html +10 -10
  13. package/coverage/lcov-report/src/api/controllers/component.ts.html +256 -0
  14. package/coverage/lcov-report/{api → src/api}/controllers/datasource.js.html +10 -10
  15. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.js.html +250 -0
  16. package/coverage/lcov-report/src/api/controllers/deploy/index.html +131 -0
  17. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +766 -0
  18. package/coverage/lcov-report/{api → src/api}/controllers/dev.js.html +10 -10
  19. package/coverage/lcov-report/{api → src/api}/controllers/index.html +123 -18
  20. package/coverage/lcov-report/{api → src/api}/controllers/integration.js.html +10 -10
  21. package/coverage/lcov-report/{api → src/api}/controllers/layout.js.html +10 -10
  22. package/coverage/lcov-report/{api → src/api}/controllers/metadata.js.html +10 -10
  23. package/coverage/lcov-report/{api → src/api}/controllers/migrations.js.html +10 -10
  24. package/coverage/lcov-report/{api → src/api}/controllers/permission.js.html +10 -10
  25. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +130 -0
  26. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +310 -0
  27. package/coverage/lcov-report/src/api/controllers/plugin/index.html +206 -0
  28. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +487 -0
  29. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +253 -0
  30. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +97 -0
  31. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +121 -0
  32. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +142 -0
  33. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +316 -0
  34. package/coverage/lcov-report/src/api/controllers/public/index.html +191 -0
  35. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +181 -0
  36. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +191 -0
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +124 -0
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +202 -0
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +178 -0
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +163 -0
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +181 -0
  42. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +145 -0
  43. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +328 -0
  44. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +253 -0
  45. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +268 -0
  46. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +220 -0
  47. package/coverage/lcov-report/src/api/controllers/query/import/index.html +116 -0
  48. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +376 -0
  49. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +131 -0
  50. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +379 -0
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +157 -0
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +403 -0
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +146 -0
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +586 -0
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +712 -0
  56. package/coverage/lcov-report/src/api/controllers/query/index.html +131 -0
  57. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +985 -0
  58. package/coverage/lcov-report/{api → src/api}/controllers/query/validation.js.html +10 -10
  59. package/coverage/lcov-report/{api → src/api}/controllers/role.js.html +10 -10
  60. package/coverage/lcov-report/{api → src/api}/controllers/routing.js.html +10 -10
  61. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +2332 -0
  62. package/coverage/lcov-report/{api → src/api}/controllers/row/external.js.html +10 -10
  63. package/coverage/lcov-report/{api → src/api}/controllers/row/index.html +48 -18
  64. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +541 -0
  65. package/coverage/lcov-report/{api → src/api}/controllers/row/internal.js.html +10 -10
  66. package/coverage/lcov-report/{api → src/api}/controllers/row/internalSearch.js.html +10 -10
  67. package/coverage/lcov-report/{api → src/api}/controllers/row/staticFormula.js.html +10 -10
  68. package/coverage/lcov-report/{api → src/api}/controllers/row/utils.js.html +10 -10
  69. package/coverage/lcov-report/src/api/controllers/screen.ts.html +451 -0
  70. package/coverage/lcov-report/{api → src/api}/controllers/script.js.html +10 -10
  71. package/coverage/lcov-report/src/api/controllers/static/index.html +116 -0
  72. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +700 -0
  73. package/coverage/lcov-report/{api → src/api}/controllers/table/bulkFormula.js.html +10 -10
  74. package/coverage/lcov-report/{api → src/api}/controllers/table/external.js.html +10 -10
  75. package/coverage/lcov-report/{api → src/api}/controllers/table/index.html +49 -19
  76. package/coverage/lcov-report/{api → src/api}/controllers/table/index.js.html +10 -10
  77. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +658 -0
  78. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +1240 -0
  79. package/coverage/lcov-report/{api → src/api}/controllers/templates.js.html +10 -10
  80. package/coverage/lcov-report/{api → src/api}/controllers/user.js.html +10 -10
  81. package/coverage/lcov-report/{api → src/api}/controllers/view/exporters.js.html +10 -10
  82. package/coverage/lcov-report/{api → src/api}/controllers/view/index.html +10 -10
  83. package/coverage/lcov-report/{api → src/api}/controllers/view/index.js.html +10 -10
  84. package/coverage/lcov-report/{api → src/api}/controllers/view/utils.js.html +10 -10
  85. package/coverage/lcov-report/{api → src/api}/controllers/view/viewBuilder.js.html +10 -10
  86. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +379 -0
  87. package/coverage/lcov-report/{api → src/api}/index.html +10 -10
  88. package/coverage/lcov-report/{api → src/api}/index.js.html +10 -10
  89. package/coverage/lcov-report/{api → src/api}/routes/analytics.js.html +10 -10
  90. package/coverage/lcov-report/{api → src/api}/routes/apikeys.js.html +10 -10
  91. package/coverage/lcov-report/src/api/routes/application.ts.html +199 -0
  92. package/coverage/lcov-report/src/api/routes/auth.ts.html +109 -0
  93. package/coverage/lcov-report/{api → src/api}/routes/automation.js.html +10 -10
  94. package/coverage/lcov-report/src/api/routes/backup.ts.html +115 -0
  95. package/coverage/lcov-report/{api → src/api}/routes/cloud.js.html +10 -10
  96. package/coverage/lcov-report/{api → src/api}/routes/component.js.html +10 -10
  97. package/coverage/lcov-report/{api → src/api}/routes/datasource.js.html +10 -10
  98. package/coverage/lcov-report/{api → src/api}/routes/deploy.js.html +10 -10
  99. package/coverage/lcov-report/{api → src/api}/routes/dev.js.html +10 -10
  100. package/coverage/lcov-report/{api → src/api}/routes/index.html +137 -17
  101. package/coverage/lcov-report/src/api/routes/index.ts.html +289 -0
  102. package/coverage/lcov-report/{api → src/api}/routes/integration.js.html +10 -10
  103. package/coverage/lcov-report/{api → src/api}/routes/layout.js.html +10 -10
  104. package/coverage/lcov-report/{api → src/api}/routes/metadata.js.html +10 -10
  105. package/coverage/lcov-report/{api → src/api}/routes/migrations.js.html +10 -10
  106. package/coverage/lcov-report/{api → src/api}/routes/permission.js.html +10 -10
  107. package/coverage/lcov-report/src/api/routes/plugin.ts.html +127 -0
  108. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +541 -0
  109. package/coverage/lcov-report/src/api/routes/public/index.html +191 -0
  110. package/coverage/lcov-report/src/api/routes/public/index.ts.html +502 -0
  111. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +116 -0
  112. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +328 -0
  113. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +313 -0
  114. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +598 -0
  115. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +586 -0
  116. package/coverage/lcov-report/src/api/routes/public/users.ts.html +511 -0
  117. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +238 -0
  118. package/coverage/lcov-report/src/api/routes/public/utils/index.html +116 -0
  119. package/coverage/lcov-report/{api → src/api}/routes/query.js.html +10 -10
  120. package/coverage/lcov-report/{api → src/api}/routes/role.js.html +10 -10
  121. package/coverage/lcov-report/{api → src/api}/routes/routing.js.html +10 -10
  122. package/coverage/lcov-report/src/api/routes/row.ts.html +889 -0
  123. package/coverage/lcov-report/{api → src/api}/routes/screen.js.html +10 -10
  124. package/coverage/lcov-report/{api → src/api}/routes/script.js.html +10 -10
  125. package/coverage/lcov-report/src/api/routes/static.ts.html +289 -0
  126. package/coverage/lcov-report/{api → src/api}/routes/table.js.html +10 -10
  127. package/coverage/lcov-report/{api → src/api}/routes/templates.js.html +10 -10
  128. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +556 -0
  129. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +131 -0
  130. package/coverage/lcov-report/src/api/routes/tests/utilities/index.js.html +367 -0
  131. package/coverage/lcov-report/{api → src/api}/routes/user.js.html +10 -10
  132. package/coverage/lcov-report/{api → src/api}/routes/utils/index.html +10 -10
  133. package/coverage/lcov-report/{api → src/api}/routes/utils/validators.js.html +10 -10
  134. package/coverage/lcov-report/{api → src/api}/routes/view.js.html +10 -10
  135. package/coverage/lcov-report/src/api/routes/webhook.ts.html +166 -0
  136. package/coverage/lcov-report/src/app.ts.html +403 -0
  137. package/coverage/lcov-report/{automations → src/automations}/actions.js.html +10 -10
  138. package/coverage/lcov-report/{automations → src/automations}/automationUtils.js.html +10 -10
  139. package/coverage/lcov-report/{automations → src/automations}/bullboard.js.html +10 -10
  140. package/coverage/lcov-report/{automations → src/automations}/index.html +34 -19
  141. package/coverage/lcov-report/{automations → src/automations}/index.js.html +10 -10
  142. package/coverage/lcov-report/src/automations/logging/index.html +116 -0
  143. package/coverage/lcov-report/src/automations/logging/index.ts.html +199 -0
  144. package/coverage/lcov-report/{automations → src/automations}/steps/bash.js.html +10 -10
  145. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +367 -0
  146. package/coverage/lcov-report/{automations → src/automations}/steps/delay.js.html +10 -10
  147. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +334 -0
  148. package/coverage/lcov-report/{automations → src/automations}/steps/discord.js.html +10 -10
  149. package/coverage/lcov-report/{automations → src/automations}/steps/executeQuery.js.html +10 -10
  150. package/coverage/lcov-report/{automations → src/automations}/steps/executeScript.js.html +10 -10
  151. package/coverage/lcov-report/{automations → src/automations}/steps/filter.js.html +10 -10
  152. package/coverage/lcov-report/{automations → src/automations}/steps/index.html +48 -18
  153. package/coverage/lcov-report/{automations → src/automations}/steps/integromat.js.html +10 -10
  154. package/coverage/lcov-report/{automations → src/automations}/steps/loop.js.html +10 -10
  155. package/coverage/lcov-report/{automations → src/automations}/steps/outgoingWebhook.js.html +10 -10
  156. package/coverage/lcov-report/{automations → src/automations}/steps/queryRows.js.html +10 -10
  157. package/coverage/lcov-report/{automations → src/automations}/steps/sendSmtpEmail.js.html +10 -10
  158. package/coverage/lcov-report/{automations → src/automations}/steps/serverLog.js.html +10 -10
  159. package/coverage/lcov-report/{automations → src/automations}/steps/slack.js.html +10 -10
  160. package/coverage/lcov-report/{automations → src/automations}/steps/updateRow.js.html +10 -10
  161. package/coverage/lcov-report/{automations → src/automations}/steps/utils.js.html +10 -10
  162. package/coverage/lcov-report/{automations → src/automations}/steps/zapier.js.html +10 -10
  163. package/coverage/lcov-report/src/automations/tests/utilities/index.html +116 -0
  164. package/coverage/lcov-report/src/automations/tests/utilities/index.js.html +238 -0
  165. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/app.js.html +10 -10
  166. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/cron.js.html +10 -10
  167. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/index.html +10 -10
  168. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/index.js.html +10 -10
  169. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowDeleted.js.html +10 -10
  170. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowSaved.js.html +10 -10
  171. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/rowUpdated.js.html +10 -10
  172. package/coverage/lcov-report/{automations → src/automations}/triggerInfo/webhook.js.html +10 -10
  173. package/coverage/lcov-report/{automations → src/automations}/triggers.js.html +10 -10
  174. package/coverage/lcov-report/src/automations/utils.ts.html +895 -0
  175. package/coverage/lcov-report/{constants → src/constants}/index.html +10 -10
  176. package/coverage/lcov-report/{constants → src/constants}/index.js.html +10 -10
  177. package/coverage/lcov-report/{constants → src/constants}/layouts.js.html +10 -10
  178. package/coverage/lcov-report/{constants → src/constants}/screens.js.html +10 -10
  179. package/coverage/lcov-report/src/db/dynamoClient.js.html +466 -0
  180. package/coverage/lcov-report/{db → src/db}/inMemoryView.js.html +10 -10
  181. package/coverage/lcov-report/{db → src/db}/index.html +33 -18
  182. package/coverage/lcov-report/{db → src/db}/index.js.html +10 -10
  183. package/coverage/lcov-report/{db → src/db}/linkedRows/LinkController.js.html +10 -10
  184. package/coverage/lcov-report/{db → src/db}/linkedRows/index.html +10 -10
  185. package/coverage/lcov-report/{db → src/db}/linkedRows/index.js.html +10 -10
  186. package/coverage/lcov-report/{db → src/db}/linkedRows/linkUtils.js.html +10 -10
  187. package/coverage/lcov-report/{db → src/db}/newid.js.html +10 -10
  188. package/coverage/lcov-report/{db → src/db}/utils.js.html +10 -10
  189. package/coverage/lcov-report/src/definitions/automations.ts.html +181 -0
  190. package/coverage/lcov-report/src/definitions/datasource.ts.html +235 -0
  191. package/coverage/lcov-report/src/definitions/index.html +131 -0
  192. package/coverage/lcov-report/src/environment.js.html +445 -0
  193. package/coverage/lcov-report/{events → src/events}/AutomationEmitter.js.html +10 -10
  194. package/coverage/lcov-report/{events → src/events}/index.html +10 -10
  195. package/coverage/lcov-report/{events → src/events}/index.js.html +10 -10
  196. package/coverage/lcov-report/{events → src/events}/utils.js.html +10 -10
  197. package/coverage/lcov-report/src/index.html +206 -0
  198. package/coverage/lcov-report/src/index.ts.html +133 -0
  199. package/coverage/lcov-report/src/integrations/airtable.ts.html +529 -0
  200. package/coverage/lcov-report/src/integrations/arangodb.ts.html +415 -0
  201. package/coverage/lcov-report/src/integrations/base/index.html +161 -0
  202. package/coverage/lcov-report/src/integrations/base/query.ts.html +133 -0
  203. package/coverage/lcov-report/src/integrations/base/sql.ts.html +1951 -0
  204. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +691 -0
  205. package/coverage/lcov-report/src/integrations/base/utils.ts.html +121 -0
  206. package/coverage/lcov-report/src/integrations/couchdb.ts.html +406 -0
  207. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +745 -0
  208. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +634 -0
  209. package/coverage/lcov-report/src/integrations/firebase.ts.html +646 -0
  210. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +1321 -0
  211. package/coverage/lcov-report/src/integrations/index.html +371 -0
  212. package/coverage/lcov-report/src/integrations/index.ts.html +433 -0
  213. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +1006 -0
  214. package/coverage/lcov-report/src/integrations/mongodb.ts.html +1864 -0
  215. package/coverage/lcov-report/src/integrations/mysql.ts.html +952 -0
  216. package/coverage/lcov-report/src/integrations/oracle.ts.html +1474 -0
  217. package/coverage/lcov-report/src/integrations/postgres.ts.html +1069 -0
  218. package/coverage/lcov-report/src/integrations/queries/index.html +116 -0
  219. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +463 -0
  220. package/coverage/lcov-report/src/integrations/redis.ts.html +550 -0
  221. package/coverage/lcov-report/src/integrations/rest.ts.html +1381 -0
  222. package/coverage/lcov-report/src/integrations/s3.ts.html +862 -0
  223. package/coverage/lcov-report/src/integrations/snowflake.ts.html +376 -0
  224. package/coverage/lcov-report/{integrations → src/integrations}/tests/TestConfiguration.js.html +10 -10
  225. package/coverage/lcov-report/{integrations → src/integrations}/tests/index.html +10 -10
  226. package/coverage/lcov-report/src/integrations/utils.ts.html +1006 -0
  227. package/coverage/lcov-report/{middleware → src/middleware}/appInfo.js.html +10 -10
  228. package/coverage/lcov-report/src/middleware/authorized.ts.html +481 -0
  229. package/coverage/lcov-report/{middleware → src/middleware}/builder.js.html +10 -10
  230. package/coverage/lcov-report/{middleware → src/middleware}/currentapp.js.html +10 -10
  231. package/coverage/lcov-report/{middleware → src/middleware}/index.html +33 -18
  232. package/coverage/lcov-report/{middleware → src/middleware}/joi-validator.js.html +10 -10
  233. package/coverage/lcov-report/{middleware → src/middleware}/publicApi.js.html +10 -10
  234. package/coverage/lcov-report/{middleware → src/middleware}/resourceId.js.html +10 -10
  235. package/coverage/lcov-report/{middleware → src/middleware}/selfhost.js.html +10 -10
  236. package/coverage/lcov-report/{middleware → src/middleware}/utils.js.html +10 -10
  237. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +187 -0
  238. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +163 -0
  239. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +151 -0
  240. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +206 -0
  241. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +172 -0
  242. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +226 -0
  243. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +151 -0
  244. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +151 -0
  245. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +175 -0
  246. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +532 -0
  247. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +283 -0
  248. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +146 -0
  249. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +265 -0
  250. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +232 -0
  251. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +724 -0
  252. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +161 -0
  253. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +106 -0
  254. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +235 -0
  255. package/coverage/lcov-report/src/migrations/functions/index.html +146 -0
  256. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +130 -0
  257. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +161 -0
  258. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +94 -0
  259. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +130 -0
  260. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +115 -0
  261. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +172 -0
  262. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +124 -0
  263. package/coverage/lcov-report/src/migrations/index.html +116 -0
  264. package/coverage/lcov-report/src/migrations/index.ts.html +403 -0
  265. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +205 -0
  266. package/coverage/lcov-report/src/migrations/tests/index.html +131 -0
  267. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +283 -0
  268. package/coverage/lcov-report/src/module.d.ts.html +127 -0
  269. package/coverage/lcov-report/src/sdk/app/automations/index.html +131 -0
  270. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +100 -0
  271. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +214 -0
  272. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +91 -0
  273. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +598 -0
  274. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +703 -0
  275. package/coverage/lcov-report/src/sdk/app/backups/index.html +176 -0
  276. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +112 -0
  277. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +319 -0
  278. package/coverage/lcov-report/src/sdk/app/tables/index.html +116 -0
  279. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +268 -0
  280. package/coverage/lcov-report/{utilities/routing → src/sdk}/index.html +10 -10
  281. package/coverage/lcov-report/src/sdk/index.ts.html +130 -0
  282. package/coverage/lcov-report/src/startup.ts.html +499 -0
  283. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.js.html +1873 -0
  284. package/coverage/lcov-report/src/tests/utilities/controllers.js.html +133 -0
  285. package/coverage/lcov-report/src/tests/utilities/index.html +161 -0
  286. package/coverage/lcov-report/src/tests/utilities/index.js.html +118 -0
  287. package/coverage/lcov-report/src/tests/utilities/structures.js.html +652 -0
  288. package/coverage/lcov-report/src/threads/automation.ts.html +1597 -0
  289. package/coverage/lcov-report/src/threads/index.html +161 -0
  290. package/coverage/lcov-report/src/threads/index.ts.html +418 -0
  291. package/coverage/lcov-report/src/threads/query.ts.html +976 -0
  292. package/coverage/lcov-report/src/threads/utils.ts.html +376 -0
  293. package/coverage/lcov-report/{utilities → src/utilities}/budibaseDir.js.html +10 -10
  294. package/coverage/lcov-report/{utilities → src/utilities}/centralPath.js.html +10 -10
  295. package/coverage/lcov-report/{utilities → src/utilities}/csvParser.js.html +10 -10
  296. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.js.html +547 -0
  297. package/coverage/lcov-report/src/utilities/fileSystem/index.html +161 -0
  298. package/coverage/lcov-report/src/utilities/fileSystem/index.js.html +1141 -0
  299. package/coverage/lcov-report/src/utilities/fileSystem/processor.js.html +148 -0
  300. package/coverage/lcov-report/src/utilities/fileSystem/utilities.js.html +193 -0
  301. package/coverage/lcov-report/{utilities → src/utilities}/global.js.html +10 -10
  302. package/coverage/lcov-report/{utilities → src/utilities}/index.html +33 -18
  303. package/coverage/lcov-report/{utilities → src/utilities}/index.js.html +10 -10
  304. package/coverage/lcov-report/{utilities → src/utilities}/plugins.js.html +10 -10
  305. package/coverage/lcov-report/{utilities → src/utilities}/queue/inMemoryQueue.js.html +10 -10
  306. package/coverage/lcov-report/{utilities → src/utilities}/queue/index.html +10 -10
  307. package/coverage/lcov-report/src/utilities/redis.js.html +340 -0
  308. package/coverage/lcov-report/{api/controllers/query → src/utilities/routing}/index.html +8 -8
  309. package/coverage/lcov-report/{utilities → src/utilities}/routing/index.js.html +10 -10
  310. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/index.html +10 -10
  311. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/index.js.html +10 -10
  312. package/coverage/lcov-report/{utilities → src/utilities}/rowProcessor/utils.js.html +10 -10
  313. package/coverage/lcov-report/{utilities → src/utilities}/scriptRunner.js.html +10 -10
  314. package/coverage/lcov-report/{utilities → src/utilities}/security.js.html +10 -10
  315. package/coverage/lcov-report/{utilities → src/utilities}/statusCodes.js.html +10 -10
  316. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/index.html +10 -10
  317. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/rows.js.html +10 -10
  318. package/coverage/lcov-report/{utilities → src/utilities}/usageQuota/usageQuoteReset.js.html +10 -10
  319. package/coverage/lcov-report/{utilities → src/utilities}/users.js.html +10 -10
  320. package/coverage/lcov-report/{utilities → src/utilities}/workerRequests.js.html +10 -10
  321. package/coverage/lcov-report/src/watch.ts.html +199 -0
  322. package/coverage/lcov-report/src/websocket.ts.html +163 -0
  323. package/coverage/lcov.info +17327 -4751
  324. package/dist/package.json +10 -44
  325. package/dist/tests/utilities/TestConfiguration.js +3 -1
  326. package/dist/tsconfig.build.tsbuildinfo +1 -1
  327. package/jest.config.ts +32 -0
  328. package/package.json +11 -45
  329. package/{scripts/jestSetup.js → src/tests/jestSetup.ts} +11 -2
  330. package/src/tests/utilities/TestConfiguration.js +3 -1
  331. package/tsconfig.json +3 -1
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for middleware/appInfo.js</title>
6
+ <title>Code coverage report for src/middleware/appInfo.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">middleware</a> appInfo.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> appInfo.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -127,16 +127,16 @@ exports.middleware =
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at Mon Nov 14 2022 13:49:01 GMT+0000 (Coordinated Universal Time)
130
+ at Tue Nov 15 2022 16:47:58 GMT+0000 (Coordinated Universal Time)
131
131
  </div>
132
- <script src="../prettify.js"></script>
132
+ <script src="../../prettify.js"></script>
133
133
  <script>
134
134
  window.onload = function () {
135
135
  prettyPrint();
136
136
  };
137
137
  </script>
138
- <script src="../sorter.js"></script>
139
- <script src="../block-navigation.js"></script>
138
+ <script src="../../sorter.js"></script>
139
+ <script src="../../block-navigation.js"></script>
140
140
  </body>
141
141
  </html>
142
142
 
@@ -0,0 +1,481 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for src/middleware/authorized.ts</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> authorized.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">88.88% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>48/54</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">86.48% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>32/37</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">88.88% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>8/9</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">88.67% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>47/53</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ <template id="filterTemplate">
58
+ <div class="quiet">
59
+ Filter:
60
+ <input oninput="onInput()" type="search" id="fileSearch">
61
+ </div>
62
+ </template>
63
+ </div>
64
+ <div class='status-line high'></div>
65
+ <pre><table class="coverage">
66
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
+ <a name='L2'></a><a href='#L2'>2</a>
68
+ <a name='L3'></a><a href='#L3'>3</a>
69
+ <a name='L4'></a><a href='#L4'>4</a>
70
+ <a name='L5'></a><a href='#L5'>5</a>
71
+ <a name='L6'></a><a href='#L6'>6</a>
72
+ <a name='L7'></a><a href='#L7'>7</a>
73
+ <a name='L8'></a><a href='#L8'>8</a>
74
+ <a name='L9'></a><a href='#L9'>9</a>
75
+ <a name='L10'></a><a href='#L10'>10</a>
76
+ <a name='L11'></a><a href='#L11'>11</a>
77
+ <a name='L12'></a><a href='#L12'>12</a>
78
+ <a name='L13'></a><a href='#L13'>13</a>
79
+ <a name='L14'></a><a href='#L14'>14</a>
80
+ <a name='L15'></a><a href='#L15'>15</a>
81
+ <a name='L16'></a><a href='#L16'>16</a>
82
+ <a name='L17'></a><a href='#L17'>17</a>
83
+ <a name='L18'></a><a href='#L18'>18</a>
84
+ <a name='L19'></a><a href='#L19'>19</a>
85
+ <a name='L20'></a><a href='#L20'>20</a>
86
+ <a name='L21'></a><a href='#L21'>21</a>
87
+ <a name='L22'></a><a href='#L22'>22</a>
88
+ <a name='L23'></a><a href='#L23'>23</a>
89
+ <a name='L24'></a><a href='#L24'>24</a>
90
+ <a name='L25'></a><a href='#L25'>25</a>
91
+ <a name='L26'></a><a href='#L26'>26</a>
92
+ <a name='L27'></a><a href='#L27'>27</a>
93
+ <a name='L28'></a><a href='#L28'>28</a>
94
+ <a name='L29'></a><a href='#L29'>29</a>
95
+ <a name='L30'></a><a href='#L30'>30</a>
96
+ <a name='L31'></a><a href='#L31'>31</a>
97
+ <a name='L32'></a><a href='#L32'>32</a>
98
+ <a name='L33'></a><a href='#L33'>33</a>
99
+ <a name='L34'></a><a href='#L34'>34</a>
100
+ <a name='L35'></a><a href='#L35'>35</a>
101
+ <a name='L36'></a><a href='#L36'>36</a>
102
+ <a name='L37'></a><a href='#L37'>37</a>
103
+ <a name='L38'></a><a href='#L38'>38</a>
104
+ <a name='L39'></a><a href='#L39'>39</a>
105
+ <a name='L40'></a><a href='#L40'>40</a>
106
+ <a name='L41'></a><a href='#L41'>41</a>
107
+ <a name='L42'></a><a href='#L42'>42</a>
108
+ <a name='L43'></a><a href='#L43'>43</a>
109
+ <a name='L44'></a><a href='#L44'>44</a>
110
+ <a name='L45'></a><a href='#L45'>45</a>
111
+ <a name='L46'></a><a href='#L46'>46</a>
112
+ <a name='L47'></a><a href='#L47'>47</a>
113
+ <a name='L48'></a><a href='#L48'>48</a>
114
+ <a name='L49'></a><a href='#L49'>49</a>
115
+ <a name='L50'></a><a href='#L50'>50</a>
116
+ <a name='L51'></a><a href='#L51'>51</a>
117
+ <a name='L52'></a><a href='#L52'>52</a>
118
+ <a name='L53'></a><a href='#L53'>53</a>
119
+ <a name='L54'></a><a href='#L54'>54</a>
120
+ <a name='L55'></a><a href='#L55'>55</a>
121
+ <a name='L56'></a><a href='#L56'>56</a>
122
+ <a name='L57'></a><a href='#L57'>57</a>
123
+ <a name='L58'></a><a href='#L58'>58</a>
124
+ <a name='L59'></a><a href='#L59'>59</a>
125
+ <a name='L60'></a><a href='#L60'>60</a>
126
+ <a name='L61'></a><a href='#L61'>61</a>
127
+ <a name='L62'></a><a href='#L62'>62</a>
128
+ <a name='L63'></a><a href='#L63'>63</a>
129
+ <a name='L64'></a><a href='#L64'>64</a>
130
+ <a name='L65'></a><a href='#L65'>65</a>
131
+ <a name='L66'></a><a href='#L66'>66</a>
132
+ <a name='L67'></a><a href='#L67'>67</a>
133
+ <a name='L68'></a><a href='#L68'>68</a>
134
+ <a name='L69'></a><a href='#L69'>69</a>
135
+ <a name='L70'></a><a href='#L70'>70</a>
136
+ <a name='L71'></a><a href='#L71'>71</a>
137
+ <a name='L72'></a><a href='#L72'>72</a>
138
+ <a name='L73'></a><a href='#L73'>73</a>
139
+ <a name='L74'></a><a href='#L74'>74</a>
140
+ <a name='L75'></a><a href='#L75'>75</a>
141
+ <a name='L76'></a><a href='#L76'>76</a>
142
+ <a name='L77'></a><a href='#L77'>77</a>
143
+ <a name='L78'></a><a href='#L78'>78</a>
144
+ <a name='L79'></a><a href='#L79'>79</a>
145
+ <a name='L80'></a><a href='#L80'>80</a>
146
+ <a name='L81'></a><a href='#L81'>81</a>
147
+ <a name='L82'></a><a href='#L82'>82</a>
148
+ <a name='L83'></a><a href='#L83'>83</a>
149
+ <a name='L84'></a><a href='#L84'>84</a>
150
+ <a name='L85'></a><a href='#L85'>85</a>
151
+ <a name='L86'></a><a href='#L86'>86</a>
152
+ <a name='L87'></a><a href='#L87'>87</a>
153
+ <a name='L88'></a><a href='#L88'>88</a>
154
+ <a name='L89'></a><a href='#L89'>89</a>
155
+ <a name='L90'></a><a href='#L90'>90</a>
156
+ <a name='L91'></a><a href='#L91'>91</a>
157
+ <a name='L92'></a><a href='#L92'>92</a>
158
+ <a name='L93'></a><a href='#L93'>93</a>
159
+ <a name='L94'></a><a href='#L94'>94</a>
160
+ <a name='L95'></a><a href='#L95'>95</a>
161
+ <a name='L96'></a><a href='#L96'>96</a>
162
+ <a name='L97'></a><a href='#L97'>97</a>
163
+ <a name='L98'></a><a href='#L98'>98</a>
164
+ <a name='L99'></a><a href='#L99'>99</a>
165
+ <a name='L100'></a><a href='#L100'>100</a>
166
+ <a name='L101'></a><a href='#L101'>101</a>
167
+ <a name='L102'></a><a href='#L102'>102</a>
168
+ <a name='L103'></a><a href='#L103'>103</a>
169
+ <a name='L104'></a><a href='#L104'>104</a>
170
+ <a name='L105'></a><a href='#L105'>105</a>
171
+ <a name='L106'></a><a href='#L106'>106</a>
172
+ <a name='L107'></a><a href='#L107'>107</a>
173
+ <a name='L108'></a><a href='#L108'>108</a>
174
+ <a name='L109'></a><a href='#L109'>109</a>
175
+ <a name='L110'></a><a href='#L110'>110</a>
176
+ <a name='L111'></a><a href='#L111'>111</a>
177
+ <a name='L112'></a><a href='#L112'>112</a>
178
+ <a name='L113'></a><a href='#L113'>113</a>
179
+ <a name='L114'></a><a href='#L114'>114</a>
180
+ <a name='L115'></a><a href='#L115'>115</a>
181
+ <a name='L116'></a><a href='#L116'>116</a>
182
+ <a name='L117'></a><a href='#L117'>117</a>
183
+ <a name='L118'></a><a href='#L118'>118</a>
184
+ <a name='L119'></a><a href='#L119'>119</a>
185
+ <a name='L120'></a><a href='#L120'>120</a>
186
+ <a name='L121'></a><a href='#L121'>121</a>
187
+ <a name='L122'></a><a href='#L122'>122</a>
188
+ <a name='L123'></a><a href='#L123'>123</a>
189
+ <a name='L124'></a><a href='#L124'>124</a>
190
+ <a name='L125'></a><a href='#L125'>125</a>
191
+ <a name='L126'></a><a href='#L126'>126</a>
192
+ <a name='L127'></a><a href='#L127'>127</a>
193
+ <a name='L128'></a><a href='#L128'>128</a>
194
+ <a name='L129'></a><a href='#L129'>129</a>
195
+ <a name='L130'></a><a href='#L130'>130</a>
196
+ <a name='L131'></a><a href='#L131'>131</a>
197
+ <a name='L132'></a><a href='#L132'>132</a>
198
+ <a name='L133'></a><a href='#L133'>133</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">45x</span>
199
+ <span class="cline-any cline-neutral">&nbsp;</span>
200
+ <span class="cline-any cline-neutral">&nbsp;</span>
201
+ <span class="cline-any cline-neutral">&nbsp;</span>
202
+ <span class="cline-any cline-neutral">&nbsp;</span>
203
+ <span class="cline-any cline-neutral">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-yes">45x</span>
208
+ <span class="cline-any cline-yes">45x</span>
209
+ <span class="cline-any cline-yes">45x</span>
210
+ <span class="cline-any cline-yes">45x</span>
211
+ <span class="cline-any cline-yes">45x</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-yes">219x</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-yes">45x</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-neutral">&nbsp;</span>
220
+ <span class="cline-any cline-neutral">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-neutral">&nbsp;</span>
225
+ <span class="cline-any cline-yes">45x</span>
226
+ <span class="cline-any cline-neutral">&nbsp;</span>
227
+ <span class="cline-any cline-neutral">&nbsp;</span>
228
+ <span class="cline-any cline-neutral">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-yes">220x</span>
231
+ <span class="cline-any cline-neutral">&nbsp;</span>
232
+ <span class="cline-any cline-yes">220x</span>
233
+ <span class="cline-any cline-yes">220x</span>
234
+ <span class="cline-any cline-yes">220x</span>
235
+ <span class="cline-any cline-yes">28x</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-yes">192x</span>
240
+ <span class="cline-any cline-yes">3x</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-yes">45x</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-yes">3x</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-yes">3x</span>
252
+ <span class="cline-any cline-yes">3x</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-yes">3x</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-yes">3x</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-no">&nbsp;</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
262
+ <span class="cline-any cline-no">&nbsp;</span>
263
+ <span class="cline-any cline-no">&nbsp;</span>
264
+ <span class="cline-any cline-neutral">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-yes">3x</span>
267
+ <span class="cline-any cline-yes">3x</span>
268
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
+ <span class="cline-any cline-neutral">&nbsp;</span>
270
+ <span class="cline-any cline-neutral">&nbsp;</span>
271
+ <span class="cline-any cline-yes">45x</span>
272
+ <span class="cline-any cline-yes">5339x</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-yes">226x</span>
276
+ <span class="cline-any cline-yes">1x</span>
277
+ <span class="cline-any cline-neutral">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-yes">225x</span>
280
+ <span class="cline-any cline-yes">1x</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span>
283
+ <span class="cline-any cline-neutral">&nbsp;</span>
284
+ <span class="cline-any cline-neutral">&nbsp;</span>
285
+ <span class="cline-any cline-yes">224x</span>
286
+ <span class="cline-any cline-neutral">&nbsp;</span>
287
+ <span class="cline-any cline-neutral">&nbsp;</span>
288
+ <span class="cline-any cline-yes">224x</span>
289
+ <span class="cline-any cline-yes">224x</span>
290
+ <span class="cline-any cline-neutral">&nbsp;</span>
291
+ <span class="cline-any cline-yes">224x</span>
292
+ <span class="cline-any cline-neutral">&nbsp;</span>
293
+ <span class="cline-any cline-neutral">&nbsp;</span>
294
+ <span class="cline-any cline-yes">224x</span>
295
+ <span class="cline-any cline-yes">224x</span>
296
+ <span class="cline-any cline-yes">84x</span>
297
+ <span class="cline-any cline-yes">84x</span>
298
+ <span class="cline-any cline-no">&nbsp;</span>
299
+ <span class="cline-any cline-neutral">&nbsp;</span>
300
+ <span class="cline-any cline-neutral">&nbsp;</span>
301
+ <span class="cline-any cline-neutral">&nbsp;</span>
302
+ <span class="cline-any cline-neutral">&nbsp;</span>
303
+ <span class="cline-any cline-yes">224x</span>
304
+ <span class="cline-any cline-neutral">&nbsp;</span>
305
+ <span class="cline-any cline-neutral">&nbsp;</span>
306
+ <span class="cline-any cline-neutral">&nbsp;</span>
307
+ <span class="cline-any cline-yes">1x</span>
308
+ <span class="cline-any cline-neutral">&nbsp;</span>
309
+ <span class="cline-any cline-neutral">&nbsp;</span>
310
+ <span class="cline-any cline-neutral">&nbsp;</span>
311
+ <span class="cline-any cline-yes">223x</span>
312
+ <span class="cline-any cline-yes">3x</span>
313
+ <span class="cline-any cline-neutral">&nbsp;</span>
314
+ <span class="cline-any cline-neutral">&nbsp;</span>
315
+ <span class="cline-any cline-yes">220x</span>
316
+ <span class="cline-any cline-neutral">&nbsp;</span>
317
+ <span class="cline-any cline-yes">220x</span>
318
+ <span class="cline-any cline-neutral">&nbsp;</span>
319
+ <span class="cline-any cline-neutral">&nbsp;</span>
320
+ <span class="cline-any cline-yes">27x</span>
321
+ <span class="cline-any cline-no">&nbsp;</span>
322
+ <span class="cline-any cline-neutral">&nbsp;</span>
323
+ <span class="cline-any cline-yes">27x</span>
324
+ <span class="cline-any cline-neutral">&nbsp;</span>
325
+ <span class="cline-any cline-neutral">&nbsp;</span>
326
+ <span class="cline-any cline-neutral">&nbsp;</span>
327
+ <span class="cline-any cline-neutral">&nbsp;</span>
328
+ <span class="cline-any cline-yes">193x</span>
329
+ <span class="cline-any cline-neutral">&nbsp;</span>
330
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
331
+ getUserRoleHierarchy,
332
+ getRequiredResourceRole,
333
+ BUILTIN_ROLE_IDS,
334
+ } from "@budibase/backend-core/roles"
335
+ const {
336
+ PermissionTypes,
337
+ PermissionLevels,
338
+ doesHaveBasePermission,
339
+ } = require("@budibase/backend-core/permissions")
340
+ const builderMiddleware = require("./builder")
341
+ const { isWebhookEndpoint } = require("./utils")
342
+ const { buildCsrfMiddleware } = require("@budibase/backend-core/auth")
343
+ const { getAppId } = require("@budibase/backend-core/context")
344
+ &nbsp;
345
+ function hasResource(ctx: any) {
346
+ return ctx.resourceId != null
347
+ }
348
+ &nbsp;
349
+ const csrf = buildCsrfMiddleware()
350
+ &nbsp;
351
+ /**
352
+ * Apply authorization to the requested resource:
353
+ * - If this is a builder resource the user must be a builder.
354
+ * - Builders can access all resources.
355
+ * - Otherwise the user must have the required role.
356
+ */
357
+ const checkAuthorized = async (
358
+ ctx: any,
359
+ resourceRoles: any,
360
+ permType: any,
361
+ permLevel: any
362
+ ) =&gt; {
363
+ // check if this is a builder api and the user is not a builder
364
+ const isBuilder = ctx.user &amp;&amp; ctx.user.builder &amp;&amp; ctx.user.builder.global
365
+ const isBuilderApi = permType === PermissionTypes.BUILDER
366
+ if (isBuilderApi &amp;&amp; !isBuilder) {
367
+ return ctx.throw(403, "Not Authorized")
368
+ }
369
+ &nbsp;
370
+ // check for resource authorization
371
+ if (!isBuilder) {
372
+ await checkAuthorizedResource(ctx, resourceRoles, permType, permLevel)
373
+ }
374
+ }
375
+ &nbsp;
376
+ const checkAuthorizedResource = async (
377
+ ctx: any,
378
+ resourceRoles: any,
379
+ permType: any,
380
+ permLevel: any
381
+ ) =&gt; {
382
+ // get the user's roles
383
+ const roleId = ctx.roleId || BUILTIN_ROLE_IDS.PUBLIC
384
+ const userRoles = (await getUserRoleHierarchy(roleId, {
385
+ idOnly: false,
386
+ })) as { _id: string }[]
387
+ const permError = "User does not have permission"
388
+ // check if the user has the required role
389
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (resourceRoles.length &gt; 0) {
390
+ // deny access if the user doesn't have the required resource role
391
+ const found = <span class="cstat-no" title="statement not covered" >userRoles.find(</span>
392
+ <span class="fstat-no" title="function not covered" > (r</span>ole: any) =&gt; <span class="cstat-no" title="statement not covered" >resourceRoles.indexOf(role._id) !== -1</span>
393
+ )
394
+ <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!found) {</span>
395
+ <span class="cstat-no" title="statement not covered" > ctx.throw(403, permError)</span>
396
+ }
397
+ // fallback to the base permissions when no resource roles are found
398
+ } else if (!doesHaveBasePermission(permType, permLevel, userRoles)) {
399
+ ctx.throw(403, permError)
400
+ }
401
+ }
402
+ &nbsp;
403
+ export = (permType: any, permLevel: any = null, opts = { schema: false }) =&gt;
404
+ async (ctx: any, next: any) =&gt; {
405
+ // webhooks don't need authentication, each webhook unique
406
+ // also internal requests (between services) don't need authorized
407
+ if (isWebhookEndpoint(ctx) || ctx.internal) {
408
+ return next()
409
+ }
410
+ &nbsp;
411
+ if (!ctx.user) {
412
+ return ctx.throw(403, "No user info found")
413
+ }
414
+ &nbsp;
415
+ // check general builder stuff, this middleware is a good way
416
+ // to find API endpoints which are builder focused
417
+ await builderMiddleware(ctx, permType)
418
+ &nbsp;
419
+ // get the resource roles
420
+ let resourceRoles: any = []
421
+ let otherLevelRoles: any = []
422
+ const otherLevel =
423
+ permLevel === PermissionLevels.READ
424
+ ? PermissionLevels.WRITE
425
+ : PermissionLevels.READ
426
+ const appId = getAppId()
427
+ if (appId &amp;&amp; hasResource(ctx)) {
428
+ resourceRoles = await getRequiredResourceRole(permLevel, ctx)
429
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (opts &amp;&amp; opts.schema) {
430
+ <span class="cstat-no" title="statement not covered" > otherLevelRoles = await getRequiredResourceRole(otherLevel, ctx)</span>
431
+ }
432
+ }
433
+ &nbsp;
434
+ // if the resource is public, proceed
435
+ if (
436
+ resourceRoles.includes(BUILTIN_ROLE_IDS.PUBLIC) ||
437
+ (otherLevelRoles &amp;&amp; otherLevelRoles.includes(BUILTIN_ROLE_IDS.PUBLIC))
438
+ ) {
439
+ return next()
440
+ }
441
+ &nbsp;
442
+ // check authenticated
443
+ if (!ctx.isAuthenticated) {
444
+ return ctx.throw(403, "Session not authenticated")
445
+ }
446
+ &nbsp;
447
+ try {
448
+ // check authorized
449
+ await checkAuthorized(ctx, resourceRoles, permType, permLevel)
450
+ } catch (err) {
451
+ // this is a schema, check if
452
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (opts &amp;&amp; opts.schema &amp;&amp; <span class="branch-2 cbranch-no" title="branch not covered" >permLevel)</span> {
453
+ <span class="cstat-no" title="statement not covered" > await checkAuthorized(ctx, otherLevelRoles, permType, otherLevel)</span>
454
+ } else {
455
+ throw err
456
+ }
457
+ }
458
+ &nbsp;
459
+ // csrf protection
460
+ return csrf(ctx, next)
461
+ }
462
+ &nbsp;</pre></td></tr></table></pre>
463
+
464
+ <div class='push'></div><!-- for sticky footer -->
465
+ </div><!-- /wrapper -->
466
+ <div class='footer quiet pad2 space-top1 center small'>
467
+ Code coverage generated by
468
+ <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
469
+ at Tue Nov 15 2022 16:47:58 GMT+0000 (Coordinated Universal Time)
470
+ </div>
471
+ <script src="../../prettify.js"></script>
472
+ <script>
473
+ window.onload = function () {
474
+ prettyPrint();
475
+ };
476
+ </script>
477
+ <script src="../../sorter.js"></script>
478
+ <script src="../../block-navigation.js"></script>
479
+ </body>
480
+ </html>
481
+
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for middleware/builder.js</title>
6
+ <title>Code coverage report for src/middleware/builder.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">middleware</a> builder.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> builder.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -340,16 +340,16 @@ module.exports = async (ctx, permType) =&gt; {
340
340
  <div class='footer quiet pad2 space-top1 center small'>
341
341
  Code coverage generated by
342
342
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
343
- at Mon Nov 14 2022 13:49:01 GMT+0000 (Coordinated Universal Time)
343
+ at Tue Nov 15 2022 16:47:58 GMT+0000 (Coordinated Universal Time)
344
344
  </div>
345
- <script src="../prettify.js"></script>
345
+ <script src="../../prettify.js"></script>
346
346
  <script>
347
347
  window.onload = function () {
348
348
  prettyPrint();
349
349
  };
350
350
  </script>
351
- <script src="../sorter.js"></script>
352
- <script src="../block-navigation.js"></script>
351
+ <script src="../../sorter.js"></script>
352
+ <script src="../../block-navigation.js"></script>
353
353
  </body>
354
354
  </html>
355
355
 
@@ -3,15 +3,15 @@
3
3
  <html lang="en">
4
4
 
5
5
  <head>
6
- <title>Code coverage report for middleware/currentapp.js</title>
6
+ <title>Code coverage report for src/middleware/currentapp.js</title>
7
7
  <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../prettify.css" />
9
- <link rel="stylesheet" href="../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../favicon.png" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
11
  <meta name="viewport" content="width=device-width, initial-scale=1" />
12
12
  <style type='text/css'>
13
13
  .coverage-summary .sorter {
14
- background-image: url(../sort-arrow-sprite.png);
14
+ background-image: url(../../sort-arrow-sprite.png);
15
15
  }
16
16
  </style>
17
17
  </head>
@@ -19,7 +19,7 @@
19
19
  <body>
20
20
  <div class='wrapper'>
21
21
  <div class='pad1'>
22
- <h1><a href="../index.html">All files</a> / <a href="index.html">middleware</a> currentapp.js</h1>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">src/middleware</a> currentapp.js</h1>
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
@@ -481,16 +481,16 @@ module.exports = async (ctx, next) =&gt; {
481
481
  <div class='footer quiet pad2 space-top1 center small'>
482
482
  Code coverage generated by
483
483
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
484
- at Mon Nov 14 2022 13:49:01 GMT+0000 (Coordinated Universal Time)
484
+ at Tue Nov 15 2022 16:47:58 GMT+0000 (Coordinated Universal Time)
485
485
  </div>
486
- <script src="../prettify.js"></script>
486
+ <script src="../../prettify.js"></script>
487
487
  <script>
488
488
  window.onload = function () {
489
489
  prettyPrint();
490
490
  };
491
491
  </script>
492
- <script src="../sorter.js"></script>
493
- <script src="../block-navigation.js"></script>
492
+ <script src="../../sorter.js"></script>
493
+ <script src="../../block-navigation.js"></script>
494
494
  </body>
495
495
  </html>
496
496