@budibase/server 2.3.9 → 2.3.11-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 (551) hide show
  1. package/__mocks__/aws-sdk.ts +1 -1
  2. package/builder/assets/{index.4488f38d.css → index.a534ca24.css} +1 -1
  3. package/builder/assets/{index.7e735cc5.js → index.a7877207.js} +146 -146
  4. package/builder/index.html +2 -2
  5. package/coverage/clover.xml +11331 -6595
  6. package/coverage/coverage-final.json +356 -271
  7. package/coverage/lcov-report/index.html +428 -203
  8. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +6 -6
  9. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +5 -5
  10. package/coverage/lcov-report/src/api/controllers/application.ts.html +140 -140
  11. package/coverage/lcov-report/src/api/controllers/auth.ts.html +9 -9
  12. package/coverage/lcov-report/src/api/controllers/automation.ts.html +47 -47
  13. package/coverage/lcov-report/src/api/controllers/backup.ts.html +6 -6
  14. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +26 -26
  15. package/coverage/lcov-report/src/api/controllers/component.ts.html +5 -5
  16. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +37 -37
  17. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +14 -14
  18. package/coverage/lcov-report/src/api/controllers/deploy/index.html +1 -1
  19. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +81 -81
  20. package/coverage/lcov-report/src/api/controllers/dev.ts.html +26 -26
  21. package/coverage/lcov-report/src/api/controllers/index.html +37 -37
  22. package/coverage/lcov-report/src/api/controllers/integration.ts.html +4 -4
  23. package/coverage/lcov-report/src/api/controllers/layout.ts.html +15 -15
  24. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +9 -9
  25. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +4 -4
  26. package/coverage/lcov-report/src/api/controllers/permission.ts.html +34 -34
  27. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +2 -2
  28. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +4 -4
  29. package/coverage/lcov-report/src/api/controllers/plugin/index.html +1 -1
  30. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +18 -18
  31. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +5 -5
  32. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  33. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +3 -3
  34. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +3 -3
  35. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +6 -6
  36. package/coverage/lcov-report/src/api/controllers/public/index.html +1 -1
  37. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +2 -2
  38. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +1 -1
  39. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +7 -7
  40. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +2 -2
  41. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +2 -2
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +2 -2
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +2 -2
  44. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +4 -4
  45. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +5 -5
  46. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +4 -4
  47. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +6 -6
  48. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/query/import/index.html +1 -1
  50. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +7 -7
  51. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +1 -1
  52. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +3 -3
  53. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +5 -5
  54. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +7 -7
  55. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +1 -1
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +9 -9
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +13 -13
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/curl.spec.js.html +391 -0
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/curl/index.html +116 -0
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/index.html +116 -0
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js.html +796 -0
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/index.html +116 -0
  63. package/coverage/lcov-report/src/api/controllers/query/import/sources/tests/openapi3/openapi3.spec.js.html +805 -0
  64. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.html +116 -0
  65. package/coverage/lcov-report/src/api/controllers/query/import/tests/index.spec.js.html +568 -0
  66. package/coverage/lcov-report/src/api/controllers/query/index.html +10 -10
  67. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +61 -55
  68. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  69. package/coverage/lcov-report/src/api/controllers/role.ts.html +8 -8
  70. package/coverage/lcov-report/src/api/controllers/routing.ts.html +6 -6
  71. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +431 -419
  72. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +211 -175
  73. package/coverage/lcov-report/src/api/controllers/row/index.html +42 -42
  74. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +79 -79
  75. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +34 -34
  76. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +6 -6
  77. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +22 -22
  78. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +31 -31
  79. package/coverage/lcov-report/src/api/controllers/screen.ts.html +26 -26
  80. package/coverage/lcov-report/src/api/controllers/script.ts.html +2 -2
  81. package/coverage/lcov-report/src/api/controllers/static/index.html +1 -1
  82. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +22 -22
  83. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +51 -51
  84. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +198 -195
  85. package/coverage/lcov-report/src/api/controllers/table/index.html +47 -47
  86. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +42 -42
  87. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +61 -61
  88. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +63 -63
  89. package/coverage/lcov-report/src/api/controllers/templates.ts.html +7 -7
  90. package/coverage/lcov-report/src/api/controllers/user.ts.html +28 -28
  91. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +2 -2
  92. package/coverage/lcov-report/src/api/controllers/view/index.html +1 -1
  93. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +16 -16
  94. package/coverage/lcov-report/src/api/controllers/view/tests/index.html +116 -0
  95. package/coverage/lcov-report/src/api/controllers/view/tests/viewBuilder.spec.js.html +277 -0
  96. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +5 -5
  97. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +7 -7
  98. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +25 -25
  99. package/coverage/lcov-report/src/api/index.html +1 -1
  100. package/coverage/lcov-report/src/api/index.ts.html +27 -27
  101. package/coverage/lcov-report/src/api/routes/analytics.ts.html +7 -7
  102. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +8 -8
  103. package/coverage/lcov-report/src/api/routes/application.ts.html +10 -10
  104. package/coverage/lcov-report/src/api/routes/auth.ts.html +6 -6
  105. package/coverage/lcov-report/src/api/routes/automation.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/backup.ts.html +8 -8
  107. package/coverage/lcov-report/src/api/routes/cloud.ts.html +8 -8
  108. package/coverage/lcov-report/src/api/routes/component.ts.html +8 -8
  109. package/coverage/lcov-report/src/api/routes/datasource.ts.html +9 -9
  110. package/coverage/lcov-report/src/api/routes/deploy.ts.html +8 -8
  111. package/coverage/lcov-report/src/api/routes/dev.ts.html +13 -13
  112. package/coverage/lcov-report/src/api/routes/index.html +1 -1
  113. package/coverage/lcov-report/src/api/routes/index.ts.html +35 -35
  114. package/coverage/lcov-report/src/api/routes/integration.ts.html +8 -8
  115. package/coverage/lcov-report/src/api/routes/layout.ts.html +8 -8
  116. package/coverage/lcov-report/src/api/routes/metadata.ts.html +9 -9
  117. package/coverage/lcov-report/src/api/routes/migrations.ts.html +7 -7
  118. package/coverage/lcov-report/src/api/routes/permission.ts.html +9 -9
  119. package/coverage/lcov-report/src/api/routes/plugin.ts.html +8 -8
  120. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +14 -17
  121. package/coverage/lcov-report/src/api/routes/public/index.html +1 -1
  122. package/coverage/lcov-report/src/api/routes/public/index.ts.html +52 -52
  123. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +1 -1
  124. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +4 -4
  125. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +9 -9
  126. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +12 -12
  127. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +12 -12
  128. package/coverage/lcov-report/src/api/routes/public/tests/compare.spec.js.html +583 -0
  129. package/coverage/lcov-report/src/api/routes/public/tests/index.html +42 -12
  130. package/coverage/lcov-report/src/api/routes/public/tests/users.spec.js.html +199 -0
  131. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +78 -27
  132. package/coverage/lcov-report/src/api/routes/public/users.ts.html +12 -12
  133. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +19 -19
  134. package/coverage/lcov-report/src/api/routes/public/utils/index.html +1 -1
  135. package/coverage/lcov-report/src/api/routes/query.ts.html +11 -11
  136. package/coverage/lcov-report/src/api/routes/role.ts.html +9 -9
  137. package/coverage/lcov-report/src/api/routes/routing.ts.html +8 -8
  138. package/coverage/lcov-report/src/api/routes/row.ts.html +11 -11
  139. package/coverage/lcov-report/src/api/routes/screen.ts.html +9 -9
  140. package/coverage/lcov-report/src/api/routes/script.ts.html +1 -1
  141. package/coverage/lcov-report/src/api/routes/static.ts.html +14 -14
  142. package/coverage/lcov-report/src/api/routes/table.ts.html +11 -11
  143. package/coverage/lcov-report/src/api/routes/templates.ts.html +8 -8
  144. package/coverage/lcov-report/src/api/routes/tests/analytics.spec.js.html +271 -0
  145. package/coverage/lcov-report/src/api/routes/tests/apikeys.spec.js.html +259 -0
  146. package/coverage/lcov-report/src/api/routes/tests/application.spec.ts.html +1066 -0
  147. package/coverage/lcov-report/src/api/routes/tests/auth.spec.js.html +154 -0
  148. package/coverage/lcov-report/src/api/routes/tests/automation.spec.js.html +1123 -0
  149. package/coverage/lcov-report/src/api/routes/tests/backup.spec.ts.html +223 -0
  150. package/coverage/lcov-report/src/api/routes/tests/cloud.seq.spec.ts.html +268 -0
  151. package/coverage/lcov-report/src/api/routes/tests/component.spec.js.html +178 -0
  152. package/coverage/lcov-report/src/api/routes/tests/datasource.spec.ts.html +799 -0
  153. package/coverage/lcov-report/src/api/routes/tests/dev.spec.js.html +202 -0
  154. package/coverage/lcov-report/src/api/routes/tests/environmentVariables.spec.ts.html +517 -0
  155. package/coverage/lcov-report/src/api/routes/tests/index.html +536 -0
  156. package/coverage/lcov-report/src/api/routes/tests/integration.spec.js.html +238 -0
  157. package/coverage/lcov-report/src/api/routes/tests/internalSearch.spec.js.html +670 -0
  158. package/coverage/lcov-report/src/api/routes/tests/layout.spec.js.html +259 -0
  159. package/coverage/lcov-report/src/api/routes/tests/metadata.spec.js.html +280 -0
  160. package/coverage/lcov-report/src/api/routes/tests/misc.spec.js.html +358 -0
  161. package/coverage/lcov-report/src/api/routes/tests/permissions.spec.js.html +484 -0
  162. package/coverage/lcov-report/src/api/routes/tests/plugin.spec.ts.html +622 -0
  163. package/coverage/lcov-report/src/api/routes/tests/query.seq.spec.js.html +1699 -0
  164. package/coverage/lcov-report/src/api/routes/tests/role.spec.js.html +478 -0
  165. package/coverage/lcov-report/src/api/routes/tests/routing.spec.js.html +430 -0
  166. package/coverage/lcov-report/src/api/routes/tests/row.spec.js.html +1804 -0
  167. package/coverage/lcov-report/src/api/routes/tests/screen.spec.js.html +391 -0
  168. package/coverage/lcov-report/src/api/routes/tests/static.spec.js.html +541 -0
  169. package/coverage/lcov-report/src/api/routes/tests/table.spec.js.html +991 -0
  170. package/coverage/lcov-report/src/api/routes/tests/templates.spec.js.html +154 -0
  171. package/coverage/lcov-report/src/api/routes/tests/user.spec.js.html +679 -0
  172. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +110 -41
  173. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +19 -19
  174. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +29 -23
  175. package/coverage/lcov-report/src/api/routes/tests/view.spec.js.html +1342 -0
  176. package/coverage/lcov-report/src/api/routes/tests/webhook.spec.js.html +484 -0
  177. package/coverage/lcov-report/src/api/routes/user.ts.html +9 -9
  178. package/coverage/lcov-report/src/api/routes/utils/index.html +1 -1
  179. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +42 -42
  180. package/coverage/lcov-report/src/api/routes/view.ts.html +10 -10
  181. package/coverage/lcov-report/src/api/routes/webhook.ts.html +10 -10
  182. package/coverage/lcov-report/src/app.ts.html +38 -35
  183. package/coverage/lcov-report/src/automations/actions.ts.html +24 -24
  184. package/coverage/lcov-report/src/automations/automationUtils.ts.html +4 -4
  185. package/coverage/lcov-report/src/automations/bullboard.ts.html +9 -9
  186. package/coverage/lcov-report/src/automations/index.html +27 -27
  187. package/coverage/lcov-report/src/automations/index.ts.html +5 -5
  188. package/coverage/lcov-report/src/automations/logging/index.html +1 -1
  189. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  190. package/coverage/lcov-report/src/automations/steps/bash.ts.html +8 -8
  191. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +7 -7
  192. package/coverage/lcov-report/src/automations/steps/delay.ts.html +5 -5
  193. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +7 -7
  194. package/coverage/lcov-report/src/automations/steps/discord.ts.html +8 -8
  195. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +7 -7
  196. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +7 -7
  197. package/coverage/lcov-report/src/automations/steps/filter.ts.html +6 -6
  198. package/coverage/lcov-report/src/automations/steps/index.html +1 -1
  199. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +6 -6
  200. package/coverage/lcov-report/src/automations/steps/loop.ts.html +3 -3
  201. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +9 -9
  202. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +13 -13
  203. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +6 -6
  204. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +4 -4
  205. package/coverage/lcov-report/src/automations/steps/slack.ts.html +6 -6
  206. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +7 -7
  207. package/coverage/lcov-report/src/automations/steps/utils.ts.html +1 -1
  208. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +6 -6
  209. package/coverage/lcov-report/src/automations/tests/automation.spec.js.html +337 -0
  210. package/coverage/lcov-report/src/automations/tests/bash.spec.js.html +187 -0
  211. package/coverage/lcov-report/src/automations/tests/createRow.spec.ts.html +223 -0
  212. package/coverage/lcov-report/src/automations/tests/delay.spec.js.html +133 -0
  213. package/coverage/lcov-report/src/automations/tests/deleteRow.spec.ts.html +250 -0
  214. package/coverage/lcov-report/src/automations/tests/discord.spec.js.html +166 -0
  215. package/coverage/lcov-report/src/automations/tests/executeQuery.spec.js.html +229 -0
  216. package/coverage/lcov-report/src/automations/tests/executeScript.spec.js.html +229 -0
  217. package/coverage/lcov-report/src/automations/tests/filter.spec.js.html +232 -0
  218. package/coverage/lcov-report/src/automations/tests/index.html +341 -0
  219. package/coverage/lcov-report/src/automations/tests/loop.spec.ts.html +220 -0
  220. package/coverage/lcov-report/src/automations/tests/outgoingWebhook.spec.js.html +202 -0
  221. package/coverage/lcov-report/src/automations/tests/queryRows.spec.js.html +436 -0
  222. package/coverage/lcov-report/src/automations/tests/sendSmtpEmail.spec.js.html +298 -0
  223. package/coverage/lcov-report/src/automations/tests/serverLog.spec.js.html +151 -0
  224. package/coverage/lcov-report/src/automations/tests/updateRow.spec.js.html +217 -0
  225. package/coverage/lcov-report/src/automations/tests/utilities/index.html +1 -1
  226. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +1 -1
  227. package/coverage/lcov-report/src/automations/tests/zapier.spec.js.html +166 -0
  228. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +3 -3
  229. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +3 -3
  230. package/coverage/lcov-report/src/automations/triggerInfo/index.html +1 -1
  231. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +8 -8
  232. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +3 -3
  233. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +3 -3
  234. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +3 -3
  235. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +3 -3
  236. package/coverage/lcov-report/src/automations/triggers.ts.html +44 -44
  237. package/coverage/lcov-report/src/automations/unitTests/automationUtils.spec.ts.html +280 -0
  238. package/coverage/lcov-report/src/automations/unitTests/index.html +116 -0
  239. package/coverage/lcov-report/src/automations/utils.ts.html +63 -63
  240. package/coverage/lcov-report/src/constants/index.html +16 -16
  241. package/coverage/lcov-report/src/constants/index.ts.html +33 -99
  242. package/coverage/lcov-report/src/constants/layouts.ts.html +4 -4
  243. package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
  244. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +33 -45
  245. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +2 -2
  246. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +2 -2
  247. package/coverage/lcov-report/src/db/defaultData/index.html +11 -11
  248. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +2 -2
  249. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +2 -2
  250. package/coverage/lcov-report/src/db/dynamoClient.ts.html +15 -15
  251. package/coverage/lcov-report/src/db/inMemoryView.ts.html +4 -4
  252. package/coverage/lcov-report/src/db/index.html +16 -16
  253. package/coverage/lcov-report/src/db/index.ts.html +19 -19
  254. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +26 -23
  255. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +4 -4
  256. package/coverage/lcov-report/src/db/linkedRows/index.html +10 -10
  257. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +23 -23
  258. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +10 -10
  259. package/coverage/lcov-report/src/db/newid.ts.html +4 -4
  260. package/coverage/lcov-report/src/db/tests/index.html +131 -0
  261. package/coverage/lcov-report/src/db/tests/linkController.spec.js.html +793 -0
  262. package/coverage/lcov-report/src/db/tests/linkTests.spec.js.html +277 -0
  263. package/coverage/lcov-report/src/db/utils.ts.html +52 -52
  264. package/coverage/lcov-report/src/definitions/automations.ts.html +2 -2
  265. package/coverage/lcov-report/src/definitions/index.html +1 -1
  266. package/coverage/lcov-report/src/environment.ts.html +31 -31
  267. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +8 -8
  268. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +6 -6
  269. package/coverage/lcov-report/src/events/index.html +1 -1
  270. package/coverage/lcov-report/src/events/index.ts.html +4 -4
  271. package/coverage/lcov-report/src/events/utils.ts.html +10 -10
  272. package/coverage/lcov-report/src/index.html +16 -16
  273. package/coverage/lcov-report/src/index.ts.html +1 -1
  274. package/coverage/lcov-report/src/integration-test/index.html +116 -0
  275. package/coverage/lcov-report/src/integration-test/postgres.spec.ts.html +2341 -0
  276. package/coverage/lcov-report/src/integrations/airtable.ts.html +5 -5
  277. package/coverage/lcov-report/src/integrations/arangodb.ts.html +5 -5
  278. package/coverage/lcov-report/src/integrations/base/index.html +30 -30
  279. package/coverage/lcov-report/src/integrations/base/query.ts.html +9 -9
  280. package/coverage/lcov-report/src/integrations/base/sql.ts.html +217 -187
  281. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +107 -107
  282. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  283. package/coverage/lcov-report/src/integrations/couchdb.ts.html +5 -5
  284. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +6 -6
  285. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +5 -5
  286. package/coverage/lcov-report/src/integrations/firebase.ts.html +5 -5
  287. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +11 -11
  288. package/coverage/lcov-report/src/integrations/index.html +27 -27
  289. package/coverage/lcov-report/src/integrations/index.ts.html +40 -40
  290. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +8 -8
  291. package/coverage/lcov-report/src/integrations/mongodb.ts.html +11 -11
  292. package/coverage/lcov-report/src/integrations/mysql.ts.html +10 -10
  293. package/coverage/lcov-report/src/integrations/oracle.ts.html +14 -14
  294. package/coverage/lcov-report/src/integrations/postgres.ts.html +68 -68
  295. package/coverage/lcov-report/src/integrations/queries/index.html +1 -1
  296. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +8 -8
  297. package/coverage/lcov-report/src/integrations/redis.ts.html +5 -5
  298. package/coverage/lcov-report/src/integrations/rest.ts.html +15 -15
  299. package/coverage/lcov-report/src/integrations/s3.ts.html +6 -6
  300. package/coverage/lcov-report/src/integrations/snowflake.ts.html +5 -5
  301. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  302. package/coverage/lcov-report/src/integrations/tests/airtable.spec.ts.html +310 -0
  303. package/coverage/lcov-report/src/integrations/tests/arangodb.spec.ts.html +199 -0
  304. package/coverage/lcov-report/src/integrations/tests/couchdb.spec.ts.html +349 -0
  305. package/coverage/lcov-report/src/integrations/tests/dynamodb.spec.ts.html +550 -0
  306. package/coverage/lcov-report/src/integrations/tests/elasticsearch.spec.ts.html +331 -0
  307. package/coverage/lcov-report/src/integrations/tests/firebase.spec.ts.html +376 -0
  308. package/coverage/lcov-report/src/integrations/tests/index.html +230 -5
  309. package/coverage/lcov-report/src/integrations/tests/microsoftSqlServer.spec.ts.html +253 -0
  310. package/coverage/lcov-report/src/integrations/tests/mongo.spec.ts.html +1087 -0
  311. package/coverage/lcov-report/src/integrations/tests/mysql.spec.ts.html +484 -0
  312. package/coverage/lcov-report/src/integrations/tests/oracle.spec.ts.html +373 -0
  313. package/coverage/lcov-report/src/integrations/tests/postgres.spec.ts.html +328 -0
  314. package/coverage/lcov-report/src/integrations/tests/redis.spec.ts.html +337 -0
  315. package/coverage/lcov-report/src/integrations/tests/rest.spec.ts.html +1870 -0
  316. package/coverage/lcov-report/src/integrations/tests/s3.spec.ts.html +421 -0
  317. package/coverage/lcov-report/src/integrations/tests/sql.spec.ts.html +1753 -0
  318. package/coverage/lcov-report/src/integrations/utils.ts.html +77 -77
  319. package/coverage/lcov-report/src/middleware/appInfo.ts.html +5 -5
  320. package/coverage/lcov-report/src/middleware/authorized.ts.html +29 -29
  321. package/coverage/lcov-report/src/middleware/builder.ts.html +17 -17
  322. package/coverage/lcov-report/src/middleware/currentapp.ts.html +53 -53
  323. package/coverage/lcov-report/src/middleware/index.html +15 -15
  324. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +1 -1
  325. package/coverage/lcov-report/src/middleware/publicApi.ts.html +4 -4
  326. package/coverage/lcov-report/src/middleware/resourceId.ts.html +28 -28
  327. package/coverage/lcov-report/src/middleware/selfhost.ts.html +1 -1
  328. package/coverage/lcov-report/src/middleware/tests/authorized.spec.js.html +574 -0
  329. package/coverage/lcov-report/src/middleware/tests/currentapp.spec.js.html +814 -0
  330. package/coverage/lcov-report/src/middleware/tests/index.html +161 -0
  331. package/coverage/lcov-report/src/middleware/tests/resourceId.spec.js.html +397 -0
  332. package/coverage/lcov-report/src/middleware/tests/selfhost.spec.js.html +214 -0
  333. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  334. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +4 -4
  335. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +5 -5
  336. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +5 -5
  337. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +1 -1
  338. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +5 -5
  339. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +7 -7
  340. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +5 -5
  341. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +5 -5
  342. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +4 -4
  343. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +19 -19
  344. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +6 -6
  345. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +1 -1
  346. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +7 -7
  347. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +6 -6
  348. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +15 -15
  349. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +1 -1
  350. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +5 -5
  351. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +8 -8
  352. package/coverage/lcov-report/src/migrations/functions/index.html +1 -1
  353. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +6 -6
  354. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +6 -6
  355. package/coverage/lcov-report/src/migrations/functions/tests/appUrls.spec.js.html +163 -0
  356. package/coverage/lcov-report/src/migrations/functions/tests/index.html +161 -0
  357. package/coverage/lcov-report/src/migrations/functions/tests/syncQuotas.spec.js.html +163 -0
  358. package/coverage/lcov-report/src/migrations/functions/tests/tableSettings.spec.ts.html +517 -0
  359. package/coverage/lcov-report/src/migrations/functions/tests/userEmailViewCasing.spec.js.html +190 -0
  360. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +1 -1
  361. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +2 -2
  362. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +5 -5
  363. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +4 -4
  364. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +6 -6
  365. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/index.html +131 -0
  366. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts.html +190 -0
  367. package/coverage/lcov-report/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts.html +244 -0
  368. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +3 -3
  369. package/coverage/lcov-report/src/migrations/index.html +1 -1
  370. package/coverage/lcov-report/src/migrations/index.ts.html +32 -32
  371. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +1 -1
  372. package/coverage/lcov-report/src/migrations/tests/index.html +23 -8
  373. package/coverage/lcov-report/src/migrations/tests/index.spec.ts.html +511 -0
  374. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +1 -1
  375. package/coverage/lcov-report/src/sdk/app/applications/index.html +1 -1
  376. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +4 -4
  377. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +22 -22
  378. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +9 -9
  379. package/coverage/lcov-report/src/sdk/app/automations/index.html +1 -1
  380. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +3 -3
  381. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +10 -10
  382. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +3 -3
  383. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +41 -23
  384. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +18 -18
  385. package/coverage/lcov-report/src/sdk/app/backups/index.html +10 -10
  386. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +5 -5
  387. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +7 -7
  388. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +69 -60
  389. package/coverage/lcov-report/src/sdk/app/datasources/index.html +19 -19
  390. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +3 -3
  391. package/coverage/lcov-report/src/sdk/app/queries/index.html +1 -1
  392. package/coverage/lcov-report/src/sdk/app/queries/index.ts.html +3 -3
  393. package/coverage/lcov-report/src/sdk/app/queries/queries.ts.html +11 -11
  394. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +6 -6
  395. package/coverage/lcov-report/src/sdk/app/rows/index.html +1 -1
  396. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +4 -4
  397. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  398. package/coverage/lcov-report/src/sdk/app/tables/index.html +1 -1
  399. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +10 -10
  400. package/coverage/lcov-report/src/sdk/index.html +1 -1
  401. package/coverage/lcov-report/src/sdk/index.ts.html +11 -11
  402. package/coverage/lcov-report/src/sdk/tests/attachments.spec.ts.html +313 -0
  403. package/coverage/lcov-report/src/sdk/tests/index.html +116 -0
  404. package/coverage/lcov-report/src/sdk/users/index.html +1 -1
  405. package/coverage/lcov-report/src/sdk/users/index.ts.html +3 -3
  406. package/coverage/lcov-report/src/sdk/users/utils.ts.html +31 -31
  407. package/coverage/lcov-report/src/sdk/utils/index.html +1 -1
  408. package/coverage/lcov-report/src/sdk/utils/index.ts.html +11 -11
  409. package/coverage/lcov-report/src/startup.ts.html +42 -42
  410. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +421 -193
  411. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +15 -15
  412. package/coverage/lcov-report/src/tests/utilities/index.html +28 -28
  413. package/coverage/lcov-report/src/tests/utilities/index.ts.html +1 -1
  414. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +77 -35
  415. package/coverage/lcov-report/src/threads/automation.ts.html +71 -71
  416. package/coverage/lcov-report/src/threads/index.html +15 -15
  417. package/coverage/lcov-report/src/threads/index.ts.html +24 -24
  418. package/coverage/lcov-report/src/threads/query.ts.html +76 -76
  419. package/coverage/lcov-report/src/threads/utils.ts.html +12 -12
  420. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +3 -3
  421. package/coverage/lcov-report/src/utilities/centralPath.ts.html +2 -2
  422. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +17 -17
  423. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +8 -8
  424. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +25 -25
  425. package/coverage/lcov-report/src/utilities/fileSystem/index.html +1 -1
  426. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +6 -6
  427. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +8 -8
  428. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +1 -1
  429. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
  430. package/coverage/lcov-report/src/utilities/global.ts.html +40 -40
  431. package/coverage/lcov-report/src/utilities/index.html +34 -19
  432. package/coverage/lcov-report/src/utilities/index.ts.html +26 -26
  433. package/coverage/lcov-report/src/utilities/redis.ts.html +12 -12
  434. package/coverage/lcov-report/src/utilities/retry.ts.html +139 -0
  435. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  436. package/coverage/lcov-report/src/utilities/routing/index.ts.html +4 -4
  437. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +19 -19
  438. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +49 -49
  439. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +3 -3
  440. package/coverage/lcov-report/src/utilities/rowProcessor/tests/index.html +116 -0
  441. package/coverage/lcov-report/src/utilities/rowProcessor/tests/utils.spec.ts.html +256 -0
  442. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +38 -38
  443. package/coverage/lcov-report/src/utilities/schema.ts.html +3 -3
  444. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +5 -5
  445. package/coverage/lcov-report/src/utilities/security.ts.html +22 -22
  446. package/coverage/lcov-report/src/utilities/usageQuota/index.html +1 -1
  447. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +35 -35
  448. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +1 -1
  449. package/coverage/lcov-report/src/utilities/users.ts.html +4 -4
  450. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +15 -15
  451. package/coverage/lcov-report/src/watch.ts.html +7 -7
  452. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  453. package/coverage/lcov.info +21832 -14106
  454. package/dist/api/controllers/query/index.js +2 -0
  455. package/dist/api/controllers/row/ExternalRequest.js +4 -2
  456. package/dist/api/controllers/row/external.js +12 -1
  457. package/dist/api/controllers/table/external.js +8 -8
  458. package/dist/api/routes/public/tests/utils.js +29 -2
  459. package/dist/api/routes/tests/utilities/index.js +131 -0
  460. package/dist/app.js +1 -1
  461. package/dist/constants/index.js +4 -24
  462. package/dist/db/defaultData/datasource_bb_default.js +6 -5
  463. package/dist/db/linkedRows/LinkController.js +9 -8
  464. package/dist/integrations/base/sql.js +10 -3
  465. package/dist/package.json +8 -6
  466. package/dist/sdk/app/backups/exports.js +8 -2
  467. package/dist/sdk/app/datasources/datasources.js +3 -0
  468. package/dist/tests/utilities/TestConfiguration.js +626 -0
  469. package/dist/tests/utilities/controllers.js +40 -0
  470. package/dist/tests/utilities/structures.js +234 -0
  471. package/dist/threads/automation.js +14 -14
  472. package/dist/tsconfig.build.tsbuildinfo +1 -1
  473. package/dist/utilities/retry.js +30 -0
  474. package/jest-testcontainers-config.js +8 -0
  475. package/jest.config.ts +28 -11
  476. package/package.json +9 -7
  477. package/scripts/load/create-many-apps.js +24 -0
  478. package/scripts/load/create-many-rows.js +30 -0
  479. package/scripts/load/utils.js +66 -0
  480. package/specs/openapi.json +6 -6
  481. package/specs/openapi.yaml +3 -3
  482. package/src/api/controllers/query/import/tests/index.spec.js +1 -1
  483. package/src/api/controllers/query/index.ts +2 -0
  484. package/src/api/controllers/row/ExternalRequest.ts +6 -2
  485. package/src/api/controllers/row/external.ts +13 -1
  486. package/src/api/controllers/table/external.ts +3 -2
  487. package/src/api/routes/public/applications.ts +0 -1
  488. package/src/api/routes/public/tests/compare.spec.js +1 -1
  489. package/src/api/routes/public/tests/users.spec.js +1 -1
  490. package/src/api/routes/public/tests/utils.ts +25 -8
  491. package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +1 -1
  492. package/src/api/routes/tests/analytics.spec.js +4 -1
  493. package/src/api/routes/tests/apikeys.spec.js +1 -1
  494. package/src/api/routes/tests/application.spec.ts +20 -6
  495. package/src/api/routes/tests/auth.spec.js +2 -2
  496. package/src/api/routes/tests/automation.spec.js +6 -2
  497. package/src/api/routes/tests/backup.spec.ts +4 -13
  498. package/src/api/routes/tests/{cloud.spec.ts → cloud.seq.spec.ts} +11 -15
  499. package/src/api/routes/tests/component.spec.js +1 -1
  500. package/src/api/routes/tests/datasource.spec.ts +20 -3
  501. package/src/api/routes/tests/dev.spec.js +1 -1
  502. package/src/api/routes/tests/environmentVariables.spec.ts +144 -0
  503. package/src/api/routes/tests/integration.spec.js +1 -1
  504. package/src/api/routes/tests/layout.spec.js +1 -1
  505. package/src/api/routes/tests/metadata.spec.js +1 -1
  506. package/src/api/routes/tests/misc.spec.js +1 -1
  507. package/src/api/routes/tests/permissions.spec.js +4 -1
  508. package/src/api/routes/tests/{query.spec.js → query.seq.spec.js} +22 -1
  509. package/src/api/routes/tests/role.spec.js +6 -1
  510. package/src/api/routes/tests/routing.spec.js +1 -1
  511. package/src/api/routes/tests/row.spec.js +11 -3
  512. package/src/api/routes/tests/screen.spec.js +1 -1
  513. package/src/api/routes/tests/static.spec.js +2 -1
  514. package/src/api/routes/tests/table.spec.js +1 -1
  515. package/src/api/routes/tests/templates.spec.js +1 -1
  516. package/src/api/routes/tests/user.spec.js +12 -12
  517. package/src/api/routes/tests/utilities/TestFunctions.ts +25 -2
  518. package/src/api/routes/tests/utilities/index.ts +5 -3
  519. package/src/api/routes/tests/view.spec.js +4 -1
  520. package/src/api/routes/tests/webhook.spec.js +11 -2
  521. package/src/app.ts +2 -1
  522. package/src/automations/tests/automation.spec.js +4 -4
  523. package/src/automations/tests/bash.spec.js +1 -1
  524. package/src/automations/tests/discord.spec.js +1 -1
  525. package/src/automations/tests/executeQuery.spec.js +2 -3
  526. package/src/automations/tests/executeScript.spec.js +1 -1
  527. package/src/automations/tests/outgoingWebhook.spec.js +1 -1
  528. package/src/automations/tests/sendSmtpEmail.spec.js +1 -1
  529. package/src/automations/tests/serverLog.spec.js +1 -1
  530. package/src/automations/tests/updateRow.spec.js +1 -1
  531. package/src/automations/tests/zapier.spec.js +1 -1
  532. package/src/constants/index.ts +1 -23
  533. package/src/db/defaultData/datasource_bb_default.ts +6 -10
  534. package/src/db/linkedRows/LinkController.ts +2 -1
  535. package/src/db/tests/linkController.spec.js +4 -1
  536. package/src/db/tests/linkTests.spec.js +1 -1
  537. package/src/integration-test/postgres.spec.ts +752 -0
  538. package/src/integrations/base/sql.ts +15 -5
  539. package/src/integrations/oracle.ts +1 -1
  540. package/src/migrations/functions/tests/appUrls.spec.js +1 -1
  541. package/src/migrations/functions/tests/syncQuotas.spec.js +1 -1
  542. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +1 -1
  543. package/src/migrations/tests/index.spec.ts +13 -20
  544. package/src/sdk/app/backups/exports.ts +8 -2
  545. package/src/sdk/app/datasources/datasources.ts +3 -0
  546. package/src/tests/jestEnv.ts +2 -6
  547. package/src/tests/jestSetup.ts +8 -7
  548. package/src/tests/utilities/TestConfiguration.ts +126 -50
  549. package/src/tests/utilities/structures.ts +16 -2
  550. package/src/threads/automation.ts +13 -13
  551. package/src/utilities/retry.ts +18 -0
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">70.03% </span>
26
+ <span class="strong">73.13% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>215/307</span>
28
+ <span class='fraction'>226/309</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">53.37% </span>
33
+ <span class="strong">59.77% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>95/178</span>
35
+ <span class='fraction'>107/179</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">73.17% </span>
40
+ <span class="strong">75.6% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>30/41</span>
42
+ <span class='fraction'>31/41</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">70.06% </span>
47
+ <span class="strong">73.2% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>213/304</span>
49
+ <span class='fraction'>224/306</span>
50
50
  </div>
