@budibase/server 2.2.12-alpha.5 → 2.2.12-alpha.51

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 (578) hide show
  1. package/__mocks__/node-fetch.ts +2 -0
  2. package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
  3. package/builder/assets/bg.c1563288.png +0 -0
  4. package/builder/assets/bulgaria.bd68393d.png +0 -0
  5. package/builder/assets/covanta.72c46c1e.png +0 -0
  6. package/builder/assets/index.f29fb244.js +1031 -0
  7. package/builder/assets/index.ff7b1aa7.css +6 -0
  8. package/builder/assets/schnellecke.cf1837a8.png +0 -0
  9. package/builder/index.html +2 -2
  10. package/coverage/clover.xml +5670 -5622
  11. package/coverage/coverage-final.json +282 -279
  12. package/coverage/lcov-report/index.html +458 -413
  13. package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
  14. package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
  15. package/coverage/lcov-report/src/api/controllers/application.ts.html +199 -178
  16. package/coverage/lcov-report/src/api/controllers/auth.ts.html +10 -10
  17. package/coverage/lcov-report/src/api/controllers/automation.ts.html +37 -37
  18. package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
  19. package/coverage/lcov-report/src/api/controllers/cloud.ts.html +19 -19
  20. package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
  21. package/coverage/lcov-report/src/api/controllers/datasource.ts.html +117 -93
  22. package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +18 -18
  23. package/coverage/lcov-report/src/api/controllers/deploy/index.html +7 -7
  24. package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +83 -83
  25. package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
  26. package/coverage/lcov-report/src/api/controllers/index.html +105 -105
  27. package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
  28. package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
  29. package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
  30. package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
  31. package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
  32. package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +4 -4
  33. package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +20 -20
  34. package/coverage/lcov-report/src/api/controllers/plugin/index.html +31 -31
  35. package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +32 -32
  36. package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +10 -10
  37. package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +5 -5
  38. package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +4 -4
  39. package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +4 -4
  40. package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +31 -31
  41. package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
  42. package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
  43. package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
  44. package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
  45. package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
  46. package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
  47. package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
  48. package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
  49. package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
  50. package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
  51. package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
  52. package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
  53. package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
  54. package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
  55. package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
  56. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
  57. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
  58. package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
  59. package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
  60. package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
  61. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
  62. package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
  63. package/coverage/lcov-report/src/api/controllers/query/index.html +16 -16
  64. package/coverage/lcov-report/src/api/controllers/query/index.ts.html +94 -70
  65. package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +9 -9
  66. package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
  67. package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
  68. package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +58 -40
  69. package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
  70. package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
  71. package/coverage/lcov-report/src/api/controllers/row/index.ts.html +36 -36
  72. package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +155 -83
  73. package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
  74. package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +33 -33
  75. package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +153 -39
  76. package/coverage/lcov-report/src/api/controllers/screen.ts.html +12 -12
  77. package/coverage/lcov-report/src/api/controllers/script.ts.html +11 -11
  78. package/coverage/lcov-report/src/api/controllers/static/index.html +15 -15
  79. package/coverage/lcov-report/src/api/controllers/static/index.ts.html +49 -52
  80. package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
  81. package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
  82. package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
  83. package/coverage/lcov-report/src/api/controllers/table/index.ts.html +155 -68
  84. package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
  85. package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +93 -96
  86. package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
  87. package/coverage/lcov-report/src/api/controllers/user.ts.html +103 -79
  88. package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
  89. package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
  90. package/coverage/lcov-report/src/api/controllers/view/index.ts.html +57 -96
  91. package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +22 -22
  92. package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +8 -8
  93. package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
  94. package/coverage/lcov-report/src/api/index.html +15 -15
  95. package/coverage/lcov-report/src/api/index.ts.html +35 -35
  96. package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
  97. package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
  98. package/coverage/lcov-report/src/api/routes/application.ts.html +13 -13
  99. package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
  100. package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
  101. package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
  102. package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
  103. package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
  104. package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
  105. package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -11
  106. package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
  107. package/coverage/lcov-report/src/api/routes/index.html +67 -67
  108. package/coverage/lcov-report/src/api/routes/index.ts.html +43 -37
  109. package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
  110. package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
  111. package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
  112. package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
  113. package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
  114. package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
  115. package/coverage/lcov-report/src/api/routes/public/applications.ts.html +16 -16
  116. package/coverage/lcov-report/src/api/routes/public/index.html +24 -24
  117. package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
  118. package/coverage/lcov-report/src/api/routes/public/middleware/index.html +5 -5
  119. package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +12 -12
  120. package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
  121. package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
  122. package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
  123. package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
  124. package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
  125. package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
  126. package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
  127. package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
  128. package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
  129. package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
  130. package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
  131. package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
  132. package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
  133. package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
  134. package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
  135. package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
  136. package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
  137. package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +13 -13
  138. package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
  139. package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +14 -14
  140. package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
  141. package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
  142. package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
  143. package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
  144. package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
  145. package/coverage/lcov-report/src/app.ts.html +22 -16
  146. package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
  147. package/coverage/lcov-report/src/automations/automationUtils.ts.html +61 -61
  148. package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
  149. package/coverage/lcov-report/src/automations/index.html +54 -54
  150. package/coverage/lcov-report/src/automations/index.ts.html +23 -23
  151. package/coverage/lcov-report/src/automations/logging/index.html +3 -3
  152. package/coverage/lcov-report/src/automations/logging/index.ts.html +10 -10
  153. package/coverage/lcov-report/src/automations/steps/bash.ts.html +11 -11
  154. package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
  155. package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
  156. package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
  157. package/coverage/lcov-report/src/automations/steps/discord.ts.html +11 -11
  158. package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +9 -9
  159. package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +9 -9
  160. package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
  161. package/coverage/lcov-report/src/automations/steps/index.html +75 -75
  162. package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
  163. package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
  164. package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
  165. package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
  166. package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +9 -9
  167. package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +10 -10
  168. package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
  169. package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +9 -9
  170. package/coverage/lcov-report/src/automations/steps/utils.ts.html +12 -12
  171. package/coverage/lcov-report/src/automations/steps/zapier.ts.html +8 -8
  172. package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
  173. package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +24 -24
  174. package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
  175. package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
  176. package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
  177. package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
  178. package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
  179. package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
  180. package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
  181. package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
  182. package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
  183. package/coverage/lcov-report/src/automations/utils.ts.html +69 -69
  184. package/coverage/lcov-report/src/constants/index.html +19 -19
  185. package/coverage/lcov-report/src/constants/index.ts.html +80 -80
  186. package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
  187. package/coverage/lcov-report/src/constants/screens.ts.html +4 -4
  188. package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
  189. package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
  190. package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
  191. package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
  192. package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
  193. package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
  194. package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
  195. package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
  196. package/coverage/lcov-report/src/db/index.html +32 -32
  197. package/coverage/lcov-report/src/db/index.ts.html +10 -10
  198. package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
  199. package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
  200. package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
  201. package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
  202. package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
  203. package/coverage/lcov-report/src/db/newid.ts.html +5 -5
  204. package/coverage/lcov-report/src/db/utils.ts.html +76 -76
  205. package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
  206. package/coverage/lcov-report/src/definitions/index.html +5 -20
  207. package/coverage/lcov-report/src/environment.ts.html +16 -16
  208. package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
  209. package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
  210. package/coverage/lcov-report/src/events/index.html +20 -20
  211. package/coverage/lcov-report/src/events/index.ts.html +7 -7
  212. package/coverage/lcov-report/src/events/utils.ts.html +11 -11
  213. package/coverage/lcov-report/src/index.html +36 -36
  214. package/coverage/lcov-report/src/index.ts.html +8 -8
  215. package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
  216. package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
  217. package/coverage/lcov-report/src/integrations/base/index.html +28 -28
  218. package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
  219. package/coverage/lcov-report/src/integrations/base/sql.ts.html +37 -37
  220. package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +22 -22
  221. package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
  222. package/coverage/lcov-report/src/integrations/couchdb.ts.html +10 -10
  223. package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
  224. package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +9 -9
  225. package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
  226. package/coverage/lcov-report/src/integrations/googlesheets.ts.html +41 -41
  227. package/coverage/lcov-report/src/integrations/index.html +124 -124
  228. package/coverage/lcov-report/src/integrations/index.ts.html +47 -47
  229. package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
  230. package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
  231. package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
  232. package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
  233. package/coverage/lcov-report/src/integrations/postgres.ts.html +22 -22
  234. package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
  235. package/coverage/lcov-report/src/integrations/queries/sql.ts.html +18 -153
  236. package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
  237. package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
  238. package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
  239. package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
  240. package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
  241. package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
  242. package/coverage/lcov-report/src/integrations/utils.ts.html +49 -49
  243. package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
  244. package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
  245. package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
  246. package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
  247. package/coverage/lcov-report/src/middleware/index.html +40 -40
  248. package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
  249. package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
  250. package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
  251. package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
  252. package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
  253. package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
  254. package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
  255. package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
  256. package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
  257. package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
  258. package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
  259. package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
  260. package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
  261. package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
  262. package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
  263. package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +10 -10
  264. package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
  265. package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
  266. package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
  267. package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
  268. package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
  269. package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
  270. package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
  271. package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
  272. package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
  273. package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
  274. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
  275. package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
  276. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
  277. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
  278. package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
  279. package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
  280. package/coverage/lcov-report/src/migrations/index.html +15 -15
  281. package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
  282. package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
  283. package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
  284. package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
  285. package/coverage/lcov-report/src/sdk/app/applications/index.html +11 -11
  286. package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
  287. package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +24 -24
  288. package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
  289. package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
  290. package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
  291. package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
  292. package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
  293. package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
  294. package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +24 -24
  295. package/coverage/lcov-report/src/sdk/app/backups/index.html +27 -27
  296. package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
  297. package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +12 -12
  298. package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
  299. package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
  300. package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
  301. package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
  302. package/coverage/lcov-report/src/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
  303. package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
  304. package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
  305. package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
  306. package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
  307. package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
  308. package/coverage/lcov-report/src/sdk/app/tables/index.html +15 -15
  309. package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
  310. package/coverage/lcov-report/src/sdk/index.html +7 -7
  311. package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
  312. package/coverage/lcov-report/src/sdk/users/index.html +6 -6
  313. package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
  314. package/coverage/lcov-report/src/sdk/users/utils.ts.html +29 -29
  315. package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
  316. package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
  317. package/coverage/lcov-report/src/startup.ts.html +40 -55
  318. package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +141 -132
  319. package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
  320. package/coverage/lcov-report/src/tests/utilities/index.html +30 -30
  321. package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
  322. package/coverage/lcov-report/src/tests/utilities/structures.ts.html +232 -43
  323. package/coverage/lcov-report/src/threads/automation.ts.html +225 -195
  324. package/coverage/lcov-report/src/threads/index.html +46 -46
  325. package/coverage/lcov-report/src/threads/index.ts.html +38 -38
  326. package/coverage/lcov-report/src/threads/query.ts.html +73 -34
  327. package/coverage/lcov-report/src/threads/utils.ts.html +26 -26
  328. package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +4 -4
  329. package/coverage/lcov-report/src/utilities/centralPath.ts.html +10 -10
  330. package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +11 -11
  331. package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +12 -12
  332. package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +32 -26
  333. package/coverage/lcov-report/src/utilities/fileSystem/index.html +42 -42
  334. package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +1 -1
  335. package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +10 -13
  336. package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
  337. package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +7 -7
  338. package/coverage/lcov-report/src/utilities/global.ts.html +61 -61
  339. package/coverage/lcov-report/src/utilities/index.html +80 -95
  340. package/coverage/lcov-report/src/utilities/index.ts.html +32 -32
  341. package/coverage/lcov-report/src/utilities/redis.ts.html +35 -35
  342. package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
  343. package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
  344. package/coverage/lcov-report/src/utilities/rowProcessor/index.html +32 -32
  345. package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +67 -67
  346. package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
  347. package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +26 -26
  348. package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +173 -233
  349. package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +8 -8
  350. package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
  351. package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
  352. package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +8 -8
  353. package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
  354. package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
  355. package/coverage/lcov-report/src/utilities/workerRequests.ts.html +61 -34
  356. package/coverage/lcov-report/src/watch.ts.html +20 -20
  357. package/coverage/lcov-report/src/websocket.ts.html +5 -5
  358. package/coverage/lcov.info +11919 -11276
  359. package/dist/api/controllers/application.js +73 -74
  360. package/dist/api/controllers/cloud.js +1 -1
  361. package/dist/api/controllers/datasource.js +24 -15
  362. package/dist/api/controllers/query/index.js +23 -13
  363. package/dist/api/controllers/row/ExternalRequest.js +12 -3
  364. package/dist/api/controllers/row/external.js +20 -13
  365. package/dist/api/controllers/row/internal.js +40 -15
  366. package/dist/api/controllers/row/utils.js +35 -3
  367. package/dist/api/controllers/static/index.js +45 -42
  368. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  369. package/dist/api/controllers/table/external.js +16 -35
  370. package/dist/api/controllers/table/index.js +44 -15
  371. package/dist/api/controllers/table/internal.js +6 -7
  372. package/dist/api/controllers/table/utils.js +9 -9
  373. package/dist/api/controllers/user.js +14 -6
  374. package/dist/api/controllers/view/exporters.js +22 -6
  375. package/dist/api/controllers/view/index.js +20 -56
  376. package/dist/api/controllers/view/viewBuilder.js +15 -2
  377. package/dist/api/controllers/webhook.js +45 -43
  378. package/dist/api/routes/analytics.js +2 -1
  379. package/dist/api/routes/apikeys.js +2 -1
  380. package/dist/api/routes/application.js +2 -1
  381. package/dist/api/routes/auth.js +2 -1
  382. package/dist/api/routes/automation.js +2 -1
  383. package/dist/api/routes/backup.js +2 -1
  384. package/dist/api/routes/cloud.js +2 -1
  385. package/dist/api/routes/component.js +2 -1
  386. package/dist/api/routes/datasource.js +2 -1
  387. package/dist/api/routes/deploy.js +2 -1
  388. package/dist/api/routes/dev.js +2 -1
  389. package/dist/api/routes/index.js +2 -0
  390. package/dist/api/routes/integration.js +2 -1
  391. package/dist/api/routes/layout.js +2 -1
  392. package/dist/api/routes/metadata.js +2 -1
  393. package/dist/api/routes/migrations.js +2 -1
  394. package/dist/api/routes/permission.js +2 -1
  395. package/dist/api/routes/query.js +2 -1
  396. package/dist/api/routes/role.js +2 -1
  397. package/dist/api/routes/routing.js +2 -1
  398. package/dist/api/routes/row.js +2 -2
  399. package/dist/api/routes/screen.js +2 -1
  400. package/dist/api/routes/script.js +2 -1
  401. package/dist/api/routes/static.js +6 -5
  402. package/dist/api/routes/table.js +8 -38
  403. package/dist/api/routes/templates.js +2 -1
  404. package/dist/api/routes/user.js +2 -1
  405. package/dist/api/routes/utils/validators.js +1 -1
  406. package/dist/api/routes/view.js +2 -1
  407. package/dist/api/routes/webhook.js +2 -1
  408. package/dist/app.js +9 -7
  409. package/dist/automations/logging/index.js +5 -25
  410. package/dist/automations/triggers.js +1 -0
  411. package/dist/db/index.js +5 -2
  412. package/dist/db/linkedRows/LinkController.js +2 -1
  413. package/dist/db/linkedRows/LinkDocument.js +2 -1
  414. package/dist/db/newid.js +4 -2
  415. package/dist/definitions/datasource.js +0 -6
  416. package/dist/environment.js +2 -1
  417. package/dist/events/AutomationEmitter.js +2 -1
  418. package/dist/events/BudibaseEmitter.js +2 -1
  419. package/dist/events/index.js +2 -1
  420. package/dist/index.js +2 -2
  421. package/dist/integrations/base/query.js +7 -2
  422. package/dist/integrations/base/sqlTable.js +14 -14
  423. package/dist/integrations/dynamodb.js +8 -5
  424. package/dist/integrations/index.js +5 -5
  425. package/dist/integrations/mongodb.js +311 -271
  426. package/dist/integrations/mysql.js +2 -2
  427. package/dist/integrations/queries/sql.js +73 -100
  428. package/dist/integrations/rest.js +16 -18
  429. package/dist/middleware/authorized.js +2 -1
  430. package/dist/middleware/builder.js +4 -2
  431. package/dist/middleware/currentapp.js +6 -3
  432. package/dist/middleware/publicApi.js +4 -2
  433. package/dist/middleware/selfhost.js +4 -1
  434. package/dist/package.json +9 -7
  435. package/dist/sdk/app/datasources/datasources.js +147 -0
  436. package/dist/sdk/app/datasources/index.js +27 -0
  437. package/dist/sdk/app/queries/index.js +27 -0
  438. package/dist/sdk/app/queries/queries.js +60 -0
  439. package/dist/sdk/app/tables/index.js +6 -2
  440. package/dist/sdk/index.js +4 -0
  441. package/dist/sdk/utils/index.js +29 -0
  442. package/dist/startup.js +17 -17
  443. package/dist/threads/automation.js +18 -7
  444. package/dist/threads/index.js +4 -4
  445. package/dist/threads/query.js +27 -13
  446. package/dist/tsconfig.build.tsbuildinfo +1 -1
  447. package/dist/utilities/fileSystem/filesystem.js +38 -36
  448. package/dist/utilities/fileSystem/plugin.js +17 -14
  449. package/dist/utilities/fileSystem/template.js +7 -4
  450. package/dist/utilities/schema.js +108 -0
  451. package/dist/utilities/scriptRunner.js +2 -1
  452. package/dist/utilities/statusCodes.js +2 -1
  453. package/dist/utilities/workerRequests.js +2 -0
  454. package/dist/watch.js +2 -25
  455. package/jest.config.ts +5 -2
  456. package/package.json +10 -8
  457. package/scripts/dev/manage.js +1 -0
  458. package/src/api/controllers/application.ts +81 -74
  459. package/src/api/controllers/cloud.ts +1 -1
  460. package/src/api/controllers/datasource.ts +33 -25
  461. package/src/api/controllers/query/index.ts +49 -41
  462. package/src/api/controllers/row/ExternalRequest.ts +8 -2
  463. package/src/api/controllers/row/external.ts +24 -14
  464. package/src/api/controllers/row/internal.ts +42 -18
  465. package/src/api/controllers/row/utils.ts +40 -2
  466. package/src/api/controllers/static/index.ts +18 -19
  467. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
  468. package/src/api/controllers/table/external.ts +18 -16
  469. package/src/api/controllers/table/index.ts +46 -17
  470. package/src/api/controllers/table/internal.ts +6 -7
  471. package/src/api/controllers/table/utils.ts +12 -13
  472. package/src/api/controllers/user.ts +21 -13
  473. package/src/api/controllers/view/exporters.ts +20 -5
  474. package/src/api/controllers/view/index.ts +22 -35
  475. package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
  476. package/src/api/controllers/view/viewBuilder.ts +1 -1
  477. package/src/api/controllers/webhook.ts +48 -46
  478. package/src/api/routes/analytics.ts +1 -1
  479. package/src/api/routes/apikeys.ts +1 -1
  480. package/src/api/routes/application.ts +1 -1
  481. package/src/api/routes/auth.ts +1 -1
  482. package/src/api/routes/automation.ts +1 -1
  483. package/src/api/routes/backup.ts +1 -1
  484. package/src/api/routes/cloud.ts +1 -1
  485. package/src/api/routes/component.ts +1 -1
  486. package/src/api/routes/datasource.ts +1 -1
  487. package/src/api/routes/deploy.ts +1 -1
  488. package/src/api/routes/dev.ts +1 -1
  489. package/src/api/routes/index.ts +2 -0
  490. package/src/api/routes/integration.ts +1 -1
  491. package/src/api/routes/layout.ts +1 -1
  492. package/src/api/routes/metadata.ts +1 -1
  493. package/src/api/routes/migrations.ts +1 -1
  494. package/src/api/routes/permission.ts +1 -1
  495. package/src/api/routes/query.ts +1 -1
  496. package/src/api/routes/role.ts +1 -1
  497. package/src/api/routes/routing.ts +1 -1
  498. package/src/api/routes/row.ts +1 -1
  499. package/src/api/routes/screen.ts +1 -1
  500. package/src/api/routes/script.ts +1 -1
  501. package/src/api/routes/static.ts +2 -2
  502. package/src/api/routes/table.ts +16 -39
  503. package/src/api/routes/templates.ts +1 -1
  504. package/src/api/routes/tests/datasource.spec.ts +35 -1
  505. package/src/api/routes/tests/misc.spec.js +4 -10
  506. package/src/api/routes/tests/plugin.spec.ts +10 -10
  507. package/src/api/routes/tests/table.spec.js +8 -30
  508. package/src/api/routes/tests/user.spec.js +20 -1
  509. package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
  510. package/src/api/routes/user.ts +1 -1
  511. package/src/api/routes/utils/validators.ts +1 -1
  512. package/src/api/routes/view.ts +1 -1
  513. package/src/api/routes/webhook.ts +1 -1
  514. package/src/app.ts +5 -3
  515. package/src/automations/logging/index.ts +1 -1
  516. package/src/automations/tests/loop.spec.ts +45 -0
  517. package/src/automations/triggers.ts +6 -1
  518. package/src/db/index.ts +1 -1
  519. package/src/db/linkedRows/LinkController.ts +1 -1
  520. package/src/db/linkedRows/LinkDocument.ts +1 -1
  521. package/src/db/newid.ts +1 -1
  522. package/src/db/tests/linkController.spec.js +1 -1
  523. package/src/definitions/automations.ts +1 -0
  524. package/src/definitions/datasource.ts +0 -41
  525. package/src/environment.ts +1 -1
  526. package/src/events/AutomationEmitter.ts +1 -1
  527. package/src/events/BudibaseEmitter.ts +1 -1
  528. package/src/events/index.ts +1 -1
  529. package/src/index.ts +1 -1
  530. package/src/integrations/base/query.ts +3 -1
  531. package/src/integrations/base/sqlTable.ts +1 -1
  532. package/src/integrations/dynamodb.ts +3 -3
  533. package/src/integrations/index.ts +4 -4
  534. package/src/integrations/mongodb.ts +315 -271
  535. package/src/integrations/mysql.ts +1 -1
  536. package/src/integrations/queries/sql.ts +5 -50
  537. package/src/integrations/rest.ts +16 -19
  538. package/src/integrations/tests/rest.spec.ts +19 -15
  539. package/src/middleware/authorized.ts +5 -1
  540. package/src/middleware/builder.ts +1 -1
  541. package/src/middleware/currentapp.ts +4 -3
  542. package/src/middleware/publicApi.ts +1 -1
  543. package/src/middleware/selfhost.ts +1 -1
  544. package/src/middleware/tests/authorized.spec.js +1 -1
  545. package/src/middleware/tests/currentapp.spec.js +1 -1
  546. package/src/middleware/tests/selfhost.spec.js +1 -1
  547. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
  548. package/src/sdk/app/datasources/datasources.ts +136 -0
  549. package/src/sdk/app/datasources/index.ts +5 -0
  550. package/src/sdk/app/queries/index.ts +5 -0
  551. package/src/sdk/app/queries/queries.ts +50 -0
  552. package/src/sdk/app/tables/index.ts +6 -3
  553. package/src/sdk/index.ts +4 -0
  554. package/src/sdk/utils/index.ts +16 -0
  555. package/src/startup.ts +3 -8
  556. package/src/tests/jestEnv.ts +13 -0
  557. package/src/tests/jestSetup.ts +0 -14
  558. package/src/tests/utilities/TestConfiguration.ts +16 -13
  559. package/src/tests/utilities/structures.ts +65 -2
  560. package/src/threads/automation.ts +18 -8
  561. package/src/threads/definitions.ts +3 -0
  562. package/src/threads/index.ts +1 -1
  563. package/src/threads/query.ts +28 -15
  564. package/src/utilities/fileSystem/filesystem.ts +7 -5
  565. package/src/utilities/fileSystem/plugin.ts +3 -4
  566. package/src/utilities/fileSystem/template.ts +2 -2
  567. package/src/utilities/schema.ts +141 -0
  568. package/src/utilities/scriptRunner.ts +1 -1
  569. package/src/utilities/statusCodes.ts +1 -1
  570. package/src/utilities/workerRequests.ts +10 -1
  571. package/src/watch.ts +1 -1
  572. package/tsconfig.json +2 -1
  573. package/builder/assets/index.d930bfc5.js +0 -1023
  574. package/builder/assets/index.fa480d5b.css +0 -6
  575. package/dist/utilities/csvParser.js +0 -152
  576. package/src/utilities/csvParser.ts +0 -161
  577. package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
  578. package/src/utilities/tests/csvParser.spec.js +0 -112
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">90.2% </span>
26
+ <span class="strong">89.65% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>267/296</span>
28
+ <span class='fraction'>260/290</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">66.96% </span>
33
+ <span class="strong">64.28% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>75/112</span>
35
+ <span class='fraction'>54/84</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">95.65% </span>
40
+ <span class="strong">94.54% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>44/46</span>
42
+ <span class='fraction'>52/55</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">89.75% </span>
47
+ <span class="strong">89.28% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>254/283</span>
49
+ <span class='fraction'>250/280</span>
50
50
  </div>
