@budibase/server 1.0.46-alpha.0 → 1.0.46-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (214) hide show
  1. package/builder/assets/{index.0df4f7ab.css → index.243ca52c.css} +1 -1
  2. package/builder/assets/{index.f163603e.js → index.c21ee1fb.js} +144 -144
  3. package/builder/index.html +2 -2
  4. package/coverage/clover.xml +1932 -1756
  5. package/coverage/coverage-final.json +138 -132
  6. package/coverage/lcov-report/api/controllers/analytics.js.html +6 -6
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  8. package/coverage/lcov-report/api/controllers/application.js.html +90 -90
  9. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  10. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  11. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  12. package/coverage/lcov-report/api/controllers/cloud.js.html +12 -12
  13. package/coverage/lcov-report/api/controllers/component.js.html +8 -8
  14. package/coverage/lcov-report/api/controllers/datasource.js.html +30 -30
  15. package/coverage/lcov-report/api/controllers/dev.js.html +19 -19
  16. package/coverage/lcov-report/api/controllers/hosting.js.html +8 -8
  17. package/coverage/lcov-report/api/controllers/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  19. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  21. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  22. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.js.html +19 -19
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +9 -9
  25. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  26. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +16 -16
  28. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
  30. package/coverage/lcov-report/api/controllers/row/internal.js.html +44 -44
  31. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +8 -8
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +25 -25
  33. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  34. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  35. package/coverage/lcov-report/api/controllers/table/external.js.html +12 -12
  36. package/coverage/lcov-report/api/controllers/table/index.html +16 -16
  37. package/coverage/lcov-report/api/controllers/table/index.js.html +25 -25
  38. package/coverage/lcov-report/api/controllers/table/internal.js.html +40 -34
  39. package/coverage/lcov-report/api/controllers/table/utils.js.html +76 -61
  40. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  41. package/coverage/lcov-report/api/controllers/user.js.html +20 -20
  42. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  43. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  45. package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
  46. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  47. package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
  48. package/coverage/lcov-report/api/index.html +1 -1
  49. package/coverage/lcov-report/api/index.js.html +26 -26
  50. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  51. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  52. package/coverage/lcov-report/api/routes/application.js.html +9 -9
  53. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  54. package/coverage/lcov-report/api/routes/automation.js.html +14 -14
  55. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  56. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  57. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  58. package/coverage/lcov-report/api/routes/datasource.js.html +13 -13
  59. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  60. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  61. package/coverage/lcov-report/api/routes/hosting.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/index.html +1 -1
  63. package/coverage/lcov-report/api/routes/index.js.html +30 -30
  64. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  65. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  66. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  67. package/coverage/lcov-report/api/routes/permission.js.html +12 -12
  68. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  69. package/coverage/lcov-report/api/routes/role.js.html +12 -12
  70. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  71. package/coverage/lcov-report/api/routes/row.js.html +10 -10
  72. package/coverage/lcov-report/api/routes/screen.js.html +11 -11
  73. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/static.js.html +28 -13
  75. package/coverage/lcov-report/api/routes/table.js.html +12 -12
  76. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  77. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  78. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  79. package/coverage/lcov-report/api/routes/webhook.js.html +11 -11
  80. package/coverage/lcov-report/automations/actions.js.html +24 -24
  81. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  82. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  83. package/coverage/lcov-report/automations/index.html +1 -1
  84. package/coverage/lcov-report/automations/index.js.html +7 -7
  85. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  86. package/coverage/lcov-report/automations/steps/createRow.js.html +13 -19
  87. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  88. package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
  89. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  90. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  91. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  92. package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/index.html +13 -13
  94. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  95. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  96. package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
  97. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  98. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  99. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  100. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  101. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  102. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  103. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  104. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  105. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  107. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  108. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  109. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  110. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  112. package/coverage/lcov-report/automations/utils.js.html +32 -32
  113. package/coverage/lcov-report/constants/index.html +1 -1
  114. package/coverage/lcov-report/constants/index.js.html +22 -22
  115. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  116. package/coverage/lcov-report/constants/screens.js.html +4 -4
  117. package/coverage/lcov-report/db/client.js.html +18 -18
  118. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  119. package/coverage/lcov-report/db/index.html +15 -15
  120. package/coverage/lcov-report/db/index.js.html +3 -3
  121. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +18 -18
  122. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/index.js.html +31 -31
  124. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +15 -15
  125. package/coverage/lcov-report/db/newid.js.html +4 -4
  126. package/coverage/lcov-report/db/utils.js.html +85 -85
  127. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  128. package/coverage/lcov-report/events/index.html +1 -1
  129. package/coverage/lcov-report/events/index.js.html +6 -6
  130. package/coverage/lcov-report/events/utils.js.html +3 -3
  131. package/coverage/lcov-report/index.html +68 -38
  132. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  133. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  134. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  135. package/coverage/lcov-report/middleware/authorized.js.html +15 -15
  136. package/coverage/lcov-report/middleware/builder.js.html +16 -16
  137. package/coverage/lcov-report/middleware/currentapp.js.html +43 -43
  138. package/coverage/lcov-report/middleware/index.html +20 -20
  139. package/coverage/lcov-report/middleware/joi-validator.js.html +6 -6
  140. package/coverage/lcov-report/middleware/resourceId.js.html +22 -22
  141. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  142. package/coverage/lcov-report/middleware/usageQuota.js.html +291 -57
  143. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  144. package/coverage/lcov-report/migrations/usageQuotas/index.html +141 -0
  145. package/coverage/lcov-report/migrations/usageQuotas/index.js.html +152 -0
  146. package/coverage/lcov-report/migrations/usageQuotas/syncApps.js.html +134 -0
  147. package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +143 -0
  148. package/coverage/lcov-report/threads/automation.js.html +1 -1
  149. package/coverage/lcov-report/threads/index.html +1 -1
  150. package/coverage/lcov-report/threads/index.js.html +10 -10
  151. package/coverage/lcov-report/threads/query.js.html +1 -1
  152. package/coverage/lcov-report/threads/utils.js.html +14 -14
  153. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  154. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  155. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  156. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  157. package/coverage/lcov-report/utilities/global.js.html +26 -26
  158. package/coverage/lcov-report/utilities/index.html +1 -1
  159. package/coverage/lcov-report/utilities/index.js.html +25 -25
  160. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -9
  161. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  162. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  163. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  164. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  165. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +53 -53
  166. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  167. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  168. package/coverage/lcov-report/utilities/security.js.html +8 -8
  169. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  170. package/coverage/lcov-report/utilities/usageQuota/index.html +141 -0
  171. package/coverage/lcov-report/utilities/usageQuota/index.js.html +356 -0
  172. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +302 -0
  173. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +134 -0
  174. package/coverage/lcov-report/utilities/users.js.html +5 -5
  175. package/coverage/lcov-report/utilities/workerRequests.js.html +31 -31
  176. package/coverage/lcov.info +2530 -2232
  177. package/dist/api/controllers/static/index.js +50 -0
  178. package/dist/api/controllers/table/internal.js +2 -0
  179. package/dist/api/controllers/table/utils.js +5 -0
  180. package/dist/api/routes/static.js +2 -1
  181. package/dist/automations/steps/createRow.js +2 -4
  182. package/dist/automations/steps/deleteRow.js +1 -4
  183. package/dist/environment.js +1 -0
  184. package/dist/middleware/usageQuota.js +82 -13
  185. package/dist/migrations/usageQuotas/index.js +24 -0
  186. package/dist/migrations/usageQuotas/syncApps.js +26 -0
  187. package/dist/migrations/usageQuotas/syncRows.js +29 -0
  188. package/dist/package.json +4 -4
  189. package/dist/tsconfig.tsbuildinfo +1 -1
  190. package/dist/utilities/{usageQuota.js → usageQuota/index.js} +44 -31
  191. package/dist/utilities/usageQuota/rows.js +77 -0
  192. package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
  193. package/package.json +5 -5
  194. package/src/api/controllers/static/index.js +50 -0
  195. package/src/api/controllers/table/internal.js +2 -0
  196. package/src/api/controllers/table/utils.js +5 -0
  197. package/src/api/routes/static.js +5 -0
  198. package/src/api/routes/tests/static.spec.js +98 -0
  199. package/src/automations/steps/createRow.js +2 -4
  200. package/src/automations/steps/deleteRow.js +1 -4
  201. package/src/environment.js +1 -0
  202. package/src/middleware/tests/usageQuota.spec.js +18 -24
  203. package/src/middleware/usageQuota.js +93 -15
  204. package/src/migrations/tests/usageQuotas/index.spec.js +27 -0
  205. package/src/migrations/tests/usageQuotas/syncApps.spec.js +37 -0
  206. package/src/migrations/tests/usageQuotas/syncRows.spec.js +43 -0
  207. package/src/migrations/usageQuotas/index.js +24 -0
  208. package/src/migrations/usageQuotas/syncApps.js +18 -0
  209. package/src/migrations/usageQuotas/syncRows.js +21 -0
  210. package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
  211. package/src/utilities/usageQuota/index.js +92 -0
  212. package/src/utilities/usageQuota/rows.js +74 -0
  213. package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
  214. package/src/utilities/usageQuota.js +0 -73