51
51
 
52
52
 
@@ -694,29 +694,39 @@
694
694
  <a name='L629'></a><a href='#L629'>629</a>
695
695
  <a name='L630'></a><a href='#L630'>630</a>
696
696
  <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">64x</span>
697
+ <a name='L632'></a><a href='#L632'>632</a>
698
+ <a name='L633'></a><a href='#L633'>633</a>
699
+ <a name='L634'></a><a href='#L634'>634</a>
700
+ <a name='L635'></a><a href='#L635'>635</a>
701
+ <a name='L636'></a><a href='#L636'>636</a>
702
+ <a name='L637'></a><a href='#L637'>637</a>
703
+ <a name='L638'></a><a href='#L638'>638</a>
704
+ <a name='L639'></a><a href='#L639'>639</a>
705
+ <a name='L640'></a><a href='#L640'>640</a>
706
+ <a name='L641'></a><a href='#L641'>641</a>
707
+ <a name='L642'></a><a href='#L642'>642</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">66x</span>
698
708
  <span class="cline-any cline-neutral">&nbsp;</span>
699
709
  <span class="cline-any cline-neutral">&nbsp;</span>
700
710
  <span class="cline-any cline-neutral">&nbsp;</span>
701
711
  <span class="cline-any cline-neutral">&nbsp;</span>
