@budibase/server 0.9.188 → 0.9.190-alpha.10
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/Dockerfile +7 -1
- package/__mocks__/mssql.ts +1 -1
- package/__mocks__/oracledb.ts +31 -0
- package/__mocks__/pg.ts +3 -0
- package/builder/assets/bb-space-man.5be51a45.svg +290 -0
- package/builder/assets/index.2bd3b345.js +1316 -0
- package/builder/assets/index.4fb3f887.css +1 -0
- package/builder/assets/oracle.66592424.png +0 -0
- package/builder/assets/vendor.470042a4.js +152 -0
- package/builder/assets/vendor.5e1fe644.css +1 -0
- package/builder/index.html +4 -4
- package/coverage/clover.xml +1608 -1191
- package/coverage/coverage-final.json +97 -93
- package/coverage/lcov-report/api/controllers/analytics.js.html +2 -2
- package/coverage/lcov-report/api/controllers/apikeys.js.html +2 -2
- package/coverage/lcov-report/api/controllers/application.js.html +113 -80
- package/coverage/lcov-report/api/controllers/auth.js.html +19 -10
- package/coverage/lcov-report/api/controllers/automation.js.html +3 -3
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +4 -4
- package/coverage/lcov-report/api/controllers/datasource.js.html +245 -41
- package/coverage/lcov-report/api/controllers/dev.js.html +16 -7
- package/coverage/lcov-report/api/controllers/hosting.js.html +10 -10
- package/coverage/lcov-report/api/controllers/index.html +98 -98
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
- package/coverage/lcov-report/api/controllers/metadata.js.html +3 -3
- package/coverage/lcov-report/api/controllers/permission.js.html +3 -3
- package/coverage/lcov-report/api/controllers/query.js.html +79 -229
- package/coverage/lcov-report/api/controllers/role.js.html +9 -9
- package/coverage/lcov-report/api/controllers/routing.js.html +29 -29
- package/coverage/lcov-report/api/controllers/row/external.js.html +17 -8
- package/coverage/lcov-report/api/controllers/row/index.html +26 -26
- package/coverage/lcov-report/api/controllers/row/index.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/internal.js.html +9 -9
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +2 -2
- package/coverage/lcov-report/api/controllers/row/utils.js.html +21 -30
- package/coverage/lcov-report/api/controllers/screen.js.html +3 -3
- package/coverage/lcov-report/api/controllers/script.js.html +3 -3
- package/coverage/lcov-report/api/controllers/table/external.js.html +1001 -0
- package/coverage/lcov-report/api/controllers/table/index.html +56 -26
- package/coverage/lcov-report/api/controllers/table/index.js.html +80 -350
- package/coverage/lcov-report/api/controllers/table/internal.js.html +533 -0
- package/coverage/lcov-report/api/controllers/table/utils.js.html +175 -52
- package/coverage/lcov-report/api/controllers/templates.js.html +4 -4
- package/coverage/lcov-report/api/controllers/user.js.html +390 -33
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +19 -4
- package/coverage/lcov-report/api/controllers/view/index.html +22 -22
- package/coverage/lcov-report/api/controllers/view/index.js.html +52 -13
- package/coverage/lcov-report/api/controllers/view/utils.js.html +11 -11
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +3 -3
- package/coverage/lcov-report/api/controllers/webhook.js.html +4 -4
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +5 -5
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +2 -2
- package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +4 -4
- 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 +5 -2
- 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 +536 -2
- 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 +2 -2
- package/coverage/lcov-report/api/routes/table.js.html +464 -2
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +17 -2
- 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 +2 -2
- package/coverage/lcov-report/automations/automationUtils.js.html +4 -4
- package/coverage/lcov-report/automations/bullboard.js.html +71 -20
- package/coverage/lcov-report/automations/index.html +35 -50
- package/coverage/lcov-report/automations/index.js.html +2 -2
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +3 -3
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +3 -3
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +14 -14
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +3 -3
- package/coverage/lcov-report/automations/steps/queryRows.js.html +3 -3
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +7 -7
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +22 -10
- package/coverage/lcov-report/automations/utils.js.html +46 -16
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +87 -21
- 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 +2 -2
- package/coverage/lcov-report/db/inMemoryView.js.html +2 -2
- package/coverage/lcov-report/db/index.html +2 -2
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +6 -6
- package/coverage/lcov-report/db/linkedRows/index.html +10 -10
- package/coverage/lcov-report/db/linkedRows/index.js.html +5 -5
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +6 -6
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +75 -75
- package/coverage/lcov-report/events/AutomationEmitter.js.html +6 -6
- package/coverage/lcov-report/events/index.html +6 -6
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +5 -5
- package/coverage/lcov-report/index.html +106 -91
- 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 +2 -2
- package/coverage/lcov-report/middleware/authorized.js.html +19 -16
- package/coverage/lcov-report/middleware/builder.js.html +22 -13
- package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
- package/coverage/lcov-report/middleware/index.html +23 -23
- package/coverage/lcov-report/middleware/joi-validator.js.html +2 -2
- package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
- package/coverage/lcov-report/middleware/selfhost.js.html +2 -2
- package/coverage/lcov-report/middleware/usageQuota.js.html +4 -4
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/{automations/thread.js.html → threads/automation.js.html} +90 -33
- package/coverage/lcov-report/threads/index.html +141 -0
- package/coverage/lcov-report/threads/index.js.html +278 -0
- package/coverage/lcov-report/threads/query.js.html +278 -0
- 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 +144 -15
- package/coverage/lcov-report/utilities/global.js.html +38 -23
- package/coverage/lcov-report/utilities/index.html +48 -48
- package/coverage/lcov-report/utilities/index.js.html +49 -16
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +31 -10
- package/coverage/lcov-report/utilities/queue/index.html +14 -14
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +2 -2
- package/coverage/lcov-report/utilities/rowProcessor/index.html +4 -4
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +2 -2
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +3 -3
- package/coverage/lcov-report/utilities/scriptRunner.js.html +16 -7
- package/coverage/lcov-report/utilities/security.js.html +3 -3
- 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 +5 -5
- package/coverage/lcov.info +2687 -1942
- package/dist/api/controllers/application.js +16 -6
- package/dist/api/controllers/auth.js +3 -3
- package/dist/api/controllers/datasource.js +67 -16
- package/dist/api/controllers/deploy/index.js +2 -0
- package/dist/api/controllers/dev.js +4 -1
- package/dist/api/controllers/query.js +32 -62
- package/dist/api/controllers/row/ExternalRequest.js +83 -36
- package/dist/api/controllers/row/external.js +3 -1
- package/dist/api/controllers/row/utils.js +6 -12
- package/dist/api/controllers/table/external.js +249 -0
- package/dist/api/controllers/table/index.js +49 -123
- package/dist/api/controllers/table/internal.js +146 -0
- package/dist/api/controllers/table/utils.js +62 -28
- package/dist/api/controllers/user.js +123 -11
- package/dist/api/controllers/view/exporters.js +4 -0
- package/dist/api/controllers/view/index.js +14 -2
- package/dist/api/routes/query.js +1 -1
- package/dist/api/routes/row.js +178 -0
- package/dist/api/routes/table.js +150 -1
- package/dist/api/routes/user.js +2 -1
- package/dist/app.js +2 -11
- package/dist/automations/bullboard.js +37 -10
- package/dist/automations/triggers.js +7 -3
- package/dist/automations/utils.js +11 -2
- package/dist/constants/index.js +19 -0
- package/dist/definitions/datasource.js +17 -1
- package/dist/environment.js +13 -0
- package/dist/integrations/base/IntegrationBase.js +2 -0
- package/dist/integrations/base/datasourcePlus.js +2 -0
- package/dist/integrations/base/sql.js +350 -177
- package/dist/integrations/base/sqlTable.js +143 -0
- package/dist/integrations/base/utils.js +30 -0
- package/dist/integrations/index.js +6 -0
- package/dist/integrations/microsoftSqlServer.js +117 -9
- package/dist/integrations/mysql.js +16 -85
- package/dist/integrations/oracle.js +367 -0
- package/dist/integrations/postgres.js +35 -28
- package/dist/integrations/utils.js +71 -9
- package/dist/middleware/authorized.js +2 -1
- package/dist/middleware/builder.js +4 -1
- package/dist/package.json +18 -9
- package/dist/tests/utilities/TestConfiguration.js +2 -1
- package/dist/{automations/thread.js → threads/automation.js} +26 -8
- package/dist/threads/index.js +64 -0
- package/dist/threads/query.js +64 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/csvParser.js +46 -5
- package/dist/utilities/global.js +6 -2
- package/dist/utilities/index.js +11 -0
- package/dist/utilities/queue/inMemoryQueue.js +8 -0
- package/dist/utilities/scriptRunner.js +4 -1
- package/package.json +19 -10
- package/scripts/dev/manage.js +1 -0
- package/scripts/docs/README.md +31 -0
- package/scripts/docs/generate.js +74 -0
- package/scripts/docs/toSwagger.js +320 -0
- package/scripts/integrations/mssql/data/Dockerfile +9 -0
- package/scripts/integrations/mssql/data/entrypoint.sh +24 -0
- package/scripts/integrations/mssql/data/setup.sql +54 -0
- package/scripts/integrations/mssql/docker-compose.yaml +12 -0
- package/scripts/integrations/mssql/reset.sh +3 -0
- package/scripts/integrations/oracle/docker-compose.yml +19 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
- package/scripts/integrations/oracle/oracle.md +90 -0
- package/scripts/integrations/postgres/docker-compose.yml +3 -3
- package/scripts/likeCypress.ts +33 -0
- package/src/api/controllers/application.js +18 -7
- package/src/api/controllers/auth.js +3 -0
- package/src/api/controllers/datasource.js +84 -16
- package/src/api/controllers/deploy/index.js +2 -0
- package/src/api/controllers/dev.js +4 -1
- package/src/api/controllers/query.js +35 -85
- package/src/api/controllers/row/ExternalRequest.ts +99 -38
- package/src/api/controllers/row/external.js +4 -1
- package/src/api/controllers/row/utils.js +8 -11
- package/src/api/controllers/table/external.js +307 -0
- package/src/api/controllers/table/index.js +47 -137
- package/src/api/controllers/table/internal.js +151 -0
- package/src/api/controllers/table/utils.js +74 -33
- package/src/api/controllers/user.js +132 -13
- package/src/api/controllers/view/exporters.js +5 -0
- package/src/api/controllers/view/index.js +15 -2
- package/src/api/routes/query.js +1 -0
- package/src/api/routes/row.js +178 -0
- package/src/api/routes/table.js +154 -0
- package/src/api/routes/tests/application.spec.js +0 -2
- package/src/api/routes/tests/datasource.spec.js +2 -2
- package/src/api/routes/tests/misc.spec.js +5 -1
- package/src/api/routes/tests/query.spec.js +38 -9
- package/src/api/routes/tests/screen.spec.js +1 -1
- package/src/api/routes/user.js +5 -0
- package/src/app.ts +2 -10
- package/src/automations/bullboard.js +28 -11
- package/src/automations/tests/automation.spec.js +3 -4
- package/src/automations/triggers.js +7 -3
- package/src/automations/utils.js +12 -2
- package/src/constants/index.js +22 -0
- package/src/definitions/common.ts +7 -1
- package/src/definitions/datasource.ts +21 -3
- package/src/environment.js +15 -0
- package/src/integrations/airtable.ts +2 -1
- package/src/integrations/arangodb.ts +2 -1
- package/src/integrations/base/IntegrationBase.ts +6 -0
- package/src/integrations/base/datasourcePlus.ts +9 -0
- package/src/integrations/base/sql.ts +375 -218
- package/src/integrations/base/sqlTable.ts +180 -0
- package/src/integrations/base/utils.ts +22 -0
- package/src/integrations/couchdb.ts +2 -1
- package/src/integrations/dynamodb.ts +2 -1
- package/src/integrations/elasticsearch.ts +2 -1
- package/src/integrations/index.ts +7 -0
- package/src/integrations/microsoftSqlServer.ts +145 -13
- package/src/integrations/mongodb.ts +2 -1
- package/src/integrations/mysql.ts +23 -95
- package/src/integrations/oracle.ts +464 -0
- package/src/integrations/postgres.ts +45 -35
- package/src/integrations/rest.ts +2 -1
- package/src/integrations/s3.ts +2 -1
- package/src/integrations/tests/microsoftSqlServer.spec.js +22 -15
- package/src/integrations/tests/oracle.spec.js +94 -0
- package/src/integrations/tests/postgres.spec.js +4 -0
- package/src/integrations/utils.ts +78 -8
- package/src/middleware/authorized.js +2 -1
- package/src/middleware/builder.js +4 -1
- package/src/tests/utilities/TestConfiguration.js +2 -1
- package/src/{automations/thread.js → threads/automation.js} +27 -8
- package/src/threads/index.js +66 -0
- package/src/threads/query.js +66 -0
- package/src/utilities/csvParser.js +48 -5
- package/src/utilities/global.js +7 -2
- package/src/utilities/index.js +11 -0
- package/src/utilities/queue/inMemoryQueue.js +7 -0
- package/src/utilities/scriptRunner.js +4 -1
- package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -6
- package/src/utilities/tests/csvParser.spec.js +3 -0
- package/tsconfig.json +1 -1
- package/builder/assets/index.550fdba7.js +0 -201
- package/builder/assets/index.7469e1e4.css +0 -29
- package/builder/assets/vendor.278a305c.js +0 -9
- package/builder/assets/vendor.d75d5eb7.css +0 -1
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">89.
|
|
26
|
+
<span class="strong">89.79% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>44/49</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">64.28% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>9/14</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">89.
|
|
47
|
+
<span class="strong">89.79% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>44/49</span>
|
|
50
50
|
</div>
|
|
@@ -163,30 +163,30 @@
|
|
|
163
163
|
<span class="cline-any cline-neutral"> </span>
|
|
164
164
|
<span class="cline-any cline-neutral"> </span>
|
|
165
165
|
<span class="cline-any cline-yes">23x</span>
|
|
166
|
-
<span class="cline-any cline-yes">
|
|
166
|
+
<span class="cline-any cline-yes">6x</span>
|
|
167
167
|
<span class="cline-any cline-no"> </span>
|
|
168
168
|
<span class="cline-any cline-neutral"> </span>
|
|
169
169
|
<span class="cline-any cline-neutral"> </span>
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
170
|
+
<span class="cline-any cline-yes">6x</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-yes">23x</span>
|
|
174
|
-
<span class="cline-any cline-yes">9x</span>
|
|
175
|
-
<span class="cline-any cline-yes">9x</span>
|
|
176
174
|
<span class="cline-any cline-yes">6x</span>
|
|
175
|
+
<span class="cline-any cline-yes">6x</span>
|
|
176
|
+
<span class="cline-any cline-yes">3x</span>
|
|
177
177
|
<span class="cline-any cline-neutral"> </span>
|
|
178
178
|
<span class="cline-any cline-neutral"> </span>
|
|
179
179
|
<span class="cline-any cline-neutral"> </span>
|
|
180
|
-
<span class="cline-any cline-yes">9x</span>
|
|
181
180
|
<span class="cline-any cline-yes">6x</span>
|
|
181
|
+
<span class="cline-any cline-yes">3x</span>
|
|
182
182
|
<span class="cline-any cline-neutral"> </span>
|
|
183
183
|
<span class="cline-any cline-neutral"> </span>
|
|
184
184
|
<span class="cline-any cline-neutral"> </span>
|
|
185
|
-
<span class="cline-any cline-yes">
|
|
185
|
+
<span class="cline-any cline-yes">6x</span>
|
|
186
186
|
<span class="cline-any cline-neutral"> </span>
|
|
187
187
|
<span class="cline-any cline-neutral"> </span>
|
|
188
188
|
<span class="cline-any cline-yes">23x</span>
|
|
189
|
-
<span class="cline-any cline-yes">
|
|
189
|
+
<span class="cline-any cline-yes">6x</span>
|
|
190
190
|
<span class="cline-any cline-neutral"> </span>
|
|
191
191
|
<span class="cline-any cline-neutral"> </span>
|
|
192
192
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -200,9 +200,9 @@
|
|
|
200
200
|
<span class="cline-any cline-yes">3x</span>
|
|
201
201
|
<span class="cline-any cline-neutral"> </span>
|
|
202
202
|
<span class="cline-any cline-yes">3x</span>
|
|
203
|
-
<span class="cline-any cline-yes">
|
|
204
|
-
<span class="cline-any cline-yes">
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
203
|
+
<span class="cline-any cline-yes">6x</span>
|
|
204
|
+
<span class="cline-any cline-yes">6x</span>
|
|
205
|
+
<span class="cline-any cline-yes">6x</span>
|
|
206
206
|
<span class="cline-any cline-neutral"> </span>
|
|
207
207
|
<span class="cline-any cline-neutral"> </span>
|
|
208
208
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -217,26 +217,26 @@
|
|
|
217
217
|
<span class="cline-any cline-yes">2x</span>
|
|
218
218
|
<span class="cline-any cline-yes">2x</span>
|
|
219
219
|
<span class="cline-any cline-yes">2x</span>
|
|
220
|
-
<span class="cline-any cline-yes">
|
|
221
|
-
<span class="cline-any cline-yes">
|
|
222
|
-
<span class="cline-any cline-yes">
|
|
223
|
-
<span class="cline-any cline-yes">
|
|
224
|
-
<span class="cline-any cline-yes">
|
|
220
|
+
<span class="cline-any cline-yes">2x</span>
|
|
221
|
+
<span class="cline-any cline-yes">2x</span>
|
|
222
|
+
<span class="cline-any cline-yes">2x</span>
|
|
223
|
+
<span class="cline-any cline-yes">2x</span>
|
|
224
|
+
<span class="cline-any cline-yes">2x</span>
|
|
225
225
|
<span class="cline-any cline-no"> </span>
|
|
226
226
|
<span class="cline-any cline-no"> </span>
|
|
227
227
|
<span class="cline-any cline-no"> </span>
|
|
228
228
|
<span class="cline-any cline-neutral"> </span>
|
|
229
|
-
<span class="cline-any cline-yes">
|
|
230
|
-
<span class="cline-any cline-yes">
|
|
231
|
-
<span class="cline-any cline-yes">
|
|
232
|
-
<span class="cline-any cline-yes">
|
|
233
|
-
<span class="cline-any cline-yes">
|
|
234
|
-
<span class="cline-any cline-yes">
|
|
229
|
+
<span class="cline-any cline-yes">2x</span>
|
|
230
|
+
<span class="cline-any cline-yes">2x</span>
|
|
231
|
+
<span class="cline-any cline-yes">2x</span>
|
|
232
|
+
<span class="cline-any cline-yes">2x</span>
|
|
233
|
+
<span class="cline-any cline-yes">2x</span>
|
|
234
|
+
<span class="cline-any cline-yes">2x</span>
|
|
235
235
|
<span class="cline-any cline-neutral"> </span>
|
|
236
236
|
<span class="cline-any cline-neutral"> </span>
|
|
237
237
|
<span class="cline-any cline-neutral"> </span>
|
|
238
|
-
<span class="cline-any cline-yes">
|
|
239
|
-
<span class="cline-any cline-yes">
|
|
238
|
+
<span class="cline-any cline-yes">2x</span>
|
|
239
|
+
<span class="cline-any cline-yes">2x</span>
|
|
240
240
|
<span class="cline-any cline-no"> </span>
|
|
241
241
|
<span class="cline-any cline-neutral"> </span>
|
|
242
242
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -314,7 +314,7 @@ exports.clientFetch = async ctx => {
|
|
|
314
314
|
let found = false
|
|
315
315
|
const subpath = topLevel.subpaths[subpathKey]
|
|
316
316
|
const roleOptions = Object.keys(subpath.screens)
|
|
317
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (roleOptions.length === 1 &&
|
|
317
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (roleOptions.length === 1 && <span class="branch-1 cbranch-no" title="branch not covered" >!roleOptions[0])</span> {
|
|
318
318
|
<span class="cstat-no" title="statement not covered" > subpath.screenId = subpath.screens[roleOptions[0]]</span>
|
|
319
319
|
<span class="cstat-no" title="statement not covered" > subpath.roleId = BUILTIN_ROLE_IDS.BASIC</span>
|
|
320
320
|
<span class="cstat-no" title="statement not covered" > found = true</span>
|
|
@@ -343,7 +343,7 @@ exports.clientFetch = async ctx => {
|
|
|
343
343
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
344
344
|
Code coverage generated by
|
|
345
345
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
346
|
-
at
|
|
346
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
347
347
|
</div>
|
|
348
348
|
</div>
|
|
349
349
|
<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">14.
|
|
26
|
+
<span class="strong">14.85% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>15/101</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/42</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">15.15% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>15/99</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -285,7 +285,10 @@
|
|
|
285
285
|
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
286
|
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
287
|
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
|
-
<a name='L229'></a><a href='#L229'>229</a
|
|
288
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
|
+
<a name='L232'></a><a href='#L232'>232</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
289
292
|
<span class="cline-any cline-neutral"> </span>
|
|
290
293
|
<span class="cline-any cline-neutral"> </span>
|
|
291
294
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -318,6 +321,8 @@
|
|
|
318
321
|
<span class="cline-any cline-neutral"> </span>
|
|
319
322
|
<span class="cline-any cline-neutral"> </span>
|
|
320
323
|
<span class="cline-any cline-yes">34x</span>
|
|
324
|
+
<span class="cline-any cline-neutral"> </span>
|
|
325
|
+
<span class="cline-any cline-yes">34x</span>
|
|
321
326
|
<span class="cline-any cline-no"> </span>
|
|
322
327
|
<span class="cline-any cline-no"> </span>
|
|
323
328
|
<span class="cline-any cline-no"> </span>
|
|
@@ -344,6 +349,7 @@
|
|
|
344
349
|
<span class="cline-any cline-neutral"> </span>
|
|
345
350
|
<span class="cline-any cline-no"> </span>
|
|
346
351
|
<span class="cline-any cline-no"> </span>
|
|
352
|
+
<span class="cline-any cline-no"> </span>
|
|
347
353
|
<span class="cline-any cline-neutral"> </span>
|
|
348
354
|
<span class="cline-any cline-neutral"> </span>
|
|
349
355
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -545,6 +551,8 @@ async function <span class="fstat-no" title="function not covered" >handleReques
|
|
|
545
551
|
)
|
|
546
552
|
}
|
|
547
553
|
|
|
554
|
+
exports.handleRequest = handleRequest
|
|
555
|
+
|
|
548
556
|
exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
549
557
|
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
550
558
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
@@ -570,7 +578,8 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
570
578
|
exports.fetchView = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
571
579
|
// there are no views in external data sources, shouldn't ever be called
|
|
572
580
|
// for now just fetch
|
|
573
|
-
<span class="cstat-no" title="statement not covered" >
|
|
581
|
+
const split = <span class="cstat-no" title="statement not covered" >ctx.params.viewName.split("all_")</span>
|
|
582
|
+
<span class="cstat-no" title="statement not covered" > ctx.params.tableId = split[1] ? split[1] : split[0]</span>
|
|
574
583
|
<span class="cstat-no" title="statement not covered" > return exports.fetch(ctx)</span>
|
|
575
584
|
}
|
|
576
585
|
|
|
@@ -748,7 +757,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
748
757
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
749
758
|
Code coverage generated by
|
|
750
759
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
751
|
-
at
|
|
760
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
752
761
|
</div>
|
|
753
762
|
</div>
|
|
754
763
|
<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">52.
|
|
26
|
+
<span class="strong">52.6% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>313/595</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">33.
|
|
33
|
+
<span class="strong">33.46% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>83/
|
|
35
|
+
<span class='fraction'>83/248</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">52.
|
|
47
|
+
<span class="strong">52.65% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>307/583</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
76
|
<td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
|
|
77
|
-
<td data-value="14.
|
|
77
|
+
<td data-value="14.85" class="pic low">
|
|
78
78
|
<div class="chart"><div class="cover-fill" style="width: 14%"></div><div class="cover-empty" style="width: 86%"></div></div>
|
|
79
79
|
</td>
|
|
80
|
-
<td data-value="14.
|
|
81
|
-
<td data-value="
|
|
80
|
+
<td data-value="14.85" class="pct low">14.85%</td>
|
|
81
|
+
<td data-value="101" class="abs low">15/101</td>
|
|
82
82
|
<td data-value="0" class="pct low">0%</td>
|
|
83
|
-
<td data-value="
|
|
83
|
+
<td data-value="42" class="abs low">0/42</td>
|
|
84
84
|
<td data-value="0" class="pct low">0%</td>
|
|
85
85
|
<td data-value="13" class="abs low">0/13</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="15.15" class="pct low">15.15%</td>
|
|
87
|
+
<td data-value="99" class="abs low">15/99</td>
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
</td>
|
|
95
95
|
<td data-value="92.94" class="pct high">92.94%</td>
|
|
96
96
|
<td data-value="85" class="abs high">79/85</td>
|
|
97
|
-
<td data-value="94.
|
|
97
|
+
<td data-value="94.11" class="pct high">94.11%</td>
|
|
98
98
|
<td data-value="34" class="abs high">32/34</td>
|
|
99
99
|
<td data-value="100" class="pct high">100%</td>
|
|
100
100
|
<td data-value="11" class="abs high">11/11</td>
|
|
@@ -109,20 +109,20 @@
|
|
|
109
109
|
</td>
|
|
110
110
|
<td data-value="82.79" class="pct high">82.79%</td>
|
|
111
111
|
<td data-value="215" class="abs high">178/215</td>
|
|
112
|
-
<td data-value="60.
|
|
112
|
+
<td data-value="60.93" class="pct medium">60.93%</td>
|
|
113
113
|
<td data-value="64" class="abs medium">39/64</td>
|
|
114
114
|
<td data-value="92" class="pct high">92%</td>
|
|
115
115
|
<td data-value="25" class="abs high">23/25</td>
|
|
116
|
-
<td data-value="82.
|
|
116
|
+
<td data-value="82.77" class="pct high">82.77%</td>
|
|
117
117
|
<td data-value="209" class="abs high">173/209</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
121
121
|
<td class="file low" data-value="internalSearch.js"><a href="internalSearch.js.html">internalSearch.js</a></td>
|
|
122
|
-
<td data-value="4.
|
|
122
|
+
<td data-value="4.66" class="pic low">
|
|
123
123
|
<div class="chart"><div class="cover-fill" style="width: 4%"></div><div class="cover-empty" style="width: 96%"></div></div>
|
|
124
124
|
</td>
|
|
125
|
-
<td data-value="4.
|
|
125
|
+
<td data-value="4.66" class="pct low">4.66%</td>
|
|
126
126
|
<td data-value="150" class="abs low">7/150</td>
|
|
127
127
|
<td data-value="0" class="pct low">0%</td>
|
|
128
128
|
<td data-value="85" class="abs low">0/85</td>
|
|
@@ -134,17 +134,17 @@
|
|
|
134
134
|
|
|
135
135
|
<tr>
|
|
136
136
|
<td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
|
|
137
|
-
<td data-value="77.
|
|
137
|
+
<td data-value="77.27" class="pic medium">
|
|
138
138
|
<div class="chart"><div class="cover-fill" style="width: 77%"></div><div class="cover-empty" style="width: 23%"></div></div>
|
|
139
139
|
</td>
|
|
140
|
-
<td data-value="77.
|
|
141
|
-
<td data-value="
|
|
142
|
-
<td data-value="
|
|
143
|
-
<td data-value="
|
|
144
|
-
<td data-value="66.
|
|
140
|
+
<td data-value="77.27" class="pct medium">77.27%</td>
|
|
141
|
+
<td data-value="44" class="abs medium">34/44</td>
|
|
142
|
+
<td data-value="52.17" class="pct medium">52.17%</td>
|
|
143
|
+
<td data-value="23" class="abs medium">12/23</td>
|
|
144
|
+
<td data-value="66.66" class="pct medium">66.66%</td>
|
|
145
145
|
<td data-value="6" class="abs medium">4/6</td>
|
|
146
|
-
<td data-value="76.
|
|
147
|
-
<td data-value="
|
|
146
|
+
<td data-value="76.74" class="pct medium">76.74%</td>
|
|
147
|
+
<td data-value="43" class="abs medium">33/43</td>
|
|
148
148
|
</tr>
|
|
149
149
|
|
|
150
150
|
</tbody>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at
|
|
158
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="../../../prettify.js"></script>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">94.
|
|
33
|
+
<span class="strong">94.11% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
35
|
<span class='fraction'>32/34</span>
|
|
36
36
|
</div>
|
|
@@ -481,7 +481,7 @@ exports.fetchEnrichedRow = async function (ctx) {
|
|
|
481
481
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
482
482
|
Code coverage generated by
|
|
483
483
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
484
|
-
at
|
|
484
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
485
485
|
</div>
|
|
486
486
|
</div>
|
|
487
487
|
<script src="../../../prettify.js"></script>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">60.
|
|
33
|
+
<span class="strong">60.93% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
35
|
<span class='fraction'>39/64</span>
|
|
36
36
|
</div>
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">82.
|
|
47
|
+
<span class="strong">82.77% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
49
|
<span class='fraction'>173/209</span>
|
|
50
50
|
</div>
|
|
@@ -1119,7 +1119,7 @@ exports.save = async function (ctx) {
|
|
|
1119
1119
|
let inputs = ctx.request.body
|
|
1120
1120
|
inputs.tableId = ctx.params.tableId
|
|
1121
1121
|
|
|
1122
|
-
|
|
1122
|
+
if (!inputs._rev && !inputs._id) {
|
|
1123
1123
|
inputs._id = generateRowID(inputs.tableId)
|
|
1124
1124
|
}
|
|
1125
1125
|
|
|
@@ -1161,12 +1161,12 @@ exports.fetchView = async ctx => {
|
|
|
1161
1161
|
const { calculation, group, field } = ctx.query
|
|
1162
1162
|
const viewInfo = await getView(db, viewName)
|
|
1163
1163
|
let response
|
|
1164
|
-
|
|
1164
|
+
if (env.SELF_HOSTED) {
|
|
1165
1165
|
response = await db.query(`database/${viewName}`, {
|
|
1166
1166
|
include_docs: !calculation,
|
|
1167
1167
|
group: !!group,
|
|
1168
1168
|
})
|
|
1169
|
-
} else {
|
|
1169
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
1170
1170
|
const tableId = <span class="cstat-no" title="statement not covered" >viewInfo.meta.tableId</span>
|
|
1171
1171
|
const data = <span class="cstat-no" title="statement not covered" >await getRawTableData(ctx, db, tableId)</span>
|
|
1172
1172
|
<span class="cstat-no" title="statement not covered" > response = await inMemoryViews.runView(viewInfo, calculation, group, data)</span>
|
|
@@ -1319,7 +1319,7 @@ exports.search = async ctx => {
|
|
|
1319
1319
|
}
|
|
1320
1320
|
|
|
1321
1321
|
// Enrich search results with relationships
|
|
1322
|
-
|
|
1322
|
+
if (response.rows && response.rows.length) {
|
|
1323
1323
|
// enrich with global users if from users table
|
|
1324
1324
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (tableId === InternalTables.USER_METADATA) {
|
|
1325
1325
|
<span class="cstat-no" title="statement not covered" > response.rows = await getGlobalUsersFromMetadata(appId, response.rows)</span>
|
|
@@ -1367,10 +1367,10 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1367
1367
|
tables = {}
|
|
1368
1368
|
for (let row of response) {
|
|
1369
1369
|
const linkedTableId = row.tableId
|
|
1370
|
-
|
|
1370
|
+
if (groups[linkedTableId] == null) {
|
|
1371
1371
|
groups[linkedTableId] = [row]
|
|
1372
1372
|
tables[linkedTableId] = await db.get(linkedTableId)
|
|
1373
|
-
} else {
|
|
1373
|
+
} else <span class="missing-if-branch" title="else path not taken" >E</span>{
|
|
1374
1374
|
<span class="cstat-no" title="statement not covered" > groups[linkedTableId].push(row)</span>
|
|
1375
1375
|
}
|
|
1376
1376
|
}
|
|
@@ -1405,7 +1405,7 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1405
1405
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1406
1406
|
Code coverage generated by
|
|
1407
1407
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1408
|
-
at
|
|
1408
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
1409
1409
|
</div>
|
|
1410
1410
|
</div>
|
|
1411
1411
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">4.
|
|
26
|
+
<span class="strong">4.66% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
28
|
<span class='fraction'>7/150</span>
|
|
29
29
|
</div>
|
|
@@ -1228,7 +1228,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
1228
1228
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1229
1229
|
Code coverage generated by
|
|
1230
1230
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1231
|
-
at
|
|
1231
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
1232
1232
|
</div>
|
|
1233
1233
|
</div>
|
|
1234
1234
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">77.
|
|
26
|
+
<span class="strong">77.27% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>34/44</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">52.17% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>12/
|
|
35
|
+
<span class='fraction'>12/23</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">66.
|
|
40
|
+
<span class="strong">66.66% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
42
|
<span class='fraction'>4/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">76.
|
|
47
|
+
<span class="strong">76.74% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>33/43</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -142,10 +142,7 @@
|
|
|
142
142
|
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
143
|
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
144
|
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
-
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
-
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
|
-
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
-
<a name='L89'></a><a href='#L89'>89</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
145
|
+
<a name='L86'></a><a href='#L86'>86</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
149
146
|
<span class="cline-any cline-yes">34x</span>
|
|
150
147
|
<span class="cline-any cline-yes">34x</span>
|
|
151
148
|
<span class="cline-any cline-yes">34x</span>
|
|
@@ -170,13 +167,6 @@
|
|
|
170
167
|
<span class="cline-any cline-yes">1x</span>
|
|
171
168
|
<span class="cline-any cline-yes">1x</span>
|
|
172
169
|
<span class="cline-any cline-neutral"> </span>
|
|
173
|
-
<span class="cline-any cline-yes">1x</span>
|
|
174
|
-
<span class="cline-any cline-yes">1x</span>
|
|
175
|
-
<span class="cline-any cline-yes">1x</span>
|
|
176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
177
|
-
<span class="cline-any cline-no"> </span>
|
|
178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
180
170
|
<span class="cline-any cline-neutral"> </span>
|
|
181
171
|
<span class="cline-any cline-yes">34x</span>
|
|
182
172
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -216,6 +206,10 @@
|
|
|
216
206
|
<span class="cline-any cline-neutral"> </span>
|
|
217
207
|
<span class="cline-any cline-neutral"> </span>
|
|
218
208
|
<span class="cline-any cline-yes">206x</span>
|
|
209
|
+
<span class="cline-any cline-neutral"> </span>
|
|
210
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
|
+
<span class="cline-any cline-neutral"> </span>
|
|
212
|
+
<span class="cline-any cline-neutral"> </span>
|
|
219
213
|
<span class="cline-any cline-no"> </span>
|
|
220
214
|
<span class="cline-any cline-no"> </span>
|
|
221
215
|
<span class="cline-any cline-no"> </span>
|
|
@@ -239,8 +233,8 @@ const CouchDB = require("../../../db")
|
|
|
239
233
|
const { InternalTables } = require("../../../db/utils")
|
|
240
234
|
const userController = require("../user")
|
|
241
235
|
const { FieldTypes } = require("../../../constants")
|
|
242
|
-
const { integrations } = require("../../../integrations")
|
|
243
236
|
const { processStringSync } = require("@budibase/string-templates")
|
|
237
|
+
const { makeExternalQuery } = require("../../../integrations/base/utils")
|
|
244
238
|
|
|
245
239
|
validateJs.extend(validateJs.validators.datetime, {
|
|
246
240
|
parse: function (value) {
|
|
@@ -252,18 +246,11 @@ validateJs.extend(validateJs.validators.datetime, {
|
|
|
252
246
|
},
|
|
253
247
|
})
|
|
254
248
|
|
|
255
|
-
exports.
|
|
249
|
+
exports.getDatasourceAndQuery = async (appId, json) => {
|
|
256
250
|
const datasourceId = json.endpoint.datasourceId
|
|
257
251
|
const db = new CouchDB(appId)
|
|
258
252
|
const datasource = await db.get(datasourceId)
|
|
259
|
-
|
|
260
|
-
// query is the opinionated function
|
|
261
|
-
<span class="missing-if-branch" title="else path not taken" >E</span>if (Integration.prototype.query) {
|
|
262
|
-
const integration = new Integration(datasource.config)
|
|
263
|
-
return integration.query(json)
|
|
264
|
-
} else {
|
|
265
|
-
<span class="cstat-no" title="statement not covered" > throw "Datasource does not support query."</span>
|
|
266
|
-
}
|
|
253
|
+
return makeExternalQuery(datasource, json)
|
|
267
254
|
}
|
|
268
255
|
|
|
269
256
|
exports.findRow = async (ctx, db, tableId, rowId) => {
|
|
@@ -303,7 +290,11 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
303
290
|
let res
|
|
304
291
|
|
|
305
292
|
// Validate.js doesn't seem to handle array
|
|
306
|
-
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
293
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
|
294
|
+
table.schema[fieldName].type === FieldTypes.ARRAY &&
|
|
295
|
+
<span class="branch-1 cbranch-no" title="branch not covered" > row[fieldName] </span>&&
|
|
296
|
+
<span class="branch-2 cbranch-no" title="branch not covered" > row[fieldName].length</span>
|
|
297
|
+
) {
|
|
307
298
|
<span class="cstat-no" title="statement not covered" > row[fieldName].map(<span class="fstat-no" title="function not covered" >va</span>l => {</span>
|
|
308
299
|
<span class="cstat-no" title="statement not covered" > if (!constraints.inclusion.includes(val)) {</span>
|
|
309
300
|
<span class="cstat-no" title="statement not covered" > errors[fieldName] = "Field not in list"</span>
|
|
@@ -328,7 +319,7 @@ exports.validate = async ({ appId, tableId, row, table }) => {
|
|
|
328
319
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
329
320
|
Code coverage generated by
|
|
330
321
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
331
|
-
at
|
|
322
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
332
323
|
</div>
|
|
333
324
|
</div>
|
|
334
325
|
<script src="../../../prettify.js"></script>
|
|
@@ -119,7 +119,7 @@
|
|
|
119
119
|
<span class="cline-any cline-neutral"> </span>
|
|
120
120
|
<span class="cline-any cline-neutral"> </span>
|
|
121
121
|
<span class="cline-any cline-neutral"> </span>
|
|
122
|
-
<span class="cline-any cline-yes">
|
|
122
|
+
<span class="cline-any cline-yes">1x</span>
|
|
123
123
|
<span class="cline-any cline-neutral"> </span>
|
|
124
124
|
<span class="cline-any cline-yes">1x</span>
|
|
125
125
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -180,7 +180,7 @@ exports.save = async ctx => {
|
|
|
180
180
|
const db = new CouchDB(appId)
|
|
181
181
|
let screen = ctx.request.body
|
|
182
182
|
|
|
183
|
-
|
|
183
|
+
if (!screen._id) {
|
|
184
184
|
screen._id = generateScreenID()
|
|
185
185
|
}
|
|
186
186
|
const response = await db.put(screen)
|
|
@@ -208,7 +208,7 @@ exports.destroy = async ctx => {
|
|
|
208
208
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
209
209
|
Code coverage generated by
|
|
210
210
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
211
|
-
at
|
|
211
|
+
at Fri Nov 26 2021 18:59:43 GMT+0000 (Coordinated Universal Time)
|
|
212
212
|
</div>
|
|
213
213
|
</div>
|
|
214
214
|
<script src="../../prettify.js"></script>
|