@budibase/server 1.0.80 → 1.0.81-alpha.0

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 (322) hide show
  1. package/__mocks__/node-fetch.ts +1 -0
  2. package/builder/assets/index.57958259.js +1290 -0
  3. package/builder/assets/{index.c8d1e8f0.css → index.dd19c61c.css} +2 -2
  4. package/builder/assets/{vendor.20f80cec.js → vendor.a7c6ad0a.js} +190 -216
  5. package/builder/index.html +3 -3
  6. package/coverage/clover.xml +2531 -2440
  7. package/coverage/coverage-final.json +138 -137
  8. package/coverage/lcov-report/api/controllers/analytics.js.html +6 -6
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  10. package/coverage/lcov-report/api/controllers/application.js.html +152 -149
  11. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  12. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  13. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  14. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
  15. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  16. package/coverage/lcov-report/api/controllers/datasource.js.html +16 -16
  17. package/coverage/lcov-report/api/controllers/dev.js.html +19 -19
  18. package/coverage/lcov-report/api/controllers/index.html +16 -16
  19. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  20. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  22. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  24. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query/index.js.html +26 -26
  26. package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
  27. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/external.js.html +86 -23
  30. package/coverage/lcov-report/api/controllers/row/index.html +46 -46
  31. package/coverage/lcov-report/api/controllers/row/index.js.html +76 -49
  32. package/coverage/lcov-report/api/controllers/row/internal.js.html +144 -84
  33. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +204 -204
  34. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -29
  36. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  37. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  38. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
  39. package/coverage/lcov-report/api/controllers/table/external.js.html +62 -20
  40. package/coverage/lcov-report/api/controllers/table/index.html +20 -20
  41. package/coverage/lcov-report/api/controllers/table/index.js.html +47 -44
  42. package/coverage/lcov-report/api/controllers/table/internal.js.html +50 -50
  43. package/coverage/lcov-report/api/controllers/table/utils.js.html +80 -80
  44. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  45. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  46. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  47. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  49. package/coverage/lcov-report/api/controllers/view/utils.js.html +12 -12
  50. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  51. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -27
  52. package/coverage/lcov-report/api/index.html +10 -10
  53. package/coverage/lcov-report/api/index.js.html +37 -28
  54. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  55. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  56. package/coverage/lcov-report/api/routes/application.js.html +9 -9
  57. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  58. package/coverage/lcov-report/api/routes/automation.js.html +19 -109
  59. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  60. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  61. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/datasource.js.html +18 -156
  63. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  64. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  65. package/coverage/lcov-report/api/routes/index.html +35 -35
  66. package/coverage/lcov-report/api/routes/index.js.html +38 -32
  67. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  68. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  69. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  70. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  71. package/coverage/lcov-report/api/routes/permission.js.html +16 -58
  72. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  73. package/coverage/lcov-report/api/routes/role.js.html +15 -78
  74. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  75. package/coverage/lcov-report/api/routes/row.js.html +80 -14
  76. package/coverage/lcov-report/api/routes/screen.js.html +14 -95
  77. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/static.js.html +13 -13
  79. package/coverage/lcov-report/api/routes/table.js.html +17 -62
  80. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  81. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  82. package/coverage/lcov-report/api/routes/utils/index.html +111 -0
  83. package/coverage/lcov-report/api/routes/utils/validators.js.html +737 -0
  84. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  85. package/coverage/lcov-report/api/routes/webhook.js.html +14 -62
  86. package/coverage/lcov-report/automations/actions.js.html +24 -24
  87. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  88. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  89. package/coverage/lcov-report/automations/index.html +1 -1
  90. package/coverage/lcov-report/automations/index.js.html +7 -7
  91. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  92. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  94. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  95. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  96. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  97. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  98. package/coverage/lcov-report/automations/steps/filter.js.html +12 -9
  99. package/coverage/lcov-report/automations/steps/index.html +1 -1
  100. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  101. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  102. package/coverage/lcov-report/automations/steps/queryRows.js.html +11 -11
  103. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  104. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  105. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  106. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  107. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  108. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  109. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  110. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  113. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggers.js.html +26 -26
  118. package/coverage/lcov-report/automations/utils.js.html +35 -35
  119. package/coverage/lcov-report/constants/index.html +5 -5
  120. package/coverage/lcov-report/constants/index.js.html +40 -28
  121. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  122. package/coverage/lcov-report/constants/screens.js.html +4 -4
  123. package/coverage/lcov-report/db/client.js.html +18 -18
  124. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  125. package/coverage/lcov-report/db/index.html +15 -15
  126. package/coverage/lcov-report/db/index.js.html +3 -3
  127. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +21 -21
  128. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  129. package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
  130. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +30 -30
  131. package/coverage/lcov-report/db/newid.js.html +4 -4
  132. package/coverage/lcov-report/db/utils.js.html +123 -87
  133. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  134. package/coverage/lcov-report/events/index.html +1 -1
  135. package/coverage/lcov-report/events/index.js.html +8 -8
  136. package/coverage/lcov-report/events/utils.js.html +18 -18
  137. package/coverage/lcov-report/index.html +91 -76
  138. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  139. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  140. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  141. package/coverage/lcov-report/middleware/authorized.js.html +29 -29
  142. package/coverage/lcov-report/middleware/builder.js.html +16 -16
  143. package/coverage/lcov-report/middleware/currentapp.js.html +44 -44
  144. package/coverage/lcov-report/middleware/index.html +1 -1
  145. package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
  146. package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
  147. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  148. package/coverage/lcov-report/middleware/usageQuota.js.html +17 -17
  149. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  150. package/coverage/lcov-report/threads/automation.js.html +1 -1
  151. package/coverage/lcov-report/threads/index.html +19 -19
  152. package/coverage/lcov-report/threads/index.js.html +10 -10
  153. package/coverage/lcov-report/threads/query.js.html +123 -39
  154. package/coverage/lcov-report/threads/utils.js.html +14 -14
  155. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  156. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  157. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  158. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  159. package/coverage/lcov-report/utilities/global.js.html +28 -28
  160. package/coverage/lcov-report/utilities/index.html +18 -18
  161. package/coverage/lcov-report/utilities/index.js.html +24 -24
  162. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -9
  163. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  164. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  166. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  167. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +60 -60
  168. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +13 -13
  169. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  170. package/coverage/lcov-report/utilities/security.js.html +8 -8
  171. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.js.html +12 -12
  174. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +8 -8
  175. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  176. package/coverage/lcov-report/utilities/users.js.html +5 -5
  177. package/coverage/lcov-report/utilities/workerRequests.js.html +200 -53
  178. package/coverage/lcov.info +3555 -3411
  179. package/dist/api/controllers/application.js +1 -0
  180. package/dist/api/controllers/public/applications.js +94 -0
  181. package/dist/api/controllers/public/mapping/applications.js +29 -0
  182. package/dist/api/controllers/public/mapping/index.js +11 -0
  183. package/dist/api/controllers/public/mapping/queries.js +36 -0
  184. package/dist/api/controllers/public/mapping/rows.js +24 -0
  185. package/dist/api/controllers/public/mapping/tables.js +23 -0
  186. package/dist/api/controllers/public/mapping/types.js +2 -0
  187. package/dist/api/controllers/public/mapping/users.js +29 -0
  188. package/dist/api/controllers/public/queries.js +38 -0
  189. package/dist/api/controllers/public/rows.js +97 -0
  190. package/dist/api/controllers/public/tables.js +75 -0
  191. package/dist/api/controllers/public/users.js +95 -0
  192. package/dist/api/controllers/public/utils.js +49 -0
  193. package/dist/api/controllers/row/external.js +18 -0
  194. package/dist/api/controllers/row/index.js +11 -0
  195. package/dist/api/controllers/row/internal.js +15 -1
  196. package/dist/api/controllers/table/external.js +8 -2
  197. package/dist/api/controllers/table/index.js +2 -1
  198. package/dist/api/controllers/webhook.js +3 -5
  199. package/dist/api/index.js +3 -1
  200. package/dist/api/routes/automation.js +3 -31
  201. package/dist/api/routes/datasource.js +3 -50
  202. package/dist/api/routes/index.js +2 -0
  203. package/dist/api/routes/permission.js +4 -14
  204. package/dist/api/routes/public/applications.js +141 -0
  205. package/dist/api/routes/public/index.js +101 -0
  206. package/dist/api/routes/public/middleware/mapper.js +94 -0
  207. package/dist/api/routes/public/queries.js +77 -0
  208. package/dist/api/routes/public/rows.js +229 -0
  209. package/dist/api/routes/public/tables.js +154 -0
  210. package/dist/api/routes/public/users.js +137 -0
  211. package/dist/api/routes/public/utils/Endpoint.js +36 -0
  212. package/dist/api/routes/role.js +3 -19
  213. package/dist/api/routes/row.js +18 -5
  214. package/dist/api/routes/screen.js +2 -23
  215. package/dist/api/routes/table.js +3 -17
  216. package/dist/api/routes/tests/utilities/index.js +23 -0
  217. package/dist/api/routes/utils/validators.js +200 -0
  218. package/dist/api/routes/webhook.js +2 -17
  219. package/dist/automations/steps/filter.js +2 -2
  220. package/dist/automations/steps/queryRows.js +1 -1
  221. package/dist/automations/utils.js +2 -2
  222. package/dist/constants/index.js +3 -0
  223. package/dist/db/utils.js +11 -0
  224. package/dist/definitions/openapi.js +6 -0
  225. package/dist/environment.js +1 -0
  226. package/dist/integrations/base/sql.js +16 -1
  227. package/dist/integrations/base/sqlTable.js +21 -9
  228. package/dist/integrations/googlesheets.js +3 -0
  229. package/dist/integrations/microsoftSqlServer.js +60 -43
  230. package/dist/integrations/mysql.js +3 -0
  231. package/dist/integrations/oracle.js +14 -19
  232. package/dist/integrations/postgres.js +34 -28
  233. package/dist/integrations/utils.js +32 -15
  234. package/dist/package.json +11 -7
  235. package/dist/tests/utilities/TestConfiguration.js +25 -8
  236. package/dist/threads/query.js +33 -8
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/utilities/workerRequests.js +50 -15
  239. package/package.json +12 -8
  240. package/scripts/integrations/mssql/data/setup.sql +18 -1
  241. package/scripts/integrations/oracle/oracle.md +2 -2
  242. package/scripts/integrations/postgres/init.sql +11 -3
  243. package/scripts/likeCypress.ts +9 -6
  244. package/specs/generate.js +94 -0
  245. package/specs/openapi.json +2232 -0
  246. package/specs/openapi.yaml +1538 -0
  247. package/specs/parameters.js +59 -0
  248. package/specs/resources/application.js +101 -0
  249. package/specs/resources/index.js +24 -0
  250. package/specs/resources/misc.js +12 -0
  251. package/specs/resources/query.js +189 -0
  252. package/specs/resources/row.js +125 -0
  253. package/specs/resources/table.js +191 -0
  254. package/specs/resources/user.js +126 -0
  255. package/specs/resources/utils/Resource.js +26 -0
  256. package/specs/resources/utils/index.js +11 -0
  257. package/specs/security.js +7 -0
  258. package/src/api/controllers/application.js +1 -0
  259. package/src/api/controllers/public/applications.ts +74 -0
  260. package/src/api/controllers/public/mapping/applications.ts +32 -0
  261. package/src/api/controllers/public/mapping/index.ts +13 -0
  262. package/src/api/controllers/public/mapping/queries.ts +39 -0
  263. package/src/api/controllers/public/mapping/rows.ts +31 -0
  264. package/src/api/controllers/public/mapping/tables.ts +26 -0
  265. package/src/api/controllers/public/mapping/types.ts +13 -0
  266. package/src/api/controllers/public/mapping/users.ts +32 -0
  267. package/src/api/controllers/public/queries.ts +20 -0
  268. package/src/api/controllers/public/rows.ts +77 -0
  269. package/src/api/controllers/public/tables.ts +56 -0
  270. package/src/api/controllers/public/users.ts +82 -0
  271. package/src/api/controllers/public/utils.ts +38 -0
  272. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  273. package/src/api/controllers/row/external.js +21 -0
  274. package/src/api/controllers/row/index.js +9 -0
  275. package/src/api/controllers/row/internal.js +20 -0
  276. package/src/api/controllers/table/external.js +16 -2
  277. package/src/api/controllers/table/index.js +2 -1
  278. package/src/api/controllers/webhook.js +3 -6
  279. package/src/api/index.js +4 -1
  280. package/src/api/routes/automation.js +3 -33
  281. package/src/api/routes/datasource.js +6 -52
  282. package/src/api/routes/index.js +2 -0
  283. package/src/api/routes/permission.js +4 -18
  284. package/src/api/routes/public/applications.ts +156 -0
  285. package/src/api/routes/public/index.ts +118 -0
  286. package/src/api/routes/public/middleware/mapper.ts +81 -0
  287. package/src/api/routes/public/queries.ts +81 -0
  288. package/src/api/routes/public/rows.ts +242 -0
  289. package/src/api/routes/public/tables.ts +169 -0
  290. package/src/api/routes/public/tests/compare.spec.js +184 -0
  291. package/src/api/routes/public/users.ts +144 -0
  292. package/src/api/routes/public/utils/Endpoint.ts +51 -0
  293. package/src/api/routes/role.js +3 -24
  294. package/src/api/routes/row.js +24 -2
  295. package/src/api/routes/screen.js +2 -29
  296. package/src/api/routes/table.js +4 -19
  297. package/src/api/routes/tests/utilities/index.js +24 -0
  298. package/src/api/routes/utils/validators.js +219 -0
  299. package/src/api/routes/webhook.js +2 -18
  300. package/src/automations/steps/filter.js +3 -2
  301. package/src/automations/steps/queryRows.js +1 -1
  302. package/src/automations/utils.js +2 -2
  303. package/src/constants/index.js +4 -0
  304. package/src/db/utils.js +12 -0
  305. package/src/definitions/common.ts +4 -0
  306. package/src/definitions/datasource.ts +7 -0
  307. package/src/definitions/openapi.ts +943 -0
  308. package/src/environment.js +1 -0
  309. package/src/integrations/base/datasourcePlus.ts +3 -0
  310. package/src/integrations/base/sql.ts +16 -1
  311. package/src/integrations/base/sqlTable.ts +35 -13
  312. package/src/integrations/googlesheets.ts +5 -2
  313. package/src/integrations/microsoftSqlServer.ts +86 -61
  314. package/src/integrations/mysql.ts +4 -0
  315. package/src/integrations/oracle.ts +27 -35
  316. package/src/integrations/postgres.ts +33 -26
  317. package/src/integrations/utils.ts +43 -15
  318. package/src/tests/utilities/TestConfiguration.js +23 -2
  319. package/src/threads/query.js +37 -9
  320. package/src/utilities/workerRequests.js +65 -16
  321. package/builder/assets/index.22a39cc9.js +0 -1352
  322. package/scripts/proxy/generateProxyConfig.js +0 -70