702
712
  <span class="cline-any cline-neutral">&nbsp;</span>
703
713
  <span class="cline-any cline-neutral">&nbsp;</span>
704
- <span class="cline-any cline-yes">64x</span>
714
+ <span class="cline-any cline-yes">66x</span>
705
715
  <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-yes">64x</span>
707
- <span class="cline-any cline-yes">64x</span>
708
- <span class="cline-any cline-yes">64x</span>
709
- <span class="cline-any cline-yes">64x</span>
716
+ <span class="cline-any cline-yes">66x</span>
717
+ <span class="cline-any cline-yes">66x</span>
718
+ <span class="cline-any cline-yes">66x</span>
719
+ <span class="cline-any cline-yes">66x</span>
710
720
  <span class="cline-any cline-neutral">&nbsp;</span>
711
- <span class="cline-any cline-yes">64x</span>
721
+ <span class="cline-any cline-yes">66x</span>
712
722
  <span class="cline-any cline-neutral">&nbsp;</span>
713
723
  <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-yes">64x</span>
724
+ <span class="cline-any cline-yes">66x</span>
715
725
  <span class="cline-any cline-neutral">&nbsp;</span>
716
726
  <span class="cline-any cline-neutral">&nbsp;</span>
717
727
  <span class="cline-any cline-neutral">&nbsp;</span>
