@budibase/server 1.0.49-alpha.0 → 1.0.49-alpha.1
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.
- package/builder/assets/{index.dd9e386f.css → index.ba78c49d.css} +1 -1
- package/builder/assets/{index.8184eed9.js → index.ed1cf508.js} +205 -204
- package/builder/assets/{vendor.3bd2f661.js → vendor.d526bfe8.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +844 -680
- package/coverage/coverage-final.json +12 -10
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +40 -25
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +60 -123
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +35 -11
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +551 -0
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +629 -0
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +45 -30
- package/coverage/lcov-report/api/controllers/table/index.js.html +11 -53
- package/coverage/lcov-report/api/controllers/table/internal.js.html +25 -7
- package/coverage/lcov-report/api/controllers/table/utils.js.html +136 -16
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +19 -4
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +10 -10
- package/coverage/lcov-report/db/linkedRows/index.js.html +10 -13
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +5 -5
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +44 -44
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/index.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/index.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/syncApps.js.html +1 -1
- package/coverage/lcov-report/migrations/usageQuotas/syncRows.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +65 -29
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +73 -25
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +1509 -1173
- package/dist/api/controllers/row/internal.js +30 -53
- package/dist/api/controllers/row/internalSearch.js +12 -4
- package/dist/api/controllers/row/staticFormula.js +147 -0
- package/dist/api/controllers/table/bulkFormula.js +160 -0
- package/dist/api/controllers/table/index.js +3 -6
- package/dist/api/controllers/table/internal.js +7 -0
- package/dist/api/controllers/table/utils.js +32 -10
- package/dist/constants/index.js +4 -0
- package/dist/db/linkedRows/index.js +4 -5
- package/dist/package.json +4 -4
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/rowProcessor/index.js +18 -11
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/package.json +5 -5
- package/src/api/controllers/row/internal.js +29 -50
- package/src/api/controllers/row/internalSearch.js +12 -4
- package/src/api/controllers/row/staticFormula.js +157 -0
- package/src/api/controllers/table/bulkFormula.js +183 -0
- package/src/api/controllers/table/index.js +3 -17
- package/src/api/controllers/table/internal.js +7 -1
- package/src/api/controllers/table/utils.js +48 -8
- package/src/constants/index.js +5 -0
- package/src/db/linkedRows/index.js +4 -5
- package/src/definitions/common.ts +3 -0
- package/src/utilities/rowProcessor/index.js +24 -12
- package/src/utilities/rowProcessor/utils.js +23 -7
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">53.83% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>295/548</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">36.84% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>105/285</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">53.84% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>42/78</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">54.2% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>290/535</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -73,6 +73,21 @@
|
|
|
73
73
|
</tr>
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
|
+
<td class="file medium" data-value="bulkFormula.js"><a href="bulkFormula.js.html">bulkFormula.js</a></td>
|
|
77
|
+
<td data-value="69.62" class="pic medium">
|
|
78
|
+
<div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
|
|
79
|
+
</td>
|
|
80
|
+
<td data-value="69.62" class="pct medium">69.62%</td>
|
|
81
|
+
<td data-value="79" class="abs medium">55/79</td>
|
|
82
|
+
<td data-value="43.63" class="pct low">43.63%</td>
|
|
83
|
+
<td data-value="55" class="abs low">24/55</td>
|
|
84
|
+
<td data-value="81.25" class="pct high">81.25%</td>
|
|
85
|
+
<td data-value="16" class="abs high">13/16</td>
|
|
86
|
+
<td data-value="69.73" class="pct medium">69.73%</td>
|
|
87
|
+
<td data-value="76" class="abs medium">53/76</td>
|
|
88
|
+
</tr>
|
|
89
|
+
|
|
90
|
+
<tr>
|
|
76
91
|
<td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
|
|
77
92
|
<td data-value="8.02" class="pic low">
|
|
78
93
|
<div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
|
|
@@ -89,47 +104,47 @@
|
|
|
89
104
|
|
|
90
105
|
<tr>
|
|
91
106
|
<td class="file medium" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
|
92
|
-
<td data-value="
|
|
93
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="76.78" class="pic medium">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
|
|
94
109
|
</td>
|
|
95
|
-
<td data-value="
|
|
96
|
-
<td data-value="
|
|
110
|
+
<td data-value="76.78" class="pct medium">76.78%</td>
|
|
111
|
+
<td data-value="56" class="abs medium">43/56</td>
|
|
97
112
|
<td data-value="73.91" class="pct medium">73.91%</td>
|
|
98
113
|
<td data-value="23" class="abs medium">17/23</td>
|
|
99
|
-
<td data-value="
|
|
100
|
-
<td data-value="
|
|
101
|
-
<td data-value="78.
|
|
102
|
-
<td data-value="
|
|
114
|
+
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
115
|
+
<td data-value="9" class="abs medium">6/9</td>
|
|
116
|
+
<td data-value="78.18" class="pct medium">78.18%</td>
|
|
117
|
+
<td data-value="55" class="abs medium">43/55</td>
|
|
103
118
|
</tr>
|
|
104
119
|
|
|
105
120
|
<tr>
|
|
106
121
|
<td class="file medium" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
122
|
+
<td data-value="77.14" class="pic medium">
|
|
123
|
+
<div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
|
|
109
124
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
125
|
+
<td data-value="77.14" class="pct medium">77.14%</td>
|
|
126
|
+
<td data-value="70" class="abs medium">54/70</td>
|
|
112
127
|
<td data-value="71.87" class="pct medium">71.87%</td>
|
|
113
128
|
<td data-value="32" class="abs medium">23/32</td>
|
|
114
129
|
<td data-value="60" class="pct medium">60%</td>
|
|
115
130
|
<td data-value="5" class="abs medium">3/5</td>
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
131
|
+
<td data-value="80.59" class="pct high">80.59%</td>
|
|
132
|
+
<td data-value="67" class="abs high">54/67</td>
|
|
118
133
|
</tr>
|
|
119
134
|
|
|
120
135
|
<tr>
|
|
121
136
|
<td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
|
|
122
|
-
<td data-value="64.
|
|
137
|
+
<td data-value="64.07" class="pic medium">
|
|
123
138
|
<div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
|
|
124
139
|
</td>
|
|
125
|
-
<td data-value="64.
|
|
126
|
-
<td data-value="
|
|
140
|
+
<td data-value="64.07" class="pct medium">64.07%</td>
|
|
141
|
+
<td data-value="206" class="abs medium">132/206</td>
|
|
127
142
|
<td data-value="41.41" class="pct low">41.41%</td>
|
|
128
143
|
<td data-value="99" class="abs low">41/99</td>
|
|
129
|
-
<td data-value="
|
|
130
|
-
<td data-value="
|
|
131
|
-
<td data-value="64.
|
|
132
|
-
<td data-value="
|
|
144
|
+
<td data-value="58.82" class="pct medium">58.82%</td>
|
|
145
|
+
<td data-value="34" class="abs medium">20/34</td>
|
|
146
|
+
<td data-value="64.5" class="pct medium">64.5%</td>
|
|
147
|
+
<td data-value="200" class="abs medium">129/200</td>
|
|
133
148
|
</tr>
|
|
134
149
|
|
|
135
150
|
</tbody>
|
|
@@ -140,7 +155,7 @@
|
|
|
140
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
141
156
|
Code coverage generated by
|
|
142
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
143
|
-
at Mon Jan 31 2022
|
|
158
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
144
159
|
</div>
|
|
145
160
|
</div>
|
|
146
161
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">76.78% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>43/56</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">66.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>6/9</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">78.
|
|
47
|
+
<span class="strong">78.18% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>43/55</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -155,29 +155,11 @@
|
|
|
155
155
|
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
156
|
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
157
|
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
-
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
-
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
-
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
-
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
-
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
-
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
-
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
-
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
-
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
-
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
|
-
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
|
-
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
-
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
-
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
-
<a name='L113'></a><a href='#L113'>113</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
173
159
|
<span class="cline-any cline-yes">37x</span>
|
|
174
160
|
<span class="cline-any cline-yes">37x</span>
|
|
175
161
|
<span class="cline-any cline-yes">37x</span>
|
|
176
162
|
<span class="cline-any cline-yes">37x</span>
|
|
177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
181
163
|
<span class="cline-any cline-yes">37x</span>
|
|
182
164
|
<span class="cline-any cline-yes">37x</span>
|
|
183
165
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -199,16 +181,6 @@
|
|
|
199
181
|
<span class="cline-any cline-neutral"> </span>
|
|
200
182
|
<span class="cline-any cline-yes">1x</span>
|
|
201
183
|
<span class="cline-any cline-neutral"> </span>
|
|
202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
203
|
-
<span class="cline-any cline-neutral"> </span>
|
|
204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-yes">2x</span>
|
|
207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
212
184
|
<span class="cline-any cline-yes">1x</span>
|
|
213
185
|
<span class="cline-any cline-neutral"> </span>
|
|
214
186
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -286,12 +258,8 @@ const internal = require("./internal")
|
|
|
286
258
|
const external = require("./external")
|
|
287
259
|
const csvParser = require("../../../utilities/csvParser")
|
|
288
260
|
const { isExternalTable, isSQL } = require("../../../integrations/utils")
|
|
289
|
-
const {
|
|
290
|
-
|
|
291
|
-
getDatasourceParams,
|
|
292
|
-
BudibaseInternalDB,
|
|
293
|
-
} = require("../../../db/utils")
|
|
294
|
-
const { getTable } = require("./utils")
|
|
261
|
+
const { getDatasourceParams } = require("../../../db/utils")
|
|
262
|
+
const { getTable, getAllInternalTables } = require("./utils")
|
|
295
263
|
|
|
296
264
|
function pickApi({ tableId, table }) {
|
|
297
265
|
if (table && !tableId) {
|
|
@@ -309,17 +277,7 @@ function pickApi({ tableId, table }) {
|
|
|
309
277
|
exports.fetch = async function (ctx) {
|
|
310
278
|
const db = new CouchDB(ctx.appId)
|
|
311
279
|
|
|
312
|
-
const
|
|
313
|
-
getTableParams(null, {
|
|
314
|
-
include_docs: true,
|
|
315
|
-
})
|
|
316
|
-
)
|
|
317
|
-
|
|
318
|
-
const internal = internalTables.rows.map(tableDoc => ({
|
|
319
|
-
...tableDoc.doc,
|
|
320
|
-
type: "internal",
|
|
321
|
-
sourceId: BudibaseInternalDB._id,
|
|
322
|
-
}))
|
|
280
|
+
const internal = await getAllInternalTables(ctx.appId)
|
|
323
281
|
|
|
324
282
|
const externalTables = await db.allDocs(
|
|
325
283
|
getDatasourceParams("plus", {
|
|
@@ -400,7 +358,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
400
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
401
359
|
Code coverage generated by
|
|
402
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
403
|
-
at Mon Jan 31 2022
|
|
361
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
404
362
|
</div>
|
|
405
363
|
</div>
|
|
406
364
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">77.14% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>54/70</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.59% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>54/67</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -210,7 +210,13 @@
|
|
|
210
210
|
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
211
|
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
212
|
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
-
<a name='L154'></a><a href='#L154'>154</a
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
214
220
|
<span class="cline-any cline-yes">37x</span>
|
|
215
221
|
<span class="cline-any cline-yes">37x</span>
|
|
216
222
|
<span class="cline-any cline-yes">37x</span>
|
|
@@ -221,6 +227,8 @@
|
|
|
221
227
|
<span class="cline-any cline-neutral"> </span>
|
|
222
228
|
<span class="cline-any cline-yes">37x</span>
|
|
223
229
|
<span class="cline-any cline-yes">37x</span>
|
|
230
|
+
<span class="cline-any cline-yes">37x</span>
|
|
231
|
+
<span class="cline-any cline-yes">37x</span>
|
|
224
232
|
<span class="cline-any cline-neutral"> </span>
|
|
225
233
|
<span class="cline-any cline-yes">37x</span>
|
|
226
234
|
<span class="cline-any cline-yes">101x</span>
|
|
@@ -318,6 +326,7 @@
|
|
|
318
326
|
<span class="cline-any cline-yes">101x</span>
|
|
319
327
|
<span class="cline-any cline-neutral"> </span>
|
|
320
328
|
<span class="cline-any cline-yes">101x</span>
|
|
329
|
+
<span class="cline-any cline-yes">101x</span>
|
|
321
330
|
<span class="cline-any cline-neutral"> </span>
|
|
322
331
|
<span class="cline-any cline-neutral"> </span>
|
|
323
332
|
<span class="cline-any cline-yes">37x</span>
|
|
@@ -353,6 +362,9 @@
|
|
|
353
362
|
<span class="cline-any cline-no"> </span>
|
|
354
363
|
<span class="cline-any cline-neutral"> </span>
|
|
355
364
|
<span class="cline-any cline-neutral"> </span>
|
|
365
|
+
<span class="cline-any cline-neutral"> </span>
|
|
366
|
+
<span class="cline-any cline-yes">2x</span>
|
|
367
|
+
<span class="cline-any cline-yes">2x</span>
|
|
356
368
|
<span class="cline-any cline-yes">2x</span>
|
|
357
369
|
<span class="cline-any cline-neutral"> </span>
|
|
358
370
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -374,6 +386,8 @@ const {
|
|
|
374
386
|
handleDataImport,
|
|
375
387
|
} = require("./utils")
|
|
376
388
|
const usageQuota = require("../../../utilities/usageQuota")
|
|
389
|
+
const { cleanupAttachments } = require("../../../utilities/rowProcessor")
|
|
390
|
+
const { runStaticFormulaChecks } = require("./bulkFormula")
|
|
377
391
|
|
|
378
392
|
exports.save = async function (ctx) {
|
|
379
393
|
const appId = ctx.appId
|
|
@@ -469,7 +483,8 @@ exports.save = async function (ctx) {
|
|
|
469
483
|
tableToSave._rev = result.rev
|
|
470
484
|
|
|
471
485
|
tableToSave = await tableSaveFunctions.after(tableToSave)
|
|
472
|
-
|
|
486
|
+
// has to run after, make sure it has _id
|
|
487
|
+
await runStaticFormulaChecks(appId, tableToSave, { oldTable })
|
|
473
488
|
return tableToSave
|
|
474
489
|
}
|
|
475
490
|
|
|
@@ -506,6 +521,9 @@ exports.destroy = async function (ctx) {
|
|
|
506
521
|
<span class="cstat-no" title="statement not covered" > await db.deleteIndex(existingIndex)</span>
|
|
507
522
|
}
|
|
508
523
|
|
|
524
|
+
// has to run after, make sure it has _id
|
|
525
|
+
await runStaticFormulaChecks(appId, tableToDelete, { deletion: true })
|
|
526
|
+
await cleanupAttachments(appId, tableToDelete, { rows })
|
|
509
527
|
return tableToDelete
|
|
510
528
|
}
|
|
511
529
|
|
|
@@ -523,7 +541,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
523
541
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
524
542
|
Code coverage generated by
|
|
525
543
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
526
|
-
at Mon Jan 31 2022
|
|
544
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
527
545
|
</div>
|
|
528
546
|
</div>
|
|
529
547
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">64.
|
|
26
|
+
<span class="strong">64.07% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>132/206</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">58.82% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>20/34</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">64.
|
|
47
|
+
<span class="strong">64.5% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>129/200</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -446,15 +446,60 @@
|
|
|
446
446
|
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
447
|
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
448
|
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
-
<a name='L390'></a><a href='#L390'>390</a
|
|
449
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
+
<a name='L397'></a><a href='#L397'>397</a>
|
|
457
|
+
<a name='L398'></a><a href='#L398'>398</a>
|
|
458
|
+
<a name='L399'></a><a href='#L399'>399</a>
|
|
459
|
+
<a name='L400'></a><a href='#L400'>400</a>
|
|
460
|
+
<a name='L401'></a><a href='#L401'>401</a>
|
|
461
|
+
<a name='L402'></a><a href='#L402'>402</a>
|
|
462
|
+
<a name='L403'></a><a href='#L403'>403</a>
|
|
463
|
+
<a name='L404'></a><a href='#L404'>404</a>
|
|
464
|
+
<a name='L405'></a><a href='#L405'>405</a>
|
|
465
|
+
<a name='L406'></a><a href='#L406'>406</a>
|
|
466
|
+
<a name='L407'></a><a href='#L407'>407</a>
|
|
467
|
+
<a name='L408'></a><a href='#L408'>408</a>
|
|
468
|
+
<a name='L409'></a><a href='#L409'>409</a>
|
|
469
|
+
<a name='L410'></a><a href='#L410'>410</a>
|
|
470
|
+
<a name='L411'></a><a href='#L411'>411</a>
|
|
471
|
+
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
|
+
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
|
+
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
478
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
479
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
480
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
481
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
482
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
483
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
484
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
485
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
486
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
487
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
488
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
489
|
+
<a name='L430'></a><a href='#L430'>430</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">37x</span>
|
|
450
490
|
<span class="cline-any cline-yes">37x</span>
|
|
451
491
|
<span class="cline-any cline-neutral"> </span>
|
|
452
492
|
<span class="cline-any cline-neutral"> </span>
|
|
453
493
|
<span class="cline-any cline-neutral"> </span>
|
|
454
494
|
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
497
|
<span class="cline-any cline-yes">37x</span>
|
|
456
498
|
<span class="cline-any cline-yes">37x</span>
|
|
457
499
|
<span class="cline-any cline-yes">37x</span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
458
503
|
<span class="cline-any cline-yes">37x</span>
|
|
459
504
|
<span class="cline-any cline-neutral"> </span>
|
|
460
505
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -469,6 +514,22 @@
|
|
|
469
514
|
<span class="cline-any cline-yes">37x</span>
|
|
470
515
|
<span class="cline-any cline-yes">37x</span>
|
|
471
516
|
<span class="cline-any cline-yes">37x</span>
|
|
517
|
+
<span class="cline-any cline-yes">37x</span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-yes">37x</span>
|
|
520
|
+
<span class="cline-any cline-no"> </span>
|
|
521
|
+
<span class="cline-any cline-no"> </span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-no"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
528
|
+
<span class="cline-any cline-no"> </span>
|
|
529
|
+
<span class="cline-any cline-no"> </span>
|
|
530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
533
|
<span class="cline-any cline-neutral"> </span>
|
|
473
534
|
<span class="cline-any cline-yes">37x</span>
|
|
474
535
|
<span class="cline-any cline-yes">101x</span>
|
|
@@ -491,6 +552,8 @@
|
|
|
491
552
|
<span class="cline-any cline-yes">1x</span>
|
|
492
553
|
<span class="cline-any cline-yes">1x</span>
|
|
493
554
|
<span class="cline-any cline-yes">1x</span>
|
|
555
|
+
<span class="cline-any cline-yes">1x</span>
|
|
556
|
+
<span class="cline-any cline-yes">1x</span>
|
|
494
557
|
<span class="cline-any cline-no"> </span>
|
|
495
558
|
<span class="cline-any cline-no"> </span>
|
|
496
559
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -499,6 +562,8 @@
|
|
|
499
562
|
<span class="cline-any cline-neutral"> </span>
|
|
500
563
|
<span class="cline-any cline-neutral"> </span>
|
|
501
564
|
<span class="cline-any cline-yes">1x</span>
|
|
565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
566
|
+
<span class="cline-any cline-yes">1x</span>
|
|
502
567
|
<span class="cline-any cline-yes">1x</span>
|
|
503
568
|
<span class="cline-any cline-neutral"> </span>
|
|
504
569
|
<span class="cline-any cline-yes">101x</span>
|
|
@@ -661,6 +726,7 @@
|
|
|
661
726
|
<span class="cline-any cline-neutral"> </span>
|
|
662
727
|
<span class="cline-any cline-neutral"> </span>
|
|
663
728
|
<span class="cline-any cline-neutral"> </span>
|
|
729
|
+
<span class="cline-any cline-neutral"> </span>
|
|
664
730
|
<span class="cline-any cline-yes">101x</span>
|
|
665
731
|
<span class="cline-any cline-yes">101x</span>
|
|
666
732
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -683,6 +749,20 @@
|
|
|
683
749
|
<span class="cline-any cline-neutral"> </span>
|
|
684
750
|
<span class="cline-any cline-neutral"> </span>
|
|
685
751
|
<span class="cline-any cline-yes">37x</span>
|
|
752
|
+
<span class="cline-any cline-yes">207x</span>
|
|
753
|
+
<span class="cline-any cline-yes">207x</span>
|
|
754
|
+
<span class="cline-any cline-neutral"> </span>
|
|
755
|
+
<span class="cline-any cline-neutral"> </span>
|
|
756
|
+
<span class="cline-any cline-neutral"> </span>
|
|
757
|
+
<span class="cline-any cline-neutral"> </span>
|
|
758
|
+
<span class="cline-any cline-yes">474x</span>
|
|
759
|
+
<span class="cline-any cline-neutral"> </span>
|
|
760
|
+
<span class="cline-any cline-neutral"> </span>
|
|
761
|
+
<span class="cline-any cline-neutral"> </span>
|
|
762
|
+
<span class="cline-any cline-neutral"> </span>
|
|
763
|
+
<span class="cline-any cline-neutral"> </span>
|
|
764
|
+
<span class="cline-any cline-neutral"> </span>
|
|
765
|
+
<span class="cline-any cline-yes">37x</span>
|
|
686
766
|
<span class="cline-any cline-no"> </span>
|
|
687
767
|
<span class="cline-any cline-no"> </span>
|
|
688
768
|
<span class="cline-any cline-no"> </span>
|
|
@@ -841,10 +921,15 @@ const {
|
|
|
841
921
|
getRowParams,
|
|
842
922
|
generateRowID,
|
|
843
923
|
InternalTables,
|
|
924
|
+
getTableParams,
|
|
925
|
+
BudibaseInternalDB,
|
|
844
926
|
} = require("../../../db/utils")
|
|
845
|
-
const { isEqual } = require("lodash
|
|
927
|
+
const { isEqual } = require("lodash")
|
|
846
928
|
const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
|
|
847
|
-
const {
|
|
929
|
+
const {
|
|
930
|
+
inputProcessing,
|
|
931
|
+
cleanupAttachments,
|
|
932
|
+
} = require("../../../utilities/rowProcessor")
|
|
848
933
|
const {
|
|
849
934
|
USERS_TABLE_SCHEMA,
|
|
850
935
|
SwitchableTypes,
|
|
@@ -858,8 +943,24 @@ const {
|
|
|
858
943
|
const { getViews, saveView } = require("../view/utils")
|
|
859
944
|
const viewTemplate = require("../view/viewBuilder")
|
|
860
945
|
const usageQuota = require("../../../utilities/usageQuota")
|
|
946
|
+
const { cloneDeep } = require("lodash/fp")
|
|
947
|
+
|
|
948
|
+
exports.clearColumns = <span class="fstat-no" title="function not covered" >as</span>ync (appId, table, columnNames) => {
|
|
949
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
950
|
+
const rows = <span class="cstat-no" title="statement not covered" >await db.allDocs(</span>
|
|
951
|
+
getRowParams(table._id, null, {
|
|
952
|
+
include_docs: true,
|
|
953
|
+
})
|
|
954
|
+
)
|
|
955
|
+
<span class="cstat-no" title="statement not covered" > return db.bulkDocs(</span>
|
|
956
|
+
rows.rows.map(<span class="fstat-no" title="function not covered" >({</span> doc }) => {
|
|
957
|
+
<span class="cstat-no" title="statement not covered" > columnNames.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete doc[colName])</span></span>
|
|
958
|
+
<span class="cstat-no" title="statement not covered" > return doc</span>
|
|
959
|
+
})
|
|
960
|
+
)
|
|
961
|
+
}
|
|
861
962
|
|
|
862
|
-
exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
963
|
+
exports.checkForColumnUpdates = async (appId, db, oldTable, updatedTable) => {
|
|
863
964
|
let updatedRows = []
|
|
864
965
|
const rename = updatedTable._rename
|
|
865
966
|
let deletedColumns = []
|
|
@@ -876,16 +977,20 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
|
876
977
|
include_docs: true,
|
|
877
978
|
})
|
|
878
979
|
)
|
|
879
|
-
|
|
980
|
+
const rawRows = rows.rows.map(({ doc }) => doc)
|
|
981
|
+
updatedRows = rawRows.map(row => {
|
|
982
|
+
row = cloneDeep(row)
|
|
880
983
|
if (rename) {
|
|
881
|
-
|
|
882
|
-
delete
|
|
984
|
+
row[rename.updated] = row[rename.old]
|
|
985
|
+
delete row[rename.old]
|
|
883
986
|
} else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="else path not taken" >E</span>if (deletedColumns.length !== 0) {</span>
|
|
884
|
-
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete
|
|
987
|
+
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lName => <span class="cstat-no" title="statement not covered" >delete row[colName])</span></span>
|
|
885
988
|
}
|
|
886
|
-
return
|
|
989
|
+
return row
|
|
887
990
|
})
|
|
888
991
|
|
|
992
|
+
// cleanup any attachments from object storage for deleted attachment columns
|
|
993
|
+
await cleanupAttachments(appId, updatedTable, { oldTable, rows: rawRows })
|
|
889
994
|
// Update views
|
|
890
995
|
await exports.checkForViewUpdates(db, updatedTable, rename, deletedColumns)
|
|
891
996
|
delete updatedTable._rename
|
|
@@ -1046,6 +1151,7 @@ class TableSaveFunctions {
|
|
|
1046
1151
|
// when confirmed valid
|
|
1047
1152
|
async mid(table) {
|
|
1048
1153
|
let response = await exports.checkForColumnUpdates(
|
|
1154
|
+
this.appId,
|
|
1049
1155
|
this.db,
|
|
1050
1156
|
this.oldTable,
|
|
1051
1157
|
table
|
|
@@ -1071,6 +1177,20 @@ class TableSaveFunctions {
|
|
|
1071
1177
|
}
|
|
1072
1178
|
}
|
|
1073
1179
|
|
|
1180
|
+
exports.getAllInternalTables = async appId => {
|
|
1181
|
+
const db = new CouchDB(appId)
|
|
1182
|
+
const internalTables = await db.allDocs(
|
|
1183
|
+
getTableParams(null, {
|
|
1184
|
+
include_docs: true,
|
|
1185
|
+
})
|
|
1186
|
+
)
|
|
1187
|
+
return internalTables.rows.map(tableDoc => ({
|
|
1188
|
+
...tableDoc.doc,
|
|
1189
|
+
type: "internal",
|
|
1190
|
+
sourceId: BudibaseInternalDB._id,
|
|
1191
|
+
}))
|
|
1192
|
+
}
|
|
1193
|
+
|
|
1074
1194
|
exports.getAllExternalTables = <span class="fstat-no" title="function not covered" >as</span>ync (appId, datasourceId) => {
|
|
1075
1195
|
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
1076
1196
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
@@ -1231,7 +1351,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1231
1351
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1232
1352
|
Code coverage generated by
|
|
1233
1353
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1234
|
-
at Mon Jan 31 2022
|
|
1354
|
+
at Mon Jan 31 2022 16:01:47 GMT+0000 (Coordinated Universal Time)
|
|
1235
1355
|
</div>
|
|
1236
1356
|
</div>
|
|
1237
1357
|
<script src="../../../prettify.js"></script>
|