@budibase/server 1.0.123 → 1.0.125
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.3d890df7.js +1299 -0
- package/builder/assets/index.89795487.css +6 -0
- package/builder/assets/{vendor.8e34a169.js → vendor.5240f480.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +695 -1678
- package/coverage/coverage-final.json +28 -43
- package/coverage/lcov-report/api/controllers/analytics.js.html +8 -3
- package/coverage/lcov-report/api/controllers/apikeys.js.html +9 -4
- package/coverage/lcov-report/api/controllers/auth.js.html +8 -3
- package/coverage/lcov-report/api/controllers/automation.js.html +8 -3
- package/coverage/lcov-report/api/controllers/backup.js.html +8 -3
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -3
- package/coverage/lcov-report/api/controllers/component.js.html +8 -3
- package/coverage/lcov-report/api/controllers/datasource.js.html +11 -6
- package/coverage/lcov-report/api/controllers/dev.js.html +8 -3
- package/coverage/lcov-report/api/controllers/index.html +16 -26
- package/coverage/lcov-report/api/controllers/integration.js.html +8 -3
- package/coverage/lcov-report/api/controllers/layout.js.html +8 -3
- package/coverage/lcov-report/api/controllers/metadata.js.html +8 -3
- package/coverage/lcov-report/api/controllers/migrations.js.html +8 -3
- package/coverage/lcov-report/api/controllers/permission.js.html +8 -3
- package/coverage/lcov-report/api/controllers/query/index.html +16 -26
- package/coverage/lcov-report/api/controllers/query/validation.js.html +8 -3
- package/coverage/lcov-report/api/controllers/role.js.html +10 -5
- package/coverage/lcov-report/api/controllers/routing.js.html +9 -4
- package/coverage/lcov-report/api/controllers/row/external.js.html +8 -3
- package/coverage/lcov-report/api/controllers/row/index.html +25 -35
- package/coverage/lcov-report/api/controllers/row/internal.js.html +32 -24
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +21 -16
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -19
- package/coverage/lcov-report/api/controllers/row/utils.js.html +33 -19
- package/coverage/lcov-report/api/controllers/screen.js.html +9 -4
- package/coverage/lcov-report/api/controllers/script.js.html +8 -3
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +55 -50
- package/coverage/lcov-report/api/controllers/table/external.js.html +8 -3
- package/coverage/lcov-report/api/controllers/table/index.html +19 -44
- package/coverage/lcov-report/api/controllers/table/index.js.html +20 -15
- package/coverage/lcov-report/api/controllers/templates.js.html +8 -3
- package/coverage/lcov-report/api/controllers/user.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/index.html +8 -3
- package/coverage/lcov-report/api/controllers/view/index.js.html +10 -5
- package/coverage/lcov-report/api/controllers/view/utils.js.html +8 -3
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -3
- package/coverage/lcov-report/api/controllers/webhook.js.html +10 -5
- package/coverage/lcov-report/api/index.html +18 -13
- package/coverage/lcov-report/api/index.js.html +28 -8
- package/coverage/lcov-report/api/routes/analytics.js.html +8 -3
- package/coverage/lcov-report/api/routes/apikeys.js.html +8 -3
- package/coverage/lcov-report/api/routes/auth.js.html +8 -3
- package/coverage/lcov-report/api/routes/automation.js.html +8 -3
- package/coverage/lcov-report/api/routes/backup.js.html +8 -3
- package/coverage/lcov-report/api/routes/cloud.js.html +8 -3
- package/coverage/lcov-report/api/routes/component.js.html +8 -3
- package/coverage/lcov-report/api/routes/datasource.js.html +8 -3
- package/coverage/lcov-report/api/routes/deploy.js.html +8 -3
- package/coverage/lcov-report/api/routes/dev.js.html +9 -4
- package/coverage/lcov-report/api/routes/index.html +13 -68
- package/coverage/lcov-report/api/routes/integration.js.html +8 -3
- package/coverage/lcov-report/api/routes/layout.js.html +8 -3
- package/coverage/lcov-report/api/routes/metadata.js.html +8 -3
- package/coverage/lcov-report/api/routes/migrations.js.html +8 -3
- package/coverage/lcov-report/api/routes/permission.js.html +8 -3
- package/coverage/lcov-report/api/routes/query.js.html +8 -3
- package/coverage/lcov-report/api/routes/role.js.html +8 -3
- package/coverage/lcov-report/api/routes/routing.js.html +8 -3
- package/coverage/lcov-report/api/routes/screen.js.html +8 -3
- package/coverage/lcov-report/api/routes/script.js.html +8 -3
- package/coverage/lcov-report/api/routes/table.js.html +8 -3
- package/coverage/lcov-report/api/routes/templates.js.html +8 -3
- package/coverage/lcov-report/api/routes/user.js.html +8 -3
- package/coverage/lcov-report/api/routes/utils/index.html +8 -3
- package/coverage/lcov-report/api/routes/utils/validators.js.html +8 -3
- package/coverage/lcov-report/api/routes/view.js.html +8 -3
- package/coverage/lcov-report/api/routes/webhook.js.html +8 -3
- package/coverage/lcov-report/automations/actions.js.html +21 -7
- package/coverage/lcov-report/automations/automationUtils.js.html +64 -23
- package/coverage/lcov-report/automations/bullboard.js.html +8 -3
- package/coverage/lcov-report/automations/index.html +27 -37
- package/coverage/lcov-report/automations/index.js.html +8 -3
- package/coverage/lcov-report/automations/steps/bash.js.html +8 -3
- package/coverage/lcov-report/automations/steps/delay.js.html +8 -3
- package/coverage/lcov-report/automations/steps/discord.js.html +8 -3
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +8 -3
- package/coverage/lcov-report/automations/steps/executeScript.js.html +8 -3
- package/coverage/lcov-report/automations/steps/filter.js.html +8 -3
- package/coverage/lcov-report/automations/steps/index.html +31 -41
- package/coverage/lcov-report/automations/steps/integromat.js.html +8 -3
- package/coverage/lcov-report/{api/routes/static.js.html → automations/steps/loop.js.html} +70 -80
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +9 -4
- package/coverage/lcov-report/automations/steps/queryRows.js.html +9 -4
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +8 -3
- package/coverage/lcov-report/automations/steps/serverLog.js.html +8 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +8 -3
- package/coverage/lcov-report/automations/steps/updateRow.js.html +8 -3
- package/coverage/lcov-report/automations/steps/utils.js.html +14 -9
- package/coverage/lcov-report/automations/steps/zapier.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/index.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +8 -3
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +8 -3
- package/coverage/lcov-report/automations/triggers.js.html +16 -11
- package/coverage/lcov-report/block-navigation.js +8 -0
- package/coverage/lcov-report/constants/index.html +12 -7
- package/coverage/lcov-report/constants/index.js.html +55 -32
- package/coverage/lcov-report/constants/layouts.js.html +8 -3
- package/coverage/lcov-report/constants/screens.js.html +8 -3
- package/coverage/lcov-report/db/inMemoryView.js.html +8 -3
- package/coverage/lcov-report/db/index.html +8 -3
- package/coverage/lcov-report/db/index.js.html +9 -4
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +20 -15
- package/coverage/lcov-report/db/linkedRows/index.html +8 -3
- package/coverage/lcov-report/db/linkedRows/index.js.html +22 -17
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +12 -7
- package/coverage/lcov-report/db/newid.js.html +11 -6
- package/coverage/lcov-report/db/utils.js.html +84 -79
- package/coverage/lcov-report/events/AutomationEmitter.js.html +14 -9
- package/coverage/lcov-report/events/index.html +8 -3
- package/coverage/lcov-report/events/index.js.html +9 -4
- package/coverage/lcov-report/events/utils.js.html +18 -13
- package/coverage/lcov-report/index.html +125 -120
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +8 -3
- package/coverage/lcov-report/integrations/tests/index.html +8 -3
- package/coverage/lcov-report/middleware/appInfo.js.html +8 -3
- package/coverage/lcov-report/middleware/builder.js.html +8 -3
- package/coverage/lcov-report/middleware/currentapp.js.html +65 -15
- package/coverage/lcov-report/middleware/index.html +25 -50
- package/coverage/lcov-report/middleware/joi-validator.js.html +9 -4
- package/coverage/lcov-report/middleware/publicApi.js.html +8 -3
- package/coverage/lcov-report/middleware/resourceId.js.html +8 -3
- package/coverage/lcov-report/middleware/selfhost.js.html +9 -4
- package/coverage/lcov-report/middleware/utils.js.html +8 -3
- package/coverage/lcov-report/sorter.js +26 -0
- package/coverage/lcov-report/threads/automation.js.html +581 -90
- package/coverage/lcov-report/threads/index.html +30 -40
- package/coverage/lcov-report/threads/query.js.html +9 -4
- package/coverage/lcov-report/threads/utils.js.html +17 -9
- package/coverage/lcov-report/utilities/bcrypt.js.html +8 -3
- package/coverage/lcov-report/utilities/budibaseDir.js.html +8 -3
- package/coverage/lcov-report/utilities/centralPath.js.html +8 -3
- package/coverage/lcov-report/utilities/csvParser.js.html +10 -5
- package/coverage/lcov-report/utilities/global.js.html +9 -4
- package/coverage/lcov-report/utilities/index.html +8 -3
- package/coverage/lcov-report/utilities/index.js.html +11 -6
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +32 -9
- package/coverage/lcov-report/utilities/queue/index.html +12 -7
- package/coverage/lcov-report/utilities/routing/index.html +8 -3
- package/coverage/lcov-report/utilities/routing/index.js.html +8 -3
- package/coverage/lcov-report/utilities/rowProcessor/index.html +8 -3
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +48 -43
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +18 -13
- package/coverage/lcov-report/utilities/scriptRunner.js.html +8 -3
- package/coverage/lcov-report/utilities/security.js.html +9 -4
- package/coverage/lcov-report/utilities/statusCodes.js.html +8 -3
- package/coverage/lcov-report/utilities/usageQuota/index.html +24 -34
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +44 -39
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +8 -3
- package/coverage/lcov-report/utilities/users.js.html +8 -3
- package/coverage/lcov-report/utilities/workerRequests.js.html +9 -4
- package/coverage/lcov.info +1144 -2875
- package/dist/api/controllers/application.js +145 -73
- package/dist/api/controllers/deploy/index.js +68 -36
- package/dist/api/controllers/public/applications.js +29 -9
- package/dist/api/controllers/public/queries.js +27 -7
- package/dist/api/controllers/public/rows.js +32 -12
- package/dist/api/controllers/public/tables.js +2 -2
- package/dist/api/controllers/public/users.js +8 -8
- package/dist/api/controllers/public/utils.js +1 -1
- package/dist/api/controllers/query/import/index.js +3 -3
- package/dist/api/controllers/query/index.js +57 -44
- package/dist/api/controllers/row/ExternalRequest.js +27 -27
- package/dist/api/controllers/row/index.js +83 -60
- package/dist/api/controllers/row/internal.js +2 -1
- package/dist/api/controllers/row/utils.js +2 -1
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +3 -0
- package/dist/api/controllers/table/bulkFormula.js +2 -1
- package/dist/api/controllers/table/internal.js +41 -35
- package/dist/api/controllers/table/utils.js +271 -229
- package/dist/api/index.js +5 -0
- package/dist/api/routes/application.js +39 -13
- package/dist/api/routes/index.js +61 -56
- package/dist/api/routes/public/index.js +6 -9
- package/dist/api/routes/public/queries.js +1 -1
- package/dist/api/routes/public/rows.js +1 -1
- package/dist/api/routes/public/tables.js +3 -3
- package/dist/api/routes/public/users.js +1 -1
- package/dist/api/routes/row.js +43 -17
- package/dist/api/routes/static.js +40 -13
- package/dist/api/routes/tests/utilities/TestFunctions.js +75 -33
- package/dist/app.js +8 -4
- package/dist/automations/actions.js +3 -0
- package/dist/automations/automationUtils.js +10 -0
- package/dist/automations/steps/createRow.js +12 -12
- package/dist/automations/steps/deleteRow.js +13 -16
- package/dist/automations/steps/loop.js +51 -0
- package/dist/automations/tests/utilities/index.js +13 -11
- package/dist/automations/utils.js +187 -133
- package/dist/constants/index.js +5 -0
- package/dist/definitions/datasource.js +1 -0
- package/dist/environment.js +2 -3
- package/dist/index.js +4 -0
- package/dist/integrations/base/sql.js +2 -2
- package/dist/integrations/base/sqlTable.js +2 -2
- package/dist/integrations/googlesheets.js +1 -1
- package/dist/integrations/index.js +4 -0
- package/dist/integrations/microsoftSqlServer.js +8 -8
- package/dist/integrations/mysql.js +9 -9
- package/dist/integrations/oracle.js +7 -7
- package/dist/integrations/postgres.js +7 -7
- package/dist/integrations/queries/sql.js +2 -2
- package/dist/integrations/redis.js +158 -0
- package/dist/integrations/rest.js +1 -1
- package/dist/middleware/authorized.js +51 -51
- package/dist/middleware/currentapp.js +15 -1
- package/dist/migrations/functions/appUrls.js +1 -1
- package/dist/migrations/functions/developerQuota.js +49 -0
- package/dist/migrations/functions/publishedAppsQuota.js +47 -0
- package/dist/migrations/functions/quotas1.js +6 -2
- package/dist/migrations/functions/usageQuotas/index.js +0 -4
- package/dist/migrations/functions/usageQuotas/syncApps.js +4 -7
- package/dist/migrations/functions/usageQuotas/syncDevelopers.js +24 -0
- package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +26 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +5 -8
- package/dist/migrations/index.js +17 -1
- package/dist/package.json +14 -8
- package/dist/threads/automation.js +149 -27
- package/dist/threads/index.js +36 -10
- package/dist/threads/utils.js +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/utilities/queue/inMemoryQueue.js +6 -1
- package/nodemon.json +1 -1
- package/package.json +15 -9
- package/scripts/dev/manage.js +2 -0
- package/src/api/controllers/{application.js → application.ts} +118 -51
- package/src/api/controllers/deploy/{index.js → index.ts} +53 -29
- package/src/api/controllers/public/applications.ts +2 -2
- package/src/api/controllers/public/queries.ts +1 -1
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/query/{index.js → index.ts} +51 -48
- package/src/api/controllers/row/ExternalRequest.ts +1 -1
- package/src/api/controllers/row/{index.js → index.ts} +24 -17
- package/src/api/controllers/row/internal.js +2 -1
- package/src/api/controllers/row/utils.js +4 -1
- package/src/api/controllers/static/templates/BudibaseApp.svelte +3 -0
- package/src/api/controllers/table/bulkFormula.js +1 -1
- package/src/api/controllers/table/{internal.js → internal.ts} +30 -26
- package/src/api/controllers/table/{utils.js → utils.ts} +86 -69
- package/src/api/index.js +5 -0
- package/src/api/routes/{application.js → application.ts} +8 -14
- package/src/api/routes/index.ts +60 -0
- package/src/api/routes/public/index.ts +1 -4
- package/src/api/routes/{row.js → row.ts} +7 -15
- package/src/api/routes/{static.js → static.ts} +11 -11
- package/src/api/routes/tests/misc.spec.js +39 -37
- package/src/api/routes/tests/utilities/{TestFunctions.js → TestFunctions.ts} +57 -33
- package/src/app.ts +1 -2
- package/src/automations/actions.js +3 -0
- package/src/automations/automationUtils.js +12 -0
- package/src/automations/steps/{createRow.js → createRow.ts} +9 -15
- package/src/automations/steps/{deleteRow.js → deleteRow.ts} +10 -16
- package/src/automations/steps/loop.js +50 -0
- package/src/automations/tests/automation.spec.js +0 -1
- package/src/automations/tests/{createRow.spec.js → createRow.spec.ts} +4 -15
- package/src/automations/tests/{deleteRow.spec.js → deleteRow.spec.ts} +3 -5
- package/src/automations/tests/utilities/index.js +12 -10
- package/src/automations/{utils.js → utils.ts} +39 -28
- package/src/constants/index.js +6 -0
- package/src/definitions/common.ts +1 -0
- package/src/definitions/datasource.ts +1 -0
- package/src/environment.js +2 -3
- package/src/index.ts +3 -0
- package/src/integrations/index.ts +4 -0
- package/src/integrations/redis.ts +152 -0
- package/src/integrations/tests/redis.spec.js +60 -0
- package/src/middleware/{authorized.js → authorized.ts} +20 -14
- package/src/middleware/currentapp.js +16 -1
- package/src/middleware/tests/currentapp.spec.js +8 -4
- package/src/migrations/functions/developerQuota.ts +15 -0
- package/src/migrations/functions/publishedAppsQuota.ts +13 -0
- package/src/migrations/functions/tests/quotas1.spec.js +0 -2
- package/src/migrations/functions/usageQuotas/index.ts +0 -5
- package/src/migrations/functions/usageQuotas/syncApps.ts +3 -6
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +3 -6
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +34 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +40 -0
- package/src/migrations/index.ts +13 -1
- package/src/threads/automation.js +196 -34
- package/src/threads/{index.js → index.ts} +18 -14
- package/src/threads/utils.js +1 -0
- package/src/utilities/queue/inMemoryQueue.js +7 -1
- package/tsconfig.build.json +10 -0
- package/tsconfig.json +2 -2
- package/builder/assets/index.68a7f4e3.css +0 -6
- package/builder/assets/index.8d4a5b33.js +0 -1291
- package/coverage/lcov-report/api/controllers/application.js.html +0 -1436
- package/coverage/lcov-report/api/controllers/query/index.js.html +0 -713
- package/coverage/lcov-report/api/controllers/row/index.js.html +0 -524
- package/coverage/lcov-report/api/controllers/table/internal.js.html +0 -620
- package/coverage/lcov-report/api/controllers/table/utils.js.html +0 -1331
- package/coverage/lcov-report/api/routes/application.js.html +0 -179
- package/coverage/lcov-report/api/routes/index.js.html +0 -266
- package/coverage/lcov-report/api/routes/row.js.html +0 -908
- package/coverage/lcov-report/automations/steps/createRow.js.html +0 -380
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +0 -347
- package/coverage/lcov-report/automations/utils.js.html +0 -665
- package/coverage/lcov-report/middleware/authorized.js.html +0 -458
- package/coverage/lcov-report/middleware/usageQuota.js.html +0 -572
- package/coverage/lcov-report/threads/index.js.html +0 -296
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/dist/middleware/usageQuota.js +0 -154
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utilities/usageQuota/index.js +0 -86
- package/src/api/routes/index.js +0 -62
- package/src/middleware/tests/usageQuota.spec.js +0 -120
- package/src/middleware/usageQuota.js +0 -164
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -41
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -45
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line high'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -283,13 +289,13 @@ async function updateRolesOnUserTable(db, roleId, updateOption) {
|
|
|
283
289
|
const indexOf = constraints.inclusion.indexOf(roleId)
|
|
284
290
|
if (remove && indexOf !== -1) {
|
|
285
291
|
constraints.inclusion.splice(indexOf, 1)
|
|
286
|
-
} else if (!remove && indexOf === -1) {
|
|
292
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (!remove && indexOf === -1) {
|
|
287
293
|
constraints.inclusion.push(roleId)
|
|
288
294
|
}
|
|
289
295
|
break
|
|
290
296
|
}
|
|
291
297
|
}
|
|
292
|
-
if (updated) {
|
|
298
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (updated) {
|
|
293
299
|
await db.put(table)
|
|
294
300
|
}
|
|
295
301
|
}
|
|
@@ -357,10 +363,9 @@ exports.destroy = async function (ctx) {
|
|
|
357
363
|
</div><!-- /wrapper -->
|
|
358
364
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
365
|
Code coverage generated by
|
|
360
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
366
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
367
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
362
368
|
</div>
|
|
363
|
-
</div>
|
|
364
369
|
<script src="../../prettify.js"></script>
|
|
365
370
|
<script>
|
|
366
371
|
window.onload = function () {
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line high'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -317,7 +323,7 @@ exports.clientFetch = async ctx => {
|
|
|
317
323
|
<span class="cstat-no" title="statement not covered" > found = true</span>
|
|
318
324
|
} else {
|
|
319
325
|
for (let roleId of roleIds) {
|
|
320
|
-
if (roleOptions.indexOf(roleId) !== -1) {
|
|
326
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (roleOptions.indexOf(roleId) !== -1) {
|
|
321
327
|
subpath.screenId = subpath.screens[roleId]
|
|
322
328
|
subpath.roleId = roleId
|
|
323
329
|
found = true
|
|
@@ -339,10 +345,9 @@ exports.clientFetch = async ctx => {
|
|
|
339
345
|
</div><!-- /wrapper -->
|
|
340
346
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
341
347
|
Code coverage generated by
|
|
342
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
343
|
-
at
|
|
348
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
349
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
344
350
|
</div>
|
|
345
|
-
</div>
|
|
346
351
|
<script src="../../prettify.js"></script>
|
|
347
352
|
<script>
|
|
348
353
|
window.onload = function () {
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line low'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -762,10 +768,9 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
762
768
|
</div><!-- /wrapper -->
|
|
763
769
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
764
770
|
Code coverage generated by
|
|
765
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
766
|
-
at
|
|
771
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
772
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
767
773
|
</div>
|
|
768
|
-
</div>
|
|
769
774
|
<script src="../../../prettify.js"></script>
|
|
770
775
|
<script>
|
|
771
776
|
window.onload = function () {
|
|
@@ -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">57.8% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>348/602</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">35.82% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>96/268</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.48% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>46/86</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">57.89% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>341/589</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<div class="pad1">
|
|
@@ -87,34 +93,19 @@
|
|
|
87
93
|
<td data-value="110" class="abs low">18/110</td>
|
|
88
94
|
</tr>
|
|
89
95
|
|
|
90
|
-
<tr>
|
|
91
|
-
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
|
92
|
-
<td data-value="88.88" class="pic high">
|
|
93
|
-
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
94
|
-
</td>
|
|
95
|
-
<td data-value="88.88" class="pct high">88.88%</td>
|
|
96
|
-
<td data-value="90" class="abs high">80/90</td>
|
|
97
|
-
<td data-value="94.11" class="pct high">94.11%</td>
|
|
98
|
-
<td data-value="34" class="abs high">32/34</td>
|
|
99
|
-
<td data-value="91.66" class="pct high">91.66%</td>
|
|
100
|
-
<td data-value="12" class="abs high">11/12</td>
|
|
101
|
-
<td data-value="88.88" class="pct high">88.88%</td>
|
|
102
|
-
<td data-value="90" class="abs high">80/90</td>
|
|
103
|
-
</tr>
|
|
104
|
-
|
|
105
96
|
<tr>
|
|
106
97
|
<td class="file high" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
|
|
107
|
-
<td data-value="80.
|
|
98
|
+
<td data-value="80.82" class="pic high">
|
|
108
99
|
<div class="chart"><div class="cover-fill" style="width: 80%"></div><div class="cover-empty" style="width: 20%"></div></div>
|
|
109
100
|
</td>
|
|
110
|
-
<td data-value="80.
|
|
111
|
-
<td data-value="
|
|
112
|
-
<td data-value="62.
|
|
113
|
-
<td data-value="
|
|
101
|
+
<td data-value="80.82" class="pct high">80.82%</td>
|
|
102
|
+
<td data-value="219" class="abs high">177/219</td>
|
|
103
|
+
<td data-value="62.5" class="pct medium">62.5%</td>
|
|
104
|
+
<td data-value="64" class="abs medium">40/64</td>
|
|
114
105
|
<td data-value="84.61" class="pct high">84.61%</td>
|
|
115
106
|
<td data-value="26" class="abs high">22/26</td>
|
|
116
|
-
<td data-value="80.
|
|
117
|
-
<td data-value="
|
|
107
|
+
<td data-value="80.75" class="pct high">80.75%</td>
|
|
108
|
+
<td data-value="213" class="abs high">172/213</td>
|
|
118
109
|
</tr>
|
|
119
110
|
|
|
120
111
|
<tr>
|
|
@@ -154,8 +145,8 @@
|
|
|
154
145
|
</td>
|
|
155
146
|
<td data-value="69.23" class="pct medium">69.23%</td>
|
|
156
147
|
<td data-value="52" class="abs medium">36/52</td>
|
|
157
|
-
<td data-value="
|
|
158
|
-
<td data-value="
|
|
148
|
+
<td data-value="40.62" class="pct low">40.62%</td>
|
|
149
|
+
<td data-value="32" class="abs low">13/32</td>
|
|
159
150
|
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
160
151
|
<td data-value="6" class="abs medium">4/6</td>
|
|
161
152
|
<td data-value="68.62" class="pct medium">68.62%</td>
|
|
@@ -169,10 +160,9 @@
|
|
|
169
160
|
</div><!-- /wrapper -->
|
|
170
161
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
171
162
|
Code coverage generated by
|
|
172
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
173
|
-
at
|
|
163
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
164
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
174
165
|
</div>
|
|
175
|
-
</div>
|
|
176
166
|
<script src="../../../prettify.js"></script>
|
|
177
167
|
<script>
|
|
178
168
|
window.onload = function () {
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">80.
|
|
26
|
+
<span class="strong">80.82% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>177/219</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">62.
|
|
33
|
+
<span class="strong">62.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>40/64</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">80.
|
|
47
|
+
<span class="strong">80.75% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>172/213</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line high'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -511,7 +517,8 @@
|
|
|
511
517
|
<a name='L452'></a><a href='#L452'>452</a>
|
|
512
518
|
<a name='L453'></a><a href='#L453'>453</a>
|
|
513
519
|
<a name='L454'></a><a href='#L454'>454</a>
|
|
514
|
-
<a name='L455'></a><a href='#L455'>455</a
|
|
520
|
+
<a name='L455'></a><a href='#L455'>455</a>
|
|
521
|
+
<a name='L456'></a><a href='#L456'>456</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">41x</span>
|
|
515
522
|
<span class="cline-any cline-neutral"> </span>
|
|
516
523
|
<span class="cline-any cline-neutral"> </span>
|
|
517
524
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -658,35 +665,35 @@
|
|
|
658
665
|
<span class="cline-any cline-neutral"> </span>
|
|
659
666
|
<span class="cline-any cline-neutral"> </span>
|
|
660
667
|
<span class="cline-any cline-yes">41x</span>
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
662
|
-
<span class="cline-any cline-yes">
|
|
663
|
-
<span class="cline-any cline-yes">
|
|
668
|
+
<span class="cline-any cline-yes">70x</span>
|
|
669
|
+
<span class="cline-any cline-yes">70x</span>
|
|
670
|
+
<span class="cline-any cline-yes">70x</span>
|
|
664
671
|
<span class="cline-any cline-neutral"> </span>
|
|
665
|
-
<span class="cline-any cline-yes">
|
|
666
|
-
<span class="cline-any cline-yes">
|
|
672
|
+
<span class="cline-any cline-yes">70x</span>
|
|
673
|
+
<span class="cline-any cline-yes">70x</span>
|
|
667
674
|
<span class="cline-any cline-neutral"> </span>
|
|
668
675
|
<span class="cline-any cline-neutral"> </span>
|
|
669
676
|
<span class="cline-any cline-neutral"> </span>
|
|
670
|
-
<span class="cline-any cline-yes">
|
|
671
|
-
<span class="cline-any cline-yes">
|
|
672
|
-
<span class="cline-any cline-yes">
|
|
677
|
+
<span class="cline-any cline-yes">70x</span>
|
|
678
|
+
<span class="cline-any cline-yes">70x</span>
|
|
679
|
+
<span class="cline-any cline-yes">70x</span>
|
|
673
680
|
<span class="cline-any cline-neutral"> </span>
|
|
674
681
|
<span class="cline-any cline-neutral"> </span>
|
|
675
682
|
<span class="cline-any cline-neutral"> </span>
|
|
676
683
|
<span class="cline-any cline-neutral"> </span>
|
|
677
|
-
<span class="cline-any cline-yes">
|
|
684
|
+
<span class="cline-any cline-yes">70x</span>
|
|
678
685
|
<span class="cline-any cline-no"> </span>
|
|
679
686
|
<span class="cline-any cline-neutral"> </span>
|
|
680
687
|
<span class="cline-any cline-neutral"> </span>
|
|
681
688
|
<span class="cline-any cline-neutral"> </span>
|
|
682
|
-
<span class="cline-any cline-yes">
|
|
689
|
+
<span class="cline-any cline-yes">70x</span>
|
|
683
690
|
<span class="cline-any cline-neutral"> </span>
|
|
684
691
|
<span class="cline-any cline-neutral"> </span>
|
|
685
692
|
<span class="cline-any cline-neutral"> </span>
|
|
686
693
|
<span class="cline-any cline-neutral"> </span>
|
|
687
694
|
<span class="cline-any cline-neutral"> </span>
|
|
688
695
|
<span class="cline-any cline-neutral"> </span>
|
|
689
|
-
<span class="cline-any cline-yes">
|
|
696
|
+
<span class="cline-any cline-yes">69x</span>
|
|
690
697
|
<span class="cline-any cline-neutral"> </span>
|
|
691
698
|
<span class="cline-any cline-neutral"> </span>
|
|
692
699
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -775,6 +782,7 @@
|
|
|
775
782
|
<span class="cline-any cline-yes">4x</span>
|
|
776
783
|
<span class="cline-any cline-yes">4x</span>
|
|
777
784
|
<span class="cline-any cline-yes">4x</span>
|
|
785
|
+
<span class="cline-any cline-yes">3x</span>
|
|
778
786
|
<span class="cline-any cline-neutral"> </span>
|
|
779
787
|
<span class="cline-any cline-yes">3x</span>
|
|
780
788
|
<span class="cline-any cline-no"> </span>
|
|
@@ -1116,7 +1124,7 @@ exports.save = async function (ctx) {
|
|
|
1116
1124
|
let inputs = ctx.request.body
|
|
1117
1125
|
inputs.tableId = ctx.params.tableId
|
|
1118
1126
|
|
|
1119
|
-
if (!inputs._rev && !inputs._id) {
|
|
1127
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!inputs._rev && !inputs._id) {
|
|
1120
1128
|
inputs._id = generateRowID(inputs.tableId)
|
|
1121
1129
|
}
|
|
1122
1130
|
|
|
@@ -1227,8 +1235,9 @@ exports.find = async ctx => {
|
|
|
1227
1235
|
|
|
1228
1236
|
exports.destroy = async function (ctx) {
|
|
1229
1237
|
const db = getAppDB()
|
|
1230
|
-
const { _id
|
|
1238
|
+
const { _id } = ctx.request.body
|
|
1231
1239
|
let row = await db.get(_id)
|
|
1240
|
+
let _rev = ctx.request.body._rev || <span class="branch-1 cbranch-no" title="branch not covered" >row._rev</span>
|
|
1232
1241
|
|
|
1233
1242
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (row.tableId !== ctx.params.tableId) {
|
|
1234
1243
|
<span class="cstat-no" title="statement not covered" > throw "Supplied tableId doesn't match the row's tableId"</span>
|
|
@@ -1317,7 +1326,7 @@ exports.search = async ctx => {
|
|
|
1317
1326
|
}
|
|
1318
1327
|
|
|
1319
1328
|
// Enrich search results with relationships
|
|
1320
|
-
if (response.rows && response.rows.length) {
|
|
1329
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (response.rows && response.rows.length) {
|
|
1321
1330
|
// enrich with global users if from users table
|
|
1322
1331
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1323
1332
|
<span class="cstat-no" title="statement not covered" > response.rows = await getGlobalUsersFromMetadata(response.rows)</span>
|
|
@@ -1425,10 +1434,9 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1425
1434
|
</div><!-- /wrapper -->
|
|
1426
1435
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1427
1436
|
Code coverage generated by
|
|
1428
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1429
|
-
at
|
|
1437
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1438
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
1430
1439
|
</div>
|
|
1431
|
-
</div>
|
|
1432
1440
|
<script src="../../../prettify.js"></script>
|
|
1433
1441
|
<script>
|
|
1434
1442
|
window.onload = function () {
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line medium'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -886,7 +892,7 @@ class QueryBuilder {
|
|
|
886
892
|
}
|
|
887
893
|
|
|
888
894
|
setLimit(limit) {
|
|
889
|
-
if (limit != null) {
|
|
895
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (limit != null) {
|
|
890
896
|
this.limit = limit
|
|
891
897
|
}
|
|
892
898
|
return this
|
|
@@ -977,7 +983,7 @@ class QueryBuilder {
|
|
|
977
983
|
value = value.toLowerCase ? value.toLowerCase() : <span class="branch-1 cbranch-no" title="branch not covered" >value</span>
|
|
978
984
|
}
|
|
979
985
|
// Escape characters
|
|
980
|
-
if (escape && originalType === "string") {
|
|
986
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (escape && originalType === "string") {
|
|
981
987
|
value = `${value}`.replace(/[ #+\-&|!(){}\]^"~*?:\\]/g, "\\$&")
|
|
982
988
|
}
|
|
983
989
|
// Wrap in quotes
|
|
@@ -1006,7 +1012,7 @@ class QueryBuilder {
|
|
|
1006
1012
|
}
|
|
1007
1013
|
|
|
1008
1014
|
// Construct the actual lucene search query string from JSON structure
|
|
1009
|
-
if (this.query.string) {
|
|
1015
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.string) {
|
|
1010
1016
|
build(this.query.string, <span class="fstat-no" title="function not covered" >(k</span>ey, value) => {
|
|
1011
1017
|
<span class="cstat-no" title="statement not covered" > if (!value) {</span>
|
|
1012
1018
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
@@ -1018,7 +1024,7 @@ class QueryBuilder {
|
|
|
1018
1024
|
<span class="cstat-no" title="statement not covered" > return `${key}:${value}*`</span>
|
|
1019
1025
|
})
|
|
1020
1026
|
}
|
|
1021
|
-
if (this.query.range) {
|
|
1027
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.range) {
|
|
1022
1028
|
build(this.query.range, <span class="fstat-no" title="function not covered" >(k</span>ey, value) => {
|
|
1023
1029
|
<span class="cstat-no" title="statement not covered" > if (!value) {</span>
|
|
1024
1030
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
@@ -1034,7 +1040,7 @@ class QueryBuilder {
|
|
|
1034
1040
|
<span class="cstat-no" title="statement not covered" > return `${key}:[${low} TO ${high}]`</span>
|
|
1035
1041
|
})
|
|
1036
1042
|
}
|
|
1037
|
-
if (this.query.fuzzy) {
|
|
1043
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.fuzzy) {
|
|
1038
1044
|
build(this.query.fuzzy, <span class="fstat-no" title="function not covered" >(k</span>ey, value) => {
|
|
1039
1045
|
<span class="cstat-no" title="statement not covered" > if (!value) {</span>
|
|
1040
1046
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
@@ -1046,7 +1052,7 @@ class QueryBuilder {
|
|
|
1046
1052
|
<span class="cstat-no" title="statement not covered" > return `${key}:${value}~`</span>
|
|
1047
1053
|
})
|
|
1048
1054
|
}
|
|
1049
|
-
if (this.query.equal) {
|
|
1055
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.equal) {
|
|
1050
1056
|
build(this.query.equal, (key, value) => {
|
|
1051
1057
|
// 0 evaluates to false, which means we would return all rows if we don't check it
|
|
1052
1058
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!value && <span class="branch-1 cbranch-no" title="branch not covered" >value !== 0)</span> {
|
|
@@ -1055,7 +1061,7 @@ class QueryBuilder {
|
|
|
1055
1061
|
return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`
|
|
1056
1062
|
})
|
|
1057
1063
|
}
|
|
1058
|
-
if (this.query.notEqual) {
|
|
1064
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.notEqual) {
|
|
1059
1065
|
build(this.query.notEqual, <span class="fstat-no" title="function not covered" >(k</span>ey, value) => {
|
|
1060
1066
|
<span class="cstat-no" title="statement not covered" > if (!value) {</span>
|
|
1061
1067
|
<span class="cstat-no" title="statement not covered" > return null</span>
|
|
@@ -1063,10 +1069,10 @@ class QueryBuilder {
|
|
|
1063
1069
|
<span class="cstat-no" title="statement not covered" > return `!${key}:${builder.preprocess(value, allPreProcessingOpts)}`</span>
|
|
1064
1070
|
})
|
|
1065
1071
|
}
|
|
1066
|
-
if (this.query.empty) {
|
|
1072
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.empty) {
|
|
1067
1073
|
build(this.query.empty, <span class="fstat-no" title="function not covered" >ke</span>y => <span class="cstat-no" title="statement not covered" >`!${key}:["" TO *]`)</span>
|
|
1068
1074
|
}
|
|
1069
|
-
if (this.query.notEmpty) {
|
|
1075
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (this.query.notEmpty) {
|
|
1070
1076
|
build(this.query.notEmpty, <span class="fstat-no" title="function not covered" >ke</span>y => <span class="cstat-no" title="statement not covered" >`${key}:["" TO *]`)</span>
|
|
1071
1077
|
}
|
|
1072
1078
|
return query
|
|
@@ -1115,10 +1121,10 @@ const runQuery = async (url, body) => {
|
|
|
1115
1121
|
let output = {
|
|
1116
1122
|
rows: [],
|
|
1117
1123
|
}
|
|
1118
|
-
if (json.rows != null && json.rows.length > 0) {
|
|
1124
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (json.rows != null && json.rows.length > 0) {
|
|
1119
1125
|
output.rows = json.rows.map(row => row.doc)
|
|
1120
1126
|
}
|
|
1121
|
-
if (json.bookmark) {
|
|
1127
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (json.bookmark) {
|
|
1122
1128
|
output.bookmark = json.bookmark
|
|
1123
1129
|
}
|
|
1124
1130
|
return output
|
|
@@ -1162,7 +1168,7 @@ const recursiveSearch = async (query, params) => {
|
|
|
1162
1168
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!page.rows.length) {
|
|
1163
1169
|
<span class="cstat-no" title="statement not covered" > return rows</span>
|
|
1164
1170
|
}
|
|
1165
|
-
if (page.rows.length < 200) {
|
|
1171
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (page.rows.length < 200) {
|
|
1166
1172
|
return [...rows, ...page.rows]
|
|
1167
1173
|
}
|
|
1168
1174
|
const newParams = <span class="cstat-no" title="statement not covered" >{</span>
|
|
@@ -1235,7 +1241,7 @@ exports.paginatedSearch = <span class="fstat-no" title="function not covered" >a
|
|
|
1235
1241
|
*/
|
|
1236
1242
|
exports.fullSearch = async (query, params) => {
|
|
1237
1243
|
let limit = params.limit
|
|
1238
|
-
if (limit == null || <span class="branch-1 cbranch-no" title="branch not covered" >isNaN(limit) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >limit < 0)</span> {
|
|
1244
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (limit == null || <span class="branch-1 cbranch-no" title="branch not covered" >isNaN(limit) </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >limit < 0)</span> {
|
|
1239
1245
|
limit = 1000
|
|
1240
1246
|
}
|
|
1241
1247
|
params.limit = Math.min(limit, 1000)
|
|
@@ -1248,10 +1254,9 @@ exports.fullSearch = async (query, params) => {
|
|
|
1248
1254
|
</div><!-- /wrapper -->
|
|
1249
1255
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1250
1256
|
Code coverage generated by
|
|
1251
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1252
|
-
at
|
|
1257
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1258
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
1253
1259
|
</div>
|
|
1254
|
-
</div>
|
|
1255
1260
|
<script src="../../../prettify.js"></script>
|
|
1256
1261
|
<script>
|
|
1257
1262
|
window.onload = function () {
|
|
@@ -54,6 +54,12 @@
|
|
|
54
54
|
<p class="quiet">
|
|
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
|
+
<template id="filterTemplate">
|
|
58
|
+
<div class="quiet">
|
|
59
|
+
Filter:
|
|
60
|
+
<input oninput="onInput()" type="search" id="fileSearch">
|
|
61
|
+
</div>
|
|
62
|
+
</template>
|
|
57
63
|
</div>
|
|
58
64
|
<div class='status-line low'></div>
|
|
59
65
|
<pre><table class="coverage">
|
|
@@ -231,10 +237,10 @@
|
|
|
231
237
|
<span class="cline-any cline-neutral"> </span>
|
|
232
238
|
<span class="cline-any cline-neutral"> </span>
|
|
233
239
|
<span class="cline-any cline-yes">41x</span>
|
|
234
|
-
<span class="cline-any cline-yes">
|
|
240
|
+
<span class="cline-any cline-yes">79x</span>
|
|
235
241
|
<span class="cline-any cline-neutral"> </span>
|
|
236
|
-
<span class="cline-any cline-yes">
|
|
237
|
-
<span class="cline-any cline-yes">
|
|
242
|
+
<span class="cline-any cline-yes">79x</span>
|
|
243
|
+
<span class="cline-any cline-yes">79x</span>
|
|
238
244
|
<span class="cline-any cline-neutral"> </span>
|
|
239
245
|
<span class="cline-any cline-no"> </span>
|
|
240
246
|
<span class="cline-any cline-no"> </span>
|
|
@@ -328,14 +334,14 @@
|
|
|
328
334
|
<span class="cline-any cline-neutral"> </span>
|
|
329
335
|
<span class="cline-any cline-neutral"> </span>
|
|
330
336
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-yes">
|
|
332
|
-
<span class="cline-any cline-yes">
|
|
337
|
+
<span class="cline-any cline-yes">74x</span>
|
|
338
|
+
<span class="cline-any cline-yes">74x</span>
|
|
333
339
|
<span class="cline-any cline-neutral"> </span>
|
|
334
|
-
<span class="cline-any cline-yes">
|
|
340
|
+
<span class="cline-any cline-yes">74x</span>
|
|
335
341
|
<span class="cline-any cline-neutral"> </span>
|
|
336
342
|
<span class="cline-any cline-neutral"> </span>
|
|
337
343
|
<span class="cline-any cline-neutral"> </span>
|
|
338
|
-
<span class="cline-any cline-yes">
|
|
344
|
+
<span class="cline-any cline-yes">74x</span>
|
|
339
345
|
<span class="cline-any cline-neutral"> </span>
|
|
340
346
|
<span class="cline-any cline-neutral"> </span>
|
|
341
347
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -343,7 +349,7 @@
|
|
|
343
349
|
<span class="cline-any cline-neutral"> </span>
|
|
344
350
|
<span class="cline-any cline-neutral"> </span>
|
|
345
351
|
<span class="cline-any cline-neutral"> </span>
|
|
346
|
-
<span class="cline-any cline-yes">
|
|
352
|
+
<span class="cline-any cline-yes">74x</span>
|
|
347
353
|
<span class="cline-any cline-no"> </span>
|
|
348
354
|
<span class="cline-any cline-no"> </span>
|
|
349
355
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -359,15 +365,15 @@
|
|
|
359
365
|
<span class="cline-any cline-neutral"> </span>
|
|
360
366
|
<span class="cline-any cline-neutral"> </span>
|
|
361
367
|
<span class="cline-any cline-neutral"> </span>
|
|
362
|
-
<span class="cline-any cline-yes">
|
|
368
|
+
<span class="cline-any cline-yes">74x</span>
|
|
363
369
|
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-yes">
|
|
365
|
-
<span class="cline-any cline-yes">
|
|
370
|
+
<span class="cline-any cline-yes">74x</span>
|
|
371
|
+
<span class="cline-any cline-yes">74x</span>
|
|
366
372
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">
|
|
368
|
-
<span class="cline-any cline-yes">
|
|
373
|
+
<span class="cline-any cline-yes">74x</span>
|
|
374
|
+
<span class="cline-any cline-yes">74x</span>
|
|
369
375
|
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-yes">
|
|
376
|
+
<span class="cline-any cline-yes">74x</span>
|
|
371
377
|
<span class="cline-any cline-neutral"> </span>
|
|
372
378
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const { getRowParams } = require("../../../db/utils")
|
|
373
379
|
const {
|
|
@@ -389,7 +395,7 @@ const { getAppDB } = require("@budibase/backend-core/context")
|
|
|
389
395
|
exports.updateRelatedFormula = async (table, enrichedRows) => {
|
|
390
396
|
const db = getAppDB()
|
|
391
397
|
// no formula to update, we're done
|
|
392
|
-
if (!table.relatedFormula) {
|
|
398
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (!table.relatedFormula) {
|
|
393
399
|
return
|
|
394
400
|
}
|
|
395
401
|
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
@@ -520,7 +526,7 @@ exports.finaliseRow = async (
|
|
|
520
526
|
enrichedRow._rev = response.rev
|
|
521
527
|
enrichedRow = await processFormulas(table, enrichedRow, { dynamic: false })
|
|
522
528
|
// this updates the related formulas in other rows based on the relations to this row
|
|
523
|
-
if (updateFormula) {
|
|
529
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (updateFormula) {
|
|
524
530
|
await exports.updateRelatedFormula(table, enrichedRow)
|
|
525
531
|
}
|
|
526
532
|
return { row: enrichedRow, table }
|
|
@@ -531,10 +537,9 @@ exports.finaliseRow = async (
|
|
|
531
537
|
</div><!-- /wrapper -->
|
|
532
538
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
539
|
Code coverage generated by
|
|
534
|
-
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
535
|
-
at
|
|
540
|
+
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
541
|
+
at Wed Apr 27 2022 09:28:42 GMT+0000 (Coordinated Universal Time)
|
|
536
542
|
</div>
|
|
537
|
-
</div>
|
|
538
543
|
<script src="../../../prettify.js"></script>
|
|
539
544
|
<script>
|
|
540
545
|
window.onload = function () {
|