718
- <span class="cline-any cline-yes">64x</span>
719
- <span class="cline-any cline-yes">64x</span>
728
+ <span class="cline-any cline-yes">66x</span>
729
+ <span class="cline-any cline-yes">66x</span>
720
730
  <span class="cline-any cline-neutral">&nbsp;</span>
721
731
  <span class="cline-any cline-neutral">&nbsp;</span>
722
732
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -741,71 +751,76 @@
741
751
  <span class="cline-any cline-neutral">&nbsp;</span>
742
752
  <span class="cline-any cline-neutral">&nbsp;</span>
743
753
  <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-yes">79x</span>
754
+ <span class="cline-any cline-yes">400x</span>
745
755
  <span class="cline-any cline-no">&nbsp;</span>
746
756
  <span class="cline-any cline-neutral">&nbsp;</span>
747
- <span class="cline-any cline-yes">79x</span>
757
+ <span class="cline-any cline-yes">400x</span>
748
758
  <span class="cline-any cline-no">&nbsp;</span>
749
759
  <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-yes">79x</span>
751
- <span class="cline-any cline-yes">34x</span>
760
+ <span class="cline-any cline-yes">400x</span>
761
+ <span class="cline-any cline-yes">153x</span>
752
762
  <span class="cline-any cline-neutral">&nbsp;</span>