51
51
 
52
52
 
@@ -690,15 +690,21 @@
690
690
  <a name='L625'></a><a href='#L625'>625</a>
691
691
  <a name='L626'></a><a href='#L626'>626</a>
692
692
  <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">54x</span>
694
- <span class="cline-any cline-yes">54x</span>
695
- <span class="cline-any cline-yes">54x</span>
693
+ <a name='L628'></a><a href='#L628'>628</a>
694
+ <a name='L629'></a><a href='#L629'>629</a>
695
+ <a name='L630'></a><a href='#L630'>630</a>
696
+ <a name='L631'></a><a href='#L631'>631</a>
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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">55x</span>
701
+ <span class="cline-any cline-yes">55x</span>
696
702
  <span class="cline-any cline-neutral">&nbsp;</span>
697
703
  <span class="cline-any cline-neutral">&nbsp;</span>
698
704
  <span class="cline-any cline-neutral">&nbsp;</span>
699
705
  <span class="cline-any cline-neutral">&nbsp;</span>
700
- <span class="cline-any cline-yes">54x</span>
701
- <span class="cline-any cline-yes">54x</span>
706
+ <span class="cline-any cline-yes">55x</span>
707
+ <span class="cline-any cline-yes">55x</span>
702
708
  <span class="cline-any cline-neutral">&nbsp;</span>