@@ -23,9 +23,9 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90% </span>
26
+ <span class="strong">90.62% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>27/30</span>
28
+ <span class='fraction'>29/32</span>
29
29
  </div>
30
30
 
31
31
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">93.1% </span>
47
+ <span class="strong">93.54% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>27/29</span>
49
+ <span class='fraction'>29/31</span>
50
50
  </div>
51
51
 
52
52
 
@@ -146,23 +146,26 @@
146
146
  <a name='L87'></a><a href='#L87'>87</a>
147
147
  <a name='L88'></a><a href='#L88'>88</a>
148
148
  <a name='L89'></a><a href='#L89'>89</a>
149
- <a name='L90'></a><a href='#L90'>90</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
150
153
  <span class="cline-any cline-neutral">&nbsp;</span>
151
154
  <span class="cline-any cline-neutral">&nbsp;</span>
152
155
  <span class="cline-any cline-neutral">&nbsp;</span>
153
156
  <span class="cline-any cline-neutral">&nbsp;</span>
154
157
  <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-yes">23x</span>
156
- <span class="cline-any cline-yes">23x</span>
157
- <span class="cline-any cline-yes">23x</span>
158
- <span class="cline-any cline-yes">23x</span>
159
- <span class="cline-any cline-yes">23x</span>
160
- <span class="cline-any cline-yes">23x</span>
161
- <span class="cline-any cline-yes">23x</span>
158
+ <span class="cline-any cline-yes">24x</span>
159
+ <span class="cline-any cline-yes">24x</span>
160
+ <span class="cline-any cline-yes">24x</span>
161
+ <span class="cline-any cline-yes">24x</span>
162
+ <span class="cline-any cline-yes">24x</span>
163
+ <span class="cline-any cline-yes">24x</span>
164
+ <span class="cline-any cline-yes">24x</span>
162
165
  <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-yes">23x</span>