753
- <span class="cline-any cline-yes">45x</span>
763
+ <span class="cline-any cline-yes">247x</span>
754
764
  <span class="cline-any cline-no">&nbsp;</span>
755
765
  <span class="cline-any cline-neutral">&nbsp;</span>
756
- <span class="cline-any cline-yes">45x</span>
766
+ <span class="cline-any cline-yes">247x</span>
757
767
  <span class="cline-any cline-no">&nbsp;</span>
758
768
  <span class="cline-any cline-neutral">&nbsp;</span>
759
- <span class="cline-any cline-yes">45x</span>
769
+ <span class="cline-any cline-yes">247x</span>
760
770
  <span class="cline-any cline-neutral">&nbsp;</span>
761
771
  <span class="cline-any cline-neutral">&nbsp;</span>
762
772
  <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-yes">2x</span>
764
- <span class="cline-any cline-yes">3x</span>
773
+ <span class="cline-any cline-yes">108x</span>
774
+ <span class="cline-any cline-yes">305x</span>
765
775
  <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-yes">2x</span>
776
+ <span class="cline-any cline-yes">108x</span>
767
777
  <span class="cline-any cline-neutral">&nbsp;</span>
768
778
  <span class="cline-any cline-neutral">&nbsp;</span>
769
779
  <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-yes">144x</span>
780
+ <span class="cline-any cline-yes">214x</span>
771
781
  <span class="cline-any cline-no">&nbsp;</span>
772
782
  <span class="cline-any cline-neutral">&nbsp;</span>
773
- <span class="cline-any cline-yes">144x</span>
783
+ <span class="cline-any cline-yes">214x</span>
774
784
  <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-yes">166x</span>
776
- <span class="cline-any cline-yes">90x</span>
785
+ <span class="cline-any cline-yes">206x</span>
786
+ <span class="cline-any cline-yes">111x</span>
777
787
  <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-yes">76x</span>
788
+ <span class="cline-any cline-yes">95x</span>
779
789
  <span class="cline-any cline-neutral">&nbsp;</span>
780
790
  <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-yes">166x</span>
791
+ <span class="cline-any cline-yes">206x</span>
782
792
  <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-yes">144x</span>
793
+ <span class="cline-any cline-yes">214x</span>
784
794
  <span class="cline-any cline-neutral">&nbsp;</span>
785
795
  <span class="cline-any cline-neutral">&nbsp;</span>
786
796
  <span class="cline-any cline-neutral">&nbsp;</span>
787
797
  <span class="cline-any cline-neutral">&nbsp;</span>
788
798
  <span class="cline-any cline-neutral">&nbsp;</span>
789
799
  <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-yes">5x</span>
791
- <span class="cline-any cline-yes">5x</span>
792
- <span class="cline-any cline-yes">5x</span>
793
- <span class="cline-any cline-yes">18x</span>
794
- <span class="cline-any cline-yes">18x</span>
795
- <span class="cline-any cline-yes">18x</span>
796
- <span class="cline-any cline-yes">18x</span>
800
+ <span class="cline-any cline-yes">140x</span>
797
801
  <span class="cline-any cline-neutral">&nbsp;</span>
802
+ <span class="cline-any cline-yes">140x</span>
803
+ <span class="cline-any cline-yes">3x</span>
798
804
  <span class="cline-any cline-neutral">&nbsp;</span>
799
805
  <span class="cline-any cline-neutral">&nbsp;</span>
806
+ <span class="cline-any cline-yes">137x</span>
807
+ <span class="cline-any cline-yes">137x</span>
808
+ <span class="cline-any cline-yes">683x</span>
809
+ <span class="cline-any cline-yes">683x</span>
810
+ <span class="cline-any cline-yes">683x</span>
811
+ <span class="cline-any cline-yes">683x</span>
800
812
  <span class="cline-any cline-neutral">&nbsp;</span>
801
- <span class="cline-any cline-no">&nbsp;</span>
802
- <span class="cline-any cline-no">&nbsp;</span>
813
+ <span class="cline-any cline-neutral">&nbsp;</span>
814
+ <span class="cline-any cline-neutral">&nbsp;</span>
815
+ <span class="cline-any cline-neutral">&nbsp;</span>
816
+ <span class="cline-any cline-yes">648x</span>
817
+ <span class="cline-any cline-yes">648x</span>
803
818
  <span class="cline-any cline-no">&nbsp;</span>
804
819
  <span class="cline-any cline-neutral">&nbsp;</span>
805
820
  <span class="cline-any cline-neutral">&nbsp;</span>
806
821
  <span class="cline-any cline-neutral">&nbsp;</span>
807
822
  <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-yes">18x</span>
823
+ <span class="cline-any cline-yes">683x</span>
809
824
  <span class="cline-any cline-neutral">&nbsp;</span>
810
825
  <span class="cline-any cline-neutral">&nbsp;</span>
811
826
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -813,7 +828,7 @@
813
828
  <span class="cline-any cline-neutral">&nbsp;</span>
814
829
  <span class="cline-any cline-neutral">&nbsp;</span>
815
830
  <span class="cline-any cline-neutral">&nbsp;</span>
816
- <span class="cline-any cline-yes">29x</span>
831
+ <span class="cline-any cline-yes">210x</span>
817
832
  <span class="cline-any cline-neutral">&nbsp;</span>
818
833
  <span class="cline-any cline-neutral">&nbsp;</span>
819
834
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -826,19 +841,19 @@
826
841
  <span class="cline-any cline-neutral">&nbsp;</span>
827
842
  <span class="cline-any cline-neutral">&nbsp;</span>
828
843
  <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-yes">40x</span>
830
- <span class="cline-any cline-yes">62x</span>
831
- <span class="cline-any cline-yes">62x</span>
832
- <span class="cline-any cline-yes">62x</span>
833
- <span class="cline-any cline-yes">31x</span>
844
+ <span class="cline-any cline-yes">59x</span>
845
+ <span class="cline-any cline-yes">81x</span>
846
+ <span class="cline-any cline-yes">81x</span>
847
+ <span class="cline-any cline-yes">81x</span>
848
+ <span class="cline-any cline-yes">43x</span>
834
849
  <span class="cline-any cline-neutral">&nbsp;</span>
835
- <span class="cline-any cline-yes">62x</span>
850
+ <span class="cline-any cline-yes">81x</span>
836
851
  <span class="cline-any cline-yes">1x</span>
837
852
  <span class="cline-any cline-neutral">&nbsp;</span>
838
853
  <span class="cline-any cline-neutral">&nbsp;</span>
839
854
  <span class="cline-any cline-neutral">&nbsp;</span>
840
855
  <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-yes">54x</span>
856
+ <span class="cline-any cline-yes">103x</span>
842
857
  <span class="cline-any cline-no">&nbsp;</span>
843
858
  <span class="cline-any cline-neutral">&nbsp;</span>
844
859
  <span class="cline-any cline-no">&nbsp;</span>
@@ -852,7 +867,7 @@
852
867
  <span class="cline-any cline-neutral">&nbsp;</span>
853
868
  <span class="cline-any cline-neutral">&nbsp;</span>
854
869
  <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">54x</span>
870
+ <span class="cline-any cline-yes">103x</span>
856
871
  <span class="cline-any cline-yes">18x</span>
857
872
  <span class="cline-any cline-yes">18x</span>
858
873
  <span class="cline-any cline-yes">18x</span>
@@ -907,24 +922,24 @@
907
922
  <span class="cline-any cline-neutral">&nbsp;</span>
908
923
  <span class="cline-any cline-neutral">&nbsp;</span>
909
924
  <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-yes">54x</span>
925
+ <span class="cline-any cline-yes">103x</span>
911
926
  <span class="cline-any cline-no">&nbsp;</span>
912
927
  <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-yes">54x</span>
928
+ <span class="cline-any cline-yes">103x</span>
914
929
  <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-yes">54x</span>
916
- <span class="cline-any cline-yes">54x</span>
917
- <span class="cline-any cline-no">&nbsp;</span>
918
- <span class="cline-any cline-no">&nbsp;</span>
919
- <span class="cline-any cline-no">&nbsp;</span>
930
+ <span class="cline-any cline-yes">103x</span>
931
+ <span class="cline-any cline-yes">103x</span>
932
+ <span class="cline-any cline-yes">2x</span>
933
+ <span class="cline-any cline-yes">1x</span>
934
+ <span class="cline-any cline-yes">1x</span>
920
935
  <span class="cline-any cline-neutral">&nbsp;</span>
921
936
  <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-yes">54x</span>
923
- <span class="cline-any cline-yes">8x</span>
924
- <span class="cline-any cline-yes">4x</span>
937
+ <span class="cline-any cline-yes">103x</span>
938
+ <span class="cline-any cline-yes">10x</span>
939
+ <span class="cline-any cline-yes">5x</span>
925
940
  <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-yes">4x</span>