703
709
  <span class="cline-any cline-neutral">&nbsp;</span>
704
710
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -706,7 +712,7 @@
706
712
  <span class="cline-any cline-neutral">&nbsp;</span>
707
713
  <span class="cline-any cline-neutral">&nbsp;</span>
708
714
  <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-yes">54x</span>
715
+ <span class="cline-any cline-yes">55x</span>
710
716
  <span class="cline-any cline-neutral">&nbsp;</span>
711
717
  <span class="cline-any cline-neutral">&nbsp;</span>
712
718
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -717,22 +723,21 @@
717
723
  <span class="cline-any cline-neutral">&nbsp;</span>
718
724
  <span class="cline-any cline-neutral">&nbsp;</span>
719
725
  <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-yes">54x</span>
721
- <span class="cline-any cline-yes">54x</span>
722
- <span class="cline-any cline-yes">54x</span>
723
- <span class="cline-any cline-yes">54x</span>
724
- <span class="cline-any cline-yes">54x</span>
725
- <span class="cline-any cline-yes">54x</span>
726
+ <span class="cline-any cline-yes">55x</span>
727
+ <span class="cline-any cline-yes">55x</span>
728
+ <span class="cline-any cline-yes">55x</span>
729
+ <span class="cline-any cline-yes">55x</span>
730
+ <span class="cline-any cline-yes">55x</span>
731
+ <span class="cline-any cline-yes">55x</span>
726
732
  <span class="cline-any cline-neutral">&nbsp;</span>
