@budibase/server 0.9.172 → 0.9.173-alpha.3
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/__mocks__/{mysql.ts → mysql2.ts} +0 -0
- package/builder/assets/{index.dbc6728e.css → index.7469e1e4.css} +2 -2
- package/builder/assets/{index.9ab01cd4.js → index.b38aa4d6.js} +34 -34
- package/builder/assets/{vendor.54435e8f.js → vendor.278a305c.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +973 -849
- package/coverage/coverage-final.json +47 -46
- package/coverage/lcov-report/api/controllers/analytics.js.html +21 -9
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +186 -84
- package/coverage/lcov-report/api/controllers/auth.js.html +37 -10
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +6 -9
- 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 +41 -17
- package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +71 -71
- 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 +7 -4
- package/coverage/lcov-report/api/controllers/query.js.html +129 -24
- 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 +5 -5
- package/coverage/lcov-report/api/controllers/row/index.js.html +15 -15
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +9 -9
- package/coverage/lcov-report/api/controllers/script.js.html +12 -57
- package/coverage/lcov-report/api/controllers/table/index.html +28 -28
- package/coverage/lcov-report/api/controllers/table/index.js.html +16 -37
- package/coverage/lcov-report/api/controllers/table/utils.js.html +279 -33
- package/coverage/lcov-report/api/controllers/templates.js.html +49 -13
- package/coverage/lcov-report/api/controllers/user.js.html +3 -3
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +19 -19
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -8
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +54 -15
- 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 +3 -3
- 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 +5 -2
- 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 +26 -11
- package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +9 -9
- 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 +9 -3
- 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 +31 -10
- package/coverage/lcov-report/automations/automationUtils.js.html +14 -86
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +37 -37
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +10 -7
- package/coverage/lcov-report/automations/steps/createRow.js.html +2 -2
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +8 -5
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +10 -7
- package/coverage/lcov-report/automations/steps/executeScript.js.html +10 -7
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +57 -57
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +10 -7
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -7
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +10 -7
- 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 +14 -14
- package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/thread.js.html +54 -12
- 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 +28 -28
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +5 -2
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +2 -2
- 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 +12 -12
- package/coverage/lcov-report/db/linkedRows/index.html +18 -18
- package/coverage/lcov-report/db/linkedRows/index.js.html +47 -26
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +2 -2
- package/coverage/lcov-report/db/utils.js.html +17 -17
- 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 +107 -107
- 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 +2 -2
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +52 -25
- package/coverage/lcov-report/middleware/index.html +15 -15
- 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/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 +27 -27
- package/coverage/lcov-report/utilities/index.html +32 -17
- package/coverage/lcov-report/utilities/index.js.html +4 -4
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +29 -8
- package/coverage/lcov-report/utilities/queue/index.html +15 -15
- 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 +14 -14
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +38 -8
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +143 -0
- 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/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +19 -19
- package/coverage/lcov.info +1692 -1452
- package/dist/api/controllers/analytics.js +4 -0
- package/dist/api/controllers/application.js +185 -171
- package/dist/api/controllers/auth.js +12 -2
- package/dist/api/controllers/backup.js +4 -4
- package/dist/api/controllers/deploy/index.js +3 -16
- package/dist/api/controllers/dev.js +17 -11
- package/dist/api/controllers/permission.js +1 -0
- package/dist/api/controllers/query.js +26 -8
- package/dist/api/controllers/row/ExternalRequest.js +46 -5
- package/dist/api/controllers/script.js +4 -16
- package/dist/api/controllers/table/index.js +5 -10
- package/dist/api/controllers/table/utils.js +83 -10
- package/dist/api/controllers/templates.js +18 -3
- package/dist/api/controllers/view/viewBuilder.js +15 -1
- package/dist/api/routes/application.js +1 -0
- package/dist/api/routes/dev.js +8 -4
- package/dist/api/routes/query.js +3 -1
- package/dist/api/routes/tests/utilities/TestFunctions.js +7 -9
- package/dist/automations/actions.js +9 -3
- package/dist/automations/automationUtils.js +8 -29
- package/dist/automations/steps/bash.js +2 -1
- package/dist/automations/steps/createRow.js +1 -1
- package/dist/automations/steps/deleteRow.js +2 -1
- package/dist/automations/steps/executeQuery.js +2 -1
- package/dist/automations/steps/executeScript.js +2 -1
- package/dist/automations/steps/outgoingWebhook.js +2 -1
- package/dist/automations/steps/queryRows.js +2 -1
- package/dist/automations/steps/sendSmtpEmail.js +2 -1
- package/dist/automations/steps/updateRow.js +6 -2
- package/dist/automations/thread.js +14 -3
- package/dist/constants/index.js +1 -0
- package/dist/db/linkedRows/index.js +9 -6
- package/dist/integrations/base/sql.js +4 -4
- package/dist/integrations/mysql.js +1 -1
- package/dist/integrations/utils.js +17 -1
- package/dist/middleware/currentapp.js +8 -2
- package/dist/package.json +7 -6
- package/dist/tests/utilities/TestConfiguration.js +34 -19
- package/dist/tests/utilities/controllers.js +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +49 -33
- package/dist/utilities/global.js +1 -1
- package/dist/utilities/queue/inMemoryQueue.js +6 -0
- package/dist/utilities/rowProcessor/index.js +8 -0
- package/dist/utilities/scriptRunner.js +19 -0
- package/package.json +8 -7
- package/scripts/jestSetup.js +2 -0
- package/src/api/controllers/analytics.js +4 -0
- package/src/api/controllers/application.js +43 -9
- package/src/api/controllers/auth.js +12 -3
- package/src/api/controllers/backup.js +4 -5
- package/src/api/controllers/deploy/index.js +3 -18
- package/src/api/controllers/dev.js +16 -8
- package/src/api/controllers/permission.js +1 -0
- package/src/api/controllers/query.js +46 -11
- package/src/api/controllers/row/ExternalRequest.ts +53 -4
- package/src/api/controllers/script.js +4 -19
- package/src/api/controllers/table/index.js +5 -12
- package/src/api/controllers/table/utils.js +94 -12
- package/src/api/controllers/templates.js +17 -5
- package/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +1 -1
- package/src/api/controllers/view/viewBuilder.js +14 -1
- package/src/api/routes/application.js +1 -0
- package/src/api/routes/dev.js +9 -4
- package/src/api/routes/query.js +3 -1
- package/src/api/routes/tests/auth.spec.js +1 -2
- package/src/api/routes/tests/permissions.spec.js +3 -0
- package/src/api/routes/tests/query.spec.js +2 -2
- package/src/api/routes/tests/routing.spec.js +24 -8
- package/src/api/routes/tests/user.spec.js +1 -1
- package/src/api/routes/tests/utilities/TestFunctions.js +7 -9
- package/src/api/routes/tests/webhook.spec.js +4 -1
- package/src/automations/actions.js +10 -3
- package/src/automations/automationUtils.js +7 -31
- package/src/automations/steps/bash.js +2 -1
- package/src/automations/steps/createRow.js +1 -1
- package/src/automations/steps/deleteRow.js +2 -1
- package/src/automations/steps/executeQuery.js +2 -1
- package/src/automations/steps/executeScript.js +2 -1
- package/src/automations/steps/outgoingWebhook.js +2 -1
- package/src/automations/steps/queryRows.js +2 -1
- package/src/automations/steps/sendSmtpEmail.js +2 -1
- package/src/automations/steps/updateRow.js +6 -6
- package/src/automations/thread.js +17 -3
- package/src/constants/index.js +1 -0
- package/src/db/linkedRows/index.js +14 -7
- package/src/integrations/base/sql.ts +11 -3
- package/src/integrations/mysql.ts +1 -1
- package/src/integrations/tests/mongo.spec.js +10 -6
- package/src/integrations/tests/mysql.spec.js +1 -1
- package/src/integrations/utils.ts +18 -0
- package/src/middleware/currentapp.js +11 -2
- package/src/middleware/tests/currentapp.spec.js +3 -3
- package/src/tests/utilities/TestConfiguration.js +47 -19
- package/src/tests/utilities/controllers.js +1 -0
- package/src/utilities/fileSystem/index.js +65 -43
- package/src/utilities/global.js +1 -1
- package/src/utilities/queue/inMemoryQueue.js +7 -0
- package/src/utilities/rowProcessor/index.js +10 -0
- package/src/utilities/scriptRunner.js +21 -0
|
@@ -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">66.88% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>103/154</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">44.3% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>35/79</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">69.57% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>16/23</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">67.55% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>102/151</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
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
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line medium'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -293,8 +293,89 @@
|
|
|
293
293
|
<a name='L234'></a><a href='#L234'>234</a>
|
|
294
294
|
<a name='L235'></a><a href='#L235'>235</a>
|
|
295
295
|
<a name='L236'></a><a href='#L236'>236</a>
|
|
296
|
-
<a name='L237'></a><a href='#L237'>237</a
|
|
297
|
-
<
|
|
296
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
297
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
298
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
299
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
300
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
301
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
302
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
303
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
304
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
305
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
306
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
307
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
308
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
309
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
310
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
311
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
312
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
313
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
314
|
+
<a name='L255'></a><a href='#L255'>255</a>
|
|
315
|
+
<a name='L256'></a><a href='#L256'>256</a>
|
|
316
|
+
<a name='L257'></a><a href='#L257'>257</a>
|
|
317
|
+
<a name='L258'></a><a href='#L258'>258</a>
|
|
318
|
+
<a name='L259'></a><a href='#L259'>259</a>
|
|
319
|
+
<a name='L260'></a><a href='#L260'>260</a>
|
|
320
|
+
<a name='L261'></a><a href='#L261'>261</a>
|
|
321
|
+
<a name='L262'></a><a href='#L262'>262</a>
|
|
322
|
+
<a name='L263'></a><a href='#L263'>263</a>
|
|
323
|
+
<a name='L264'></a><a href='#L264'>264</a>
|
|
324
|
+
<a name='L265'></a><a href='#L265'>265</a>
|
|
325
|
+
<a name='L266'></a><a href='#L266'>266</a>
|
|
326
|
+
<a name='L267'></a><a href='#L267'>267</a>
|
|
327
|
+
<a name='L268'></a><a href='#L268'>268</a>
|
|
328
|
+
<a name='L269'></a><a href='#L269'>269</a>
|
|
329
|
+
<a name='L270'></a><a href='#L270'>270</a>
|
|
330
|
+
<a name='L271'></a><a href='#L271'>271</a>
|
|
331
|
+
<a name='L272'></a><a href='#L272'>272</a>
|
|
332
|
+
<a name='L273'></a><a href='#L273'>273</a>
|
|
333
|
+
<a name='L274'></a><a href='#L274'>274</a>
|
|
334
|
+
<a name='L275'></a><a href='#L275'>275</a>
|
|
335
|
+
<a name='L276'></a><a href='#L276'>276</a>
|
|
336
|
+
<a name='L277'></a><a href='#L277'>277</a>
|
|
337
|
+
<a name='L278'></a><a href='#L278'>278</a>
|
|
338
|
+
<a name='L279'></a><a href='#L279'>279</a>
|
|
339
|
+
<a name='L280'></a><a href='#L280'>280</a>
|
|
340
|
+
<a name='L281'></a><a href='#L281'>281</a>
|
|
341
|
+
<a name='L282'></a><a href='#L282'>282</a>
|
|
342
|
+
<a name='L283'></a><a href='#L283'>283</a>
|
|
343
|
+
<a name='L284'></a><a href='#L284'>284</a>
|
|
344
|
+
<a name='L285'></a><a href='#L285'>285</a>
|
|
345
|
+
<a name='L286'></a><a href='#L286'>286</a>
|
|
346
|
+
<a name='L287'></a><a href='#L287'>287</a>
|
|
347
|
+
<a name='L288'></a><a href='#L288'>288</a>
|
|
348
|
+
<a name='L289'></a><a href='#L289'>289</a>
|
|
349
|
+
<a name='L290'></a><a href='#L290'>290</a>
|
|
350
|
+
<a name='L291'></a><a href='#L291'>291</a>
|
|
351
|
+
<a name='L292'></a><a href='#L292'>292</a>
|
|
352
|
+
<a name='L293'></a><a href='#L293'>293</a>
|
|
353
|
+
<a name='L294'></a><a href='#L294'>294</a>
|
|
354
|
+
<a name='L295'></a><a href='#L295'>295</a>
|
|
355
|
+
<a name='L296'></a><a href='#L296'>296</a>
|
|
356
|
+
<a name='L297'></a><a href='#L297'>297</a>
|
|
357
|
+
<a name='L298'></a><a href='#L298'>298</a>
|
|
358
|
+
<a name='L299'></a><a href='#L299'>299</a>
|
|
359
|
+
<a name='L300'></a><a href='#L300'>300</a>
|
|
360
|
+
<a name='L301'></a><a href='#L301'>301</a>
|
|
361
|
+
<a name='L302'></a><a href='#L302'>302</a>
|
|
362
|
+
<a name='L303'></a><a href='#L303'>303</a>
|
|
363
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
364
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
365
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
366
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
367
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
368
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
369
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
370
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
371
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
372
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
373
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
374
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
375
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
376
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
377
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
378
|
+
<a name='L319'></a><a href='#L319'>319</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
298
379
|
<span class="cline-any cline-yes">34x</span>
|
|
299
380
|
<span class="cline-any cline-neutral"> </span>
|
|
300
381
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -306,6 +387,12 @@
|
|
|
306
387
|
<span class="cline-any cline-yes">34x</span>
|
|
307
388
|
<span class="cline-any cline-yes">34x</span>
|
|
308
389
|
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-yes">34x</span>
|
|
393
|
+
<span class="cline-any cline-yes">34x</span>
|
|
394
|
+
<span class="cline-any cline-yes">34x</span>
|
|
395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
309
396
|
<span class="cline-any cline-yes">34x</span>
|
|
310
397
|
<span class="cline-any cline-yes">99x</span>
|
|
311
398
|
<span class="cline-any cline-yes">99x</span>
|
|
@@ -317,6 +404,7 @@
|
|
|
317
404
|
<span class="cline-any cline-neutral"> </span>
|
|
318
405
|
<span class="cline-any cline-neutral"> </span>
|
|
319
406
|
<span class="cline-any cline-yes">99x</span>
|
|
407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
320
408
|
<span class="cline-any cline-yes">1x</span>
|
|
321
409
|
<span class="cline-any cline-neutral"> </span>
|
|
322
410
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -331,6 +419,9 @@
|
|
|
331
419
|
<span class="cline-any cline-neutral"> </span>
|
|
332
420
|
<span class="cline-any cline-yes">1x</span>
|
|
333
421
|
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-neutral"> </span>
|
|
423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
424
|
+
<span class="cline-any cline-yes">1x</span>
|
|
334
425
|
<span class="cline-any cline-yes">1x</span>
|
|
335
426
|
<span class="cline-any cline-neutral"> </span>
|
|
336
427
|
<span class="cline-any cline-yes">99x</span>
|
|
@@ -388,18 +479,9 @@
|
|
|
388
479
|
<span class="cline-any cline-neutral"> </span>
|
|
389
480
|
<span class="cline-any cline-neutral"> </span>
|
|
390
481
|
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-neutral"> </span>
|
|
392
482
|
<span class="cline-any cline-yes">1x</span>
|
|
393
483
|
<span class="cline-any cline-neutral"> </span>
|
|
394
484
|
<span class="cline-any cline-neutral"> </span>
|
|
395
|
-
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-neutral"> </span>
|
|
397
|
-
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-neutral"> </span>
|
|
399
|
-
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-neutral"> </span>
|
|
402
|
-
<span class="cline-any cline-neutral"> </span>
|
|
403
485
|
<span class="cline-any cline-yes">1x</span>
|
|
404
486
|
<span class="cline-any cline-yes">1x</span>
|
|
405
487
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -529,8 +611,89 @@
|
|
|
529
611
|
<span class="cline-any cline-neutral"> </span>
|
|
530
612
|
<span class="cline-any cline-neutral"> </span>
|
|
531
613
|
<span class="cline-any cline-yes">34x</span>
|
|
614
|
+
<span class="cline-any cline-yes">28x</span>
|
|
615
|
+
<span class="cline-any cline-yes">28x</span>
|
|
616
|
+
<span class="cline-any cline-no"> </span>
|
|
617
|
+
<span class="cline-any cline-no"> </span>
|
|
618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
619
|
+
<span class="cline-any cline-yes">28x</span>
|
|
620
|
+
<span class="cline-any cline-neutral"> </span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-neutral"> </span>
|
|
623
|
+
<span class="cline-any cline-yes">34x</span>
|
|
624
|
+
<span class="cline-any cline-yes">1x</span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
628
|
+
<span class="cline-any cline-yes">1x</span>
|
|
629
|
+
<span class="cline-any cline-no"> </span>
|
|
630
|
+
<span class="cline-any cline-neutral"> </span>
|
|
631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
632
|
+
<span class="cline-any cline-no"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-no"> </span>
|
|
635
|
+
<span class="cline-any cline-no"> </span>
|
|
636
|
+
<span class="cline-any cline-no"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
639
|
+
<span class="cline-any cline-neutral"> </span>
|
|
640
|
+
<span class="cline-any cline-no"> </span>
|
|
641
|
+
<span class="cline-any cline-no"> </span>
|
|
642
|
+
<span class="cline-any cline-no"> </span>
|
|
643
|
+
<span class="cline-any cline-neutral"> </span>
|
|
644
|
+
<span class="cline-any cline-neutral"> </span>
|
|
645
|
+
<span class="cline-any cline-neutral"> </span>
|
|
646
|
+
<span class="cline-any cline-no"> </span>
|
|
647
|
+
<span class="cline-any cline-no"> </span>
|
|
648
|
+
<span class="cline-any cline-no"> </span>
|
|
649
|
+
<span class="cline-any cline-no"> </span>
|
|
650
|
+
<span class="cline-any cline-no"> </span>
|
|
651
|
+
<span class="cline-any cline-neutral"> </span>
|
|
652
|
+
<span class="cline-any cline-neutral"> </span>
|
|
653
|
+
<span class="cline-any cline-neutral"> </span>
|
|
654
|
+
<span class="cline-any cline-no"> </span>
|
|
655
|
+
<span class="cline-any cline-no"> </span>
|
|
656
|
+
<span class="cline-any cline-neutral"> </span>
|
|
657
|
+
<span class="cline-any cline-no"> </span>
|
|
658
|
+
<span class="cline-any cline-no"> </span>
|
|
659
|
+
<span class="cline-any cline-no"> </span>
|
|
660
|
+
<span class="cline-any cline-no"> </span>
|
|
661
|
+
<span class="cline-any cline-no"> </span>
|
|
662
|
+
<span class="cline-any cline-neutral"> </span>
|
|
663
|
+
<span class="cline-any cline-neutral"> </span>
|
|
664
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
|
+
<span class="cline-any cline-no"> </span>
|
|
666
|
+
<span class="cline-any cline-no"> </span>
|
|
667
|
+
<span class="cline-any cline-no"> </span>
|
|
668
|
+
<span class="cline-any cline-neutral"> </span>
|
|
669
|
+
<span class="cline-any cline-neutral"> </span>
|
|
670
|
+
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-no"> </span>
|
|
672
|
+
<span class="cline-any cline-no"> </span>
|
|
673
|
+
<span class="cline-any cline-no"> </span>
|
|
674
|
+
<span class="cline-any cline-no"> </span>
|
|
675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
676
|
+
<span class="cline-any cline-no"> </span>
|
|
677
|
+
<span class="cline-any cline-no"> </span>
|
|
678
|
+
<span class="cline-any cline-neutral"> </span>
|
|
679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
683
|
+
<span class="cline-any cline-neutral"> </span>
|
|
684
|
+
<span class="cline-any cline-no"> </span>
|
|
685
|
+
<span class="cline-any cline-no"> </span>
|
|
686
|
+
<span class="cline-any cline-no"> </span>
|
|
687
|
+
<span class="cline-any cline-no"> </span>
|
|
688
|
+
<span class="cline-any cline-no"> </span>
|
|
689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
690
|
+
<span class="cline-any cline-no"> </span>
|
|
691
|
+
<span class="cline-any cline-neutral"> </span>
|
|
692
|
+
<span class="cline-any cline-neutral"> </span>
|
|
693
|
+
<span class="cline-any cline-neutral"> </span>
|
|
694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
695
|
+
<span class="cline-any cline-yes">34x</span>
|
|
532
696
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
533
|
-
const linkRows = require("../../../db/linkedRows")
|
|
534
697
|
const csvParser = require("../../../utilities/csvParser")
|
|
535
698
|
const {
|
|
536
699
|
getRowParams,
|
|
@@ -541,6 +704,12 @@ const { isEqual } = require("lodash/fp")
|
|
|
541
704
|
const { AutoFieldSubTypes, FieldTypes } = require("../../../constants")
|
|
542
705
|
const { inputProcessing } = require("../../../utilities/rowProcessor")
|
|
543
706
|
const { USERS_TABLE_SCHEMA } = require("../../../constants")
|
|
707
|
+
const {
|
|
708
|
+
isExternalTable,
|
|
709
|
+
breakExternalTableId,
|
|
710
|
+
} = require("../../../integrations/utils")
|
|
711
|
+
const { getViews, saveView } = require("../view/utils")
|
|
712
|
+
const viewTemplate = require("../view/viewBuilder")
|
|
544
713
|
|
|
545
714
|
exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
546
715
|
let updatedRows = []
|
|
@@ -553,6 +722,7 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
|
553
722
|
}
|
|
554
723
|
// check for renaming of columns or deleted columns
|
|
555
724
|
if (rename || deletedColumns.length !== 0) {
|
|
725
|
+
// Update all rows
|
|
556
726
|
const rows = await db.allDocs(
|
|
557
727
|
getRowParams(updatedTable._id, null, {
|
|
558
728
|
include_docs: true,
|
|
@@ -567,6 +737,9 @@ exports.checkForColumnUpdates = async (db, oldTable, updatedTable) => {
|
|
|
567
737
|
}
|
|
568
738
|
return doc
|
|
569
739
|
})
|
|
740
|
+
|
|
741
|
+
// Update views
|
|
742
|
+
await exports.checkForViewUpdates(db, updatedTable, rename, deletedColumns)
|
|
570
743
|
delete updatedTable._rename
|
|
571
744
|
}
|
|
572
745
|
return { rows: updatedRows, table: updatedTable }
|
|
@@ -624,19 +797,10 @@ exports.handleDataImport = async (appId, user, table, dataImport) => {
|
|
|
624
797
|
}
|
|
625
798
|
}
|
|
626
799
|
|
|
627
|
-
|
|
628
|
-
finalData.push(
|
|
629
|
-
linkRows.updateLinks({
|
|
630
|
-
appId,
|
|
631
|
-
eventType: linkRows.EventType.ROW_SAVE,
|
|
632
|
-
row,
|
|
633
|
-
tableId: row.tableId,
|
|
634
|
-
table,
|
|
635
|
-
})
|
|
636
|
-
)
|
|
800
|
+
finalData.push(row)
|
|
637
801
|
}
|
|
638
802
|
|
|
639
|
-
await db.bulkDocs(
|
|
803
|
+
await db.bulkDocs(finalData)
|
|
640
804
|
let response = await db.put(table)
|
|
641
805
|
table._rev = response._rev
|
|
642
806
|
}
|
|
@@ -764,6 +928,88 @@ exports.getExternalTable = <span class="fstat-no" title="function not covered" >
|
|
|
764
928
|
<span class="cstat-no" title="statement not covered" > return entities[tableName]</span>
|
|
765
929
|
}
|
|
766
930
|
|
|
931
|
+
exports.getTable = async (appId, tableId) => {
|
|
932
|
+
const db = new CouchDB(appId)
|
|
933
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (isExternalTable(tableId)) {
|
|
934
|
+
let { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
935
|
+
<span class="cstat-no" title="statement not covered" > return exports.getExternalTable(appId, datasourceId, tableName)</span>
|
|
936
|
+
} else {
|
|
937
|
+
return db.get(tableId)
|
|
938
|
+
}
|
|
939
|
+
}
|
|
940
|
+
|
|
941
|
+
exports.checkForViewUpdates = async (db, table, rename, deletedColumns) => {
|
|
942
|
+
const views = await getViews(db)
|
|
943
|
+
const tableViews = views.filter(<span class="fstat-no" title="function not covered" >vi</span>ew => <span class="cstat-no" title="statement not covered" >view.meta.tableId === table._id)</span>
|
|
944
|
+
|
|
945
|
+
// Check each table view to see if impacted by this table action
|
|
946
|
+
for (let view of tableViews) {
|
|
947
|
+
let needsUpdated = <span class="cstat-no" title="statement not covered" >false</span>
|
|
948
|
+
|
|
949
|
+
// First check for renames, otherwise check for deletions
|
|
950
|
+
<span class="cstat-no" title="statement not covered" > if (rename) {</span>
|
|
951
|
+
// Update calculation field if required
|
|
952
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.field === rename.old) {</span>
|
|
953
|
+
<span class="cstat-no" title="statement not covered" > view.meta.field = rename.updated</span>
|
|
954
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
// Update group by field if required
|
|
958
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.groupBy === rename.old) {</span>
|
|
959
|
+
<span class="cstat-no" title="statement not covered" > view.meta.groupBy = rename.updated</span>
|
|
960
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
// Update filters if required
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.filters) {</span>
|
|
965
|
+
<span class="cstat-no" title="statement not covered" > view.meta.filters.forEach(<span class="fstat-no" title="function not covered" >fi</span>lter => {</span>
|
|
966
|
+
<span class="cstat-no" title="statement not covered" > if (filter.key === rename.old) {</span>
|
|
967
|
+
<span class="cstat-no" title="statement not covered" > filter.key = rename.updated</span>
|
|
968
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
969
|
+
}
|
|
970
|
+
})
|
|
971
|
+
}
|
|
972
|
+
} else <span class="cstat-no" title="statement not covered" >if (deletedColumns) {</span>
|
|
973
|
+
<span class="cstat-no" title="statement not covered" > deletedColumns.forEach(<span class="fstat-no" title="function not covered" >co</span>lumn => {</span>
|
|
974
|
+
// Remove calculation statement if required
|
|
975
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.field === column) {</span>
|
|
976
|
+
<span class="cstat-no" title="statement not covered" > delete view.meta.field</span>
|
|
977
|
+
<span class="cstat-no" title="statement not covered" > delete view.meta.calculation</span>
|
|
978
|
+
<span class="cstat-no" title="statement not covered" > delete view.meta.groupBy</span>
|
|
979
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
// Remove group by field if required
|
|
983
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.groupBy === column) {</span>
|
|
984
|
+
<span class="cstat-no" title="statement not covered" > delete view.meta.groupBy</span>
|
|
985
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
986
|
+
}
|
|
987
|
+
|
|
988
|
+
// Remove filters referencing deleted field if required
|
|
989
|
+
<span class="cstat-no" title="statement not covered" > if (view.meta.filters && view.meta.filters.length) {</span>
|
|
990
|
+
const initialLength = <span class="cstat-no" title="statement not covered" >view.meta.filters.length</span>
|
|
991
|
+
<span class="cstat-no" title="statement not covered" > view.meta.filters = view.meta.filters.filter(<span class="fstat-no" title="function not covered" >fi</span>lter => {</span>
|
|
992
|
+
<span class="cstat-no" title="statement not covered" > return filter.key !== column</span>
|
|
993
|
+
})
|
|
994
|
+
<span class="cstat-no" title="statement not covered" > if (initialLength !== view.meta.filters.length) {</span>
|
|
995
|
+
<span class="cstat-no" title="statement not covered" > needsUpdated = true</span>
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
})
|
|
999
|
+
}
|
|
1000
|
+
|
|
1001
|
+
// Update view if required
|
|
1002
|
+
<span class="cstat-no" title="statement not covered" > if (needsUpdated) {</span>
|
|
1003
|
+
const newViewTemplate = <span class="cstat-no" title="statement not covered" >viewTemplate(view.meta)</span>
|
|
1004
|
+
<span class="cstat-no" title="statement not covered" > await saveView(db, null, view.name, newViewTemplate)</span>
|
|
1005
|
+
<span class="cstat-no" title="statement not covered" > if (!newViewTemplate.meta.schema) {</span>
|
|
1006
|
+
<span class="cstat-no" title="statement not covered" > newViewTemplate.meta.schema = table.schema</span>
|
|
1007
|
+
}
|
|
1008
|
+
<span class="cstat-no" title="statement not covered" > table.views[view.name] = newViewTemplate.meta</span>
|
|
1009
|
+
}
|
|
1010
|
+
}
|
|
1011
|
+
}
|
|
1012
|
+
|
|
767
1013
|
exports.TableSaveFunctions = TableSaveFunctions
|
|
768
1014
|
</pre></td></tr></table></pre>
|
|
769
1015
|
|
|
@@ -772,7 +1018,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
772
1018
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
773
1019
|
Code coverage generated by
|
|
774
1020
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
775
|
-
at
|
|
1021
|
+
at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
|
|
776
1022
|
</div>
|
|
777
1023
|
</div>
|
|
778
1024
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">80% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>12/15</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">71.43% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>5/7</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -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% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>12/15</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -84,7 +84,19 @@
|
|
|
84
84
|
<a name='L25'></a><a href='#L25'>25</a>
|
|
85
85
|
<a name='L26'></a><a href='#L26'>26</a>
|
|
86
86
|
<a name='L27'></a><a href='#L27'>27</a>
|
|
87
|
-
<a name='L28'></a><a href='#L28'>28</a
|
|
87
|
+
<a name='L28'></a><a href='#L28'>28</a>
|
|
88
|
+
<a name='L29'></a><a href='#L29'>29</a>
|
|
89
|
+
<a name='L30'></a><a href='#L30'>30</a>
|
|
90
|
+
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
|
+
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
|
+
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
+
<a name='L34'></a><a href='#L34'>34</a>
|
|
94
|
+
<a name='L35'></a><a href='#L35'>35</a>
|
|
95
|
+
<a name='L36'></a><a href='#L36'>36</a>
|
|
96
|
+
<a name='L37'></a><a href='#L37'>37</a>
|
|
97
|
+
<a name='L38'></a><a href='#L38'>38</a>
|
|
98
|
+
<a name='L39'></a><a href='#L39'>39</a>
|
|
99
|
+
<a name='L40'></a><a href='#L40'>40</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
88
100
|
<span class="cline-any cline-yes">23x</span>
|
|
89
101
|
<span class="cline-any cline-neutral"> </span>
|
|
90
102
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -93,11 +105,23 @@
|
|
|
93
105
|
<span class="cline-any cline-neutral"> </span>
|
|
94
106
|
<span class="cline-any cline-yes">23x</span>
|
|
95
107
|
<span class="cline-any cline-yes">1x</span>
|
|
108
|
+
<span class="cline-any cline-neutral"> </span>
|
|
109
|
+
<span class="cline-any cline-yes">1x</span>
|
|
110
|
+
<span class="cline-any cline-yes">1x</span>
|
|
111
|
+
<span class="cline-any cline-yes">1x</span>
|
|
96
112
|
<span class="cline-any cline-yes">1x</span>
|
|
113
|
+
<span class="cline-any cline-no"> </span>
|
|
114
|
+
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
116
|
+
<span class="cline-any cline-no"> </span>
|
|
97
117
|
<span class="cline-any cline-neutral"> </span>
|
|
98
118
|
<span class="cline-any cline-neutral"> </span>
|
|
99
119
|
<span class="cline-any cline-yes">1x</span>
|
|
100
120
|
<span class="cline-any cline-yes">1x</span>
|
|
121
|
+
<span class="cline-any cline-yes">1x</span>
|
|
122
|
+
<span class="cline-any cline-neutral"> </span>
|
|
123
|
+
<span class="cline-any cline-no"> </span>
|
|
124
|
+
<span class="cline-any cline-neutral"> </span>
|
|
101
125
|
<span class="cline-any cline-neutral"> </span>
|
|
102
126
|
<span class="cline-any cline-neutral"> </span>
|
|
103
127
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -120,11 +144,23 @@ const DEFAULT_TEMPLATES_BUCKET =
|
|
|
120
144
|
|
|
121
145
|
exports.fetch = async function (ctx) {
|
|
122
146
|
const { type = "app" } = ctx.query
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
147
|
+
let response,
|
|
148
|
+
error = false
|
|
149
|
+
try {
|
|
150
|
+
response = await fetch(`https://${DEFAULT_TEMPLATES_BUCKET}/manifest.json`)
|
|
151
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (response.status !== 200) {
|
|
152
|
+
<span class="cstat-no" title="statement not covered" > error = true</span>
|
|
153
|
+
}
|
|
154
|
+
} catch (err) {
|
|
155
|
+
<span class="cstat-no" title="statement not covered" > error = true</span>
|
|
156
|
+
}
|
|
157
|
+
// if there is an error, simply return no templates
|
|
158
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!error && response) {
|
|
159
|
+
const json = await response.json()
|
|
160
|
+
ctx.body = Object.values(json.templates[type])
|
|
161
|
+
} else {
|
|
162
|
+
<span class="cstat-no" title="statement not covered" > ctx.body = []</span>
|
|
163
|
+
}
|
|
128
164
|
}
|
|
129
165
|
|
|
130
166
|
// can't currently test this, have to ignore from coverage
|
|
@@ -145,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
145
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
182
|
Code coverage generated by
|
|
147
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
148
|
-
at
|
|
184
|
+
at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
|
|
149
185
|
</div>
|
|
150
186
|
</div>
|
|
151
187
|
<script src="../../prettify.js"></script>
|
|
@@ -165,9 +165,9 @@
|
|
|
165
165
|
<span class="cline-any cline-yes">2x</span>
|
|
166
166
|
<span class="cline-any cline-yes">2x</span>
|
|
167
167
|
<span class="cline-any cline-neutral"> </span>
|
|
168
|
-
<span class="cline-any cline-yes">
|
|
168
|
+
<span class="cline-any cline-yes">7x</span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
170
|
+
<span class="cline-any cline-yes">7x</span>
|
|
171
171
|
<span class="cline-any cline-neutral"> </span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
173
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -298,7 +298,7 @@ exports.findMetadata = async function (ctx) {
|
|
|
298
298
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
299
299
|
Code coverage generated by
|
|
300
300
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
301
|
-
at
|
|
301
|
+
at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
|
|
302
302
|
</div>
|
|
303
303
|
</div>
|
|
304
304
|
<script src="../../prettify.js"></script>
|
|
@@ -118,7 +118,7 @@ exports.json = function (headers, rows) {
|
|
|
118
118
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
119
119
|
Code coverage generated by
|
|
120
120
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
121
|
-
at
|
|
121
|
+
at Wed Oct 27 2021 14:24:39 GMT+0000 (Coordinated Universal Time)
|
|
122
122
|
</div>
|
|
123
123
|
</div>
|
|
124
124
|
<script src="../../../prettify.js"></script>
|