927
- <span class="cline-any cline-yes">2x</span>
941
+ <span class="cline-any cline-yes">5x</span>
942
+ <span class="cline-any cline-yes">3x</span>
928
943
  <span class="cline-any cline-neutral">&nbsp;</span>
929
944
  <span class="cline-any cline-yes">2x</span>
930
945
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -934,10 +949,10 @@
934
949
  <span class="cline-any cline-neutral">&nbsp;</span>
935
950
  <span class="cline-any cline-neutral">&nbsp;</span>
936
951
  <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-yes">54x</span>
952
+ <span class="cline-any cline-yes">103x</span>
938
953
  <span class="cline-any cline-no">&nbsp;</span>
939
954
  <span class="cline-any cline-neutral">&nbsp;</span>
940
- <span class="cline-any cline-yes">54x</span>
955
+ <span class="cline-any cline-yes">103x</span>
941
956
  <span class="cline-any cline-yes">8x</span>
942
957
  <span class="cline-any cline-yes">4x</span>
943
958
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -954,55 +969,55 @@
954
969
  <span class="cline-any cline-neutral">&nbsp;</span>
955
970
  <span class="cline-any cline-neutral">&nbsp;</span>
956
971
  <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-yes">54x</span>
958
- <span class="cline-any cline-yes">6x</span>
959
- <span class="cline-any cline-yes">6x</span>
960
- <span class="cline-any cline-yes">6x</span>
972
+ <span class="cline-any cline-yes">103x</span>
973
+ <span class="cline-any cline-yes">21x</span>
974
+ <span class="cline-any cline-yes">16x</span>
975
+ <span class="cline-any cline-yes">16x</span>
961
976
  <span class="cline-any cline-neutral">&nbsp;</span>
962
977
  <span class="cline-any cline-neutral">&nbsp;</span>
963
- <span class="cline-any cline-yes">54x</span>
978
+ <span class="cline-any cline-yes">103x</span>
964
979
  <span class="cline-any cline-no">&nbsp;</span>
965
980
  <span class="cline-any cline-no">&nbsp;</span>
966
981
  <span class="cline-any cline-no">&nbsp;</span>
967
982
  <span class="cline-any cline-neutral">&nbsp;</span>
968
983
  <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-yes">54x</span>
984
+ <span class="cline-any cline-yes">103x</span>
970
985
  <span class="cline-any cline-no">&nbsp;</span>
971
986
  <span class="cline-any cline-no">&nbsp;</span>
972
987
  <span class="cline-any cline-no">&nbsp;</span>
973
988
  <span class="cline-any cline-neutral">&nbsp;</span>
974
989
  <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-yes">54x</span>
990
+ <span class="cline-any cline-yes">103x</span>
976
991
  <span class="cline-any cline-no">&nbsp;</span>
977
992
  <span class="cline-any cline-no">&nbsp;</span>
978
993
  <span class="cline-any cline-no">&nbsp;</span>
979
994
  <span class="cline-any cline-neutral">&nbsp;</span>
980
995
  <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-yes">54x</span>
996
+ <span class="cline-any cline-yes">103x</span>
982
997
  <span class="cline-any cline-yes">6x</span>
983
998
  <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-yes">54x</span>
999
+ <span class="cline-any cline-yes">103x</span>
985
1000
  <span class="cline-any cline-yes">6x</span>
986
1001
  <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-yes">54x</span>
1002
+ <span class="cline-any cline-yes">103x</span>
988
1003
  <span class="cline-any cline-yes">6x</span>
989
1004
  <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-yes">54x</span>
1005
+ <span class="cline-any cline-yes">103x</span>
991
1006
  <span class="cline-any cline-neutral">&nbsp;</span>
992
1007
  <span class="cline-any cline-neutral">&nbsp;</span>
993
1008
  <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-yes">47x</span>
995
- <span class="cline-any cline-yes">47x</span>
996
- <span class="cline-any cline-yes">47x</span>
997
- <span class="cline-any cline-yes">45x</span>
998
- <span class="cline-any cline-no">&nbsp;</span>
999
- <span class="cline-any cline-no">&nbsp;</span>
1009
+ <span class="cline-any cline-yes">91x</span>
1010
+ <span class="cline-any cline-yes">91x</span>
1011
+ <span class="cline-any cline-yes">91x</span>
1012
+ <span class="cline-any cline-yes">53x</span>
1013
+ <span class="cline-any cline-yes">8x</span>
1014
+ <span class="cline-any cline-yes">8x</span>
1000
1015
  <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-yes">2x</span>
1016
+ <span class="cline-any cline-yes">38x</span>
1002
1017
  <span class="cline-any cline-neutral">&nbsp;</span>
1003
1018
  <span class="cline-any cline-no">&nbsp;</span>
1004
1019
  <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-yes">47x</span>
1020
+ <span class="cline-any cline-yes">91x</span>
1006
1021
  <span class="cline-any cline-neutral">&nbsp;</span>
1007
1022
  <span class="cline-any cline-neutral">&nbsp;</span>
1008
1023
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1011,40 +1026,40 @@
1011
1026
  <span class="cline-any cline-neutral">&nbsp;</span>
1012
1027
  <span class="cline-any cline-neutral">&nbsp;</span>
1013
1028
  <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-yes">26x</span>
1029
+ <span class="cline-any cline-yes">48x</span>
1015
1030
  <span class="cline-any cline-yes">23x</span>
1016
1031
  <span class="cline-any cline-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-yes">3x</span>
1032
+ <span class="cline-any cline-yes">25x</span>
1018
1033
  <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-yes">3x</span>
1020
- <span class="cline-any cline-yes">3x</span>
1034
+ <span class="cline-any cline-yes">25x</span>
1035
+ <span class="cline-any cline-yes">24x</span>
1021
1036
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
1037
  <span class="cline-any cline-neutral">&nbsp;</span>
1023
1038
  <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">3x</span>
1039
+ <span class="cline-any cline-yes">24x</span>
1025
1040
  <span class="cline-any cline-yes">1x</span>
1026
1041
  <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-yes">3x</span>
1028
- <span class="cline-any cline-yes">3x</span>
1042
+ <span class="cline-any cline-yes">24x</span>
1043
+ <span class="cline-any cline-yes">24x</span>
1029
1044
  <span class="cline-any cline-no">&nbsp;</span>
1030
1045
  <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-yes">3x</span>
1046
+ <span class="cline-any cline-yes">24x</span>
1032
1047
  <span class="cline-any cline-neutral">&nbsp;</span>
1033
1048
  <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-yes">3x</span>
1035
- <span class="cline-any cline-yes">3x</span>
1036
- <span class="cline-any cline-yes">3x</span>
1037
- <span class="cline-any cline-yes">3x</span>
1049
+ <span class="cline-any cline-yes">25x</span>
1050
+ <span class="cline-any cline-yes">24x</span>
1051
+ <span class="cline-any cline-yes">24x</span>
1052
+ <span class="cline-any cline-yes">24x</span>
1038
1053
  <span class="cline-any cline-neutral">&nbsp;</span>
1039
1054
  <span class="cline-any cline-neutral">&nbsp;</span>
1040
- <span class="cline-any cline-yes">3x</span>
1055
+ <span class="cline-any cline-yes">24x</span>
1041
1056
  <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-yes">2x</span>
1043
- <span class="cline-any cline-yes">2x</span>
1044
- <span class="cline-any cline-yes">2x</span>
1045
- <span class="cline-any cline-yes">2x</span>
1057
+ <span class="cline-any cline-yes">23x</span>
1058
+ <span class="cline-any cline-yes">23x</span>
1059
+ <span class="cline-any cline-yes">23x</span>
1060
+ <span class="cline-any cline-yes">23x</span>
1046
1061
  <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-yes">2x</span>
1062
+ <span class="cline-any cline-yes">23x</span>
1048
1063
  <span class="cline-any cline-neutral">&nbsp;</span>
1049
1064
  <span class="cline-any cline-neutral">&nbsp;</span>
1050
1065
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1072,27 +1087,30 @@
1072
1087
  <span class="cline-any cline-neutral">&nbsp;</span>
1073
1088
  <span class="cline-any cline-neutral">&nbsp;</span>
1074
1089
  <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-yes">3x</span>
1090
+ <span class="cline-any cline-yes">25x</span>
1076
1091
  <span class="cline-any cline-neutral">&nbsp;</span>
1077
1092
  <span class="cline-any cline-neutral">&nbsp;</span>
1078
1093
  <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-yes">1x</span>
1080
- <span class="cline-any cline-yes">1x</span>
1081
- <span class="cline-any cline-yes">1x</span>
1094
+ <span class="cline-any cline-yes">106x</span>
1095
+ <span class="cline-any cline-yes">106x</span>
1096
+ <span class="cline-any cline-yes">106x</span>
1082
1097
  <span class="cline-any cline-no">&nbsp;</span>
1083
1098
  <span class="cline-any cline-neutral">&nbsp;</span>
1084
- <span class="cline-any cline-yes">1x</span>
1099
+ <span class="cline-any cline-yes">106x</span>
1085
1100
  <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">1x</span>
1087
- <span class="cline-any cline-yes">2x</span>
1101
+ <span class="cline-any cline-yes">106x</span>
1102
+ <span class="cline-any cline-yes">300x</span>
1088
1103
  <span class="cline-any cline-no">&nbsp;</span>
1089
1104
  <span class="cline-any cline-neutral">&nbsp;</span>
1090
1105
  <span class="cline-any cline-neutral">&nbsp;</span>
1091
1106
  <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-yes">1x</span>
1107
+ <span class="cline-any cline-neutral">&nbsp;</span>
1108
+ <span class="cline-any cline-yes">106x</span>
1093
1109
  <span class="cline-any cline-no">&nbsp;</span>