727
733
  <span class="cline-any cline-neutral">&nbsp;</span>
728
734
  <span class="cline-any cline-neutral">&nbsp;</span>
729
735
  <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-yes">54x</span>
731
- <span class="cline-any cline-yes">54x</span>
732
- <span class="cline-any cline-yes">54x</span>
733
- <span class="cline-any cline-yes">54x</span>
734
- <span class="cline-any cline-yes">54x</span>
735
736
  <span class="cline-any cline-neutral">&nbsp;</span>
737
+ <span class="cline-any cline-yes">55x</span>
738
+ <span class="cline-any cline-yes">55x</span>
739
+ <span class="cline-any cline-yes">55x</span>
740
+ <span class="cline-any cline-yes">55x</span>
736
741
  <span class="cline-any cline-neutral">&nbsp;</span>
737
742
  <span class="cline-any cline-neutral">&nbsp;</span>
738
743
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -740,8 +745,10 @@
740
745
  <span class="cline-any cline-neutral">&nbsp;</span>
741
746
  <span class="cline-any cline-neutral">&nbsp;</span>
742
747
  <span class="cline-any cline-neutral">&nbsp;</span>
743
- <span class="cline-any cline-yes">54x</span>
744
- <span class="cline-any cline-yes">54x</span>
748
+ <span class="cline-any cline-neutral">&nbsp;</span>
749
+ <span class="cline-any cline-yes">55x</span>
750
+ <span class="cline-any cline-yes">55x</span>
751
+ <span class="cline-any cline-yes">55x</span>
745
752
  <span class="cline-any cline-neutral">&nbsp;</span>
746
753
  <span class="cline-any cline-neutral">&nbsp;</span>
747
754
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -778,10 +785,10 @@
778
785
  <span class="cline-any cline-neutral">&nbsp;</span>
779
786
  <span class="cline-any cline-neutral">&nbsp;</span>
780
787
  <span class="cline-any cline-neutral">&nbsp;</span>
781
- <span class="cline-any cline-yes">292x</span>
788
+ <span class="cline-any cline-yes">298x</span>
782
789
  <span class="cline-any cline-yes">4x</span>
783
790
  <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-yes">1271x</span>
791
+ <span class="cline-any cline-yes">1317x</span>
785
792
  <span class="cline-any cline-no">&nbsp;</span>
786
793
  <span class="cline-any cline-neutral">&nbsp;</span>