166
+ <span class="cline-any cline-yes">24x</span>
164
167
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">23x</span>
168
+ <span class="cline-any cline-yes">24x</span>
166
169
  <span class="cline-any cline-neutral">&nbsp;</span>
167
170
  <span class="cline-any cline-neutral">&nbsp;</span>
168
171
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -176,11 +179,11 @@
176
179
  <span class="cline-any cline-neutral">&nbsp;</span>
177
180
  <span class="cline-any cline-neutral">&nbsp;</span>
178
181
  <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">169x</span>
182
+ <span class="cline-any cline-yes">190x</span>
180
183
  <span class="cline-any cline-neutral">&nbsp;</span>
181
184
  <span class="cline-any cline-neutral">&nbsp;</span>
182
185
  <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-yes">169x</span>
186
+ <span class="cline-any cline-yes">190x</span>
184
187
  <span class="cline-any cline-neutral">&nbsp;</span>
185
188
  <span class="cline-any cline-yes">1x</span>
186
189
  <span class="cline-any cline-yes">1x</span>
@@ -205,9 +208,9 @@
205
208
  <span class="cline-any cline-neutral">&nbsp;</span>
206
209
  <span class="cline-any cline-neutral">&nbsp;</span>
207
210
  <span class="cline-any cline-neutral">&nbsp;</span>