1094
1110
  <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-yes">1x</span>
1111
+ <span class="cline-any cline-yes">106x</span>
1112
+ <span class="cline-any cline-neutral">&nbsp;</span>
1113
+ <span class="cline-any cline-neutral">&nbsp;</span>
1096
1114
  <span class="cline-any cline-neutral">&nbsp;</span>
1097
1115
  <span class="cline-any cline-neutral">&nbsp;</span>
1098
1116
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1110,89 +1128,91 @@
1110
1128
  <span class="cline-any cline-neutral">&nbsp;</span>
1111
1129
  <span class="cline-any cline-neutral">&nbsp;</span>
1112
1130
  <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-yes">26x</span>
1114
- <span class="cline-any cline-yes">26x</span>
1131
+ <span class="cline-any cline-yes">48x</span>
1132
+ <span class="cline-any cline-yes">48x</span>
1115
1133
  <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-yes">26x</span>
1134
+ <span class="cline-any cline-yes">48x</span>
1117
1135
  <span class="cline-any cline-no">&nbsp;</span>
1118
1136
  <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-yes">26x</span>
1137
+ <span class="cline-any cline-yes">48x</span>
1120
1138
  <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-yes">26x</span>
1139
+ <span class="cline-any cline-yes">48x</span>
1122
1140
  <span class="cline-any cline-neutral">&nbsp;</span>
1123
1141
  <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-yes">5x</span>
1142
+ <span class="cline-any cline-yes">27x</span>
1125
1143
  <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-yes">26x</span>
1144
+ <span class="cline-any cline-yes">48x</span>
1127
1145
  <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-yes">26x</span>
1129
- <span class="cline-any cline-yes">26x</span>
1146
+ <span class="cline-any cline-yes">48x</span>
1147
+ <span class="cline-any cline-yes">48x</span>
1130
1148
  <span class="cline-any cline-neutral">&nbsp;</span>
1131
1149
  <span class="cline-any cline-no">&nbsp;</span>
1132
1150
  <span class="cline-any cline-no">&nbsp;</span>
1133
1151
  <span class="cline-any cline-no">&nbsp;</span>
1134
1152
  <span class="cline-any cline-no">&nbsp;</span>
1135
- <span class="cline-any cline-yes">26x</span>
1136
- <span class="cline-any cline-no">&nbsp;</span>
1153
+ <span class="cline-any cline-yes">48x</span>
1154
+ <span class="cline-any cline-yes">1x</span>
1137
1155
  <span class="cline-any cline-neutral">&nbsp;</span>
1138
1156
  <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-yes">26x</span>
1140
- <span class="cline-any cline-yes">26x</span>
1157
+ <span class="cline-any cline-yes">48x</span>
1158
+ <span class="cline-any cline-yes">48x</span>
1141
1159
  <span class="cline-any cline-yes">2x</span>
1142
1160
  <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-yes">26x</span>
1161
+ <span class="cline-any cline-yes">48x</span>
1144
1162
  <span class="cline-any cline-no">&nbsp;</span>
1145
1163
  <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-yes">26x</span>
1164
+ <span class="cline-any cline-yes">48x</span>
1147
1165
  <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-yes">26x</span>
1166
+ <span class="cline-any cline-yes">48x</span>
1149
1167
  <span class="cline-any cline-neutral">&nbsp;</span>
1150
- <span class="cline-any cline-yes">26x</span>
1168
+ <span class="cline-any cline-yes">48x</span>
1151
1169
  <span class="cline-any cline-neutral">&nbsp;</span>
1152
1170
  <span class="cline-any cline-neutral">&nbsp;</span>
1153
1171
  <span class="cline-any cline-neutral">&nbsp;</span>
1154
1172
  <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-yes">26x</span>
1156
- <span class="cline-any cline-yes">21x</span>
1173
+ <span class="cline-any cline-yes">48x</span>
1174
+ <span class="cline-any cline-yes">43x</span>
1157
1175
  <span class="cline-any cline-neutral">&nbsp;</span>
1158
1176
  <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-yes">26x</span>
1177
+ <span class="cline-any cline-yes">48x</span>
1160
1178
  <span class="cline-any cline-neutral">&nbsp;</span>
1161
1179
  <span class="cline-any cline-neutral">&nbsp;</span>
1162
1180
  <span class="cline-any cline-neutral">&nbsp;</span>
1163
1181
  <span class="cline-any cline-neutral">&nbsp;</span>
1164
1182
  <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-yes">26x</span>
1183
+ <span class="cline-any cline-yes">48x</span>
1166
1184
  <span class="cline-any cline-neutral">&nbsp;</span>
1167
1185
  <span class="cline-any cline-neutral">&nbsp;</span>
1168
1186
  <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-yes">1x</span>
1170
- <span class="cline-any cline-yes">1x</span>
1171
- <span class="cline-any cline-yes">1x</span>
1187
+ <span class="cline-any cline-yes">2x</span>
1188
+ <span class="cline-any cline-yes">2x</span>
1189
+ <span class="cline-any cline-yes">2x</span>
1172
1190
  <span class="cline-any cline-no">&nbsp;</span>
1173
1191
  <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-yes">1x</span>
1175
- <span class="cline-any cline-yes">1x</span>
1192
+ <span class="cline-any cline-yes">2x</span>
1193
+ <span class="cline-any cline-yes">2x</span>
1176
1194
  <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-yes">1x</span>
1195
+ <span class="cline-any cline-yes">2x</span>
1178
1196
  <span class="cline-any cline-no">&nbsp;</span>
1179
1197
  <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-yes">1x</span>
1198
+ <span class="cline-any cline-yes">2x</span>
1181
1199
  <span class="cline-any cline-neutral">&nbsp;</span>
1182
1200
  <span class="cline-any cline-neutral">&nbsp;</span>
1183
1201
  <span class="cline-any cline-neutral">&nbsp;</span>
1184
1202
  <span class="cline-any cline-neutral">&nbsp;</span>
1185
- <span class="cline-any cline-yes">1x</span>
1186
- <span class="cline-any cline-yes">1x</span>
1187
- <span class="cline-any cline-yes">1x</span>
1203
+ <span class="cline-any cline-neutral">&nbsp;</span>
1204
+ <span class="cline-any cline-neutral">&nbsp;</span>
1205
+ <span class="cline-any cline-yes">5x</span>
1206
+ <span class="cline-any cline-yes">5x</span>
1207
+ <span class="cline-any cline-yes">5x</span>
1188
1208
  <span class="cline-any cline-no">&nbsp;</span>
1189
1209
  <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-yes">1x</span>
1210
+ <span class="cline-any cline-yes">5x</span>
1191
1211
  <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-yes">1x</span>
1212
+ <span class="cline-any cline-yes">5x</span>
1193
1213
  <span class="cline-any cline-no">&nbsp;</span>
1194
1214
  <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-yes">1x</span>
1215
+ <span class="cline-any cline-yes">5x</span>
1196
1216
  <span class="cline-any cline-neutral">&nbsp;</span>
1197
1217
  <span class="cline-any cline-neutral">&nbsp;</span>
1198
1218
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1201,8 +1221,8 @@
1201
1221
  <span class="cline-any cline-neutral">&nbsp;</span>
1202
1222
  <span class="cline-any cline-neutral">&nbsp;</span>
1203
1223
  <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-yes">73x</span>
1205
- <span class="cline-any cline-yes">73x</span>
1224
+ <span class="cline-any cline-yes">255x</span>
1225
+ <span class="cline-any cline-yes">255x</span>
1206
1226
  <span class="cline-any cline-neutral">&nbsp;</span>
1207
1227
  <span class="cline-any cline-neutral">&nbsp;</span>
1208
1228
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1212,36 +1232,36 @@
1212
1232
  <span class="cline-any cline-neutral">&nbsp;</span>
1213
1233
  <span class="cline-any cline-neutral">&nbsp;</span>
1214
1234
  <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-yes">29x</span>
1216
- <span class="cline-any cline-yes">29x</span>
1235
+ <span class="cline-any cline-yes">210x</span>
1236
+ <span class="cline-any cline-yes">210x</span>
1217
1237
  <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-yes">29x</span>
1219
- <span class="cline-any cline-yes">29x</span>
1238
+ <span class="cline-any cline-yes">210x</span>
1239
+ <span class="cline-any cline-yes">210x</span>
1220
1240
  <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-yes">1x</span>
1222
- <span class="cline-any cline-yes">1x</span>
1241
+ <span class="cline-any cline-yes">106x</span>
1242
+ <span class="cline-any cline-yes">106x</span>
1223
1243
  <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-yes">26x</span>
1225
- <span class="cline-any cline-yes">26x</span>
1244
+ <span class="cline-any cline-yes">48x</span>
1245
+ <span class="cline-any cline-yes">48x</span>
1226
1246
  <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-yes">1x</span>
1228
- <span class="cline-any cline-yes">1x</span>
1247
+ <span class="cline-any cline-yes">2x</span>
1248
+ <span class="cline-any cline-yes">2x</span>
1229
1249
  <span class="cline-any cline-neutral">&nbsp;</span>
1230
- <span class="cline-any cline-yes">1x</span>
1231
- <span class="cline-any cline-yes">1x</span>
1250
+ <span class="cline-any cline-yes">5x</span>
1251
+ <span class="cline-any cline-yes">5x</span>
1232
1252
  <span class="cline-any cline-neutral">&nbsp;</span>
1233
1253
  <span class="cline-any cline-no">&nbsp;</span>
1234
1254
  <span class="cline-any cline-no">&nbsp;</span>
1235
1255
  <span class="cline-any cline-neutral">&nbsp;</span>