787
794
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -793,57 +800,56 @@
793
800
  <span class="cline-any cline-neutral">&nbsp;</span>
794
801
  <span class="cline-any cline-neutral">&nbsp;</span>
795
802
  <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-yes">292x</span>
803
+ <span class="cline-any cline-yes">298x</span>
797
804
  <span class="cline-any cline-no">&nbsp;</span>
798
805
  <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-yes">292x</span>
806
+ <span class="cline-any cline-yes">298x</span>
800
807
  <span class="cline-any cline-yes">4x</span>
801
808
  <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-yes">1271x</span>
809
+ <span class="cline-any cline-yes">1317x</span>
803
810
  <span class="cline-any cline-no">&nbsp;</span>
804
811
  <span class="cline-any cline-neutral">&nbsp;</span>
805
812
  <span class="cline-any cline-neutral">&nbsp;</span>
806
813
  <span class="cline-any cline-neutral">&nbsp;</span>
807
814
  <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-yes">289x</span>
809
- <span class="cline-any cline-yes">289x</span>
810
- <span class="cline-any cline-yes">289x</span>
811
- <span class="cline-any cline-yes">289x</span>
812
815
  <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-yes">289x</span>
814
- <span class="cline-any cline-yes">289x</span>
815
816
  <span class="cline-any cline-neutral">&nbsp;</span>
816
817
  <span class="cline-any cline-neutral">&nbsp;</span>
817
818
  <span class="cline-any cline-neutral">&nbsp;</span>
819
+ <span class="cline-any cline-yes">295x</span>
820
+ <span class="cline-any cline-yes">295x</span>
821
+ <span class="cline-any cline-neutral">&nbsp;</span>
818
822
  <span class="cline-any cline-neutral">&nbsp;</span>
819
823
  <span class="cline-any cline-neutral">&nbsp;</span>
820
824
  <span class="cline-any cline-neutral">&nbsp;</span>
821
825
  <span class="cline-any cline-neutral">&nbsp;</span>
822
826
  <span class="cline-any cline-neutral">&nbsp;</span>
823
- <span class="cline-any cline-yes">289x</span>
824
- <span class="cline-any cline-yes">289x</span>
825
- <span class="cline-any cline-yes">289x</span>
826
827
  <span class="cline-any cline-neutral">&nbsp;</span>
827
828
  <span class="cline-any cline-neutral">&nbsp;</span>
829
+ <span class="cline-any cline-yes">295x</span>
830
+ <span class="cline-any cline-yes">295x</span>
831
+ <span class="cline-any cline-yes">295x</span>
828
832
  <span class="cline-any cline-neutral">&nbsp;</span>
829
- <span class="cline-any cline-yes">289x</span>
833
+ <span class="cline-any cline-neutral">&nbsp;</span>
834
+ <span class="cline-any cline-neutral">&nbsp;</span>
835
+ <span class="cline-any cline-yes">295x</span>
830
836
  <span class="cline-any cline-yes">1x</span>
831
837
  <span class="cline-any cline-yes">1x</span>
832
838
  <span class="cline-any cline-no">&nbsp;</span>
833
839
  <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-yes">288x</span>
840
+ <span class="cline-any cline-yes">294x</span>
835
841
  <span class="cline-any cline-yes">2x</span>
836
842
  <span class="cline-any cline-neutral">&nbsp;</span>
837
843
  <span class="cline-any cline-neutral">&nbsp;</span>
838
- <span class="cline-any cline-yes">286x</span>
844
+ <span class="cline-any cline-yes">292x</span>
839
845
  <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-yes">286x</span>
846
+ <span class="cline-any cline-yes">292x</span>
841
847
  <span class="cline-any cline-neutral">&nbsp;</span>
842
848
  <span class="cline-any cline-no">&nbsp;</span>
843
849
  <span class="cline-any cline-neutral">&nbsp;</span>
844
850
  <span class="cline-any cline-neutral">&nbsp;</span>
845
851
  <span class="cline-any cline-neutral">&nbsp;</span>
846
- <span class="cline-any cline-yes">289x</span>
852
+ <span class="cline-any cline-yes">295x</span>
847
853
  <span class="cline-any cline-neutral">&nbsp;</span>
848
854
  <span class="cline-any cline-neutral">&nbsp;</span>
849
855
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -853,7 +859,7 @@
853
859
  <span class="cline-any cline-no">&nbsp;</span>
854
860
  <span class="cline-any cline-neutral">&nbsp;</span>
855
861
  <span class="cline-any cline-neutral">&nbsp;</span>
856
- <span class="cline-any cline-yes">54x</span>
862
+ <span class="cline-any cline-yes">76x</span>
857
863
  <span class="cline-any cline-yes">24x</span>
858
864
  <span class="cline-any cline-yes">24x</span>
859
865
  <span class="cline-any cline-yes">24x</span>
@@ -878,7 +884,7 @@
878
884
  <span class="cline-any cline-yes">24x</span>
879
885
  <span class="cline-any cline-neutral">&nbsp;</span>
880
886
  <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-yes">54x</span>
887
+ <span class="cline-any cline-yes">55x</span>
882
888
  <span class="cline-any cline-yes">1x</span>
883
889
  <span class="cline-any cline-yes">1x</span>
884
890
  <span class="cline-any cline-yes">1x</span>
@@ -893,7 +899,7 @@
893
899
  <span class="cline-any cline-neutral">&nbsp;</span>
894
900
  <span class="cline-any cline-neutral">&nbsp;</span>
895
901
  <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-yes">54x</span>
902
+ <span class="cline-any cline-yes">59x</span>
897
903
  <span class="cline-any cline-yes">6x</span>
898
904
  <span class="cline-any cline-yes">6x</span>
899
905
  <span class="cline-any cline-yes">6x</span>
@@ -925,33 +931,35 @@
925
931
  <span class="cline-any cline-neutral">&nbsp;</span>
926
932
  <span class="cline-any cline-neutral">&nbsp;</span>
927
933
  <span class="cline-any cline-neutral">&nbsp;</span>
928
- <span class="cline-any cline-yes">289x</span>
929
- <span class="cline-any cline-yes">289x</span>
930
- <span class="cline-any cline-yes">289x</span>
931
- <span class="cline-any cline-yes">289x</span>
932
- <span class="cline-any cline-yes">289x</span>
933
- <span class="cline-any cline-yes">289x</span>
934
+ <span class="cline-any cline-yes">295x</span>
935
+ <span class="cline-any cline-yes">295x</span>
936
+ <span class="cline-any cline-yes">295x</span>
937
+ <span class="cline-any cline-yes">295x</span>
938
+ <span class="cline-any cline-yes">295x</span>
939
+ <span class="cline-any cline-yes">295x</span>
934
940
  <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-yes">289x</span>
936
- <span class="cline-any cline-yes">289x</span>
941
+ <span class="cline-any cline-yes">295x</span>
942
+ <span class="cline-any cline-yes">295x</span>
937
943
  <span class="cline-any cline-neutral">&nbsp;</span>
938
944
  <span class="cline-any cline-neutral">&nbsp;</span>
939
945
  <span class="cline-any cline-neutral">&nbsp;</span>
940
946
  <span class="cline-any cline-neutral">&nbsp;</span>
941
- <span class="cline-any cline-yes">289x</span>
947
+ <span class="cline-any cline-yes">295x</span>
942
948
  <span class="cline-any cline-yes">4x</span>
943
949
  <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-yes">289x</span>
945
- <span class="cline-any cline-yes">289x</span>
946
- <span class="cline-any cline-yes">289x</span>
947
- <span class="cline-any cline-yes">289x</span>
950
+ <span class="cline-any cline-yes">295x</span>
951
+ <span class="cline-any cline-yes">295x</span>
952
+ <span class="cline-any cline-yes">295x</span>
948
953
  <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-yes">289x</span>