208
- <span class="cline-any cline-yes">23x</span>
209
- <span class="cline-any cline-yes">165x</span>
210
- <span class="cline-any cline-yes">165x</span>
211
+ <span class="cline-any cline-yes">24x</span>
212
+ <span class="cline-any cline-yes">186x</span>
213
+ <span class="cline-any cline-yes">186x</span>
211
214
  <span class="cline-any cline-neutral">&nbsp;</span>
212
215
  <span class="cline-any cline-yes">39x</span>
213
216
  <span class="cline-any cline-yes">39x</span>
@@ -222,19 +225,22 @@
222
225
  <span class="cline-any cline-neutral">&nbsp;</span>
223
226
  <span class="cline-any cline-neutral">&nbsp;</span>
224
227
  <span class="cline-any cline-neutral">&nbsp;</span>
225
- <span class="cline-any cline-yes">23x</span>
228
+ <span class="cline-any cline-yes">24x</span>
226
229
  <span class="cline-any cline-neutral">&nbsp;</span>
227
230
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">23x</span>
229
- <span class="cline-any cline-yes">598x</span>
230
- <span class="cline-any cline-yes">598x</span>
231
+ <span class="cline-any cline-yes">24x</span>
232
+ <span class="cline-any cline-yes">624x</span>
233
+ <span class="cline-any cline-yes">624x</span>
231
234
  <span class="cline-any cline-neutral">&nbsp;</span>