1236
1256
  <span class="cline-any cline-neutral">&nbsp;</span>
1237
1257
  <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-no">&nbsp;</span>
1258
+ <span class="cline-any cline-yes">49x</span>
1239
1259
  <span class="cline-any cline-neutral">&nbsp;</span>
1240
1260
  <span class="cline-any cline-no">&nbsp;</span>
1241
1261
  <span class="cline-any cline-neutral">&nbsp;</span>
1242
1262
  <span class="cline-any cline-neutral">&nbsp;</span>
1243
1263
  <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-yes">29x</span>
1264
+ <span class="cline-any cline-yes">161x</span>
1245
1265
  <span class="cline-any cline-neutral">&nbsp;</span>
1246
1266
  <span class="cline-any cline-neutral">&nbsp;</span>
1247
1267
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1324,7 +1344,7 @@
1324
1344
  <span class="cline-any cline-neutral">&nbsp;</span>
1325
1345
  <span class="cline-any cline-neutral">&nbsp;</span>
1326
1346
  <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-yes">241x</span>
1347
+ <span class="cline-any cline-yes">249x</span>
1328
1348
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Knex, knex } from "knex"
1329
1349
  import {
1330
1350
  Operation,
@@ -1417,20 +1437,25 @@ function parseFilters(filters: SearchFilters | undefined): SearchFilters {
1417
1437
  function generateSelectStatement(
1418
1438
  json: QueryJson,
1419
1439
  knex: Knex
1420
- ): (string | Knex.Raw)[] {
1440
+ ): (string | Knex.Raw)[] | "*" {
1421
1441
  const { resource, meta } = json
1442
+ &nbsp;
1443
+ if (!resource) {
1444
+ return "*"
1445
+ }
1446
+ &nbsp;
1422
1447
  const schema = meta?.table?.schema
1423
- return resource!.fields.map(field =&gt; {
1448
+ return resource.fields.map(field =&gt; {
1424
1449
  const fieldNames = field.split(/\./g)
1425
1450
  const tableName = fieldNames[0]
1426
1451
  const columnName = fieldNames[1]
1427
- <span class="missing-if-branch" title="if path not taken" >I</span>if (
1452
+ if (
1428
1453
  columnName &amp;&amp;
1429
1454
  schema?.[columnName] &amp;&amp;
1430
- <span class="branch-2 cbranch-no" title="branch not covered" > knex.client.config.client === SqlClient.POSTGRES</span>
1455
+ knex.client.config.client === SqlClient.POSTGRES
1431
1456
  ) {
1432
- const externalType = <span class="cstat-no" title="statement not covered" >schema[columnName].externalType</span>
1433
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (externalType?.includes("money")) {</span>
1457
+ const externalType = schema[columnName].externalType
1458
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (externalType?.includes("money")) {
1434
1459
  <span class="cstat-no" title="statement not covered" > return knex.raw(</span>
1435
1460
  `"${tableName}"."${columnName}"::money::numeric as "${field}"`
1436
1461
  )
@@ -1544,10 +1569,10 @@ class InternalBuilder {
1544
1569
  filters = parseFilters(filters)
1545
1570
  // if all or specified in filters, then everything is an or
1546
1571
  const allOr = filters.allOr
1547
- <span class="missing-if-branch" title="if path not taken" >I</span>if (filters.oneOf) {
1548
- <span class="cstat-no" title="statement not covered" > iterate(filters.oneOf, <span class="fstat-no" title="function not covered" >(k</span>ey, array) =&gt; {</span>
1549
- const fnc = <span class="cstat-no" title="statement not covered" >allOr ? "orWhereIn" : "whereIn"</span>
1550
- <span class="cstat-no" title="statement not covered" > query = query[fnc](key, Array.isArray(array) ? array : [array])</span>
1572
+ if (filters.oneOf) {
1573
+ iterate(filters.oneOf, (key, array) =&gt; {
1574
+ const fnc = allOr ? <span class="branch-0 cbranch-no" title="branch not covered" >"orWhereIn" : "</span>whereIn"
1575
+ query = query[fnc](key, Array.isArray(array) ? array : <span class="branch-1 cbranch-no" title="branch not covered" >[array])</span>
1551
1576
  })
1552
1577
  }
1553
1578
  if (filters.string) {
@@ -1626,8 +1651,8 @@ class InternalBuilder {
1626
1651
  const table = json.meta?.table
1627
1652
  if (sort) {
1628
1653
  for (let [key, value] of Object.entries(sort)) {
1629
- const direction = <span class="cstat-no" title="statement not covered" >value === SortDirection.ASCENDING ? "asc" : "desc"</span>
1630
- <span class="cstat-no" title="statement not covered" > query = query.orderBy(`${table?.name}.${key}`, direction)</span>
1654
+ const direction = value === SortDirection.ASCENDING ? "asc" : "desc"
1655
+ query = query.orderBy(`${table?.name}.${key}`, direction)
1631
1656
  }
1632
1657
  } else <span class="missing-if-branch" title="if path not taken" >I</span>if (this.client === SqlClient.MS_SQL &amp;&amp; <span class="branch-1 cbranch-no" title="branch not covered" >paginate?.limit) {</span>
1633
1658
  // @ts-ignore
@@ -1719,11 +1744,14 @@ class InternalBuilder {
1719
1744
  <span class="cstat-no" title="statement not covered" > delete parsedBody[key]</span>
1720
1745
  }
1721
1746
  }
1747
+ &nbsp;
1722
1748
  // mysql can't use returning
1723
1749
  <span class="missing-if-branch" title="if path not taken" >I</span>if (opts.disableReturning) {
1724
1750
  <span class="cstat-no" title="statement not covered" > return query.insert(parsedBody)</span>
1725
1751
  } else {
1726
- return query.insert(parsedBody).returning("*")
1752
+ return query
1753
+ .insert(parsedBody)
1754
+ .returning(generateSelectStatement(json, knex))
1727
1755
  }
1728
1756
  }
1729
1757
  &nbsp;
@@ -1763,8 +1791,8 @@ class InternalBuilder {
1763
1791
  const offset = <span class="cstat-no" title="statement not covered" >page * paginate.limit</span>
1764
1792
  <span class="cstat-no" title="statement not covered" > foundLimit = paginate.limit</span>
1765
1793
  <span class="cstat-no" title="statement not covered" > foundOffset = offset</span>
1766
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (paginate &amp;&amp; paginate.limit) {
1767
- <span class="cstat-no" title="statement not covered" > foundLimit = paginate.limit</span>
1794
+ } else if (paginate &amp;&amp; paginate.limit) {
1795
+ foundLimit = paginate.limit
1768
1796
  }
1769
1797
  // start building the query
1770
1798
  let query: KnexQuery = knex(tableName).limit(foundLimit)
@@ -1808,7 +1836,9 @@ class InternalBuilder {
1808
1836
  <span class="missing-if-branch" title="if path not taken" >I</span>if (opts.disableReturning) {
1809
1837
  <span class="cstat-no" title="statement not covered" > return query.update(parsedBody)</span>
1810
1838
  } else {
1811
- return query.update(parsedBody).returning("*")
1839
+ return query
1840
+ .update(parsedBody)
1841
+ .returning(generateSelectStatement(json, knex))
1812
1842
  }
1813
1843
  }
1814
1844
  &nbsp;
@@ -1823,7 +1853,7 @@ class InternalBuilder {
1823
1853
  <span class="missing-if-branch" title="if path not taken" >I</span>if (opts.disableReturning) {
1824
1854
  <span class="cstat-no" title="statement not covered" > return query.delete()</span>
1825
1855
  } else {
1826
- return query.delete().returning("*")
1856
+ return query.delete().returning(generateSelectStatement(json, knex))
1827
1857
  }
1828
1858
  }
1829
1859
  }
@@ -1863,10 +1893,10 @@ class SqlQueryBuilder extends SqlTableQueryBuilder {
1863
1893
  <span class="branch-4 cbranch-no" title="branch not covered" > case Operation.BULK_CREATE:</span>
1864
1894
  <span class="cstat-no" title="statement not covered" > query = builder.bulkCreate(client, json)</span>
1865
1895
  <span class="cstat-no" title="statement not covered" > break</span>
1866
- <span class="branch-5 cbranch-no" title="branch not covered" > case Operation.CREATE_TABLE:</span>
1867
- <span class="branch-6 cbranch-no" title="branch not covered" > case Operation.UPDATE_TABLE:</span>
1868
- <span class="branch-7 cbranch-no" title="branch not covered" > case Operation.DELETE_TABLE:</span>
1869
- <span class="cstat-no" title="statement not covered" > return this._tableQuery(json)</span>
1896
+ case Operation.CREATE_TABLE:
1897
+ case Operation.UPDATE_TABLE:
1898
+ case Operation.DELETE_TABLE:
1899
+ return this._tableQuery(json)
1870
1900
  <span class="branch-8 cbranch-no" title="branch not covered" > default:</span>
1871
1901
  <span class="cstat-no" title="statement not covered" > throw `Operation type is not supported by SQL query builder`</span>
1872
1902
  }
@@ -1963,7 +1993,7 @@ export default SqlQueryBuilder
1963
1993
  <div class='footer quiet pad2 space-top1 center small'>
1964
1994
  Code coverage generated by
1965
1995
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1966
- at Fri Feb 10 2023 13:45:25 GMT+0000 (Coordinated Universal Time)
1996
+ at Fri Feb 10 2023 19:13:10 GMT+0000 (Coordinated Universal Time)
1967
1997
  </div>
1968
1998
  <script src="../../../prettify.js"></script>
1969
1999
  <script>