954
+ <span class="cline-any cline-yes">295x</span>
955
+ <span class="cline-any cline-yes">295x</span>
950
956
  <span class="cline-any cline-neutral">&nbsp;</span>
951
957
  <span class="cline-any cline-neutral">&nbsp;</span>
952
958
  <span class="cline-any cline-neutral">&nbsp;</span>
953
959
  <span class="cline-any cline-neutral">&nbsp;</span>
960
+ <span class="cline-any cline-yes">295x</span>
954
961
  <span class="cline-any cline-neutral">&nbsp;</span>
962
+ <span class="cline-any cline-yes">295x</span>
955
963
  <span class="cline-any cline-neutral">&nbsp;</span>
956
964
  <span class="cline-any cline-neutral">&nbsp;</span>
957
965
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -981,8 +989,13 @@
981
989
  <span class="cline-any cline-neutral">&nbsp;</span>
982
990
  <span class="cline-any cline-neutral">&nbsp;</span>
983
991
  <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-yes">289x</span>
985
- <span class="cline-any cline-yes">289x</span>
992
+ <span class="cline-any cline-neutral">&nbsp;</span>
993
+ <span class="cline-any cline-neutral">&nbsp;</span>
994
+ <span class="cline-any cline-neutral">&nbsp;</span>
995
+ <span class="cline-any cline-neutral">&nbsp;</span>
996
+ <span class="cline-any cline-neutral">&nbsp;</span>
997
+ <span class="cline-any cline-yes">295x</span>
998
+ <span class="cline-any cline-yes">295x</span>
986
999
  <span class="cline-any cline-yes">1x</span>
987
1000
  <span class="cline-any cline-neutral">&nbsp;</span>
988
1001
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1008,23 +1021,24 @@
1008
1021
  <span class="cline-any cline-neutral">&nbsp;</span>
1009
1022
  <span class="cline-any cline-neutral">&nbsp;</span>
1010
1023
  <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">289x</span>
1012
- <span class="cline-any cline-yes">289x</span>
1024
+ <span class="cline-any cline-yes">295x</span>
1025
+ <span class="cline-any cline-yes">295x</span>
1013
1026
  <span class="cline-any cline-neutral">&nbsp;</span>
1014
1027
  <span class="cline-any cline-neutral">&nbsp;</span>
1015
1028
  <span class="cline-any cline-neutral">&nbsp;</span>
1016
1029
  <span class="cline-any cline-neutral">&nbsp;</span>
1017
1030
  <span class="cline-any cline-neutral">&nbsp;</span>
1018
1031
  <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-yes">289x</span>
1020
- <span class="cline-any cline-yes">289x</span>
1032
+ <span class="cline-any cline-yes">295x</span>
1033
+ <span class="cline-any cline-yes">295x</span>
1021
1034
  <span class="cline-any cline-neutral">&nbsp;</span>
1022
1035
  <span class="cline-any cline-neutral">&nbsp;</span>
1023
1036
  <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">289x</span>
1025
1037
  <span class="cline-any cline-neutral">&nbsp;</span>
1026
- <span class="cline-any cline-yes">289x</span>
1027
- <span class="cline-any cline-yes">289x</span>
1038
+ <span class="cline-any cline-yes">295x</span>
1039
+ <span class="cline-any cline-neutral">&nbsp;</span>
1040
+ <span class="cline-any cline-yes">295x</span>
1041
+ <span class="cline-any cline-yes">295x</span>
1028
1042
  <span class="cline-any cline-neutral">&nbsp;</span>
1029
1043
  <span class="cline-any cline-yes">3x</span>
1030
1044
  <span class="cline-any cline-yes">1x</span>
@@ -1038,23 +1052,23 @@
1038
1052
  <span class="cline-any cline-no">&nbsp;</span>
1039
1053
  <span class="cline-any cline-neutral">&nbsp;</span>
1040
1054
  <span class="cline-any cline-neutral">&nbsp;</span>
1041
- <span class="cline-any cline-yes">289x</span>
1055
+ <span class="cline-any cline-yes">295x</span>
1042
1056
  <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-yes">289x</span>
1044
- <span class="cline-any cline-yes">292x</span>
1057
+ <span class="cline-any cline-yes">295x</span>
1058
+ <span class="cline-any cline-yes">298x</span>
1045
1059
  <span class="cline-any cline-neutral">&nbsp;</span>
1046
1060
  <span class="cline-any cline-neutral">&nbsp;</span>
1047
1061
  <span class="cline-any cline-neutral">&nbsp;</span>
1048
1062
  <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-yes">289x</span>
1050
- <span class="cline-any cline-yes">289x</span>
1063
+ <span class="cline-any cline-yes">295x</span>
1064
+ <span class="cline-any cline-yes">295x</span>
1051
1065
  <span class="cline-any cline-neutral">&nbsp;</span>
1052
1066
  <span class="cline-any cline-neutral">&nbsp;</span>
1053
1067
  <span class="cline-any cline-neutral">&nbsp;</span>
1054
1068
  <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-yes">289x</span>
1069
+ <span class="cline-any cline-yes">295x</span>
1056
1070
  <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-yes">289x</span>
1071
+ <span class="cline-any cline-yes">295x</span>
1058
1072
  <span class="cline-any cline-yes">3x</span>
1059
1073
  <span class="cline-any cline-yes">3x</span>
1060
1074
  <span class="cline-any cline-yes">3x</span>
@@ -1076,17 +1090,17 @@
1076
1090
  <span class="cline-any cline-neutral">&nbsp;</span>
1077
1091
  <span class="cline-any cline-neutral">&nbsp;</span>
1078
1092
  <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-yes">54x</span>
1080
- <span class="cline-any cline-yes">289x</span>
1081
- <span class="cline-any cline-yes">289x</span>
1082
- <span class="cline-any cline-yes">289x</span>
1083
- <span class="cline-any cline-yes">289x</span>
1084
- <span class="cline-any cline-yes">289x</span>
1093
+ <span class="cline-any cline-yes">346x</span>
1094
+ <span class="cline-any cline-yes">295x</span>
1095
+ <span class="cline-any cline-yes">295x</span>
1096
+ <span class="cline-any cline-yes">295x</span>
1097
+ <span class="cline-any cline-yes">295x</span>
1098
+ <span class="cline-any cline-yes">295x</span>
1085
1099
  <span class="cline-any cline-neutral">&nbsp;</span>
1086
1100
  <span class="cline-any cline-neutral">&nbsp;</span>
1087
1101
  <span class="cline-any cline-neutral">&nbsp;</span>
1088
1102
  <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-yes">54x</span>
1103
+ <span class="cline-any cline-yes">56x</span>
1090
1104
  <span class="cline-any cline-yes">3x</span>
1091
1105
  <span class="cline-any cline-neutral">&nbsp;</span>
1092
1106
  <span class="cline-any cline-yes">3x</span>
@@ -1106,7 +1120,7 @@
1106
1120
  <span class="cline-any cline-yes">3x</span>
1107
1121
  <span class="cline-any cline-neutral">&nbsp;</span>
1108
1122
  <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-yes">54x</span>
1123
+ <span class="cline-any cline-yes">55x</span>
1110
1124
  <span class="cline-any cline-neutral">&nbsp;</span>
1111
1125
  <span class="cline-any cline-yes">2x</span>
1112
1126
  <span class="cline-any cline-yes">2x</span>
@@ -1130,7 +1144,7 @@
1130
1144
  <span class="cline-any cline-yes">2x</span>
1131
1145
  <span class="cline-any cline-neutral">&nbsp;</span>
1132
1146
  <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-yes">54x</span>
1147
+ <span class="cline-any cline-yes">55x</span>
1134
1148
  <span class="cline-any cline-neutral">&nbsp;</span>
