@budibase/server 1.0.49 → 1.0.50-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +4 -5
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +2 -1
- package/__mocks__/pg.ts +3 -5
- package/builder/assets/index.c0cc369d.css +6 -0
- package/builder/assets/{index.2c37968e.js → index.ff2bad21.js} +252 -249
- package/builder/assets/{vendor.f9faf6ab.js → vendor.5ad9695a.js} +202 -106
- package/builder/index.html +3 -3
- package/coverage/clover.xml +3105 -2814
- package/coverage/coverage-final.json +106 -101
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +257 -152
- package/coverage/lcov-report/api/controllers/auth.js.html +22 -13
- package/coverage/lcov-report/api/controllers/automation.js.html +39 -69
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +8 -11
- package/coverage/lcov-report/api/controllers/component.js.html +13 -16
- package/coverage/lcov-report/api/controllers/datasource.js.html +81 -51
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/api/controllers/index.html +78 -78
- 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 +6 -21
- package/coverage/lcov-report/api/controllers/migrations.js.html +119 -0
- package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +38 -35
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +16 -16
- package/coverage/lcov-report/api/controllers/routing.js.html +7 -10
- package/coverage/lcov-report/api/controllers/row/external.js.html +48 -141
- package/coverage/lcov-report/api/controllers/row/index.html +55 -40
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +118 -226
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +52 -34
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +548 -0
- package/coverage/lcov-report/api/controllers/row/utils.js.html +47 -62
- package/coverage/lcov-report/api/controllers/screen.js.html +15 -21
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +599 -0
- package/coverage/lcov-report/api/controllers/table/external.js.html +25 -34
- package/coverage/lcov-report/api/controllers/table/index.html +58 -43
- package/coverage/lcov-report/api/controllers/table/index.js.html +58 -82
- package/coverage/lcov-report/api/controllers/table/internal.js.html +81 -66
- package/coverage/lcov-report/api/controllers/table/utils.js.html +218 -110
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +79 -76
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +27 -33
- package/coverage/lcov-report/api/controllers/view/utils.js.html +35 -20
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +34 -28
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +8 -8
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +18 -18
- package/coverage/lcov-report/api/routes/index.js.html +3 -3
- 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/{hosting.js.html → migrations.js.html} +17 -14
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +17 -2
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +24 -24
- package/coverage/lcov-report/automations/automationUtils.js.html +7 -10
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
- package/coverage/lcov-report/automations/steps/createRow.js.html +13 -22
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +11 -20
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +13 -13
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- 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 +61 -55
- package/coverage/lcov-report/automations/utils.js.html +54 -42
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +53 -26
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
- package/coverage/lcov-report/db/index.html +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +25 -37
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +51 -96
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +87 -87
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +5 -5
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +135 -120
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +173 -65
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +95 -83
- package/coverage/lcov-report/middleware/index.html +38 -38
- package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +281 -53
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +30 -24
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +39 -24
- package/coverage/lcov-report/threads/utils.js.html +14 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +58 -49
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +43 -73
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +97 -103
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +75 -27
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +141 -0
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +359 -0
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +305 -0
- package/coverage/lcov-report/{api/controllers/hosting.js.html → utilities/usageQuota/usageQuoteReset.js.html} +36 -48
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +43 -112
- package/coverage/lcov.info +5010 -4425
- package/dist/api/controllers/application.js +90 -60
- package/dist/api/controllers/auth.js +8 -5
- package/dist/api/controllers/automation.js +14 -19
- package/dist/api/controllers/cloud.js +2 -3
- package/dist/api/controllers/component.js +3 -4
- package/dist/api/controllers/datasource.js +20 -10
- package/dist/api/controllers/deploy/Deployment.js +3 -6
- package/dist/api/controllers/deploy/index.js +12 -13
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/migrations.js +21 -0
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +4 -6
- package/dist/api/controllers/query/index.js +11 -10
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +5 -6
- package/dist/api/controllers/row/ExternalRequest.js +90 -67
- package/dist/api/controllers/row/external.js +14 -22
- package/dist/api/controllers/row/internal.js +55 -93
- package/dist/api/controllers/row/internalSearch.js +23 -17
- package/dist/api/controllers/row/staticFormula.js +147 -0
- package/dist/api/controllers/row/utils.js +13 -14
- package/dist/api/controllers/screen.js +5 -7
- package/dist/api/controllers/static/index.js +62 -16
- package/dist/api/controllers/table/bulkFormula.js +159 -0
- package/dist/api/controllers/table/external.js +7 -10
- package/dist/api/controllers/table/index.js +16 -13
- package/dist/api/controllers/table/internal.js +22 -16
- package/dist/api/controllers/table/utils.js +62 -35
- package/dist/api/controllers/user.js +43 -43
- package/dist/api/controllers/view/index.js +8 -10
- package/dist/api/controllers/view/utils.js +9 -4
- package/dist/api/controllers/webhook.js +10 -8
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/migrations.js +9 -0
- package/dist/api/routes/static.js +2 -1
- package/dist/api/routes/tests/utilities/TestFunctions.js +37 -17
- package/dist/app.js +35 -5
- package/dist/automations/automationUtils.js +2 -3
- package/dist/automations/steps/createRow.js +3 -5
- package/dist/automations/steps/deleteRow.js +1 -4
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +27 -25
- package/dist/automations/utils.js +10 -5
- package/dist/constants/index.js +7 -0
- package/dist/db/linkedRows/LinkController.js +3 -7
- package/dist/db/linkedRows/index.js +16 -27
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +9 -10
- package/dist/definitions/datasource.js +1 -0
- package/dist/environment.js +4 -1
- package/dist/integrations/base/sql.js +62 -21
- package/dist/integrations/googlesheets.js +340 -0
- package/dist/integrations/index.js +3 -0
- package/dist/integrations/utils.js +60 -9
- package/dist/middleware/authorized.js +57 -30
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +41 -37
- package/dist/middleware/usageQuota.js +82 -15
- package/dist/migrations/functions/appUrls.js +46 -0
- package/dist/migrations/functions/quotas1.js +50 -0
- package/dist/migrations/functions/usageQuotas/index.js +20 -0
- package/dist/migrations/functions/usageQuotas/syncApps.js +29 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +33 -0
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +62 -0
- package/dist/package.json +8 -5
- package/dist/tests/utilities/TestConfiguration.js +80 -50
- package/dist/threads/automation.js +13 -11
- package/dist/threads/query.js +15 -11
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +4 -3
- package/dist/utilities/global.js +15 -12
- package/dist/utilities/index.js +7 -17
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +23 -17
- package/dist/utilities/rowProcessor/utils.js +14 -4
- package/dist/utilities/{usageQuota.js → usageQuota/index.js} +45 -31
- package/dist/utilities/usageQuota/rows.js +78 -0
- package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +4 -24
- package/nodemon.json +1 -1
- package/package.json +9 -6
- package/scripts/integrations/mssql/data/Dockerfile +1 -1
- package/scripts/integrations/mssql/data/setup.sql +17 -4
- package/scripts/integrations/postgres/init.sql +11 -6
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +85 -50
- package/src/api/controllers/auth.js +8 -5
- package/src/api/controllers/automation.js +13 -23
- package/src/api/controllers/cloud.js +2 -3
- package/src/api/controllers/component.js +3 -4
- package/src/api/controllers/datasource.js +21 -11
- package/src/api/controllers/deploy/Deployment.js +3 -7
- package/src/api/controllers/deploy/index.js +20 -13
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +4 -9
- package/src/api/controllers/migrations.js +13 -0
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +4 -6
- package/src/api/controllers/query/import/tests/index.spec.js +2 -1
- package/src/api/controllers/query/index.js +11 -10
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +5 -6
- package/src/api/controllers/row/ExternalRequest.ts +67 -43
- package/src/api/controllers/row/external.js +27 -58
- package/src/api/controllers/row/internal.js +54 -90
- package/src/api/controllers/row/internalSearch.js +23 -17
- package/src/api/controllers/row/staticFormula.js +156 -0
- package/src/api/controllers/row/utils.js +13 -18
- package/src/api/controllers/screen.js +5 -7
- package/src/api/controllers/static/index.js +66 -15
- package/src/api/controllers/table/bulkFormula.js +173 -0
- package/src/api/controllers/table/external.js +7 -10
- package/src/api/controllers/table/index.js +20 -28
- package/src/api/controllers/table/internal.js +24 -19
- package/src/api/controllers/table/utils.js +78 -42
- package/src/api/controllers/user.js +46 -45
- package/src/api/controllers/view/index.js +8 -10
- package/src/api/controllers/view/utils.js +9 -4
- package/src/api/controllers/webhook.js +10 -8
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/migrations.js +14 -0
- package/src/api/routes/static.js +5 -0
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +1 -2
- package/src/api/routes/tests/automation.spec.js +1 -0
- package/src/api/routes/tests/misc.spec.js +0 -1
- package/src/api/routes/tests/routing.spec.js +21 -12
- package/src/api/routes/tests/row.spec.js +7 -4
- package/src/api/routes/tests/static.spec.js +98 -0
- package/src/api/routes/tests/utilities/TestFunctions.js +39 -17
- package/src/app.ts +18 -5
- package/src/automations/automationUtils.js +2 -3
- package/src/automations/steps/createRow.js +2 -5
- package/src/automations/steps/deleteRow.js +1 -4
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +33 -31
- package/src/automations/utils.js +9 -5
- package/src/constants/index.js +9 -0
- package/src/db/linkedRows/LinkController.js +3 -7
- package/src/db/linkedRows/index.js +16 -31
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +0 -1
- package/src/db/tests/linkTests.spec.js +5 -6
- package/src/db/views/staticViews.js +8 -10
- package/src/definitions/common.ts +3 -0
- package/src/definitions/datasource.ts +3 -0
- package/src/environment.js +4 -1
- package/src/integrations/base/sql.ts +75 -29
- package/src/integrations/googlesheets.ts +353 -0
- package/src/integrations/index.ts +3 -0
- package/src/integrations/tests/sql.spec.js +16 -0
- package/src/integrations/utils.ts +75 -12
- package/src/middleware/authorized.js +66 -30
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +50 -46
- package/src/middleware/tests/authorized.spec.js +13 -6
- package/src/middleware/tests/currentapp.spec.js +6 -0
- package/src/middleware/tests/usageQuota.spec.js +18 -24
- package/src/middleware/usageQuota.js +93 -17
- package/src/migrations/functions/appUrls.ts +34 -0
- package/src/migrations/functions/quotas1.ts +20 -0
- package/src/migrations/functions/tests/appUrls.spec.js +29 -0
- package/src/migrations/functions/tests/quotas1.spec.js +27 -0
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +25 -0
- package/src/migrations/functions/usageQuotas/index.ts +8 -0
- package/src/migrations/functions/usageQuotas/syncApps.ts +18 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +22 -0
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +37 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +43 -0
- package/src/migrations/functions/userEmailViewCasing.ts +13 -0
- package/src/migrations/index.ts +56 -0
- package/src/module.d.ts +3 -0
- package/src/tests/utilities/TestConfiguration.js +82 -55
- package/src/threads/automation.js +17 -15
- package/src/threads/query.js +17 -12
- package/src/utilities/fileSystem/index.js +4 -3
- package/src/utilities/global.js +15 -12
- package/src/utilities/index.js +7 -17
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +25 -27
- package/src/utilities/rowProcessor/utils.js +23 -7
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
- package/src/utilities/usageQuota/index.js +93 -0
- package/src/utilities/usageQuota/rows.js +75 -0
- package/src/utilities/usageQuota/usageQuoteReset.js +18 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +4 -27
- package/tsconfig.json +2 -1
- package/builder/assets/index.39e01193.css +0 -1
- package/dist/api/controllers/hosting.js +0 -30
- package/dist/api/routes/hosting.js +0 -11
- package/src/api/controllers/hosting.js +0 -22
- package/src/api/routes/hosting.js +0 -13
- package/src/api/routes/tests/hosting.spec.js +0 -36
- package/src/utilities/usageQuota.js +0 -73
|
@@ -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">79.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>165/207</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">55.12% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>43/78</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">88.46% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>23/26</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">80.09% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>161/201</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -471,19 +471,53 @@
|
|
|
471
471
|
<a name='L412'></a><a href='#L412'>412</a>
|
|
472
472
|
<a name='L413'></a><a href='#L413'>413</a>
|
|
473
473
|
<a name='L414'></a><a href='#L414'>414</a>
|
|
474
|
-
<a name='L415'></a><a href='#L415'>415</a
|
|
475
|
-
<
|
|
476
|
-
<
|
|
474
|
+
<a name='L415'></a><a href='#L415'>415</a>
|
|
475
|
+
<a name='L416'></a><a href='#L416'>416</a>
|
|
476
|
+
<a name='L417'></a><a href='#L417'>417</a>
|
|
477
|
+
<a name='L418'></a><a href='#L418'>418</a>
|
|
478
|
+
<a name='L419'></a><a href='#L419'>419</a>
|
|
479
|
+
<a name='L420'></a><a href='#L420'>420</a>
|
|
480
|
+
<a name='L421'></a><a href='#L421'>421</a>
|
|
481
|
+
<a name='L422'></a><a href='#L422'>422</a>
|
|
482
|
+
<a name='L423'></a><a href='#L423'>423</a>
|
|
483
|
+
<a name='L424'></a><a href='#L424'>424</a>
|
|
484
|
+
<a name='L425'></a><a href='#L425'>425</a>
|
|
485
|
+
<a name='L426'></a><a href='#L426'>426</a>
|
|
486
|
+
<a name='L427'></a><a href='#L427'>427</a>
|
|
487
|
+
<a name='L428'></a><a href='#L428'>428</a>
|
|
488
|
+
<a name='L429'></a><a href='#L429'>429</a>
|
|
489
|
+
<a name='L430'></a><a href='#L430'>430</a>
|
|
490
|
+
<a name='L431'></a><a href='#L431'>431</a>
|
|
491
|
+
<a name='L432'></a><a href='#L432'>432</a>
|
|
492
|
+
<a name='L433'></a><a href='#L433'>433</a>
|
|
493
|
+
<a name='L434'></a><a href='#L434'>434</a>
|
|
494
|
+
<a name='L435'></a><a href='#L435'>435</a>
|
|
495
|
+
<a name='L436'></a><a href='#L436'>436</a>
|
|
496
|
+
<a name='L437'></a><a href='#L437'>437</a>
|
|
497
|
+
<a name='L438'></a><a href='#L438'>438</a>
|
|
498
|
+
<a name='L439'></a><a href='#L439'>439</a>
|
|
499
|
+
<a name='L440'></a><a href='#L440'>440</a>
|
|
500
|
+
<a name='L441'></a><a href='#L441'>441</a>
|
|
501
|
+
<a name='L442'></a><a href='#L442'>442</a>
|
|
502
|
+
<a name='L443'></a><a href='#L443'>443</a>
|
|
503
|
+
<a name='L444'></a><a href='#L444'>444</a>
|
|
504
|
+
<a name='L445'></a><a href='#L445'>445</a>
|
|
505
|
+
<a name='L446'></a><a href='#L446'>446</a>
|
|
506
|
+
<a name='L447'></a><a href='#L447'>447</a>
|
|
507
|
+
<a name='L448'></a><a href='#L448'>448</a>
|
|
508
|
+
<a name='L449'></a><a href='#L449'>449</a>
|
|
509
|
+
<a name='L450'></a><a href='#L450'>450</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">38x</span>
|
|
510
|
+
<span class="cline-any cline-yes">38x</span>
|
|
477
511
|
<span class="cline-any cline-neutral"> </span>
|
|
478
512
|
<span class="cline-any cline-neutral"> </span>
|
|
479
513
|
<span class="cline-any cline-neutral"> </span>
|
|
480
514
|
<span class="cline-any cline-neutral"> </span>
|
|
481
|
-
<span class="cline-any cline-yes">
|
|
515
|
+
<span class="cline-any cline-yes">38x</span>
|
|
482
516
|
<span class="cline-any cline-neutral"> </span>
|
|
483
517
|
<span class="cline-any cline-neutral"> </span>
|
|
484
518
|
<span class="cline-any cline-neutral"> </span>
|
|
485
519
|
<span class="cline-any cline-neutral"> </span>
|
|
486
|
-
<span class="cline-any cline-yes">
|
|
520
|
+
<span class="cline-any cline-yes">38x</span>
|
|
487
521
|
<span class="cline-any cline-neutral"> </span>
|
|
488
522
|
<span class="cline-any cline-neutral"> </span>
|
|
489
523
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -491,52 +525,56 @@
|
|
|
491
525
|
<span class="cline-any cline-neutral"> </span>
|
|
492
526
|
<span class="cline-any cline-neutral"> </span>
|
|
493
527
|
<span class="cline-any cline-neutral"> </span>
|
|
494
|
-
<span class="cline-any cline-yes">
|
|
528
|
+
<span class="cline-any cline-yes">38x</span>
|
|
495
529
|
<span class="cline-any cline-neutral"> </span>
|
|
496
530
|
<span class="cline-any cline-neutral"> </span>
|
|
497
531
|
<span class="cline-any cline-neutral"> </span>
|
|
498
|
-
<span class="cline-any cline-yes">
|
|
499
|
-
<span class="cline-any cline-yes">
|
|
500
|
-
<span class="cline-any cline-yes">
|
|
501
|
-
<span class="cline-any cline-yes">
|
|
532
|
+
<span class="cline-any cline-yes">38x</span>
|
|
533
|
+
<span class="cline-any cline-yes">38x</span>
|
|
534
|
+
<span class="cline-any cline-yes">38x</span>
|
|
535
|
+
<span class="cline-any cline-yes">38x</span>
|
|
502
536
|
<span class="cline-any cline-neutral"> </span>
|
|
503
537
|
<span class="cline-any cline-neutral"> </span>
|
|
504
538
|
<span class="cline-any cline-neutral"> </span>
|
|
505
539
|
<span class="cline-any cline-neutral"> </span>
|
|
506
540
|
<span class="cline-any cline-neutral"> </span>
|
|
507
|
-
<span class="cline-any cline-yes">
|
|
508
|
-
<span class="cline-any cline-yes">
|
|
541
|
+
<span class="cline-any cline-yes">38x</span>
|
|
542
|
+
<span class="cline-any cline-yes">38x</span>
|
|
543
|
+
<span class="cline-any cline-yes">38x</span>
|
|
544
|
+
<span class="cline-any cline-yes">38x</span>
|
|
545
|
+
<span class="cline-any cline-yes">38x</span>
|
|
509
546
|
<span class="cline-any cline-neutral"> </span>
|
|
510
547
|
<span class="cline-any cline-neutral"> </span>
|
|
511
548
|
<span class="cline-any cline-neutral"> </span>
|
|
512
|
-
<span class="cline-any cline-yes">33x</span>
|
|
513
|
-
<span class="cline-any cline-yes">33x</span>
|
|
514
|
-
<span class="cline-any cline-yes">33x</span>
|
|
515
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-yes">38x</span>
|
|
551
|
+
<span class="cline-any cline-yes">38x</span>
|
|
552
|
+
<span class="cline-any cline-yes">38x</span>
|
|
553
|
+
<span class="cline-any cline-yes">38x</span>
|
|
554
|
+
<span class="cline-any cline-yes">38x</span>
|
|
516
555
|
<span class="cline-any cline-neutral"> </span>
|
|
517
556
|
<span class="cline-any cline-neutral"> </span>
|
|
518
557
|
<span class="cline-any cline-neutral"> </span>
|
|
519
|
-
<span class="cline-any cline-yes">33x</span>
|
|
520
|
-
<span class="cline-any cline-yes">33x</span>
|
|
521
|
-
<span class="cline-any cline-yes">33x</span>
|
|
522
|
-
<span class="cline-any cline-yes">33x</span>
|
|
523
|
-
<span class="cline-any cline-yes">33x</span>
|
|
524
558
|
<span class="cline-any cline-neutral"> </span>
|
|
525
|
-
<span class="cline-any cline-yes">
|
|
559
|
+
<span class="cline-any cline-yes">38x</span>
|
|
526
560
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-yes">38x</span>
|
|
527
562
|
<span class="cline-any cline-neutral"> </span>
|
|
528
563
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">195x</span>
|
|
530
564
|
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-yes">205x</span>
|
|
566
|
+
<span class="cline-any cline-yes">205x</span>
|
|
531
567
|
<span class="cline-any cline-neutral"> </span>
|
|
532
568
|
<span class="cline-any cline-neutral"> </span>
|
|
533
569
|
<span class="cline-any cline-neutral"> </span>
|
|
534
570
|
<span class="cline-any cline-neutral"> </span>
|
|
535
|
-
<span class="cline-any cline-yes">390x</span>
|
|
536
571
|
<span class="cline-any cline-neutral"> </span>
|
|
572
|
+
<span class="cline-any cline-yes">410x</span>
|
|
537
573
|
<span class="cline-any cline-neutral"> </span>
|
|
538
574
|
<span class="cline-any cline-neutral"> </span>
|
|
539
|
-
<span class="cline-any cline-
|
|
575
|
+
<span class="cline-any cline-neutral"> </span>
|
|
576
|
+
<span class="cline-any cline-yes">205x</span>
|
|
577
|
+
<span class="cline-any cline-yes">205x</span>
|
|
540
578
|
<span class="cline-any cline-neutral"> </span>
|
|
541
579
|
<span class="cline-any cline-neutral"> </span>
|
|
542
580
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -546,43 +584,57 @@
|
|
|
546
584
|
<span class="cline-any cline-neutral"> </span>
|
|
547
585
|
<span class="cline-any cline-neutral"> </span>
|
|
548
586
|
<span class="cline-any cline-neutral"> </span>
|
|
549
|
-
<span class="cline-any cline-yes">
|
|
587
|
+
<span class="cline-any cline-yes">203x</span>
|
|
588
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
589
|
<span class="cline-any cline-neutral"> </span>
|
|
551
590
|
<span class="cline-any cline-neutral"> </span>
|
|
552
591
|
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-yes">38x</span>
|
|
553
593
|
<span class="cline-any cline-neutral"> </span>
|
|
554
594
|
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-yes">198x</span>
|
|
555
596
|
<span class="cline-any cline-neutral"> </span>
|
|
556
|
-
<span class="cline-any cline-yes">190x</span>
|
|
557
597
|
<span class="cline-any cline-no"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">
|
|
559
|
-
<span class="cline-any cline-
|
|
598
|
+
<span class="cline-any cline-yes">198x</span>
|
|
599
|
+
<span class="cline-any cline-neutral"> </span>
|
|
600
|
+
<span class="cline-any cline-yes">198x</span>
|
|
560
601
|
<span class="cline-any cline-neutral"> </span>
|
|
561
|
-
<span class="cline-any cline-yes">
|
|
562
|
-
<span class="cline-any cline-yes">
|
|
602
|
+
<span class="cline-any cline-yes">198x</span>
|
|
603
|
+
<span class="cline-any cline-yes">198x</span>
|
|
563
604
|
<span class="cline-any cline-neutral"> </span>
|
|
564
|
-
<span class="cline-any cline-yes">
|
|
565
|
-
<span class="cline-any cline-
|
|
605
|
+
<span class="cline-any cline-yes">198x</span>
|
|
606
|
+
<span class="cline-any cline-neutral"> </span>
|
|
607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
608
|
+
<span class="cline-any cline-yes">38x</span>
|
|
609
|
+
<span class="cline-any cline-yes">197x</span>
|
|
610
|
+
<span class="cline-any cline-yes">2x</span>
|
|
611
|
+
<span class="cline-any cline-neutral"> </span>
|
|
612
|
+
<span class="cline-any cline-yes">733x</span>
|
|
613
|
+
<span class="cline-any cline-no"> </span>
|
|
566
614
|
<span class="cline-any cline-neutral"> </span>
|
|
567
|
-
<span class="cline-any cline-yes">175x</span>
|
|
568
|
-
<span class="cline-any cline-yes">175x</span>
|
|
569
615
|
<span class="cline-any cline-neutral"> </span>
|
|
570
616
|
<span class="cline-any cline-neutral"> </span>
|
|
617
|
+
<span class="cline-any cline-yes">38x</span>
|
|
571
618
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
+
<span class="cline-any cline-yes">197x</span>
|
|
620
|
+
<span class="cline-any cline-no"> </span>
|
|
572
621
|
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-yes">197x</span>
|
|
623
|
+
<span class="cline-any cline-yes">2x</span>
|
|
573
624
|
<span class="cline-any cline-neutral"> </span>
|
|
625
|
+
<span class="cline-any cline-yes">733x</span>
|
|
574
626
|
<span class="cline-any cline-no"> </span>
|
|
575
627
|
<span class="cline-any cline-neutral"> </span>
|
|
576
|
-
<span class="cline-any cline-yes">175x</span>
|
|
577
628
|
<span class="cline-any cline-neutral"> </span>
|
|
578
629
|
<span class="cline-any cline-neutral"> </span>
|
|
579
630
|
<span class="cline-any cline-neutral"> </span>
|
|
580
|
-
<span class="cline-any cline-yes">
|
|
581
|
-
<span class="cline-any cline-yes">
|
|
582
|
-
<span class="cline-any cline-yes">
|
|
631
|
+
<span class="cline-any cline-yes">195x</span>
|
|
632
|
+
<span class="cline-any cline-yes">195x</span>
|
|
633
|
+
<span class="cline-any cline-yes">195x</span>
|
|
634
|
+
<span class="cline-any cline-yes">195x</span>
|
|
583
635
|
<span class="cline-any cline-neutral"> </span>
|
|
584
|
-
<span class="cline-any cline-yes">
|
|
585
|
-
<span class="cline-any cline-yes">
|
|
636
|
+
<span class="cline-any cline-yes">195x</span>
|
|
637
|
+
<span class="cline-any cline-yes">195x</span>
|
|
586
638
|
<span class="cline-any cline-neutral"> </span>
|
|
587
639
|
<span class="cline-any cline-neutral"> </span>
|
|
588
640
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -591,18 +643,18 @@
|
|
|
591
643
|
<span class="cline-any cline-neutral"> </span>
|
|
592
644
|
<span class="cline-any cline-neutral"> </span>
|
|
593
645
|
<span class="cline-any cline-neutral"> </span>
|
|
594
|
-
<span class="cline-any cline-yes">
|
|
595
|
-
<span class="cline-any cline-yes">
|
|
596
|
-
<span class="cline-any cline-yes">
|
|
646
|
+
<span class="cline-any cline-yes">195x</span>
|
|
647
|
+
<span class="cline-any cline-yes">195x</span>
|
|
648
|
+
<span class="cline-any cline-yes">195x</span>
|
|
597
649
|
<span class="cline-any cline-neutral"> </span>
|
|
598
650
|
<span class="cline-any cline-neutral"> </span>
|
|
599
651
|
<span class="cline-any cline-neutral"> </span>
|
|
600
|
-
<span class="cline-any cline-yes">
|
|
652
|
+
<span class="cline-any cline-yes">195x</span>
|
|
601
653
|
<span class="cline-any cline-no"> </span>
|
|
602
654
|
<span class="cline-any cline-no"> </span>
|
|
603
655
|
<span class="cline-any cline-no"> </span>
|
|
604
656
|
<span class="cline-any cline-neutral"> </span>
|
|
605
|
-
<span class="cline-any cline-yes">
|
|
657
|
+
<span class="cline-any cline-yes">195x</span>
|
|
606
658
|
<span class="cline-any cline-neutral"> </span>
|
|
607
659
|
<span class="cline-any cline-neutral"> </span>
|
|
608
660
|
<span class="cline-any cline-no"> </span>
|
|
@@ -610,13 +662,13 @@
|
|
|
610
662
|
<span class="cline-any cline-neutral"> </span>
|
|
611
663
|
<span class="cline-any cline-neutral"> </span>
|
|
612
664
|
<span class="cline-any cline-neutral"> </span>
|
|
613
|
-
<span class="cline-any cline-yes">
|
|
665
|
+
<span class="cline-any cline-yes">195x</span>
|
|
614
666
|
<span class="cline-any cline-neutral"> </span>
|
|
615
667
|
<span class="cline-any cline-neutral"> </span>
|
|
616
|
-
<span class="cline-any cline-yes">
|
|
668
|
+
<span class="cline-any cline-yes">195x</span>
|
|
617
669
|
<span class="cline-any cline-neutral"> </span>
|
|
618
670
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">
|
|
671
|
+
<span class="cline-any cline-yes">38x</span>
|
|
620
672
|
<span class="cline-any cline-yes">10x</span>
|
|
621
673
|
<span class="cline-any cline-yes">10x</span>
|
|
622
674
|
<span class="cline-any cline-yes">10x</span>
|
|
@@ -641,8 +693,7 @@
|
|
|
641
693
|
<span class="cline-any cline-yes">10x</span>
|
|
642
694
|
<span class="cline-any cline-neutral"> </span>
|
|
643
695
|
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">
|
|
645
|
-
<span class="cline-any cline-yes">1x</span>
|
|
696
|
+
<span class="cline-any cline-yes">38x</span>
|
|
646
697
|
<span class="cline-any cline-yes">1x</span>
|
|
647
698
|
<span class="cline-any cline-yes">1x</span>
|
|
648
699
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -657,51 +708,56 @@
|
|
|
657
708
|
<span class="cline-any cline-neutral"> </span>
|
|
658
709
|
<span class="cline-any cline-neutral"> </span>
|
|
659
710
|
<span class="cline-any cline-neutral"> </span>
|
|
660
|
-
<span class="cline-any cline-yes">
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
662
|
-
<span class="cline-any cline-yes">
|
|
663
|
-
<span class="cline-any cline-yes">
|
|
664
|
-
<span class="cline-any cline-yes">
|
|
711
|
+
<span class="cline-any cline-yes">38x</span>
|
|
712
|
+
<span class="cline-any cline-yes">204x</span>
|
|
713
|
+
<span class="cline-any cline-yes">204x</span>
|
|
714
|
+
<span class="cline-any cline-yes">204x</span>
|
|
715
|
+
<span class="cline-any cline-yes">204x</span>
|
|
716
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
717
|
<span class="cline-any cline-neutral"> </span>
|
|
718
|
+
<span class="cline-any cline-yes">204x</span>
|
|
719
|
+
<span class="cline-any cline-yes">202x</span>
|
|
720
|
+
<span class="cline-any cline-yes">202x</span>
|
|
721
|
+
<span class="cline-any cline-yes">202x</span>
|
|
666
722
|
<span class="cline-any cline-neutral"> </span>
|
|
667
|
-
<span class="cline-any cline-yes">194x</span>
|
|
668
|
-
<span class="cline-any cline-yes">192x</span>
|
|
669
|
-
<span class="cline-any cline-yes">192x</span>
|
|
670
|
-
<span class="cline-any cline-yes">192x</span>
|
|
671
723
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
+
<span class="cline-any cline-yes">204x</span>
|
|
672
725
|
<span class="cline-any cline-neutral"> </span>
|
|
673
|
-
<span class="cline-any cline-yes">194x</span>
|
|
674
726
|
<span class="cline-any cline-neutral"> </span>
|
|
675
727
|
<span class="cline-any cline-neutral"> </span>
|
|
676
728
|
<span class="cline-any cline-neutral"> </span>
|
|
677
729
|
<span class="cline-any cline-neutral"> </span>
|
|
678
730
|
<span class="cline-any cline-neutral"> </span>
|
|
679
731
|
<span class="cline-any cline-neutral"> </span>
|
|
732
|
+
<span class="cline-any cline-yes">38x</span>
|
|
733
|
+
<span class="cline-any cline-yes">195x</span>
|
|
734
|
+
<span class="cline-any cline-yes">195x</span>
|
|
735
|
+
<span class="cline-any cline-yes">195x</span>
|
|
736
|
+
<span class="cline-any cline-yes">195x</span>
|
|
737
|
+
<span class="cline-any cline-yes">195x</span>
|
|
680
738
|
<span class="cline-any cline-neutral"> </span>
|
|
681
|
-
<span class="cline-any cline-yes">
|
|
682
|
-
<span class="cline-any cline-yes">
|
|
683
|
-
<span class="cline-any cline-yes">185x</span>
|
|
739
|
+
<span class="cline-any cline-yes">195x</span>
|
|
740
|
+
<span class="cline-any cline-yes">195x</span>
|
|
684
741
|
<span class="cline-any cline-neutral"> </span>
|
|
685
742
|
<span class="cline-any cline-neutral"> </span>
|
|
686
743
|
<span class="cline-any cline-neutral"> </span>
|
|
687
744
|
<span class="cline-any cline-neutral"> </span>
|
|
688
|
-
<span class="cline-any cline-yes">
|
|
745
|
+
<span class="cline-any cline-yes">195x</span>
|
|
689
746
|
<span class="cline-any cline-no"> </span>
|
|
690
747
|
<span class="cline-any cline-neutral"> </span>
|
|
691
|
-
<span class="cline-any cline-yes">
|
|
692
|
-
<span class="cline-any cline-yes">
|
|
748
|
+
<span class="cline-any cline-yes">195x</span>
|
|
749
|
+
<span class="cline-any cline-yes">195x</span>
|
|
693
750
|
<span class="cline-any cline-neutral"> </span>
|
|
694
|
-
<span class="cline-any cline-yes">
|
|
695
|
-
<span class="cline-any cline-yes">185x</span>
|
|
751
|
+
<span class="cline-any cline-yes">195x</span>
|
|
696
752
|
<span class="cline-any cline-neutral"> </span>
|
|
697
|
-
<span class="cline-any cline-yes">
|
|
753
|
+
<span class="cline-any cline-yes">195x</span>
|
|
698
754
|
<span class="cline-any cline-neutral"> </span>
|
|
699
|
-
<span class="cline-any cline-yes">
|
|
755
|
+
<span class="cline-any cline-yes">195x</span>
|
|
700
756
|
<span class="cline-any cline-no"> </span>
|
|
701
757
|
<span class="cline-any cline-neutral"> </span>
|
|
702
758
|
<span class="cline-any cline-neutral"> </span>
|
|
703
759
|
<span class="cline-any cline-neutral"> </span>
|
|
704
|
-
<span class="cline-any cline-yes">
|
|
760
|
+
<span class="cline-any cline-yes">195x</span>
|
|
705
761
|
<span class="cline-any cline-neutral"> </span>
|
|
706
762
|
<span class="cline-any cline-neutral"> </span>
|
|
707
763
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -716,32 +772,46 @@
|
|
|
716
772
|
<span class="cline-any cline-neutral"> </span>
|
|
717
773
|
<span class="cline-any cline-neutral"> </span>
|
|
718
774
|
<span class="cline-any cline-neutral"> </span>
|
|
719
|
-
<span class="cline-any cline-yes">
|
|
720
|
-
<span class="cline-any cline-yes">
|
|
775
|
+
<span class="cline-any cline-yes">195x</span>
|
|
776
|
+
<span class="cline-any cline-yes">195x</span>
|
|
777
|
+
<span class="cline-any cline-neutral"> </span>
|
|
778
|
+
<span class="cline-any cline-neutral"> </span>
|
|
779
|
+
<span class="cline-any cline-neutral"> </span>
|
|
780
|
+
<span class="cline-any cline-yes">195x</span>
|
|
781
|
+
<span class="cline-any cline-yes">195x</span>
|
|
782
|
+
<span class="cline-any cline-neutral"> </span>
|
|
721
783
|
<span class="cline-any cline-neutral"> </span>
|
|
722
784
|
<span class="cline-any cline-neutral"> </span>
|
|
723
785
|
<span class="cline-any cline-neutral"> </span>
|
|
724
|
-
<span class="cline-any cline-yes">185x</span>
|
|
725
|
-
<span class="cline-any cline-yes">185x</span>
|
|
726
786
|
<span class="cline-any cline-neutral"> </span>
|
|
727
787
|
<span class="cline-any cline-neutral"> </span>
|
|
728
788
|
<span class="cline-any cline-neutral"> </span>
|
|
789
|
+
<span class="cline-any cline-yes">195x</span>
|
|
790
|
+
<span class="cline-any cline-yes">195x</span>
|
|
791
|
+
<span class="cline-any cline-yes">195x</span>
|
|
792
|
+
<span class="cline-any cline-neutral"> </span>
|
|
793
|
+
<span class="cline-any cline-neutral"> </span>
|
|
729
794
|
<span class="cline-any cline-neutral"> </span>
|
|
730
795
|
<span class="cline-any cline-neutral"> </span>
|
|
796
|
+
<span class="cline-any cline-yes">38x</span>
|
|
797
|
+
<span class="cline-any cline-yes">2x</span>
|
|
731
798
|
<span class="cline-any cline-neutral"> </span>
|
|
799
|
+
<span class="cline-any cline-yes">2x</span>
|
|
800
|
+
<span class="cline-any cline-yes">2x</span>
|
|
801
|
+
<span class="cline-any cline-yes">2x</span>
|
|
732
802
|
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-yes">
|
|
734
|
-
<span class="cline-any cline-yes">
|
|
735
|
-
<span class="cline-any cline-yes">
|
|
803
|
+
<span class="cline-any cline-yes">2x</span>
|
|
804
|
+
<span class="cline-any cline-yes">2x</span>
|
|
805
|
+
<span class="cline-any cline-yes">2x</span>
|
|
806
|
+
<span class="cline-any cline-yes">2x</span>
|
|
736
807
|
<span class="cline-any cline-neutral"> </span>
|
|
737
808
|
<span class="cline-any cline-neutral"> </span>
|
|
738
|
-
<span class="cline-any cline-yes">33x</span>
|
|
739
809
|
<span class="cline-any cline-yes">2x</span>
|
|
740
810
|
<span class="cline-any cline-yes">2x</span>
|
|
741
811
|
<span class="cline-any cline-yes">2x</span>
|
|
742
812
|
<span class="cline-any cline-neutral"> </span>
|
|
743
813
|
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-yes">
|
|
814
|
+
<span class="cline-any cline-yes">38x</span>
|
|
745
815
|
<span class="cline-any cline-neutral"> </span>
|
|
746
816
|
<span class="cline-any cline-yes">2x</span>
|
|
747
817
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -763,7 +833,7 @@
|
|
|
763
833
|
<span class="cline-any cline-yes">2x</span>
|
|
764
834
|
<span class="cline-any cline-neutral"> </span>
|
|
765
835
|
<span class="cline-any cline-neutral"> </span>
|
|
766
|
-
<span class="cline-any cline-yes">
|
|
836
|
+
<span class="cline-any cline-yes">38x</span>
|
|
767
837
|
<span class="cline-any cline-neutral"> </span>
|
|
768
838
|
<span class="cline-any cline-yes">1x</span>
|
|
769
839
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -786,7 +856,7 @@
|
|
|
786
856
|
<span class="cline-any cline-yes">1x</span>
|
|
787
857
|
<span class="cline-any cline-neutral"> </span>
|
|
788
858
|
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">
|
|
859
|
+
<span class="cline-any cline-yes">38x</span>
|
|
790
860
|
<span class="cline-any cline-yes">11x</span>
|
|
791
861
|
<span class="cline-any cline-neutral"> </span>
|
|
792
862
|
<span class="cline-any cline-yes">11x</span>
|
|
@@ -805,7 +875,7 @@
|
|
|
805
875
|
<span class="cline-any cline-yes">11x</span>
|
|
806
876
|
<span class="cline-any cline-neutral"> </span>
|
|
807
877
|
<span class="cline-any cline-neutral"> </span>
|
|
808
|
-
<span class="cline-any cline-yes">
|
|
878
|
+
<span class="cline-any cline-yes">38x</span>
|
|
809
879
|
<span class="cline-any cline-no"> </span>
|
|
810
880
|
<span class="cline-any cline-no"> </span>
|
|
811
881
|
<span class="cline-any cline-no"> </span>
|
|
@@ -815,6 +885,7 @@
|
|
|
815
885
|
<span class="cline-any cline-no"> </span>
|
|
816
886
|
<span class="cline-any cline-neutral"> </span>
|
|
817
887
|
<span class="cline-any cline-no"> </span>
|
|
888
|
+
<span class="cline-any cline-neutral"> </span>
|
|
818
889
|
<span class="cline-any cline-no"> </span>
|
|
819
890
|
<span class="cline-any cline-no"> </span>
|
|
820
891
|
<span class="cline-any cline-no"> </span>
|
|
@@ -854,8 +925,7 @@
|
|
|
854
925
|
<span class="cline-any cline-neutral"> </span>
|
|
855
926
|
<span class="cline-any cline-neutral"> </span>
|
|
856
927
|
<span class="cline-any cline-neutral"> </span>
|
|
857
|
-
<span class="cline-any cline-yes">
|
|
858
|
-
<span class="cline-any cline-yes">5x</span>
|
|
928
|
+
<span class="cline-any cline-yes">38x</span>
|
|
859
929
|
<span class="cline-any cline-yes">5x</span>
|
|
860
930
|
<span class="cline-any cline-yes">5x</span>
|
|
861
931
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -874,19 +944,18 @@
|
|
|
874
944
|
<span class="cline-any cline-yes">5x</span>
|
|
875
945
|
<span class="cline-any cline-neutral"> </span>
|
|
876
946
|
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-yes">
|
|
878
|
-
<span class="cline-any cline-yes">
|
|
947
|
+
<span class="cline-any cline-yes">38x</span>
|
|
948
|
+
<span class="cline-any cline-yes">195x</span>
|
|
879
949
|
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-yes">
|
|
881
|
-
<span class="cline-any cline-yes">
|
|
882
|
-
<span class="cline-any cline-yes">
|
|
883
|
-
<span class="cline-any cline-yes">
|
|
950
|
+
<span class="cline-any cline-yes">195x</span>
|
|
951
|
+
<span class="cline-any cline-yes">195x</span>
|
|
952
|
+
<span class="cline-any cline-yes">390x</span>
|
|
953
|
+
<span class="cline-any cline-yes">390x</span>
|
|
884
954
|
<span class="cline-any cline-neutral"> </span>
|
|
885
955
|
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-yes">
|
|
956
|
+
<span class="cline-any cline-yes">195x</span>
|
|
887
957
|
<span class="cline-any cline-neutral"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
889
|
-
const env = require("../../environment")
|
|
958
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const env = require("../../environment")
|
|
890
959
|
const packageJson = require("../../../package.json")
|
|
891
960
|
const {
|
|
892
961
|
createLinkView,
|
|
@@ -916,14 +985,11 @@ const { processObject } = require("@budibase/string-templates")
|
|
|
916
985
|
const {
|
|
917
986
|
getAllApps,
|
|
918
987
|
isDevAppID,
|
|
919
|
-
|
|
988
|
+
getProdAppID,
|
|
920
989
|
Replication,
|
|
921
990
|
} = require("@budibase/backend-core/db")
|
|
922
991
|
const { USERS_TABLE_SCHEMA } = require("../../constants")
|
|
923
|
-
const {
|
|
924
|
-
getDeployedApps,
|
|
925
|
-
removeAppFromUserRoles,
|
|
926
|
-
} = require("../../utilities/workerRequests")
|
|
992
|
+
const { removeAppFromUserRoles } = require("../../utilities/workerRequests")
|
|
927
993
|
const { clientLibraryPath, stringToReadStream } = require("../../utilities")
|
|
928
994
|
const { getAllLocks } = require("../../utilities/redis")
|
|
929
995
|
const {
|
|
@@ -935,11 +1001,17 @@ const { getTenantId, isMultiTenant } = require("@budibase/backend-core/tenancy")
|
|
|
935
1001
|
const { syncGlobalUsers } = require("./user")
|
|
936
1002
|
const { app: appCache } = require("@budibase/backend-core/cache")
|
|
937
1003
|
const { cleanupAutomations } = require("../../automations/utils")
|
|
1004
|
+
const {
|
|
1005
|
+
getAppDB,
|
|
1006
|
+
getProdAppDB,
|
|
1007
|
+
updateAppId,
|
|
1008
|
+
} = require("@budibase/backend-core/context")
|
|
938
1009
|
|
|
939
1010
|
const URL_REGEX_SLASH = /\/|\\/g
|
|
940
1011
|
|
|
941
1012
|
// utility function, need to do away with this
|
|
942
|
-
async function getLayouts(
|
|
1013
|
+
async function getLayouts() {
|
|
1014
|
+
const db = getAppDB()
|
|
943
1015
|
return (
|
|
944
1016
|
await db.allDocs(
|
|
945
1017
|
getLayoutParams(null, {
|
|
@@ -949,7 +1021,8 @@ async function getLayouts(db) {
|
|
|
949
1021
|
).rows.map(row => row.doc)
|
|
950
1022
|
}
|
|
951
1023
|
|
|
952
|
-
async function getScreens(
|
|
1024
|
+
async function getScreens() {
|
|
1025
|
+
const db = getAppDB()
|
|
953
1026
|
return (
|
|
954
1027
|
await db.allDocs(
|
|
955
1028
|
getScreenParams(null, {
|
|
@@ -965,37 +1038,51 @@ function getUserRoleId(ctx) {
|
|
|
965
1038
|
: ctx.user.role._id
|
|
966
1039
|
}
|
|
967
1040
|
|
|
968
|
-
|
|
1041
|
+
exports.getAppUrl = ctx => {
|
|
1042
|
+
// construct the url
|
|
969
1043
|
let url
|
|
970
1044
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (ctx.request.body.url) {
|
|
1045
|
+
// if the url is provided, use that
|
|
971
1046
|
<span class="cstat-no" title="statement not covered" > url = encodeURI(ctx.request.body.url)</span>
|
|
972
1047
|
} else if (ctx.request.body.name) {
|
|
1048
|
+
// otherwise use the name
|
|
973
1049
|
url = encodeURI(`${ctx.request.body.name}`)
|
|
974
1050
|
}
|
|
975
1051
|
if (url) {
|
|
976
1052
|
url = `/${url.replace(URL_REGEX_SLASH, "")}`.toLowerCase()
|
|
977
1053
|
}
|
|
978
|
-
|
|
979
|
-
|
|
1054
|
+
return url
|
|
1055
|
+
}
|
|
1056
|
+
|
|
1057
|
+
const checkAppUrl = (ctx, apps, url, currentAppId) => {
|
|
1058
|
+
if (currentAppId) {
|
|
1059
|
+
apps = apps.filter(app => app.appId !== currentAppId)
|
|
980
1060
|
}
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
<span class="
|
|
1061
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (apps.some(app => app.url === url)) {
|
|
1062
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App URL is already in use.")</span>
|
|
1063
|
+
}
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1066
|
+
const checkAppName = (ctx, apps, name, currentAppId) => {
|
|
1067
|
+
// TODO: Replace with Joi
|
|
1068
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (!name) {
|
|
1069
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Name is required")</span>
|
|
1070
|
+
}
|
|
1071
|
+
if (currentAppId) {
|
|
1072
|
+
apps = apps.filter(app => app.appId !== currentAppId)
|
|
1073
|
+
}
|
|
1074
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (apps.some(app => app.name === name)) {
|
|
1075
|
+
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "App name is already in use.")</span>
|
|
989
1076
|
}
|
|
990
|
-
return url
|
|
991
1077
|
}
|
|
992
1078
|
|
|
993
1079
|
async function createInstance(template) {
|
|
994
1080
|
const tenantId = isMultiTenant() ? <span class="branch-0 cbranch-no" title="branch not covered" >getTenantId() </span>: null
|
|
995
1081
|
const baseAppId = generateAppID(tenantId)
|
|
996
1082
|
const appId = generateDevAppID(baseAppId)
|
|
1083
|
+
updateAppId(appId)
|
|
997
1084
|
|
|
998
|
-
const db =
|
|
1085
|
+
const db = getAppDB()
|
|
999
1086
|
await db.put({
|
|
1000
1087
|
_id: "_design/database",
|
|
1001
1088
|
// view collation information, read before writing any complex views:
|
|
@@ -1005,9 +1092,9 @@ async function createInstance(template) {
|
|
|
1005
1092
|
|
|
1006
1093
|
// NOTE: indexes need to be created before any tables/templates
|
|
1007
1094
|
// add view for linked rows
|
|
1008
|
-
await createLinkView(
|
|
1009
|
-
await createRoutingView(
|
|
1010
|
-
await createAllSearchIndex(
|
|
1095
|
+
await createLinkView()
|
|
1096
|
+
await createRoutingView()
|
|
1097
|
+
await createAllSearchIndex()
|
|
1011
1098
|
|
|
1012
1099
|
// replicate the template data to the instance DB
|
|
1013
1100
|
// this is currently very hard to test, downloading and importing template files
|
|
@@ -1033,7 +1120,7 @@ async function createInstance(template) {
|
|
|
1033
1120
|
exports.fetch = async ctx => {
|
|
1034
1121
|
const dev = ctx.query && ctx.query.status === AppStatus.DEV
|
|
1035
1122
|
const all = ctx.query && ctx.query.status === AppStatus.ALL
|
|
1036
|
-
const apps = await getAllApps(
|
|
1123
|
+
const apps = await getAllApps({ dev, all })
|
|
1037
1124
|
|
|
1038
1125
|
// get the locks for all the dev apps
|
|
1039
1126
|
if (dev || <span class="branch-1 cbranch-no" title="branch not covered" >all)</span> {
|
|
@@ -1056,12 +1143,11 @@ exports.fetch = async ctx => {
|
|
|
1056
1143
|
}
|
|
1057
1144
|
|
|
1058
1145
|
exports.fetchAppDefinition = async ctx => {
|
|
1059
|
-
const
|
|
1060
|
-
const layouts = await getLayouts(db)
|
|
1146
|
+
const layouts = await getLayouts()
|
|
1061
1147
|
const userRoleId = getUserRoleId(ctx)
|
|
1062
|
-
const accessController = new AccessController(
|
|
1148
|
+
const accessController = new AccessController()
|
|
1063
1149
|
const screens = await accessController.checkScreensAccess(
|
|
1064
|
-
await getScreens(
|
|
1150
|
+
await getScreens(),
|
|
1065
1151
|
userRoleId
|
|
1066
1152
|
)
|
|
1067
1153
|
ctx.body = {
|
|
@@ -1072,15 +1158,15 @@ exports.fetchAppDefinition = async ctx => {
|
|
|
1072
1158
|
}
|
|
1073
1159
|
|
|
1074
1160
|
exports.fetchAppPackage = async ctx => {
|
|
1075
|
-
const db =
|
|
1161
|
+
const db = getAppDB()
|
|
1076
1162
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1077
|
-
const layouts = await getLayouts(
|
|
1078
|
-
let screens = await getScreens(
|
|
1163
|
+
const layouts = await getLayouts()
|
|
1164
|
+
let screens = await getScreens()
|
|
1079
1165
|
|
|
1080
1166
|
// Only filter screens if the user is not a builder
|
|
1081
1167
|
if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
1082
1168
|
const userRoleId = getUserRoleId(ctx)
|
|
1083
|
-
const accessController = new AccessController(
|
|
1169
|
+
const accessController = new AccessController()
|
|
1084
1170
|
screens = await accessController.checkScreensAccess(screens, userRoleId)
|
|
1085
1171
|
}
|
|
1086
1172
|
|
|
@@ -1093,6 +1179,12 @@ exports.fetchAppPackage = async ctx => {
|
|
|
1093
1179
|
}
|
|
1094
1180
|
|
|
1095
1181
|
exports.create = async ctx => {
|
|
1182
|
+
const apps = await getAllApps({ dev: true })
|
|
1183
|
+
const name = ctx.request.body.name
|
|
1184
|
+
checkAppName(ctx, apps, name)
|
|
1185
|
+
const url = exports.getAppUrl(ctx)
|
|
1186
|
+
checkAppUrl(ctx, apps, url)
|
|
1187
|
+
|
|
1096
1188
|
const { useTemplate, templateKey, templateString } = ctx.request.body
|
|
1097
1189
|
const instanceConfig = {
|
|
1098
1190
|
useTemplate,
|
|
@@ -1105,8 +1197,7 @@ exports.create = async ctx => {
|
|
|
1105
1197
|
const instance = await createInstance(instanceConfig)
|
|
1106
1198
|
const appId = instance._id
|
|
1107
1199
|
|
|
1108
|
-
const
|
|
1109
|
-
const db = new CouchDB(appId)
|
|
1200
|
+
const db = getAppDB()
|
|
1110
1201
|
let _rev
|
|
1111
1202
|
try {
|
|
1112
1203
|
// if template there will be an existing doc
|
|
@@ -1122,7 +1213,7 @@ exports.create = async ctx => {
|
|
|
1122
1213
|
type: "app",
|
|
1123
1214
|
version: packageJson.version,
|
|
1124
1215
|
componentLibraries: ["@budibase/standard-components"],
|
|
1125
|
-
name:
|
|
1216
|
+
name: name,
|
|
1126
1217
|
url: url,
|
|
1127
1218
|
template: ctx.request.body.template,
|
|
1128
1219
|
instance: instance,
|
|
@@ -1149,15 +1240,29 @@ exports.create = async ctx => {
|
|
|
1149
1240
|
ctx.body = newApplication
|
|
1150
1241
|
}
|
|
1151
1242
|
|
|
1243
|
+
// This endpoint currently operates as a PATCH rather than a PUT
|
|
1244
|
+
// Thus name and url fields are handled only if present
|
|
1152
1245
|
exports.update = async ctx => {
|
|
1153
|
-
const
|
|
1246
|
+
const apps = await getAllApps({ dev: true })
|
|
1247
|
+
// validation
|
|
1248
|
+
const name = ctx.request.body.name
|
|
1249
|
+
if (name) {
|
|
1250
|
+
checkAppName(ctx, apps, name, ctx.params.appId)
|
|
1251
|
+
}
|
|
1252
|
+
const url = await exports.getAppUrl(ctx)
|
|
1253
|
+
if (url) {
|
|
1254
|
+
checkAppUrl(ctx, apps, url, ctx.params.appId)
|
|
1255
|
+
ctx.request.body.url = url
|
|
1256
|
+
}
|
|
1257
|
+
|
|
1258
|
+
const data = await updateAppPackage(ctx.request.body, ctx.params.appId)
|
|
1154
1259
|
ctx.status = 200
|
|
1155
1260
|
ctx.body = data
|
|
1156
1261
|
}
|
|
1157
1262
|
|
|
1158
1263
|
exports.updateClient = async ctx => {
|
|
1159
1264
|
// Get current app version
|
|
1160
|
-
const db =
|
|
1265
|
+
const db = getAppDB()
|
|
1161
1266
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1162
1267
|
const currentVersion = application.version
|
|
1163
1268
|
|
|
@@ -1172,14 +1277,14 @@ exports.updateClient = async ctx => {
|
|
|
1172
1277
|
version: packageJson.version,
|
|
1173
1278
|
revertableVersion: currentVersion,
|
|
1174
1279
|
}
|
|
1175
|
-
const data = await updateAppPackage(
|
|
1280
|
+
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1176
1281
|
ctx.status = 200
|
|
1177
1282
|
ctx.body = data
|
|
1178
1283
|
}
|
|
1179
1284
|
|
|
1180
1285
|
exports.revertClient = async ctx => {
|
|
1181
1286
|
// Check app can be reverted
|
|
1182
|
-
const db =
|
|
1287
|
+
const db = getAppDB()
|
|
1183
1288
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1184
1289
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!application.revertableVersion) {
|
|
1185
1290
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "There is no version to revert to")</span>
|
|
@@ -1195,13 +1300,13 @@ exports.revertClient = async ctx => {
|
|
|
1195
1300
|
version: application.revertableVersion,
|
|
1196
1301
|
revertableVersion: null,
|
|
1197
1302
|
}
|
|
1198
|
-
const data = await updateAppPackage(
|
|
1303
|
+
const data = await updateAppPackage(appPackageUpdates, ctx.params.appId)
|
|
1199
1304
|
ctx.status = 200
|
|
1200
1305
|
ctx.body = data
|
|
1201
1306
|
}
|
|
1202
1307
|
|
|
1203
1308
|
exports.delete = async ctx => {
|
|
1204
|
-
const db =
|
|
1309
|
+
const db = getAppDB()
|
|
1205
1310
|
|
|
1206
1311
|
const result = await db.destroy()
|
|
1207
1312
|
/* istanbul ignore next */
|
|
@@ -1226,10 +1331,11 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1226
1331
|
}
|
|
1227
1332
|
|
|
1228
1333
|
// replicate prod to dev
|
|
1229
|
-
const prodAppId = <span class="cstat-no" title="statement not covered" >
|
|
1334
|
+
const prodAppId = <span class="cstat-no" title="statement not covered" >getProdAppID(appId)</span>
|
|
1230
1335
|
|
|
1231
1336
|
<span class="cstat-no" title="statement not covered" > try {</span>
|
|
1232
|
-
|
|
1337
|
+
// specific case, want to make sure setup is skipped
|
|
1338
|
+
const prodDb = <span class="cstat-no" title="statement not covered" >getProdAppDB({ skip_setup: true })</span>
|
|
1233
1339
|
const info = <span class="cstat-no" title="statement not covered" >await prodDb.info()</span>
|
|
1234
1340
|
<span class="cstat-no" title="statement not covered" > if (info.error) <span class="cstat-no" title="statement not covered" >throw info.error</span></span>
|
|
1235
1341
|
} catch (err) {
|
|
@@ -1257,7 +1363,7 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1257
1363
|
}
|
|
1258
1364
|
|
|
1259
1365
|
// sync the users
|
|
1260
|
-
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers(
|
|
1366
|
+
<span class="cstat-no" title="statement not covered" > await syncGlobalUsers()</span>
|
|
1261
1367
|
|
|
1262
1368
|
<span class="cstat-no" title="statement not covered" > if (error) {</span>
|
|
1263
1369
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, error)</span>
|
|
@@ -1268,12 +1374,11 @@ exports.sync = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
1268
1374
|
}
|
|
1269
1375
|
}
|
|
1270
1376
|
|
|
1271
|
-
const updateAppPackage = async (
|
|
1272
|
-
const
|
|
1273
|
-
const db = new CouchDB(appId)
|
|
1377
|
+
const updateAppPackage = async (appPackage, appId) => {
|
|
1378
|
+
const db = getAppDB()
|
|
1274
1379
|
const application = await db.get(DocumentTypes.APP_METADATA)
|
|
1275
1380
|
|
|
1276
|
-
const newAppPackage = { ...application, ...appPackage
|
|
1381
|
+
const newAppPackage = { ...application, ...appPackage }
|
|
1277
1382
|
if (appPackage._rev !== application._rev) {
|
|
1278
1383
|
newAppPackage._rev = application._rev
|
|
1279
1384
|
}
|
|
@@ -1289,7 +1394,7 @@ const updateAppPackage = async (ctx, appPackage, appId) => {
|
|
|
1289
1394
|
}
|
|
1290
1395
|
|
|
1291
1396
|
const createEmptyAppPackage = async (ctx, app) => {
|
|
1292
|
-
const db =
|
|
1397
|
+
const db = getAppDB()
|
|
1293
1398
|
|
|
1294
1399
|
let screensAndLayouts = []
|
|
1295
1400
|
for (let layout of BASE_LAYOUTS) {
|
|
@@ -1306,7 +1411,7 @@ const createEmptyAppPackage = async (ctx, app) => {
|
|
|
1306
1411
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1307
1412
|
Code coverage generated by
|
|
1308
1413
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1309
|
-
at
|
|
1414
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
1310
1415
|
</div>
|
|
1311
1416
|
</div>
|
|
1312
1417
|
<script src="../../prettify.js"></script>
|