232
235
  <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-yes">24x</span>
237
+ <span class="cline-any cline-yes">24x</span>
233
238
  <span class="cline-any cline-neutral">&nbsp;</span>
234
- <span class="cline-any cline-yes">23x</span>
235
- <span class="cline-any cline-yes">23x</span>
236
239
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">23x</span>
240
+ <span class="cline-any cline-yes">24x</span>
241
+ <span class="cline-any cline-yes">24x</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-yes">24x</span>
238
244
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
239
245
  const {
240
246
  buildAuthMiddleware,
@@ -245,7 +251,7 @@ const {
245
251
  const currentApp = require("../middleware/currentapp")
246
252
  const compress = require("koa-compress")
247
253
  const zlib = require("zlib")
248
- const { mainRoutes, staticRoutes } = require("./routes")
254
+ const { mainRoutes, staticRoutes, publicRoutes } = require("./routes")
249
255
  const pkg = require("../../package.json")
250
256
  const env = require("../environment")
251
257
  &nbsp;
@@ -319,6 +325,9 @@ for (let route of mainRoutes) {
319
325
  router.use(route.allowedMethods())
320
326
  }
321
327
  &nbsp;
328
+ router.use(publicRoutes.routes())
329
+ router.use(publicRoutes.allowedMethods())
330
+ &nbsp;
322
331
  // WARNING - static routes will catch everything else after them this must be last
323
332
  router.use(staticRoutes.routes())
324
333
  router.use(staticRoutes.allowedMethods())
@@ -331,7 +340,7 @@ module.exports = router
331
340
  <div class='footer quiet pad2 space-top1 center small'>
332
341
  Code coverage generated by
333
342
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
334
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
343
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
335
344
  </div>
336
345
  </div>
337
346
  <script src="../prettify.js"></script>
@@ -67,16 +67,16 @@
67
67
  <a name='L8'></a><a href='#L8'>8</a>
68
68
  <a name='L9'></a><a href='#L9'>9</a>
69
69
  <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
71
- <span class="cline-any cline-yes">23x</span>
70
+ <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
71
+ <span class="cline-any cline-yes">24x</span>
72
72
  <span class="cline-any cline-neutral">&nbsp;</span>
73
- <span class="cline-any cline-yes">23x</span>
73
+ <span class="cline-any cline-yes">24x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-yes">23x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
76
  <span class="cline-any cline-neutral">&nbsp;</span>
77
77
  <span class="cline-any cline-neutral">&nbsp;</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">23x</span>
79
+ <span class="cline-any cline-yes">24x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
81
81
  const controller = require("../controllers/analytics")
82
82
  &nbsp;
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -69,18 +69,18 @@
69
69
  <a name='L10'></a><a href='#L10'>10</a>
70
70
  <a name='L11'></a><a href='#L11'>11</a>
71
71
  <a name='L12'></a><a href='#L12'>12</a>
72
- <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
73
- <span class="cline-any cline-yes">23x</span>
74
- <span class="cline-any cline-yes">23x</span>
75
- <span class="cline-any cline-yes">23x</span>
72
+ <a name='L13'></a><a href='#L13'>13</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
73
+ <span class="cline-any cline-yes">24x</span>
74
+ <span class="cline-any cline-yes">24x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
76
  <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-yes">23x</span>
77
+ <span class="cline-any cline-yes">24x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">23x</span>
79
+ <span class="cline-any cline-yes">24x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
81
  <span class="cline-any cline-neutral">&nbsp;</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-yes">23x</span>
83
+ <span class="cline-any cline-yes">24x</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
85
85
  const controller = require("../controllers/apikeys")
86
86
  const authorized = require("../../middleware/authorized")
@@ -100,7 +100,7 @@ module.exports = router
100
100
  <div class='footer quiet pad2 space-top1 center small'>
101
101
  Code coverage generated by
102
102
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
103
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
103
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
104
104
  </div>
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
@@ -90,15 +90,15 @@
90
90
  <a name='L31'></a><a href='#L31'>31</a>
91
91
  <a name='L32'></a><a href='#L32'>32</a>
92
92
  <a name='L33'></a><a href='#L33'>33</a>
93
- <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
94
- <span class="cline-any cline-yes">23x</span>
95
- <span class="cline-any cline-yes">23x</span>
96
- <span class="cline-any cline-yes">23x</span>
97
- <span class="cline-any cline-yes">23x</span>
93
+ <a name='L34'></a><a href='#L34'>34</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
94
+ <span class="cline-any cline-yes">24x</span>
95
+ <span class="cline-any cline-yes">24x</span>
96
+ <span class="cline-any cline-yes">24x</span>
97
+ <span class="cline-any cline-yes">24x</span>
98
98
  <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-yes">23x</span>
99
+ <span class="cline-any cline-yes">24x</span>
100
100
  <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-yes">23x</span>
101
+ <span class="cline-any cline-yes">24x</span>
102
102
  <span class="cline-any cline-neutral">&nbsp;</span>
103
103
  <span class="cline-any cline-neutral">&nbsp;</span>
104
104
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -122,7 +122,7 @@
122
122
  <span class="cline-any cline-neutral">&nbsp;</span>
123
123
  <span class="cline-any cline-neutral">&nbsp;</span>
124
124
  <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-yes">23x</span>
125
+ <span class="cline-any cline-yes">24x</span>
126
126
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
127
127
  const controller = require("../controllers/application")
128
128
  const authorized = require("../../middleware/authorized")
@@ -163,7 +163,7 @@ module.exports = router
163
163
  <div class='footer quiet pad2 space-top1 center small'>
164
164
  Code coverage generated by
165
165
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
166
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
166
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
167
167
  </div>
168
168
  </div>
169
169
  <script src="../../prettify.js"></script>
@@ -65,14 +65,14 @@
65
65
  <a name='L6'></a><a href='#L6'>6</a>
66
66
  <a name='L7'></a><a href='#L7'>7</a>
67
67
  <a name='L8'></a><a href='#L8'>8</a>
68
- <a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
69
- <span class="cline-any cline-yes">23x</span>
68
+ <a name='L9'></a><a href='#L9'>9</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
69
+ <span class="cline-any cline-yes">24x</span>
70
70
  <span class="cline-any cline-neutral">&nbsp;</span>
71
- <span class="cline-any cline-yes">23x</span>
71
+ <span class="cline-any cline-yes">24x</span>
72
72
  <span class="cline-any cline-neutral">&nbsp;</span>
73
- <span class="cline-any cline-yes">23x</span>
73
+ <span class="cline-any cline-yes">24x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-yes">23x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
76
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
77
77
  const controller = require("../controllers/auth")
78
78
  &nbsp;
@@ -88,7 +88,7 @@ module.exports = router
88
88
  <div class='footer quiet pad2 space-top1 center small'>
89
89
  Code coverage generated by
90
90
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
91
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
91
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
92
92
  </div>
93
93
  </div>
94
94
  <script src="../../prettify.js"></script>
@@ -25,28 +25,28 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/13</span>
28
+ <span class='fraction'>10/10</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">80% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>4/5</span>
35
+ <span class='fraction'>0/0</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">100% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>2/2</span>
42
+ <span class='fraction'>0/0</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/13</span>
49
+ <span class='fraction'>10/10</span>
50
50
  </div>
51
51
 
52
52
 
@@ -132,72 +132,26 @@
132
132
  <a name='L73'></a><a href='#L73'>73</a>
133
133
  <a name='L74'></a><a href='#L74'>74</a>
134
134
  <a name='L75'></a><a href='#L75'>75</a>
135
- <a name='L76'></a><a href='#L76'>76</a>
136
- <a name='L77'></a><a href='#L77'>77</a>
137
- <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a>
139
- <a name='L80'></a><a href='#L80'>80</a>
140
- <a name='L81'></a><a href='#L81'>81</a>
141
- <a name='L82'></a><a href='#L82'>82</a>
142
- <a name='L83'></a><a href='#L83'>83</a>
143
- <a name='L84'></a><a href='#L84'>84</a>
144
- <a name='L85'></a><a href='#L85'>85</a>
145
- <a name='L86'></a><a href='#L86'>86</a>
146
- <a name='L87'></a><a href='#L87'>87</a>
147
- <a name='L88'></a><a href='#L88'>88</a>
148
- <a name='L89'></a><a href='#L89'>89</a>
149
- <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a>
151
- <a name='L92'></a><a href='#L92'>92</a>
152
- <a name='L93'></a><a href='#L93'>93</a>
153
- <a name='L94'></a><a href='#L94'>94</a>
154
- <a name='L95'></a><a href='#L95'>95</a>
155
- <a name='L96'></a><a href='#L96'>96</a>
156
- <a name='L97'></a><a href='#L97'>97</a>
157
- <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a>
159
- <a name='L100'></a><a href='#L100'>100</a>
160
- <a name='L101'></a><a href='#L101'>101</a>
161
- <a name='L102'></a><a href='#L102'>102</a>
162
- <a name='L103'></a><a href='#L103'>103</a>
163
- <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a>
165
- <a name='L106'></a><a href='#L106'>106</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
166
- <span class="cline-any cline-yes">23x</span>
167
- <span class="cline-any cline-yes">23x</span>
168
- <span class="cline-any cline-yes">23x</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-yes">23x</span>
174
- <span class="cline-any cline-yes">23x</span>
175
- <span class="cline-any cline-yes">23x</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-yes">23x</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-yes">23x</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-yes">92x</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
135
+ <a name='L76'></a><a href='#L76'>76</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
136
+ <span class="cline-any cline-yes">24x</span>
137
+ <span class="cline-any cline-yes">24x</span>
189
138
  <span class="cline-any cline-neutral">&nbsp;</span>
190
139
  <span class="cline-any cline-neutral">&nbsp;</span>
191
140
  <span class="cline-any cline-neutral">&nbsp;</span>
192
141
  <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-yes">24x</span>
143
+ <span class="cline-any cline-yes">24x</span>
193
144
  <span class="cline-any cline-neutral">&nbsp;</span>
194
145
  <span class="cline-any cline-neutral">&nbsp;</span>
195
146
  <span class="cline-any cline-neutral">&nbsp;</span>
147
+ <span class="cline-any cline-yes">24x</span>
148
+ <span class="cline-any cline-yes">24x</span>
196
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
+ <span class="cline-any cline-yes">24x</span>
197
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
+ <span class="cline-any cline-yes">24x</span>
198
153
  <span class="cline-any cline-neutral">&nbsp;</span>
199
154
  <span class="cline-any cline-neutral">&nbsp;</span>
200
- <span class="cline-any cline-yes">46x</span>
201
155
  <span class="cline-any cline-neutral">&nbsp;</span>
202
156
  <span class="cline-any cline-neutral">&nbsp;</span>
203
157
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -209,7 +163,6 @@
209
163
  <span class="cline-any cline-neutral">&nbsp;</span>
210
164
  <span class="cline-any cline-neutral">&nbsp;</span>
211
165
  <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-yes">23x</span>
213
166
  <span class="cline-any cline-neutral">&nbsp;</span>
214
167
  <span class="cline-any cline-neutral">&nbsp;</span>
215
168
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -253,67 +206,24 @@
253
206
  <span class="cline-any cline-neutral">&nbsp;</span>
254
207
  <span class="cline-any cline-neutral">&nbsp;</span>
255
208
  <span class="cline-any cline-neutral">&nbsp;</span>
256
- <span class="cline-any cline-neutral">&nbsp;</span>
257
- <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-neutral">&nbsp;</span>
259
- <span class="cline-any cline-neutral">&nbsp;</span>
260
- <span class="cline-any cline-neutral">&nbsp;</span>
261
- <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-neutral">&nbsp;</span>
263
- <span class="cline-any cline-neutral">&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-neutral">&nbsp;</span>
267
- <span class="cline-any cline-neutral">&nbsp;</span>
268
- <span class="cline-any cline-neutral">&nbsp;</span>
269
- <span class="cline-any cline-yes">23x</span>
209
+ <span class="cline-any cline-yes">24x</span>
270
210
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
271
211
  const controller = require("../controllers/automation")
272
212
  const authorized = require("../../middleware/authorized")
273
- const joiValidator = require("../../middleware/joi-validator")
274
213
  const {
275
214
  BUILDER,
276
215
  PermissionLevels,
277
216
  PermissionTypes,
278
217
  } = require("@budibase/backend-core/permissions")
279
- const Joi = require("joi")
280
218
  const { bodyResource, paramResource } = require("../../middleware/resourceId")
281
219
  const {
282
220
  middleware: appInfoMiddleware,
283
221
  AppType,
284
222
  } = require("../../middleware/appInfo")
223
+ const { automationValidator } = require("./utils/validators")
285
224
  &nbsp;
286
225
  const router = Router()
287
226
  &nbsp;
288
- // prettier-ignore
289
- function generateStepSchema(allowStepTypes) {
290
- return Joi.object({
291
- stepId: Joi.string().required(),
292
- id: Joi.string().required(),
293
- description: Joi.string().required(),
294
- name: Joi.string().required(),
295
- tagline: Joi.string().required(),
296
- icon: Joi.string().required(),
297
- params: Joi.object(),
298
- args: Joi.object(),
299
- type: Joi.string().required().valid(...allowStepTypes),
300
- }).unknown(true)
301
- }
302
- &nbsp;
303
- function generateValidator(existing = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> {
304
- // prettier-ignore
305
- return joiValidator.body(Joi.object({
306
- _id: existing ? Joi.string().required() : Joi.string(),
307
- _rev: existing ? Joi.string().required() : Joi.string(),
308
- name: Joi.string().required(),
309
- type: Joi.string().valid("automation").required(),
310
- definition: Joi.object({
311
- steps: Joi.array().required().items(generateStepSchema(["ACTION", "LOGIC"])),
312
- trigger: generateStepSchema(["TRIGGER"]).allow(null),
313
- }).required().unknown(true),
314
- }).unknown(true))
315
- }
316
- &nbsp;
317
227
  router
318
228
  .get(
319
229
  "/api/automations/trigger/list",
@@ -341,13 +251,13 @@ router
341
251
  "/api/automations",
342
252
  bodyResource("_id"),
343
253
  authorized(BUILDER),
344
- generateValidator(true),
254
+ automationValidator(true),
345
255
  controller.update
346
256
  )
347
257
  .post(
348
258
  "/api/automations",
349
259
  authorized(BUILDER),
350
- generateValidator(false),
260
+ automationValidator(false),
351
261
  controller.create
352
262
  )
353
263
  .delete(
@@ -379,7 +289,7 @@ module.exports = router
379
289
  <div class='footer quiet pad2 space-top1 center small'>
380
290
  Code coverage generated by
381
291
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
382
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
292
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
383
293
  </div>
384
294
  </div>
385
295
  <script src="../../prettify.js"></script>
@@ -67,16 +67,16 @@
67
67
  <a name='L8'></a><a href='#L8'>8</a>
68
68
  <a name='L9'></a><a href='#L9'>9</a>
69
69
  <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
71
- <span class="cline-any cline-yes">23x</span>
72
- <span class="cline-any cline-yes">23x</span>
73
- <span class="cline-any cline-yes">23x</span>
70
+ <a name='L11'></a><a href='#L11'>11</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
71
+ <span class="cline-any cline-yes">24x</span>
72
+ <span class="cline-any cline-yes">24x</span>
73
+ <span class="cline-any cline-yes">24x</span>
74
74
  <span class="cline-any cline-neutral">&nbsp;</span>
75
- <span class="cline-any cline-yes">23x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
76
  <span class="cline-any cline-neutral">&nbsp;</span>
77
- <span class="cline-any cline-yes">23x</span>
77
+ <span class="cline-any cline-yes">24x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">23x</span>
79
+ <span class="cline-any cline-yes">24x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
81
81
  const controller = require("../controllers/backup")
82
82
  const authorized = require("../../middleware/authorized")
@@ -94,7 +94,7 @@ module.exports = router
94
94
  <div class='footer quiet pad2 space-top1 center small'>
95
95
  Code coverage generated by
96
96
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
97
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
97
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
98
98
  </div>
99
99
  </div>
100
100
  <script src="../../prettify.js"></script>
@@ -71,20 +71,20 @@
71
71
  <a name='L12'></a><a href='#L12'>12</a>
72
72
  <a name='L13'></a><a href='#L13'>13</a>
73
73
  <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
75
- <span class="cline-any cline-yes">23x</span>
76
- <span class="cline-any cline-yes">23x</span>
77
- <span class="cline-any cline-yes">23x</span>
74
+ <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
+ <span class="cline-any cline-yes">24x</span>
77
+ <span class="cline-any cline-yes">24x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">23x</span>
79
+ <span class="cline-any cline-yes">24x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-yes">23x</span>
81
+ <span class="cline-any cline-yes">24x</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
83
83
  <span class="cline-any cline-neutral">&nbsp;</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
85
  <span class="cline-any cline-neutral">&nbsp;</span>
86
86
  <span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-yes">23x</span>
87
+ <span class="cline-any cline-yes">24x</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
89
89
  const controller = require("../controllers/cloud")
90
90
  const authorized = require("../../middleware/authorized")
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>
@@ -71,20 +71,20 @@
71
71
  <a name='L12'></a><a href='#L12'>12</a>
72
72
  <a name='L13'></a><a href='#L13'>13</a>
73
73
  <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
75
- <span class="cline-any cline-yes">23x</span>
76
- <span class="cline-any cline-yes">23x</span>
77
- <span class="cline-any cline-yes">23x</span>
74
+ <a name='L15'></a><a href='#L15'>15</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">24x</span>
75
+ <span class="cline-any cline-yes">24x</span>
76
+ <span class="cline-any cline-yes">24x</span>
77
+ <span class="cline-any cline-yes">24x</span>
78
78
  <span class="cline-any cline-neutral">&nbsp;</span>
79
- <span class="cline-any cline-yes">23x</span>
79
+ <span class="cline-any cline-yes">24x</span>
80
80
  <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-yes">23x</span>
81
+ <span class="cline-any cline-yes">24x</span>
82
82
  <span class="cline-any cline-neutral">&nbsp;</span>
83
83
  <span class="cline-any cline-neutral">&nbsp;</span>
84
84
  <span class="cline-any cline-neutral">&nbsp;</span>
85
85
  <span class="cline-any cline-neutral">&nbsp;</span>
86
86
  <span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-yes">23x</span>
87
+ <span class="cline-any cline-yes">24x</span>
88
88
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
89
89
  const controller = require("../controllers/component")
90
90
  const authorized = require("../../middleware/authorized")
@@ -106,7 +106,7 @@ module.exports = router
106
106
  <div class='footer quiet pad2 space-top1 center small'>
107
107
  Code coverage generated by
108
108
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
- at Tue Mar 08 2022 08:50:56 GMT+0000 (Coordinated Universal Time)
109
+ at Tue Mar 08 2022 12:05:04 GMT+0000 (Coordinated Universal Time)
110
110
  </div>
111
111
  </div>
112
112
  <script src="../../prettify.js"></script>