1135
1149
  <span class="cline-any cline-yes">1x</span>
1136
1150
  <span class="cline-any cline-yes">1x</span>
@@ -1156,7 +1170,7 @@
1156
1170
  <span class="cline-any cline-yes">1x</span>
1157
1171
  <span class="cline-any cline-neutral">&nbsp;</span>
1158
1172
  <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-yes">54x</span>
1173
+ <span class="cline-any cline-yes">55x</span>
1160
1174
  <span class="cline-any cline-yes">33x</span>
1161
1175
  <span class="cline-any cline-yes">33x</span>
1162
1176
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1213,7 +1227,7 @@
1213
1227
  <span class="cline-any cline-neutral">&nbsp;</span>
1214
1228
  <span class="cline-any cline-neutral">&nbsp;</span>
1215
1229
  <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-yes">54x</span>
1230
+ <span class="cline-any cline-yes">82x</span>
1217
1231
  <span class="cline-any cline-yes">30x</span>
1218
1232
  <span class="cline-any cline-yes">30x</span>
1219
1233
  <span class="cline-any cline-yes">30x</span>
@@ -1221,7 +1235,7 @@
1221
1235
  <span class="cline-any cline-yes">30x</span>
1222
1236
  <span class="cline-any cline-neutral">&nbsp;</span>
1223
1237
  <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-yes">54x</span>
1238
+ <span class="cline-any cline-yes">55x</span>
1225
1239
  <span class="cline-any cline-yes">3x</span>
1226
1240
  <span class="cline-any cline-yes">3x</span>
1227
1241
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -1236,7 +1250,7 @@
1236
1250
  <span class="cline-any cline-yes">3x</span>
1237
1251
  <span class="cline-any cline-neutral">&nbsp;</span>
1238
1252
  <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-yes">54x</span>
1253
+ <span class="cline-any cline-yes">55x</span>
1240
1254
  <span class="cline-any cline-yes">3x</span>
1241
1255
  <span class="cline-any cline-yes">3x</span>
1242
1256
  <span class="cline-any cline-yes">3x</span>
@@ -1245,7 +1259,7 @@
1245
1259
  <span class="cline-any cline-neutral">&nbsp;</span>
1246
1260
  <span class="cline-any cline-neutral">&nbsp;</span>
1247
1261
  <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-yes">54x</span>
1262
+ <span class="cline-any cline-no">&nbsp;</span>
1249
1263
  <span class="cline-any cline-yes">6x</span>
1250
1264
  <span class="cline-any cline-yes">6x</span>
1251
1265
  <span class="cline-any cline-yes">6x</span>
@@ -1394,7 +1408,7 @@ async function getScreens() {
1394
1408
  }
1395
1409
  &nbsp;
1396
1410
  function getUserRoleId(ctx: BBContext) {
1397
- return !ctx.user<span class="branch-0 cbranch-no" title="branch not covered" >?.r</span>ole || !ctx.user.role._id
1411
+ return !ctx.user?.role || !ctx.user.role._id
1398
1412
  ? <span class="branch-0 cbranch-no" title="branch not covered" >roles.BUILTIN_ROLE_IDS.PUBLIC</span>
1399
1413
  : ctx.user.role._id
1400
1414
  }
@@ -1431,12 +1445,11 @@ function checkAppName(
1431
1445
  }
1432
1446
  }
1433
1447
  &nbsp;