@@ -0,0 +1,141 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for migrations/usageQuotas</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> migrations/usageQuotas</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>40/40</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">62.5% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>5/8</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>5/5</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>39/39</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <div class="pad1">
60
+ <table class="coverage-summary">
61
+ <thead>
62
+ <tr>
63
+ <th data-col="file" data-fmt="html" data-html="true" class="file">File</th>
64
+ <th data-col="pic" data-type="number" data-fmt="html" data-html="true" class="pic"></th>
65
+ <th data-col="statements" data-type="number" data-fmt="pct" class="pct">Statements</th>
66
+ <th data-col="statements_raw" data-type="number" data-fmt="html" class="abs"></th>
67
+ <th data-col="branches" data-type="number" data-fmt="pct" class="pct">Branches</th>
68
+ <th data-col="branches_raw" data-type="number" data-fmt="html" class="abs"></th>
69
+ <th data-col="functions" data-type="number" data-fmt="pct" class="pct">Functions</th>
70
+ <th data-col="functions_raw" data-type="number" data-fmt="html" class="abs"></th>
71
+ <th data-col="lines" data-type="number" data-fmt="pct" class="pct">Lines</th>
72
+ <th data-col="lines_raw" data-type="number" data-fmt="html" class="abs"></th>
73
+ </tr>
74
+ </thead>
75
+ <tbody><tr>
76
+ <td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
77
+ <td data-value="100" class="pic high">
78
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
79
+ </td>
80
+ <td data-value="100" class="pct high">100%</td>
81
+ <td data-value="10" class="abs high">10/10</td>
82
+ <td data-value="100" class="pct high">100%</td>
83
+ <td data-value="2" class="abs high">2/2</td>
84
+ <td data-value="100" class="pct high">100%</td>
85
+ <td data-value="2" class="abs high">2/2</td>
86
+ <td data-value="100" class="pct high">100%</td>
87
+ <td data-value="10" class="abs high">10/10</td>
88
+ </tr>
89
+
90
+ <tr>
91
+ <td class="file high" data-value="syncApps.js"><a href="syncApps.js.html">syncApps.js</a></td>
92
+ <td data-value="100" class="pic high">
93
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
94
+ </td>
95
+ <td data-value="100" class="pct high">100%</td>
96
+ <td data-value="13" class="abs high">13/13</td>
97
+ <td data-value="50" class="pct medium">50%</td>
98
+ <td data-value="2" class="abs medium">1/2</td>
99
+ <td data-value="100" class="pct high">100%</td>
100
+ <td data-value="1" class="abs high">1/1</td>
101
+ <td data-value="100" class="pct high">100%</td>
102
+ <td data-value="13" class="abs high">13/13</td>
103
+ </tr>
104
+
105
+ <tr>
106
+ <td class="file high" data-value="syncRows.js"><a href="syncRows.js.html">syncRows.js</a></td>
107
+ <td data-value="100" class="pic high">
108
+ <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
109
+ </td>
110
+ <td data-value="100" class="pct high">100%</td>
111
+ <td data-value="17" class="abs high">17/17</td>
112
+ <td data-value="50" class="pct medium">50%</td>
113
+ <td data-value="4" class="abs medium">2/4</td>
114
+ <td data-value="100" class="pct high">100%</td>
115
+ <td data-value="2" class="abs high">2/2</td>
116
+ <td data-value="100" class="pct high">100%</td>
117
+ <td data-value="16" class="abs high">16/16</td>
118
+ </tr>
119
+
120
+ </tbody>
121
+ </table>
122
+ </div>
123
+ <div class='push'></div><!-- for sticky footer -->
124
+ </div><!-- /wrapper -->
125
+ <div class='footer quiet pad2 space-top1 center small'>
126
+ Code coverage generated by
127
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
128
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
129
+ </div>
130
+ </div>
131
+ <script src="../../prettify.js"></script>
132
+ <script>
133
+ window.onload = function () {
134
+ prettyPrint();
135
+ };
136
+ </script>
137
+ <script src="../../sorter.js"></script>
138
+ <script src="../../block-navigation.js"></script>
139
+ </body>
140
+ </html>
141
+
@@ -0,0 +1,152 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for migrations/usageQuotas/index.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">migrations/usageQuotas</a> index.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>10/10</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">100% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>10/10</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a>
82
+ <a name='L23'></a><a href='#L23'>23</a>
83
+ <a name='L24'></a><a href='#L24'>24</a>
84
+ <a name='L25'></a><a href='#L25'>25</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-neutral">&nbsp;</span>
88
+ <span class="cline-any cline-yes">26x</span>
89
+ <span class="cline-any cline-yes">26x</span>
90
+ <span class="cline-any cline-yes">26x</span>
91
+ <span class="cline-any cline-yes">26x</span>
92
+ <span class="cline-any cline-neutral">&nbsp;</span>
93
+ <span class="cline-any cline-yes">26x</span>
94
+ <span class="cline-any cline-yes">4x</span>
95
+ <span class="cline-any cline-yes">3x</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span>
97
+ <span class="cline-any cline-neutral">&nbsp;</span>
98
+ <span class="cline-any cline-neutral">&nbsp;</span>
99
+ <span class="cline-any cline-yes">1x</span>
100
+ <span class="cline-any cline-neutral">&nbsp;</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span>
103
+ <span class="cline-any cline-yes">1x</span>
104
+ <span class="cline-any cline-yes">1x</span>
105
+ <span class="cline-any cline-neutral">&nbsp;</span>
106
+ <span class="cline-any cline-neutral">&nbsp;</span>
107
+ <span class="cline-any cline-neutral">&nbsp;</span>
108
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const {
109
+ MIGRATIONS,
110
+ MIGRATION_DBS,
111
+ migrateIfRequired,
112
+ } = require("@budibase/backend-core/migrations")
113
+ const { useQuotas } = require("../../utilities/usageQuota")
114
+ const syncApps = require("./syncApps")
115
+ const syncRows = require("./syncRows")
116
+ &nbsp;
117
+ exports.run = async () =&gt; {
118
+ if (!useQuotas()) {
119
+ return
120
+ }
121
+ &nbsp;
122
+ // Jan 2022
123
+ await migrateIfRequired(
124
+ MIGRATION_DBS.GLOBAL_DB,
125
+ MIGRATIONS.QUOTAS_1,
126
+ async () =&gt; {
127
+ await syncApps.run()
128
+ await syncRows.run()
129
+ }
130
+ )
131
+ }
132
+ &nbsp;</pre></td></tr></table></pre>
133
+
134
+ <div class='push'></div><!-- for sticky footer -->
135
+ </div><!-- /wrapper -->
136
+ <div class='footer quiet pad2 space-top1 center small'>
137
+ Code coverage generated by
138
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
140
+ </div>
141
+ </div>
142
+ <script src="../../prettify.js"></script>
143
+ <script>
144
+ window.onload = function () {
145
+ prettyPrint();
146
+ };
147
+ </script>
148
+ <script src="../../sorter.js"></script>
149
+ <script src="../../block-navigation.js"></script>
150
+ </body>
151
+ </html>
152
+
@@ -0,0 +1,134 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for migrations/usageQuotas/syncApps.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">migrations/usageQuotas</a> syncApps.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>13/13</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>1/2</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>1/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>13/13</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">26x</span>
79
+ <span class="cline-any cline-yes">26x</span>
80
+ <span class="cline-any cline-yes">26x</span>
81
+ <span class="cline-any cline-yes">26x</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-yes">26x</span>
84
+ <span class="cline-any cline-yes">1x</span>
85
+ <span class="cline-any cline-neutral">&nbsp;</span>
86
+ <span class="cline-any cline-yes">1x</span>
87
+ <span class="cline-any cline-yes">1x</span>
88
+ <span class="cline-any cline-neutral">&nbsp;</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-yes">1x</span>
91
+ <span class="cline-any cline-yes">1x</span>
92
+ <span class="cline-any cline-yes">1x</span>
93
+ <span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-yes">1x</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getGlobalDB, getTenantId } = require("@budibase/backend-core/tenancy")
97
+ const { getAllApps } = require("@budibase/backend-core/db")
98
+ const CouchDB = require("../../db")
99
+ const { getUsageQuotaDoc } = require("../../utilities/usageQuota")
100
+ &nbsp;
101
+ exports.run = async () =&gt; {
102
+ const db = getGlobalDB()
103
+ // get app count
104
+ const devApps = await getAllApps(CouchDB, { dev: true })
105
+ const appCount = devApps ? devApps.length : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
106
+ &nbsp;
107
+ // sync app count
108
+ const tenantId = getTenantId()
109
+ console.log(`[Tenant: ${tenantId}] Syncing app count: ${appCount}`)
110
+ const usageDoc = await getUsageQuotaDoc(db)
111
+ usageDoc.usageQuota.apps = appCount
112
+ await db.put(usageDoc)
113
+ }
114
+ &nbsp;</pre></td></tr></table></pre>
115
+
116
+ <div class='push'></div><!-- for sticky footer -->
117
+ </div><!-- /wrapper -->
118
+ <div class='footer quiet pad2 space-top1 center small'>
119
+ Code coverage generated by
120
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
121
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
122
+ </div>
123
+ </div>
124
+ <script src="../../prettify.js"></script>
125
+ <script>
126
+ window.onload = function () {
127
+ prettyPrint();
128
+ };
129
+ </script>
130
+ <script src="../../sorter.js"></script>
131
+ <script src="../../block-navigation.js"></script>
132
+ </body>
133
+ </html>
134
+
@@ -0,0 +1,143 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for migrations/usageQuotas/syncRows.js</title>
7
+ <meta charset="utf-8" />
8
+ <link rel="stylesheet" href="../../prettify.css" />
9
+ <link rel="stylesheet" href="../../base.css" />
10
+ <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
12
+ <style type='text/css'>
13
+ .coverage-summary .sorter {
14
+ background-image: url(../../sort-arrow-sprite.png);
15
+ }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <div class='wrapper'>
21
+ <div class='pad1'>
22
+ <h1><a href="../../index.html">All files</a> / <a href="index.html">migrations/usageQuotas</a> syncRows.js</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">100% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>17/17</span>
29
+ </div>
30
+
31
+
32
+ <div class='fl pad1y space-right2'>
33
+ <span class="strong">50% </span>
34
+ <span class="quiet">Branches</span>
35
+ <span class='fraction'>2/4</span>
36
+ </div>
37
+
38
+
39
+ <div class='fl pad1y space-right2'>
40
+ <span class="strong">100% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>2/2</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">100% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>16/16</span>
50
+ </div>
51
+
52
+
53
+ </div>
54
+ <p class="quiet">
55
+ Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
+ </p>
57
+ </div>
58
+ <div class='status-line high'></div>
59
+ <pre><table class="coverage">
60
+ <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
+ <a name='L2'></a><a href='#L2'>2</a>
62
+ <a name='L3'></a><a href='#L3'>3</a>
63
+ <a name='L4'></a><a href='#L4'>4</a>
64
+ <a name='L5'></a><a href='#L5'>5</a>
65
+ <a name='L6'></a><a href='#L6'>6</a>
66
+ <a name='L7'></a><a href='#L7'>7</a>
67
+ <a name='L8'></a><a href='#L8'>8</a>
68
+ <a name='L9'></a><a href='#L9'>9</a>
69
+ <a name='L10'></a><a href='#L10'>10</a>
70
+ <a name='L11'></a><a href='#L11'>11</a>
71
+ <a name='L12'></a><a href='#L12'>12</a>
72
+ <a name='L13'></a><a href='#L13'>13</a>
73
+ <a name='L14'></a><a href='#L14'>14</a>
74
+ <a name='L15'></a><a href='#L15'>15</a>
75
+ <a name='L16'></a><a href='#L16'>16</a>
76
+ <a name='L17'></a><a href='#L17'>17</a>
77
+ <a name='L18'></a><a href='#L18'>18</a>
78
+ <a name='L19'></a><a href='#L19'>19</a>
79
+ <a name='L20'></a><a href='#L20'>20</a>
80
+ <a name='L21'></a><a href='#L21'>21</a>
81
+ <a name='L22'></a><a href='#L22'>22</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">26x</span>
82
+ <span class="cline-any cline-yes">26x</span>
83
+ <span class="cline-any cline-yes">26x</span>
84
+ <span class="cline-any cline-yes">26x</span>
85
+ <span class="cline-any cline-yes">26x</span>
86
+ <span class="cline-any cline-neutral">&nbsp;</span>
87
+ <span class="cline-any cline-yes">26x</span>
88
+ <span class="cline-any cline-yes">1x</span>
89
+ <span class="cline-any cline-neutral">&nbsp;</span>
90
+ <span class="cline-any cline-yes">1x</span>
91
+ <span class="cline-any cline-yes">4x</span>
92
+ <span class="cline-any cline-yes">1x</span>
93
+ <span class="cline-any cline-yes">1x</span>
94
+ <span class="cline-any cline-neutral">&nbsp;</span>
95
+ <span class="cline-any cline-neutral">&nbsp;</span>
96
+ <span class="cline-any cline-yes">1x</span>
97
+ <span class="cline-any cline-yes">1x</span>
98
+ <span class="cline-any cline-yes">1x</span>
99
+ <span class="cline-any cline-yes">1x</span>
100
+ <span class="cline-any cline-yes">1x</span>
101
+ <span class="cline-any cline-neutral">&nbsp;</span>
102
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const { getGlobalDB, getTenantId } = require("@budibase/backend-core/tenancy")
103
+ const { getAllApps } = require("@budibase/backend-core/db")
104
+ const CouchDB = require("../../db")
105
+ const { getUsageQuotaDoc } = require("../../utilities/usageQuota")
106
+ const { getUniqueRows } = require("../../utilities/usageQuota/rows")
107
+ &nbsp;
108
+ exports.run = async () =&gt; {
109
+ const db = getGlobalDB()
110
+ // get all rows in all apps
111
+ const allApps = await getAllApps(CouchDB, { all: true })
112
+ const appIds = allApps ? allApps.map(app =&gt; app.appId) : <span class="branch-1 cbranch-no" title="branch not covered" >[]</span>
113
+ const rows = await getUniqueRows(appIds)
114
+ const rowCount = rows ? rows.length : <span class="branch-1 cbranch-no" title="branch not covered" >0</span>
115
+ &nbsp;
116
+ // sync row count
117
+ const tenantId = getTenantId()
118
+ console.log(`[Tenant: ${tenantId}] Syncing row count: ${rowCount}`)
119
+ const usageDoc = await getUsageQuotaDoc(db)
120
+ usageDoc.usageQuota.rows = rowCount
121
+ await db.put(usageDoc)
122
+ }
123
+ &nbsp;</pre></td></tr></table></pre>
124
+
125
+ <div class='push'></div><!-- for sticky footer -->
126
+ </div><!-- /wrapper -->
127
+ <div class='footer quiet pad2 space-top1 center small'>
128
+ Code coverage generated by
129
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
130
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
131
+ </div>
132
+ </div>
133
+ <script src="../../prettify.js"></script>
134
+ <script>
135
+ window.onload = function () {
136
+ prettyPrint();
137
+ };
138
+ </script>
139
+ <script src="../../sorter.js"></script>
140
+ <script src="../../block-navigation.js"></script>
141
+ </body>
142
+ </html>
143
+
@@ -502,7 +502,7 @@ module.exports = (input, callback) =&gt; {
502
502
  <div class='footer quiet pad2 space-top1 center small'>
503
503
  Code coverage generated by
504
504
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
505
- at Thu Jan 20 2022 17:09:55 GMT+0000 (Coordinated Universal Time)
505
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
506
506
  </div>
507
507
  </div>
508
508
  <script src="../prettify.js"></script>
@@ -140,7 +140,7 @@
140
140
  <div class='footer quiet pad2 space-top1 center small'>
141
141
  Code coverage generated by
142
142
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
143
- at Thu Jan 20 2022 17:09:55 GMT+0000 (Coordinated Universal Time)
143
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
144
144
  </div>
145
145
  </div>
146
146
  <script src="../prettify.js"></script>
@@ -123,10 +123,10 @@
123
123
  <a name='L64'></a><a href='#L64'>64</a>
124
124
  <a name='L65'></a><a href='#L65'>65</a>
125
125
  <a name='L66'></a><a href='#L66'>66</a>
126
- <a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
127
- <span class="cline-any cline-yes">34x</span>
126
+ <a name='L67'></a><a href='#L67'>67</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
127
+ <span class="cline-any cline-yes">38x</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">34x</span>
129
+ <span class="cline-any cline-yes">38x</span>
130
130
  <span class="cline-any cline-neutral">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
132
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -148,14 +148,14 @@
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
150
  <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-yes">67x</span>
152
- <span class="cline-any cline-yes">67x</span>
153
- <span class="cline-any cline-yes">67x</span>
151
+ <span class="cline-any cline-yes">75x</span>
152
+ <span class="cline-any cline-yes">75x</span>
153
+ <span class="cline-any cline-yes">75x</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
156
  <span class="cline-any cline-neutral">&nbsp;</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-yes">67x</span>
158
+ <span class="cline-any cline-yes">75x</span>
159
159
  <span class="cline-any cline-no">&nbsp;</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -187,8 +187,8 @@
187
187
  <span class="cline-any cline-neutral">&nbsp;</span>
188
188
  <span class="cline-any cline-neutral">&nbsp;</span>
189
189
  <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-yes">34x</span>
191
- <span class="cline-any cline-yes">34x</span>
190
+ <span class="cline-any cline-yes">38x</span>
191
+ <span class="cline-any cline-yes">38x</span>
192
192
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const workerFarm = require("worker-farm")
193
193
  const env = require("../environment")
194
194
  &nbsp;
@@ -262,7 +262,7 @@ module.exports.ThreadType = ThreadType
262
262
  <div class='footer quiet pad2 space-top1 center small'>
263
263
  Code coverage generated by
264
264
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
265
- at Thu Jan 20 2022 17:09:55 GMT+0000 (Coordinated Universal Time)
265
+ at Mon Jan 24 2022 15:47:33 GMT+0000 (Coordinated Universal Time)
266
266
  </div>
267
267
  </div>
268
268
  <script src="../prettify.js"></script>