1434
- async function createInstance(template: any, includeSampleData: boolean) {
1435
- const tenantId = tenancy.isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >tenancy.getTenantId() </span>: null
1436
- const baseAppId = generateAppID(tenantId)
1437
- const appId = generateDevAppID(baseAppId)
1438
- await context.updateAppId(appId)
1439
- &nbsp;
1448
+ async function createInstance(
1449
+ appId: string,
1450
+ template: any,
1451
+ includeSampleData: boolean
1452
+ ) {
1440
1453
  const db = context.getAppDB()
1441
1454
  await db.put({
1442
1455
  _id: "_design/database",
@@ -1473,7 +1486,7 @@ async function createInstance(template: any, includeSampleData: boolean) {
1473
1486
  return { _id: appId }
1474
1487
  }
1475
1488
  &nbsp;
1476
- async function <span class="fstat-no" title="function not covered" >addDefaultTables(</span>db: Database) {
1489
+ async function <span class="fstat-no" title="function not covered" >addDefaultTables(d</span>b: Database) {
1477
1490
  const defaultDbDocs = <span class="cstat-no" title="statement not covered" >buildDefaultDocs()</span>
1478
1491
  &nbsp;
1479
1492
  // add in the default db data docs - tables, datasource, rows and links
@@ -1569,82 +1582,90 @@ async function performAppCreate(ctx: BBContext) {
1569
1582
  instanceConfig.file = ctx.request.files.templateFile
1570
1583
  }
1571
1584
  const includeSampleData = isQsTrue(ctx.request.body.sampleData)
1572
- const instance = await createInstance(instanceConfig, includeSampleData)
1573
- const appId = instance._id
1574
- const db = context.getAppDB()
1585
+ const tenantId = tenancy.isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >tenancy.getTenantId() : n</span>ull
1586
+ const appId = generateDevAppID(generateAppID(tenantId))
1587
+ &nbsp;
1588
+ return await context.doInAppContext(appId, async () =&gt; {
1589
+ const instance = await createInstance(
1590
+ appId,
1591
+ instanceConfig,
1592
+ includeSampleData
1593
+ )
1594
+ const db = context.getAppDB()
1575
1595
  &nbsp;
1576
- let newApplication: App = {
1577
- _id: DocumentType.APP_METADATA,
1578
- _rev: undefined,
1579
- appId,
1580
- type: "app",
1581
- version: packageJson.version,
1582
- componentLibraries: ["@budibase/standard-components"],
1583
- name: name,
1584
- url: url,
1585
- template: templateKey,
1586
- instance,
1587
- tenantId: tenancy.getTenantId(),
1588
- updatedAt: new Date().toISOString(),
1589
- createdAt: new Date().toISOString(),
1590
- status: AppStatus.DEV,
1591
- navigation: {
1592
- navigation: "Top",
1593
- title: name,
1594
- navWidth: "Large",
1595
- navBackground: "var(--spectrum-global-color-gray-100)",
1596
- links: [
1597
- {
1598
- url: "/home",
1599
- text: "Home",
1600
- },
1601
- ],
1602
- },
1603
- theme: "spectrum--light",
1604
- customTheme: {
1605
- buttonBorderRadius: "16px",
1606
- },
1607
- }
1596
+ let newApplication: App = {
1597
+ _id: DocumentType.APP_METADATA,
1598
+ _rev: undefined,
1599
+ appId,
1600
+ type: "app",
1601
+ version: packageJson.version,
1602
+ componentLibraries: ["@budibase/standard-components"],
1603
+ name: name,
1604
+ url: url,
1605
+ template: templateKey,
1606
+ instance,
1607
+ tenantId: tenancy.getTenantId(),
1608
+ updatedAt: new Date().toISOString(),
1609
+ createdAt: new Date().toISOString(),
1610
+ status: AppStatus.DEV,
1611
+ navigation: {
1612
+ navigation: "Top",
1613
+ title: name,
1614
+ navWidth: "Large",
1615
+ navBackground: "var(--spectrum-global-color-gray-100)",
1616
+ links: [
1617
+ {
1618
+ url: "/home",
1619
+ text: "Home",
1620
+ },
1621
+ ],
1622
+ },
1623
+ theme: "spectrum--light",
1624
+ customTheme: {
1625
+ buttonBorderRadius: "16px",
1626
+ },
1627
+ }
1608
1628
  &nbsp;
1609
- // If we used a template or imported an app there will be an existing doc.
1610
- // Fetch and migrate some metadata from the existing app.
1611
- try {
1612
- const existing: App = await db.get(DocumentType.APP_METADATA)
1613
- const keys: (keyof App)[] = [
1614
- "_rev",
1615
- "navigation",
1616
- "theme",
1617
- "customTheme",
1618
- "icon",
1619
- ]
1620
- keys.forEach(key =&gt; {
1621
- if (existing[key]) {
1622
- // @ts-ignore
1623
- newApplication[key] = existing[key]
1624
- }
1625
- })
1629
+ // If we used a template or imported an app there will be an existing doc.
1630
+ // Fetch and migrate some metadata from the existing app.
1631
+ try {
1632
+ const existing: App = await db.get(DocumentType.APP_METADATA)
1633
+ const keys: (keyof App)[] = [
1634
+ "_rev",
1635
+ "navigation",
1636
+ "theme",
1637
+ "customTheme",
1638
+ "icon",
1639
+ ]
1640
+ keys.forEach(key =&gt; {
1641
+ if (existing[key]) {
1642
+ // @ts-ignore
1643
+ newApplication[key] = existing[key]
1644
+ }
1645
+ })
1626
1646
  &nbsp;
1627
- // Migrate navigation settings and screens if required
1628
- if (existing) {
1629
- const navigation = await migrateAppNavigation()
1630
- if (navigation) {
1631
- newApplication.navigation = navigation
1647
+ // Migrate navigation settings and screens if required
1648
+ if (existing) {
1649
+ const navigation = await migrateAppNavigation()
1650
+ if (navigation) {
1651
+ newApplication.navigation = navigation
1652
+ }
1632
1653
  }
1654
+ } catch (err) {
1655
+ // Nothing to do
1633
1656
  }
1634
- } catch (err) {
1635
- // Nothing to do
1636
- }
1637
1657
  &nbsp;
1638
- const response = await db.put(newApplication, { force: true })
1639
- newApplication._rev = response.rev
1658
+ const response = await db.put(newApplication, { force: true })
1659
+ newApplication._rev = response.rev
1640
1660
  &nbsp;
1641
- /* istanbul ignore next */
1642
- if (!env.isTest()) {
1643
- await createApp(appId)
1644
- }
1661
+ /* istanbul ignore next */
1662
+ if (!env.isTest()) {
1663
+ await createApp(appId)
1664
+ }
1645
1665
  &nbsp;
1646
- await cache.app.invalidateAppMetadata(appId, newApplication)
1647
- return newApplication
1666
+ await cache.app.invalidateAppMetadata(appId, newApplication)
1667
+ return newApplication
1668
+ })
1648
1669
  }
1649
1670
  &nbsp;
1650
1671
  async function creationEvents(request: any, app: App) {
@@ -1657,7 +1678,7 @@ async function creationEvents(request: any, app: App) {
1657
1678
  creationFns.push(a =&gt; events.app.templateImported(a, body.templateKey))
1658
1679
  }
1659
1680
  // from file
1660
- else if (request.files<span class="branch-0 cbranch-no" title="branch not covered" >?.t</span>emplateFile) {
1681
+ else if (request.files?.templateFile) {
1661
1682
  creationFns.push(a =&gt; events.app.fileImported(a))
1662
1683
  }
1663
1684
  // unknown
@@ -1686,7 +1707,7 @@ async function appPostCreate(ctx: BBContext, app: App) {
1686
1707
  const rowCount = rows ? rows.length : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
1687
1708
  <span class="missing-if-branch" title="if path not taken" >I</span>if (rowCount) {
1688
1709
  <span class="cstat-no" title="statement not covered" > try {</span>
1689
- <span class="cstat-no" title="statement not covered" > await context.doInAppContext(app.appId, <span class="fstat-no" title="function not covered" >() =</span>&gt; {</span>
1710
+ <span class="cstat-no" title="statement not covered" > await context.doInAppContext(app.appId, <span class="fstat-no" title="function not covered" >() =&gt; {</span></span>
1690
1711
  <span class="cstat-no" title="statement not covered" > return quotas.addRows(rowCount)</span>
1691
1712
  })
1692
1713
  } catch (err: any) {
@@ -1872,7 +1893,7 @@ export async function sync(ctx: BBContext) {
1872
1893
  }
1873
1894
  }
1874
1895
  &nbsp;
1875
- export async function updateAppPackage(appPackage: any, appId: any) {
1896
+ export async function <span class="cstat-no" title="statement not covered" >updateAppPackage<span class="fstat-no" title="function not covered" >(</span>a</span>ppPackage: any, appId: any) {
1876
1897
  return context.doInAppContext(appId, async () =&gt; {
1877
1898
  const db = context.getAppDB()
1878
1899
  const application = await db.get(DocumentType.APP_METADATA)
@@ -1906,14 +1927,14 @@ async function migrateAppNavigation() {
1906
1927
  }
1907
1928
  const layout = layouts.find(layout =&gt; layout._id === screen.layoutId)
1908
1929
  screen.layoutId = undefined
1909
- screen.showNavigation = layout<span class="branch-0 cbranch-no" title="branch not covered" >?.p</span>rops.navigation !== "None"
1910
- screen.width = layout<span class="branch-0 cbranch-no" title="branch not covered" >?.p</span>rops.width || <span class="branch-1 cbranch-no" title="branch not covered" >"Large"</span>
1930
+ screen.showNavigation = layout?.props.navigation !== "None"
1931
+ screen.width = layout?.props.width || <span class="branch-1 cbranch-no" title="branch not covered" >"Large"</span>
1911
1932
  await db.put(screen)
1912
1933
  }
1913
1934
  &nbsp;
1914
1935
  // Migrate layout navigation settings
1915
1936
  const { name, customTheme } = existing
1916
- const layout = layouts<span class="branch-0 cbranch-no" title="branch not covered" >?.f</span>ind(
1937
+ const layout = layouts?.find(
1917
1938
  (layout: Layout) =&gt; layout._id === BASE_LAYOUT_PROP_IDS.PRIVATE
1918
1939
  )
1919
1940
  if (layout &amp;&amp; !existing.navigation) {
@@ -1922,9 +1943,9 @@ async function migrateAppNavigation() {
1922
1943
  title: name,
1923
1944
  navWidth: "Large",
1924
1945
  navBackground:
1925
- customTheme<span class="branch-0 cbranch-no" title="branch not covered" >?.n</span>avBackground || <span class="branch-1 cbranch-no" title="branch not covered" >"var(--spectrum-global-color-gray-50)",</span>
1946
+ customTheme?.navBackground || <span class="branch-1 cbranch-no" title="branch not covered" >"var(--spectrum-global-color-gray-50)",</span>
1926
1947
  navTextColor:
1927
- customTheme<span class="branch-0 cbranch-no" title="branch not covered" >?.n</span>avTextColor || <span class="branch-1 cbranch-no" title="branch not covered" >"var(--spectrum-global-color-gray-800)",</span>
1948
+ customTheme?.navTextColor || <span class="branch-1 cbranch-no" title="branch not covered" >"var(--spectrum-global-color-gray-800)",</span>
1928
1949
  }
1929
1950
  if (layout) {
1930
1951
  navigationSettings.hideLogo = layout.props.hideLogo
@@ -1951,7 +1972,7 @@ async function migrateAppNavigation() {
1951
1972
  <div class='footer quiet pad2 space-top1 center small'>
1952
1973
  Code coverage generated by
1953
1974
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
1954
- at Tue Jan 10 2023 17:21:59 GMT+0000 (Coordinated Universal Time)
1975
+ at Tue Jan 31 2023 16:53:54 GMT+0000 (Coordinated Universal Time)
1955
1976
  </div>
1956
1977
  <script src="../../../prettify.js"></script>
1957
1978
  <script>