@budibase/server 2.2.25 → 2.2.27-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/Dockerfile +1 -1
- package/__mocks__/aws-sdk.ts +19 -0
- package/__mocks__/node-fetch.ts +80 -0
- package/builder/assets/{bb-emblem.4e4717da.svg → bb-emblem.05f7ae7a.svg} +1 -1
- package/builder/assets/bg.29e85dd5.png +0 -0
- package/builder/assets/bulgaria.bd68393d.png +0 -0
- package/builder/assets/covanta.72c46c1e.png +0 -0
- package/builder/assets/index.3dd03883.css +6 -0
- package/builder/assets/index.f9b8b175.js +1802 -0
- package/builder/assets/schnellecke.cf1837a8.png +0 -0
- package/builder/index.html +3 -3
- package/coverage/clover.xml +6618 -6528
- package/coverage/coverage-final.json +282 -276
- package/coverage/lcov-report/index.html +489 -444
- package/coverage/lcov-report/src/api/controllers/analytics.ts.html +9 -9
- package/coverage/lcov-report/src/api/controllers/apikeys.ts.html +6 -6
- package/coverage/lcov-report/src/api/controllers/application.ts.html +362 -266
- package/coverage/lcov-report/src/api/controllers/auth.ts.html +12 -12
- package/coverage/lcov-report/src/api/controllers/automation.ts.html +61 -61
- package/coverage/lcov-report/src/api/controllers/backup.ts.html +8 -8
- package/coverage/lcov-report/src/api/controllers/cloud.ts.html +93 -81
- package/coverage/lcov-report/src/api/controllers/component.ts.html +12 -12
- package/coverage/lcov-report/src/api/controllers/datasource.ts.html +122 -98
- package/coverage/lcov-report/src/api/controllers/deploy/Deployment.ts.html +21 -18
- package/coverage/lcov-report/src/api/controllers/deploy/index.html +21 -21
- package/coverage/lcov-report/src/api/controllers/deploy/index.ts.html +142 -196
- package/coverage/lcov-report/src/api/controllers/dev.ts.html +28 -28
- package/coverage/lcov-report/src/api/controllers/index.html +115 -115
- package/coverage/lcov-report/src/api/controllers/integration.ts.html +5 -5
- package/coverage/lcov-report/src/api/controllers/layout.ts.html +9 -9
- package/coverage/lcov-report/src/api/controllers/metadata.ts.html +11 -11
- package/coverage/lcov-report/src/api/controllers/migrations.ts.html +6 -6
- package/coverage/lcov-report/src/api/controllers/permission.ts.html +14 -14
- package/coverage/lcov-report/src/api/controllers/plugin/file.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/plugin/github.ts.html +62 -62
- package/coverage/lcov-report/src/api/controllers/plugin/index.html +72 -72
- package/coverage/lcov-report/src/api/controllers/plugin/index.ts.html +150 -135
- package/coverage/lcov-report/src/api/controllers/plugin/npm.ts.html +56 -56
- package/coverage/lcov-report/src/api/controllers/plugin/uploaders.ts.html +11 -11
- package/coverage/lcov-report/src/api/controllers/plugin/url.ts.html +18 -18
- package/coverage/lcov-report/src/api/controllers/plugin/utils.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/public/applications.ts.html +75 -24
- package/coverage/lcov-report/src/api/controllers/public/index.html +58 -58
- package/coverage/lcov-report/src/api/controllers/public/mapping/applications.ts.html +7 -7
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.html +25 -25
- package/coverage/lcov-report/src/api/controllers/public/mapping/index.ts.html +9 -9
- package/coverage/lcov-report/src/api/controllers/public/mapping/queries.ts.html +8 -8
- package/coverage/lcov-report/src/api/controllers/public/mapping/rows.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/public/mapping/tables.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/public/mapping/users.ts.html +4 -4
- package/coverage/lcov-report/src/api/controllers/public/queries.ts.html +15 -15
- package/coverage/lcov-report/src/api/controllers/public/rows.ts.html +21 -21
- package/coverage/lcov-report/src/api/controllers/public/tables.ts.html +21 -21
- package/coverage/lcov-report/src/api/controllers/public/users.ts.html +27 -27
- package/coverage/lcov-report/src/api/controllers/public/utils.ts.html +8 -8
- package/coverage/lcov-report/src/api/controllers/query/import/index.html +8 -8
- package/coverage/lcov-report/src/api/controllers/query/import/index.ts.html +11 -11
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.html +14 -14
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/index.ts.html +14 -14
- package/coverage/lcov-report/src/api/controllers/query/import/sources/base/openapi.ts.html +8 -8
- package/coverage/lcov-report/src/api/controllers/query/import/sources/curl.ts.html +12 -12
- package/coverage/lcov-report/src/api/controllers/query/import/sources/index.html +23 -23
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi2.ts.html +16 -16
- package/coverage/lcov-report/src/api/controllers/query/import/sources/openapi3.ts.html +20 -20
- package/coverage/lcov-report/src/api/controllers/query/index.html +20 -20
- package/coverage/lcov-report/src/api/controllers/query/index.ts.html +131 -107
- package/coverage/lcov-report/src/api/controllers/query/validation.ts.html +11 -11
- package/coverage/lcov-report/src/api/controllers/role.ts.html +9 -9
- package/coverage/lcov-report/src/api/controllers/routing.ts.html +10 -10
- package/coverage/lcov-report/src/api/controllers/row/ExternalRequest.ts.html +56 -41
- package/coverage/lcov-report/src/api/controllers/row/external.ts.html +87 -57
- package/coverage/lcov-report/src/api/controllers/row/index.html +66 -66
- package/coverage/lcov-report/src/api/controllers/row/index.ts.html +37 -37
- package/coverage/lcov-report/src/api/controllers/row/internal.ts.html +181 -106
- package/coverage/lcov-report/src/api/controllers/row/internalSearch.ts.html +146 -146
- package/coverage/lcov-report/src/api/controllers/row/staticFormula.ts.html +44 -35
- package/coverage/lcov-report/src/api/controllers/row/utils.ts.html +156 -39
- package/coverage/lcov-report/src/api/controllers/screen.ts.html +31 -31
- package/coverage/lcov-report/src/api/controllers/script.ts.html +19 -19
- package/coverage/lcov-report/src/api/controllers/static/index.html +18 -18
- package/coverage/lcov-report/src/api/controllers/static/index.ts.html +56 -71
- package/coverage/lcov-report/src/api/controllers/table/bulkFormula.ts.html +60 -60
- package/coverage/lcov-report/src/api/controllers/table/external.ts.html +56 -50
- package/coverage/lcov-report/src/api/controllers/table/index.html +48 -48
- package/coverage/lcov-report/src/api/controllers/table/index.ts.html +157 -70
- package/coverage/lcov-report/src/api/controllers/table/internal.ts.html +58 -61
- package/coverage/lcov-report/src/api/controllers/table/utils.ts.html +109 -112
- package/coverage/lcov-report/src/api/controllers/templates.ts.html +21 -21
- package/coverage/lcov-report/src/api/controllers/user.ts.html +159 -135
- package/coverage/lcov-report/src/api/controllers/view/exporters.ts.html +64 -19
- package/coverage/lcov-report/src/api/controllers/view/index.html +38 -38
- package/coverage/lcov-report/src/api/controllers/view/index.ts.html +97 -133
- package/coverage/lcov-report/src/api/controllers/view/utils.ts.html +31 -31
- package/coverage/lcov-report/src/api/controllers/view/viewBuilder.ts.html +37 -37
- package/coverage/lcov-report/src/api/controllers/webhook.ts.html +69 -63
- package/coverage/lcov-report/src/api/index.html +15 -15
- package/coverage/lcov-report/src/api/index.ts.html +40 -40
- package/coverage/lcov-report/src/api/routes/analytics.ts.html +10 -10
- package/coverage/lcov-report/src/api/routes/apikeys.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/application.ts.html +46 -13
- package/coverage/lcov-report/src/api/routes/auth.ts.html +9 -9
- package/coverage/lcov-report/src/api/routes/automation.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/backup.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/cloud.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/component.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/datasource.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/deploy.ts.html +11 -14
- package/coverage/lcov-report/src/api/routes/dev.ts.html +17 -17
- package/coverage/lcov-report/src/api/routes/index.html +68 -68
- package/coverage/lcov-report/src/api/routes/index.ts.html +49 -40
- package/coverage/lcov-report/src/api/routes/integration.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/layout.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/metadata.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/migrations.ts.html +10 -10
- package/coverage/lcov-report/src/api/routes/permission.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/plugin.ts.html +10 -10
- package/coverage/lcov-report/src/api/routes/public/applications.ts.html +147 -15
- package/coverage/lcov-report/src/api/routes/public/index.html +27 -27
- package/coverage/lcov-report/src/api/routes/public/index.ts.html +60 -60
- package/coverage/lcov-report/src/api/routes/public/middleware/index.html +15 -15
- package/coverage/lcov-report/src/api/routes/public/middleware/mapper.ts.html +28 -16
- package/coverage/lcov-report/src/api/routes/public/queries.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/public/rows.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/public/tables.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/public/tests/index.html +7 -7
- package/coverage/lcov-report/src/api/routes/public/tests/utils.ts.html +5 -5
- package/coverage/lcov-report/src/api/routes/public/users.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/public/utils/Endpoint.ts.html +21 -21
- package/coverage/lcov-report/src/api/routes/public/utils/index.html +5 -5
- package/coverage/lcov-report/src/api/routes/query.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/role.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/routing.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/row.ts.html +14 -14
- package/coverage/lcov-report/src/api/routes/screen.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/script.ts.html +13 -13
- package/coverage/lcov-report/src/api/routes/static.ts.html +18 -18
- package/coverage/lcov-report/src/api/routes/table.ts.html +29 -98
- package/coverage/lcov-report/src/api/routes/templates.ts.html +11 -11
- package/coverage/lcov-report/src/api/routes/tests/utilities/TestFunctions.ts.html +27 -27
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.html +23 -23
- package/coverage/lcov-report/src/api/routes/tests/utilities/index.ts.html +33 -33
- package/coverage/lcov-report/src/api/routes/user.ts.html +12 -12
- package/coverage/lcov-report/src/api/routes/utils/index.html +3 -3
- package/coverage/lcov-report/src/api/routes/utils/validators.ts.html +44 -44
- package/coverage/lcov-report/src/api/routes/view.ts.html +13 -13
- package/coverage/lcov-report/src/api/routes/webhook.ts.html +13 -13
- package/coverage/lcov-report/src/app.ts.html +53 -47
- package/coverage/lcov-report/src/automations/actions.ts.html +31 -31
- package/coverage/lcov-report/src/automations/automationUtils.ts.html +127 -55
- package/coverage/lcov-report/src/automations/bullboard.ts.html +19 -19
- package/coverage/lcov-report/src/automations/index.html +54 -54
- package/coverage/lcov-report/src/automations/index.ts.html +23 -23
- package/coverage/lcov-report/src/automations/logging/index.html +3 -3
- package/coverage/lcov-report/src/automations/logging/index.ts.html +15 -15
- package/coverage/lcov-report/src/automations/steps/bash.ts.html +34 -34
- package/coverage/lcov-report/src/automations/steps/createRow.ts.html +9 -9
- package/coverage/lcov-report/src/automations/steps/delay.ts.html +7 -7
- package/coverage/lcov-report/src/automations/steps/deleteRow.ts.html +9 -9
- package/coverage/lcov-report/src/automations/steps/discord.ts.html +33 -33
- package/coverage/lcov-report/src/automations/steps/executeQuery.ts.html +35 -35
- package/coverage/lcov-report/src/automations/steps/executeScript.ts.html +31 -31
- package/coverage/lcov-report/src/automations/steps/filter.ts.html +12 -12
- package/coverage/lcov-report/src/automations/steps/index.html +129 -129
- package/coverage/lcov-report/src/automations/steps/integromat.ts.html +10 -10
- package/coverage/lcov-report/src/automations/steps/loop.ts.html +5 -5
- package/coverage/lcov-report/src/automations/steps/outgoingWebhook.ts.html +19 -19
- package/coverage/lcov-report/src/automations/steps/queryRows.ts.html +43 -43
- package/coverage/lcov-report/src/automations/steps/sendSmtpEmail.ts.html +28 -28
- package/coverage/lcov-report/src/automations/steps/serverLog.ts.html +19 -19
- package/coverage/lcov-report/src/automations/steps/slack.ts.html +10 -10
- package/coverage/lcov-report/src/automations/steps/updateRow.ts.html +12 -12
- package/coverage/lcov-report/src/automations/steps/utils.ts.html +18 -18
- package/coverage/lcov-report/src/automations/steps/zapier.ts.html +22 -22
- package/coverage/lcov-report/src/automations/tests/utilities/index.html +15 -15
- package/coverage/lcov-report/src/automations/tests/utilities/index.ts.html +32 -32
- package/coverage/lcov-report/src/automations/triggerInfo/app.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggerInfo/cron.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggerInfo/index.html +17 -17
- package/coverage/lcov-report/src/automations/triggerInfo/index.ts.html +10 -10
- package/coverage/lcov-report/src/automations/triggerInfo/rowDeleted.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggerInfo/rowSaved.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggerInfo/rowUpdated.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggerInfo/webhook.ts.html +6 -6
- package/coverage/lcov-report/src/automations/triggers.ts.html +53 -38
- package/coverage/lcov-report/src/automations/utils.ts.html +80 -80
- package/coverage/lcov-report/src/constants/index.html +19 -19
- package/coverage/lcov-report/src/constants/index.ts.html +103 -103
- package/coverage/lcov-report/src/constants/layouts.ts.html +9 -9
- package/coverage/lcov-report/src/constants/screens.ts.html +5 -5
- package/coverage/lcov-report/src/db/defaultData/datasource_bb_default.ts.html +45 -45
- package/coverage/lcov-report/src/db/defaultData/employeeImport.ts.html +8 -8
- package/coverage/lcov-report/src/db/defaultData/expensesImport.ts.html +8 -8
- package/coverage/lcov-report/src/db/defaultData/index.html +43 -43
- package/coverage/lcov-report/src/db/defaultData/inventoryImport.ts.html +8 -8
- package/coverage/lcov-report/src/db/defaultData/jobsImport.ts.html +8 -8
- package/coverage/lcov-report/src/db/dynamoClient.ts.html +26 -26
- package/coverage/lcov-report/src/db/inMemoryView.ts.html +13 -13
- package/coverage/lcov-report/src/db/index.html +34 -34
- package/coverage/lcov-report/src/db/index.ts.html +10 -10
- package/coverage/lcov-report/src/db/linkedRows/LinkController.ts.html +38 -38
- package/coverage/lcov-report/src/db/linkedRows/LinkDocument.ts.html +7 -7
- package/coverage/lcov-report/src/db/linkedRows/index.html +37 -37
- package/coverage/lcov-report/src/db/linkedRows/index.ts.html +40 -40
- package/coverage/lcov-report/src/db/linkedRows/linkUtils.ts.html +25 -25
- package/coverage/lcov-report/src/db/newid.ts.html +5 -5
- package/coverage/lcov-report/src/db/utils.ts.html +90 -90
- package/coverage/lcov-report/src/definitions/automations.ts.html +9 -6
- package/coverage/lcov-report/src/definitions/index.html +5 -20
- package/coverage/lcov-report/src/environment.ts.html +44 -32
- package/coverage/lcov-report/src/events/AutomationEmitter.ts.html +14 -14
- package/coverage/lcov-report/src/events/BudibaseEmitter.ts.html +8 -8
- package/coverage/lcov-report/src/events/index.html +20 -20
- package/coverage/lcov-report/src/events/index.ts.html +7 -7
- package/coverage/lcov-report/src/events/utils.ts.html +11 -11
- package/coverage/lcov-report/src/index.html +47 -47
- package/coverage/lcov-report/src/index.ts.html +8 -8
- package/coverage/lcov-report/src/integrations/airtable.ts.html +10 -10
- package/coverage/lcov-report/src/integrations/arangodb.ts.html +9 -9
- package/coverage/lcov-report/src/integrations/base/index.html +29 -29
- package/coverage/lcov-report/src/integrations/base/query.ts.html +15 -9
- package/coverage/lcov-report/src/integrations/base/sql.ts.html +38 -38
- package/coverage/lcov-report/src/integrations/base/sqlTable.ts.html +23 -23
- package/coverage/lcov-report/src/integrations/base/utils.ts.html +5 -5
- package/coverage/lcov-report/src/integrations/couchdb.ts.html +109 -31
- package/coverage/lcov-report/src/integrations/dynamodb.ts.html +17 -17
- package/coverage/lcov-report/src/integrations/elasticsearch.ts.html +27 -15
- package/coverage/lcov-report/src/integrations/firebase.ts.html +12 -12
- package/coverage/lcov-report/src/integrations/googlesheets.ts.html +42 -42
- package/coverage/lcov-report/src/integrations/index.html +130 -130
- package/coverage/lcov-report/src/integrations/index.ts.html +50 -62
- package/coverage/lcov-report/src/integrations/microsoftSqlServer.ts.html +31 -31
- package/coverage/lcov-report/src/integrations/mongodb.ts.html +421 -289
- package/coverage/lcov-report/src/integrations/mysql.ts.html +28 -28
- package/coverage/lcov-report/src/integrations/oracle.ts.html +31 -31
- package/coverage/lcov-report/src/integrations/postgres.ts.html +54 -54
- package/coverage/lcov-report/src/integrations/queries/index.html +19 -19
- package/coverage/lcov-report/src/integrations/queries/sql.ts.html +24 -159
- package/coverage/lcov-report/src/integrations/redis.ts.html +8 -8
- package/coverage/lcov-report/src/integrations/rest.ts.html +43 -52
- package/coverage/lcov-report/src/integrations/s3.ts.html +17 -17
- package/coverage/lcov-report/src/integrations/snowflake.ts.html +15 -15
- package/coverage/lcov-report/src/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/src/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/src/integrations/utils.ts.html +54 -54
- package/coverage/lcov-report/src/middleware/appInfo.ts.html +11 -11
- package/coverage/lcov-report/src/middleware/authorized.ts.html +49 -37
- package/coverage/lcov-report/src/middleware/builder.ts.html +26 -26
- package/coverage/lcov-report/src/middleware/currentapp.ts.html +50 -47
- package/coverage/lcov-report/src/middleware/index.html +40 -40
- package/coverage/lcov-report/src/middleware/joi-validator.ts.html +10 -10
- package/coverage/lcov-report/src/middleware/publicApi.ts.html +9 -9
- package/coverage/lcov-report/src/middleware/resourceId.ts.html +23 -23
- package/coverage/lcov-report/src/middleware/selfhost.ts.html +2 -2
- package/coverage/lcov-report/src/middleware/utils.ts.html +4 -4
- package/coverage/lcov-report/src/migrations/functions/appUrls.ts.html +6 -6
- package/coverage/lcov-report/src/migrations/functions/backfill/app/automations.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/backfill/app/datasources.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/backfill/app/index.html +31 -31
- package/coverage/lcov-report/src/migrations/functions/backfill/app/layouts.ts.html +8 -8
- package/coverage/lcov-report/src/migrations/functions/backfill/app/queries.ts.html +13 -13
- package/coverage/lcov-report/src/migrations/functions/backfill/app/roles.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/backfill/app/screens.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/backfill/app/tables.ts.html +8 -8
- package/coverage/lcov-report/src/migrations/functions/backfill/app.ts.html +21 -21
- package/coverage/lcov-report/src/migrations/functions/backfill/global/configs.ts.html +17 -14
- package/coverage/lcov-report/src/migrations/functions/backfill/global/index.html +19 -19
- package/coverage/lcov-report/src/migrations/functions/backfill/global/quotas.ts.html +9 -9
- package/coverage/lcov-report/src/migrations/functions/backfill/global/users.ts.html +13 -13
- package/coverage/lcov-report/src/migrations/functions/backfill/global.ts.html +23 -23
- package/coverage/lcov-report/src/migrations/functions/backfill/index.html +26 -26
- package/coverage/lcov-report/src/migrations/functions/backfill/index.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/backfill/installation.ts.html +14 -14
- package/coverage/lcov-report/src/migrations/functions/index.html +18 -18
- package/coverage/lcov-report/src/migrations/functions/syncQuotas.ts.html +8 -8
- package/coverage/lcov-report/src/migrations/functions/tableSettings.ts.html +11 -11
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.html +11 -11
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/index.ts.html +3 -3
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncApps.ts.html +6 -6
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncPlugins.ts.html +8 -8
- package/coverage/lcov-report/src/migrations/functions/usageQuotas/syncRows.ts.html +7 -7
- package/coverage/lcov-report/src/migrations/functions/userEmailViewCasing.ts.html +4 -4
- package/coverage/lcov-report/src/migrations/index.html +15 -15
- package/coverage/lcov-report/src/migrations/index.ts.html +43 -43
- package/coverage/lcov-report/src/migrations/tests/helpers.ts.html +4 -4
- package/coverage/lcov-report/src/migrations/tests/index.html +6 -6
- package/coverage/lcov-report/src/migrations/tests/structures.ts.html +3 -3
- package/coverage/lcov-report/src/sdk/app/applications/index.html +20 -20
- package/coverage/lcov-report/src/sdk/app/applications/index.ts.html +6 -6
- package/coverage/lcov-report/src/sdk/app/applications/sync.ts.html +34 -34
- package/coverage/lcov-report/src/sdk/app/applications/utils.ts.html +15 -15
- package/coverage/lcov-report/src/sdk/app/automations/index.html +7 -7
- package/coverage/lcov-report/src/sdk/app/automations/index.ts.html +5 -5
- package/coverage/lcov-report/src/sdk/app/automations/webhook.ts.html +8 -8
- package/coverage/lcov-report/src/sdk/app/backups/constants.ts.html +5 -5
- package/coverage/lcov-report/src/sdk/app/backups/exports.ts.html +30 -30
- package/coverage/lcov-report/src/sdk/app/backups/imports.ts.html +45 -57
- package/coverage/lcov-report/src/sdk/app/backups/index.html +42 -42
- package/coverage/lcov-report/src/sdk/app/backups/index.ts.html +7 -7
- package/coverage/lcov-report/src/sdk/app/backups/statistics.ts.html +73 -73
- package/coverage/lcov-report/src/sdk/app/datasources/datasources.ts.html +493 -0
- package/coverage/lcov-report/src/sdk/app/datasources/index.html +131 -0
- package/coverage/lcov-report/src/sdk/app/datasources/index.ts.html +100 -0
- package/coverage/lcov-report/src/sdk/app/queries/index.html +131 -0
- package/coverage/lcov-report/src/{utilities/statusCodes.ts.html → sdk/app/queries/index.ts.html} +22 -28
- package/coverage/lcov-report/src/{definitions/datasource.ts.html → sdk/app/queries/queries.ts.html} +82 -82
- package/coverage/lcov-report/src/sdk/app/rows/attachments.ts.html +8 -8
- package/coverage/lcov-report/src/sdk/app/rows/index.html +8 -8
- package/coverage/lcov-report/src/sdk/app/rows/index.ts.html +6 -6
- package/coverage/lcov-report/src/sdk/app/rows/rows.ts.html +4 -4
- package/coverage/lcov-report/src/sdk/app/tables/index.html +15 -15
- package/coverage/lcov-report/src/sdk/app/tables/index.ts.html +29 -20
- package/coverage/lcov-report/src/sdk/index.html +7 -7
- package/coverage/lcov-report/src/sdk/index.ts.html +24 -12
- package/coverage/lcov-report/src/sdk/users/index.html +10 -10
- package/coverage/lcov-report/src/sdk/users/index.ts.html +5 -5
- package/coverage/lcov-report/src/sdk/users/utils.ts.html +35 -35
- package/coverage/lcov-report/src/sdk/utils/index.html +116 -0
- package/coverage/lcov-report/src/sdk/utils/index.ts.html +133 -0
- package/coverage/lcov-report/src/startup.ts.html +48 -63
- package/coverage/lcov-report/src/tests/utilities/TestConfiguration.ts.html +218 -152
- package/coverage/lcov-report/src/tests/utilities/controllers.ts.html +20 -20
- package/coverage/lcov-report/src/tests/utilities/index.html +33 -33
- package/coverage/lcov-report/src/tests/utilities/index.ts.html +2 -2
- package/coverage/lcov-report/src/tests/utilities/structures.ts.html +235 -46
- package/coverage/lcov-report/src/threads/automation.ts.html +212 -251
- package/coverage/lcov-report/src/threads/index.html +46 -46
- package/coverage/lcov-report/src/threads/index.ts.html +39 -39
- package/coverage/lcov-report/src/threads/query.ts.html +140 -101
- package/coverage/lcov-report/src/threads/utils.ts.html +29 -29
- package/coverage/lcov-report/src/utilities/budibaseDir.ts.html +5 -5
- package/coverage/lcov-report/src/utilities/centralPath.ts.html +11 -11
- package/coverage/lcov-report/src/utilities/fileSystem/app.ts.html +343 -0
- package/coverage/lcov-report/src/utilities/fileSystem/clientLibrary.ts.html +20 -20
- package/coverage/lcov-report/src/utilities/fileSystem/filesystem.ts.html +601 -0
- package/coverage/lcov-report/src/utilities/fileSystem/index.html +88 -28
- package/coverage/lcov-report/src/utilities/fileSystem/index.ts.html +20 -1049
- package/coverage/lcov-report/src/utilities/fileSystem/plugin.ts.html +277 -0
- package/coverage/lcov-report/src/utilities/fileSystem/processor.ts.html +9 -9
- package/coverage/lcov-report/src/utilities/fileSystem/template.ts.html +193 -0
- package/coverage/lcov-report/src/utilities/global.ts.html +60 -60
- package/coverage/lcov-report/src/utilities/index.html +89 -119
- package/coverage/lcov-report/src/utilities/index.ts.html +40 -172
- package/coverage/lcov-report/src/utilities/redis.ts.html +38 -38
- package/coverage/lcov-report/src/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/src/utilities/routing/index.ts.html +5 -5
- package/coverage/lcov-report/src/utilities/rowProcessor/index.html +34 -34
- package/coverage/lcov-report/src/utilities/rowProcessor/index.ts.html +102 -75
- package/coverage/lcov-report/src/utilities/rowProcessor/map.ts.html +9 -9
- package/coverage/lcov-report/src/utilities/rowProcessor/utils.ts.html +54 -54
- package/coverage/lcov-report/src/utilities/{csvParser.ts.html → schema.ts.html} +174 -234
- package/coverage/lcov-report/src/utilities/scriptRunner.ts.html +33 -33
- package/coverage/lcov-report/src/utilities/security.ts.html +13 -13
- package/coverage/lcov-report/src/utilities/usageQuota/index.html +9 -9
- package/coverage/lcov-report/src/utilities/usageQuota/rows.ts.html +38 -38
- package/coverage/lcov-report/src/utilities/usageQuota/usageQuoteReset.ts.html +3 -3
- package/coverage/lcov-report/src/utilities/users.ts.html +7 -7
- package/coverage/lcov-report/src/utilities/workerRequests.ts.html +89 -62
- package/coverage/lcov-report/src/watch.ts.html +20 -20
- package/coverage/lcov-report/src/websocket.ts.html +15 -15
- package/coverage/lcov.info +13499 -12800
- package/dist/api/controllers/application.js +120 -109
- package/dist/api/controllers/cloud.js +6 -2
- package/dist/api/controllers/datasource.js +24 -15
- package/dist/api/controllers/deploy/index.js +43 -60
- package/dist/api/controllers/plugin/index.js +6 -6
- package/dist/api/controllers/public/applications.js +22 -1
- package/dist/api/controllers/query/index.js +23 -13
- package/dist/api/controllers/row/ExternalRequest.js +12 -4
- package/dist/api/controllers/row/external.js +20 -13
- package/dist/api/controllers/row/internal.js +52 -27
- package/dist/api/controllers/row/staticFormula.js +1 -1
- package/dist/api/controllers/row/utils.js +35 -3
- package/dist/api/controllers/static/index.js +47 -47
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -1
- package/dist/api/controllers/table/external.js +16 -35
- package/dist/api/controllers/table/index.js +44 -15
- package/dist/api/controllers/table/internal.js +6 -7
- package/dist/api/controllers/table/utils.js +9 -9
- package/dist/api/controllers/user.js +14 -6
- package/dist/api/controllers/view/exporters.js +22 -6
- package/dist/api/controllers/view/index.js +23 -58
- package/dist/api/controllers/view/viewBuilder.js +15 -2
- package/dist/api/controllers/webhook.js +45 -43
- package/dist/api/routes/analytics.js +2 -1
- package/dist/api/routes/apikeys.js +2 -1
- package/dist/api/routes/application.js +5 -1
- package/dist/api/routes/auth.js +2 -1
- package/dist/api/routes/automation.js +2 -1
- package/dist/api/routes/backup.js +2 -1
- package/dist/api/routes/cloud.js +2 -1
- package/dist/api/routes/component.js +2 -1
- package/dist/api/routes/datasource.js +2 -1
- package/dist/api/routes/deploy.js +3 -3
- package/dist/api/routes/dev.js +2 -1
- package/dist/api/routes/index.js +2 -0
- package/dist/api/routes/integration.js +2 -1
- package/dist/api/routes/layout.js +2 -1
- package/dist/api/routes/metadata.js +2 -1
- package/dist/api/routes/migrations.js +2 -1
- package/dist/api/routes/permission.js +2 -1
- package/dist/api/routes/public/applications.js +37 -0
- package/dist/api/routes/public/middleware/mapper.js +3 -0
- package/dist/api/routes/query.js +2 -1
- package/dist/api/routes/role.js +2 -1
- package/dist/api/routes/routing.js +2 -1
- package/dist/api/routes/row.js +2 -2
- package/dist/api/routes/screen.js +2 -1
- package/dist/api/routes/script.js +2 -1
- package/dist/api/routes/static.js +6 -5
- package/dist/api/routes/table.js +8 -38
- package/dist/api/routes/templates.js +2 -1
- package/dist/api/routes/user.js +2 -1
- package/dist/api/routes/utils/validators.js +1 -1
- package/dist/api/routes/view.js +2 -1
- package/dist/api/routes/webhook.js +2 -1
- package/dist/app.js +9 -7
- package/dist/automations/automationUtils.js +26 -1
- package/dist/automations/logging/index.js +5 -25
- package/dist/automations/triggers.js +1 -0
- package/dist/db/index.js +5 -2
- package/dist/db/linkedRows/LinkController.js +2 -1
- package/dist/db/linkedRows/LinkDocument.js +2 -1
- package/dist/db/newid.js +4 -2
- package/dist/definitions/datasource.js +0 -6
- package/dist/environment.js +7 -2
- package/dist/events/AutomationEmitter.js +2 -1
- package/dist/events/BudibaseEmitter.js +2 -1
- package/dist/events/index.js +2 -1
- package/dist/index.js +2 -2
- package/dist/integrations/base/query.js +7 -2
- package/dist/integrations/base/sqlTable.js +14 -14
- package/dist/integrations/couchdb.js +34 -8
- package/dist/integrations/dynamodb.js +8 -5
- package/dist/integrations/elasticsearch.js +7 -3
- package/dist/integrations/googlesheets.js +1 -1
- package/dist/integrations/index.js +6 -7
- package/dist/integrations/mongodb.js +311 -271
- package/dist/integrations/mysql.js +2 -2
- package/dist/integrations/queries/sql.js +73 -100
- package/dist/integrations/rest.js +16 -18
- package/dist/middleware/authorized.js +2 -1
- package/dist/middleware/builder.js +4 -2
- package/dist/middleware/currentapp.js +6 -3
- package/dist/middleware/publicApi.js +4 -2
- package/dist/middleware/selfhost.js +4 -1
- package/dist/migrations/functions/backfill/global/configs.js +4 -4
- package/dist/package.json +12 -8
- package/dist/sdk/app/backups/imports.js +2 -6
- package/dist/sdk/app/datasources/datasources.js +147 -0
- package/dist/sdk/app/datasources/index.js +27 -0
- package/dist/sdk/app/queries/index.js +27 -0
- package/dist/sdk/app/queries/queries.js +60 -0
- package/dist/sdk/app/tables/index.js +6 -2
- package/dist/sdk/index.js +4 -0
- package/dist/sdk/utils/index.js +29 -0
- package/dist/startup.js +17 -17
- package/dist/threads/automation.js +22 -35
- package/dist/threads/index.js +4 -4
- package/dist/threads/query.js +27 -13
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/app.js +97 -0
- package/dist/utilities/fileSystem/clientLibrary.js +3 -3
- package/dist/utilities/fileSystem/filesystem.js +184 -0
- package/dist/utilities/fileSystem/index.js +18 -342
- package/dist/utilities/fileSystem/plugin.js +66 -0
- package/dist/utilities/fileSystem/template.js +47 -0
- package/dist/utilities/index.js +1 -44
- package/dist/utilities/rowProcessor/index.js +12 -4
- package/dist/utilities/schema.js +108 -0
- package/dist/utilities/scriptRunner.js +2 -1
- package/dist/utilities/statusCodes.js +2 -1
- package/dist/utilities/workerRequests.js +2 -0
- package/dist/watch.js +2 -25
- package/jest.config.ts +5 -2
- package/package.json +13 -9
- package/scripts/dev/manage.js +3 -2
- package/specs/openapi.json +84 -0
- package/specs/openapi.yaml +53 -0
- package/specs/resources/application.js +19 -0
- package/src/api/controllers/application.ts +142 -110
- package/src/api/controllers/auth.ts +2 -2
- package/src/api/controllers/cloud.ts +10 -6
- package/src/api/controllers/datasource.ts +33 -25
- package/src/api/controllers/deploy/Deployment.ts +1 -0
- package/src/api/controllers/deploy/index.ts +40 -58
- package/src/api/controllers/plugin/index.ts +14 -9
- package/src/api/controllers/public/applications.ts +17 -0
- package/src/api/controllers/query/index.ts +49 -41
- package/src/api/controllers/row/ExternalRequest.ts +8 -3
- package/src/api/controllers/row/external.ts +24 -14
- package/src/api/controllers/row/internal.ts +66 -41
- package/src/api/controllers/row/staticFormula.ts +5 -2
- package/src/api/controllers/row/utils.ts +42 -3
- package/src/api/controllers/static/index.ts +22 -27
- package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -1
- package/src/api/controllers/table/external.ts +18 -16
- package/src/api/controllers/table/index.ts +46 -17
- package/src/api/controllers/table/internal.ts +6 -7
- package/src/api/controllers/table/utils.ts +12 -13
- package/src/api/controllers/user.ts +21 -13
- package/src/api/controllers/view/exporters.ts +20 -5
- package/src/api/controllers/view/index.ts +30 -42
- package/src/api/controllers/view/tests/viewBuilder.spec.js +1 -1
- package/src/api/controllers/view/viewBuilder.ts +1 -1
- package/src/api/controllers/webhook.ts +48 -46
- package/src/api/routes/analytics.ts +1 -1
- package/src/api/routes/apikeys.ts +1 -1
- package/src/api/routes/application.ts +12 -1
- package/src/api/routes/auth.ts +1 -1
- package/src/api/routes/automation.ts +1 -1
- package/src/api/routes/backup.ts +1 -1
- package/src/api/routes/cloud.ts +1 -1
- package/src/api/routes/component.ts +1 -1
- package/src/api/routes/datasource.ts +1 -1
- package/src/api/routes/deploy.ts +1 -2
- package/src/api/routes/dev.ts +1 -1
- package/src/api/routes/index.ts +6 -3
- package/src/api/routes/integration.ts +1 -1
- package/src/api/routes/layout.ts +1 -1
- package/src/api/routes/metadata.ts +1 -1
- package/src/api/routes/migrations.ts +1 -1
- package/src/api/routes/permission.ts +1 -1
- package/src/api/routes/public/applications.ts +44 -0
- package/src/api/routes/public/middleware/mapper.ts +4 -0
- package/src/api/routes/query.ts +1 -1
- package/src/api/routes/role.ts +1 -1
- package/src/api/routes/routing.ts +1 -1
- package/src/api/routes/row.ts +1 -1
- package/src/api/routes/screen.ts +1 -1
- package/src/api/routes/script.ts +1 -1
- package/src/api/routes/static.ts +2 -2
- package/src/api/routes/table.ts +16 -39
- package/src/api/routes/templates.ts +1 -1
- package/src/api/routes/tests/__snapshots__/{datasource.spec.js.snap → datasource.spec.ts.snap} +0 -0
- package/src/api/routes/tests/{application.spec.js → application.spec.ts} +94 -18
- package/src/api/routes/tests/{backup.spec.js → backup.spec.ts} +17 -6
- package/src/api/routes/tests/cloud.spec.ts +65 -0
- package/src/api/routes/tests/data/budibase-component-1.0.1.tgz +0 -0
- package/src/api/routes/tests/data/comment-box-1.0.2.tar.gz +0 -0
- package/src/api/routes/tests/data/export-test.tar.gz +0 -0
- package/src/api/routes/tests/{datasource.spec.js → datasource.spec.ts} +56 -14
- package/src/api/routes/tests/misc.spec.js +4 -10
- package/src/api/routes/tests/permissions.spec.js +1 -1
- package/src/api/routes/tests/plugin.spec.ts +179 -0
- package/src/api/routes/tests/routing.spec.js +1 -2
- package/src/api/routes/tests/row.spec.js +4 -2
- package/src/api/routes/tests/static.spec.js +2 -17
- package/src/api/routes/tests/table.spec.js +16 -32
- package/src/api/routes/tests/user.spec.js +105 -0
- package/src/api/routes/tests/utilities/TestFunctions.ts +1 -1
- package/src/api/routes/tests/utilities/index.ts +2 -2
- package/src/api/routes/tests/webhook.spec.js +1 -1
- package/src/api/routes/user.ts +1 -1
- package/src/api/routes/utils/validators.ts +1 -1
- package/src/api/routes/view.ts +1 -1
- package/src/api/routes/webhook.ts +1 -1
- package/src/app.ts +5 -3
- package/src/automations/automationUtils.ts +24 -0
- package/src/automations/logging/index.ts +1 -1
- package/src/automations/tests/bash.spec.js +34 -0
- package/src/automations/tests/discord.spec.js +27 -0
- package/src/automations/tests/executeQuery.spec.js +49 -0
- package/src/automations/tests/executeScript.spec.js +48 -0
- package/src/automations/tests/loop.spec.ts +45 -0
- package/src/automations/tests/sendSmtpEmail.spec.js +71 -0
- package/src/automations/tests/serverLog.spec.js +22 -0
- package/src/automations/tests/utilities/index.ts +2 -2
- package/src/automations/tests/zapier.spec.js +27 -0
- package/src/automations/triggers.ts +6 -1
- package/src/automations/unitTests/automationUtils.spec.ts +65 -0
- package/src/db/index.ts +1 -1
- package/src/db/linkedRows/LinkController.ts +1 -1
- package/src/db/linkedRows/LinkDocument.ts +1 -1
- package/src/db/newid.ts +1 -1
- package/src/db/tests/linkController.spec.js +1 -1
- package/src/definitions/automations.ts +1 -0
- package/src/definitions/datasource.ts +0 -41
- package/src/definitions/openapi.ts +10 -0
- package/src/environment.ts +6 -2
- package/src/events/AutomationEmitter.ts +1 -1
- package/src/events/BudibaseEmitter.ts +1 -1
- package/src/events/index.ts +1 -1
- package/src/index.ts +1 -1
- package/src/integrations/base/query.ts +3 -1
- package/src/integrations/base/sqlTable.ts +1 -1
- package/src/integrations/couchdb.ts +40 -14
- package/src/integrations/dynamodb.ts +3 -3
- package/src/integrations/elasticsearch.ts +8 -4
- package/src/integrations/googlesheets.ts +1 -1
- package/src/integrations/index.ts +5 -9
- package/src/integrations/mongodb.ts +315 -271
- package/src/integrations/mysql.ts +1 -1
- package/src/integrations/queries/sql.ts +5 -50
- package/src/integrations/rest.ts +16 -19
- package/src/integrations/tests/couchdb.spec.ts +33 -21
- package/src/integrations/tests/rest.spec.ts +19 -15
- package/src/middleware/authorized.ts +5 -1
- package/src/middleware/builder.ts +1 -1
- package/src/middleware/currentapp.ts +4 -3
- package/src/middleware/publicApi.ts +1 -1
- package/src/middleware/selfhost.ts +1 -1
- package/src/middleware/tests/authorized.spec.js +1 -1
- package/src/middleware/tests/currentapp.spec.js +1 -1
- package/src/middleware/tests/selfhost.spec.js +1 -1
- package/src/migrations/functions/backfill/global/configs.ts +5 -4
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +10 -6
- package/src/sdk/app/backups/imports.ts +2 -6
- package/src/sdk/app/datasources/datasources.ts +136 -0
- package/src/sdk/app/datasources/index.ts +5 -0
- package/src/sdk/app/queries/index.ts +5 -0
- package/src/sdk/app/queries/queries.ts +50 -0
- package/src/sdk/app/tables/index.ts +6 -3
- package/src/sdk/index.ts +4 -0
- package/src/sdk/tests/attachments.spec.ts +1 -4
- package/src/sdk/utils/index.ts +16 -0
- package/src/startup.ts +3 -8
- package/src/tests/jestEnv.ts +13 -0
- package/src/tests/jestSetup.ts +4 -15
- package/src/tests/utilities/TestConfiguration.ts +38 -16
- package/src/tests/utilities/structures.ts +65 -2
- package/src/threads/automation.ts +22 -35
- package/src/threads/definitions.ts +3 -0
- package/src/threads/index.ts +1 -1
- package/src/threads/query.ts +28 -15
- package/src/utilities/fileSystem/app.ts +86 -0
- package/src/utilities/fileSystem/clientLibrary.ts +1 -1
- package/src/utilities/fileSystem/filesystem.ts +172 -0
- package/src/utilities/fileSystem/index.ts +5 -348
- package/src/utilities/fileSystem/plugin.ts +64 -0
- package/src/utilities/fileSystem/template.ts +36 -0
- package/src/utilities/index.ts +1 -45
- package/src/utilities/rowProcessor/index.ts +17 -8
- package/src/utilities/rowProcessor/tests/utils.spec.ts +57 -0
- package/src/utilities/schema.ts +141 -0
- package/src/utilities/scriptRunner.ts +1 -1
- package/src/utilities/statusCodes.ts +1 -1
- package/src/utilities/workerRequests.ts +10 -1
- package/src/watch.ts +1 -1
- package/tsconfig.build.json +2 -0
- package/tsconfig.json +2 -1
- package/builder/assets/index.01a9ab3b.js +0 -1024
- package/builder/assets/index.96b9ffed.css +0 -6
- package/coverage/lcov-report/src/utilities/plugins.ts.html +0 -151
- package/dist/api/routes/tests/utilities/TestFunctions.js +0 -167
- package/dist/api/routes/tests/utilities/index.js +0 -131
- package/dist/automations/tests/utilities/index.js +0 -81
- package/dist/tests/utilities/TestConfiguration.js +0 -562
- package/dist/tests/utilities/controllers.js +0 -40
- package/dist/tests/utilities/structures.js +0 -168
- package/dist/utilities/csvParser.js +0 -152
- package/dist/utilities/plugins.js +0 -26
- package/src/api/routes/tests/deployment.spec.ts +0 -25
- package/src/automations/unitTests/automationUtils.spec.js +0 -17
- package/src/utilities/csvParser.ts +0 -161
- package/src/utilities/plugins.ts +0 -22
- package/src/utilities/tests/__snapshots__/csvParser.spec.js.snap +0 -15
- package/src/utilities/tests/csvParser.spec.js +0 -112
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.updateAppPackage = exports.sync = exports.destroy = exports.revertClient = exports.updateClient = exports.update = exports.create = exports.fetchAppPackage = exports.fetchAppDefinition = exports.fetch = void 0;
|
|
15
|
+
exports.updateAppPackage = exports.sync = exports.unpublish = exports.destroy = exports.revertClient = exports.updateClient = exports.update = exports.create = exports.fetchAppPackage = exports.fetchAppDefinition = exports.fetch = void 0;
|
|
16
16
|
const environment_1 = __importDefault(require("../../environment"));
|
|
17
17
|
const package_json_1 = __importDefault(require("../../../package.json"));
|
|
18
18
|
const staticViews_1 = require("../../db/views/staticViews");
|
|
@@ -24,14 +24,13 @@ const datasource_bb_default_1 = require("../../db/defaultData/datasource_bb_defa
|
|
|
24
24
|
const workerRequests_1 = require("../../utilities/workerRequests");
|
|
25
25
|
const utilities_1 = require("../../utilities");
|
|
26
26
|
const redis_1 = require("../../utilities/redis");
|
|
27
|
-
const
|
|
27
|
+
const fileSystem_2 = require("../../utilities/fileSystem");
|
|
28
28
|
const utils_2 = require("../../automations/utils");
|
|
29
29
|
const logging_1 = require("../../automations/logging");
|
|
30
30
|
const rows_1 = require("../../utilities/usageQuota/rows");
|
|
31
31
|
const pro_1 = require("@budibase/pro");
|
|
32
32
|
const types_1 = require("@budibase/types");
|
|
33
33
|
const layouts_1 = require("../../constants/layouts");
|
|
34
|
-
const plugins_1 = require("../../utilities/plugins");
|
|
35
34
|
const sdk_1 = __importDefault(require("../../sdk"));
|
|
36
35
|
// utility function, need to do away with this
|
|
37
36
|
function getLayouts() {
|
|
@@ -76,12 +75,8 @@ function checkAppName(ctx, apps, name, currentAppId) {
|
|
|
76
75
|
ctx.throw(400, "App name is already in use.");
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
|
-
function createInstance(template, includeSampleData) {
|
|
78
|
+
function createInstance(appId, template, includeSampleData) {
|
|
80
79
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
const tenantId = backend_core_1.tenancy.isMultiTenant() ? backend_core_1.tenancy.getTenantId() : null;
|
|
82
|
-
const baseAppId = (0, utils_1.generateAppID)(tenantId);
|
|
83
|
-
const appId = (0, utils_1.generateDevAppID)(baseAppId);
|
|
84
|
-
yield backend_core_1.context.updateAppId(appId);
|
|
85
80
|
const db = backend_core_1.context.getAppDB();
|
|
86
81
|
yield db.put({
|
|
87
82
|
_id: "_design/database",
|
|
@@ -164,25 +159,25 @@ function fetchAppDefinition(ctx) {
|
|
|
164
159
|
}
|
|
165
160
|
exports.fetchAppDefinition = fetchAppDefinition;
|
|
166
161
|
function fetchAppPackage(ctx) {
|
|
167
|
-
var _a;
|
|
168
162
|
return __awaiter(this, void 0, void 0, function* () {
|
|
169
163
|
const db = backend_core_1.context.getAppDB();
|
|
170
164
|
let application = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
171
165
|
const layouts = yield getLayouts();
|
|
172
166
|
let screens = yield getScreens();
|
|
173
167
|
// Enrich plugin URLs
|
|
174
|
-
application.usedPlugins =
|
|
168
|
+
application.usedPlugins = backend_core_1.objectStore.enrichPluginURLs(application.usedPlugins);
|
|
175
169
|
// Only filter screens if the user is not a builder
|
|
176
|
-
if (!(
|
|
170
|
+
if (!(ctx.user.builder && ctx.user.builder.global)) {
|
|
177
171
|
const userRoleId = getUserRoleId(ctx);
|
|
178
172
|
const accessController = new backend_core_1.roles.AccessController();
|
|
179
173
|
screens = yield accessController.checkScreensAccess(screens, userRoleId);
|
|
180
174
|
}
|
|
175
|
+
const clientLibPath = backend_core_1.objectStore.clientLibraryUrl(ctx.params.appId, application.version);
|
|
181
176
|
ctx.body = {
|
|
182
177
|
application,
|
|
183
178
|
screens,
|
|
184
179
|
layouts,
|
|
185
|
-
clientLibPath
|
|
180
|
+
clientLibPath,
|
|
186
181
|
};
|
|
187
182
|
});
|
|
188
183
|
}
|
|
@@ -204,77 +199,80 @@ function performAppCreate(ctx) {
|
|
|
204
199
|
instanceConfig.file = ctx.request.files.templateFile;
|
|
205
200
|
}
|
|
206
201
|
const includeSampleData = (0, utilities_1.isQsTrue)(ctx.request.body.sampleData);
|
|
207
|
-
const
|
|
208
|
-
const appId =
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
if (
|
|
263
|
-
|
|
202
|
+
const tenantId = backend_core_1.tenancy.isMultiTenant() ? backend_core_1.tenancy.getTenantId() : null;
|
|
203
|
+
const appId = (0, utils_1.generateDevAppID)((0, utils_1.generateAppID)(tenantId));
|
|
204
|
+
return yield backend_core_1.context.doInAppContext(appId, () => __awaiter(this, void 0, void 0, function* () {
|
|
205
|
+
const instance = yield createInstance(appId, instanceConfig, includeSampleData);
|
|
206
|
+
const db = backend_core_1.context.getAppDB();
|
|
207
|
+
let newApplication = {
|
|
208
|
+
_id: utils_1.DocumentType.APP_METADATA,
|
|
209
|
+
_rev: undefined,
|
|
210
|
+
appId,
|
|
211
|
+
type: "app",
|
|
212
|
+
version: package_json_1.default.version,
|
|
213
|
+
componentLibraries: ["@budibase/standard-components"],
|
|
214
|
+
name: name,
|
|
215
|
+
url: url,
|
|
216
|
+
template: templateKey,
|
|
217
|
+
instance,
|
|
218
|
+
tenantId: backend_core_1.tenancy.getTenantId(),
|
|
219
|
+
updatedAt: new Date().toISOString(),
|
|
220
|
+
createdAt: new Date().toISOString(),
|
|
221
|
+
status: utils_1.AppStatus.DEV,
|
|
222
|
+
navigation: {
|
|
223
|
+
navigation: "Top",
|
|
224
|
+
title: name,
|
|
225
|
+
navWidth: "Large",
|
|
226
|
+
navBackground: "var(--spectrum-global-color-gray-100)",
|
|
227
|
+
links: [
|
|
228
|
+
{
|
|
229
|
+
url: "/home",
|
|
230
|
+
text: "Home",
|
|
231
|
+
},
|
|
232
|
+
],
|
|
233
|
+
},
|
|
234
|
+
theme: "spectrum--light",
|
|
235
|
+
customTheme: {
|
|
236
|
+
buttonBorderRadius: "16px",
|
|
237
|
+
},
|
|
238
|
+
};
|
|
239
|
+
// If we used a template or imported an app there will be an existing doc.
|
|
240
|
+
// Fetch and migrate some metadata from the existing app.
|
|
241
|
+
try {
|
|
242
|
+
const existing = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
243
|
+
const keys = [
|
|
244
|
+
"_rev",
|
|
245
|
+
"navigation",
|
|
246
|
+
"theme",
|
|
247
|
+
"customTheme",
|
|
248
|
+
"icon",
|
|
249
|
+
];
|
|
250
|
+
keys.forEach(key => {
|
|
251
|
+
if (existing[key]) {
|
|
252
|
+
// @ts-ignore
|
|
253
|
+
newApplication[key] = existing[key];
|
|
254
|
+
}
|
|
255
|
+
});
|
|
256
|
+
// Migrate navigation settings and screens if required
|
|
257
|
+
if (existing) {
|
|
258
|
+
const navigation = yield migrateAppNavigation();
|
|
259
|
+
if (navigation) {
|
|
260
|
+
newApplication.navigation = navigation;
|
|
261
|
+
}
|
|
264
262
|
}
|
|
265
263
|
}
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
264
|
+
catch (err) {
|
|
265
|
+
// Nothing to do
|
|
266
|
+
}
|
|
267
|
+
const response = yield db.put(newApplication, { force: true });
|
|
268
|
+
newApplication._rev = response.rev;
|
|
269
|
+
/* istanbul ignore next */
|
|
270
|
+
if (!environment_1.default.isTest()) {
|
|
271
|
+
yield (0, fileSystem_1.createApp)(appId);
|
|
272
|
+
}
|
|
273
|
+
yield backend_core_1.cache.app.invalidateAppMetadata(appId, newApplication);
|
|
274
|
+
return newApplication;
|
|
275
|
+
}));
|
|
278
276
|
});
|
|
279
277
|
}
|
|
280
278
|
function creationEvents(request, app) {
|
|
@@ -325,7 +323,7 @@ function appPostCreate(ctx, app) {
|
|
|
325
323
|
if (err.code && err.code === backend_core_1.errors.codes.USAGE_LIMIT_EXCEEDED) {
|
|
326
324
|
// this import resulted in row usage exceeding the quota
|
|
327
325
|
// delete the app
|
|
328
|
-
// skip pre
|
|
326
|
+
// skip pre and post-steps as no rows have been added to quotas yet
|
|
329
327
|
ctx.params.appId = app.appId;
|
|
330
328
|
yield destroyApp(ctx);
|
|
331
329
|
}
|
|
@@ -375,8 +373,8 @@ function updateClient(ctx) {
|
|
|
375
373
|
const currentVersion = application.version;
|
|
376
374
|
// Update client library and manifest
|
|
377
375
|
if (!environment_1.default.isTest()) {
|
|
378
|
-
yield (0,
|
|
379
|
-
yield (0,
|
|
376
|
+
yield (0, fileSystem_2.backupClientLibrary)(ctx.params.appId);
|
|
377
|
+
yield (0, fileSystem_2.updateClientLibrary)(ctx.params.appId);
|
|
380
378
|
}
|
|
381
379
|
// Update versions in app package
|
|
382
380
|
const updatedToVersion = package_json_1.default.version;
|
|
@@ -401,7 +399,7 @@ function revertClient(ctx) {
|
|
|
401
399
|
}
|
|
402
400
|
// Update client library and manifest
|
|
403
401
|
if (!environment_1.default.isTest()) {
|
|
404
|
-
yield (0,
|
|
402
|
+
yield (0, fileSystem_2.revertClientLibrary)(ctx.params.appId);
|
|
405
403
|
}
|
|
406
404
|
// Update versions in app package
|
|
407
405
|
const currentVersion = application.version;
|
|
@@ -417,39 +415,39 @@ function revertClient(ctx) {
|
|
|
417
415
|
});
|
|
418
416
|
}
|
|
419
417
|
exports.revertClient = revertClient;
|
|
418
|
+
const unpublishApp = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
419
|
+
let appId = ctx.params.appId;
|
|
420
|
+
appId = backend_core_1.db.getProdAppID(appId);
|
|
421
|
+
const db = backend_core_1.context.getProdAppDB();
|
|
422
|
+
const result = yield db.destroy();
|
|
423
|
+
yield backend_core_1.events.app.unpublished({ appId });
|
|
424
|
+
// automations only in production
|
|
425
|
+
yield (0, utils_2.cleanupAutomations)(appId);
|
|
426
|
+
yield backend_core_1.cache.app.invalidateAppMetadata(appId);
|
|
427
|
+
return result;
|
|
428
|
+
});
|
|
420
429
|
function destroyApp(ctx) {
|
|
421
430
|
return __awaiter(this, void 0, void 0, function* () {
|
|
422
431
|
let appId = ctx.params.appId;
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
//
|
|
432
|
+
appId = backend_core_1.db.getProdAppID(appId);
|
|
433
|
+
const devAppId = backend_core_1.db.getDevAppID(appId);
|
|
434
|
+
// check if we need to unpublish first
|
|
435
|
+
if (yield backend_core_1.db.dbExists(appId)) {
|
|
436
|
+
// app is deployed, run through unpublish flow
|
|
428
437
|
yield sdk_1.default.applications.syncApp(devAppId);
|
|
438
|
+
yield unpublishApp(ctx);
|
|
429
439
|
}
|
|
430
|
-
const db =
|
|
440
|
+
const db = backend_core_1.db.getDB(devAppId);
|
|
441
|
+
// standard app deletion flow
|
|
431
442
|
const app = yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
432
443
|
const result = yield db.destroy();
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
else {
|
|
437
|
-
yield pro_1.quotas.removeApp();
|
|
438
|
-
yield backend_core_1.events.app.deleted(app);
|
|
439
|
-
}
|
|
440
|
-
/* istanbul ignore next */
|
|
441
|
-
if (!environment_1.default.isTest() && !isUnpublish) {
|
|
444
|
+
yield pro_1.quotas.removeApp();
|
|
445
|
+
yield backend_core_1.events.app.deleted(app);
|
|
446
|
+
if (!environment_1.default.isTest()) {
|
|
442
447
|
yield (0, fileSystem_1.deleteApp)(appId);
|
|
443
448
|
}
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
yield (0, utils_2.cleanupAutomations)(appId);
|
|
447
|
-
}
|
|
448
|
-
// remove app role when the dev app is deleted (no trace of app anymore)
|
|
449
|
-
else {
|
|
450
|
-
yield (0, workerRequests_1.removeAppFromUserRoles)(ctx, appId);
|
|
451
|
-
}
|
|
452
|
-
yield backend_core_1.cache.app.invalidateAppMetadata(appId);
|
|
449
|
+
yield (0, workerRequests_1.removeAppFromUserRoles)(ctx, appId);
|
|
450
|
+
yield backend_core_1.cache.app.invalidateAppMetadata(devAppId);
|
|
453
451
|
return result;
|
|
454
452
|
});
|
|
455
453
|
}
|
|
@@ -478,6 +476,19 @@ function destroy(ctx) {
|
|
|
478
476
|
});
|
|
479
477
|
}
|
|
480
478
|
exports.destroy = destroy;
|
|
479
|
+
const unpublish = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
480
|
+
const prodAppId = backend_core_1.db.getProdAppID(ctx.params.appId);
|
|
481
|
+
const dbExists = yield backend_core_1.db.dbExists(prodAppId);
|
|
482
|
+
// check app has been published
|
|
483
|
+
if (!dbExists) {
|
|
484
|
+
return ctx.throw(400, "App has not been published.");
|
|
485
|
+
}
|
|
486
|
+
yield preDestroyApp(ctx);
|
|
487
|
+
yield unpublishApp(ctx);
|
|
488
|
+
yield postDestroyApp(ctx);
|
|
489
|
+
ctx.status = 204;
|
|
490
|
+
});
|
|
491
|
+
exports.unpublish = unpublish;
|
|
481
492
|
function sync(ctx) {
|
|
482
493
|
return __awaiter(this, void 0, void 0, function* () {
|
|
483
494
|
const appId = ctx.params.appId;
|
|
@@ -95,11 +95,15 @@ function importApps(ctx) {
|
|
|
95
95
|
if (beenImported || !ctx.request.files || !ctx.request.files.importFile) {
|
|
96
96
|
ctx.throw(400, "Import file is required and environment must be fresh to import apps.");
|
|
97
97
|
}
|
|
98
|
-
|
|
98
|
+
const file = ctx.request.files.importFile;
|
|
99
|
+
if (Array.isArray(file)) {
|
|
100
|
+
ctx.throw(400, "Single file is required");
|
|
101
|
+
}
|
|
102
|
+
if (file.type !== "application/gzip" && file.type !== "application/x-gzip") {
|
|
99
103
|
ctx.throw(400, "Import file must be a gzipped tarball.");
|
|
100
104
|
}
|
|
101
105
|
// initially get all the app databases out of the tarball
|
|
102
|
-
const tmpPath = sdk_1.default.backups.untarFile(
|
|
106
|
+
const tmpPath = sdk_1.default.backups.untarFile(file);
|
|
103
107
|
const globalDbImport = sdk_1.default.backups.getGlobalDBFile(tmpPath);
|
|
104
108
|
const appNames = sdk_1.default.backups.getListOfAppsInMulti(tmpPath);
|
|
105
109
|
const globalDb = backend_core_1.tenancy.getGlobalDB();
|
|
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
15
|
exports.query = exports.find = exports.destroy = exports.save = exports.update = exports.buildSchemaFromDb = exports.fetch = void 0;
|
|
13
16
|
const utils_1 = require("../../db/utils");
|
|
@@ -17,6 +20,7 @@ const integrations_1 = require("../../integrations");
|
|
|
17
20
|
const utils_2 = require("./row/utils");
|
|
18
21
|
const utils_3 = require("../../threads/utils");
|
|
19
22
|
const backend_core_1 = require("@budibase/backend-core");
|
|
23
|
+
const sdk_1 = __importDefault(require("../../sdk"));
|
|
20
24
|
function fetch(ctx) {
|
|
21
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
26
|
// Get internal tables
|
|
@@ -35,12 +39,11 @@ function fetch(ctx) {
|
|
|
35
39
|
const datasources = (yield db.allDocs((0, utils_1.getDatasourceParams)(null, {
|
|
36
40
|
include_docs: true,
|
|
37
41
|
}))).rows.map(row => row.doc);
|
|
38
|
-
const allDatasources =
|
|
42
|
+
const allDatasources = yield sdk_1.default.datasources.removeSecrets([
|
|
43
|
+
bbInternalDb,
|
|
44
|
+
...datasources,
|
|
45
|
+
]);
|
|
39
46
|
for (let datasource of allDatasources) {
|
|
40
|
-
if (datasource.config && datasource.config.auth) {
|
|
41
|
-
// strip secrets from response so they don't show in the network request
|
|
42
|
-
delete datasource.config.auth;
|
|
43
|
-
}
|
|
44
47
|
if (datasource.type === backend_core_1.db.BUDIBASE_DATASOURCE_TYPE) {
|
|
45
48
|
datasource.entities = internal[datasource._id];
|
|
46
49
|
}
|
|
@@ -52,7 +55,7 @@ exports.fetch = fetch;
|
|
|
52
55
|
function buildSchemaFromDb(ctx) {
|
|
53
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
57
|
const db = backend_core_1.context.getAppDB();
|
|
55
|
-
const datasource = yield
|
|
58
|
+
const datasource = yield sdk_1.default.datasources.get(ctx.params.datasourceId);
|
|
56
59
|
const tablesFilter = ctx.request.body.tablesFilter;
|
|
57
60
|
let { tables, error } = yield buildSchemaHelper(datasource);
|
|
58
61
|
if (tablesFilter) {
|
|
@@ -125,18 +128,18 @@ function invalidateVariables(existingDatasource, updatedDatasource) {
|
|
|
125
128
|
});
|
|
126
129
|
}
|
|
127
130
|
function update(ctx) {
|
|
128
|
-
var _a;
|
|
131
|
+
var _a, _b;
|
|
129
132
|
return __awaiter(this, void 0, void 0, function* () {
|
|
130
133
|
const db = backend_core_1.context.getAppDB();
|
|
131
134
|
const datasourceId = ctx.params.datasourceId;
|
|
132
|
-
let datasource = yield
|
|
133
|
-
const auth = datasource.config.auth;
|
|
135
|
+
let datasource = yield sdk_1.default.datasources.get(datasourceId);
|
|
136
|
+
const auth = (_a = datasource.config) === null || _a === void 0 ? void 0 : _a.auth;
|
|
134
137
|
yield invalidateVariables(datasource, ctx.request.body);
|
|
135
138
|
const isBudibaseSource = datasource.type === backend_core_1.db.BUDIBASE_DATASOURCE_TYPE;
|
|
136
139
|
const dataSourceBody = isBudibaseSource
|
|
137
|
-
? { name: (
|
|
140
|
+
? { name: (_b = ctx.request.body) === null || _b === void 0 ? void 0 : _b.name }
|
|
138
141
|
: ctx.request.body;
|
|
139
|
-
datasource = Object.assign(Object.assign({}, datasource), dataSourceBody);
|
|
142
|
+
datasource = Object.assign(Object.assign({}, datasource), sdk_1.default.datasources.mergeConfigs(dataSourceBody, datasource));
|
|
140
143
|
if (auth && !ctx.request.body.auth) {
|
|
141
144
|
// don't strip auth config from DB
|
|
142
145
|
datasource.config.auth = auth;
|
|
@@ -153,7 +156,9 @@ function update(ctx) {
|
|
|
153
156
|
}
|
|
154
157
|
ctx.status = 200;
|
|
155
158
|
ctx.message = "Datasource saved successfully.";
|
|
156
|
-
ctx.body = {
|
|
159
|
+
ctx.body = {
|
|
160
|
+
datasource: yield sdk_1.default.datasources.removeSecretSingle(datasource),
|
|
161
|
+
};
|
|
157
162
|
});
|
|
158
163
|
}
|
|
159
164
|
exports.update = update;
|
|
@@ -180,7 +185,9 @@ function save(ctx) {
|
|
|
180
185
|
yield source.pool.end();
|
|
181
186
|
}
|
|
182
187
|
}
|
|
183
|
-
const response = {
|
|
188
|
+
const response = {
|
|
189
|
+
datasource: yield sdk_1.default.datasources.removeSecretSingle(datasource),
|
|
190
|
+
};
|
|
184
191
|
if (schemaError) {
|
|
185
192
|
response.error = schemaError;
|
|
186
193
|
}
|
|
@@ -216,7 +223,7 @@ function destroy(ctx) {
|
|
|
216
223
|
return __awaiter(this, void 0, void 0, function* () {
|
|
217
224
|
const db = backend_core_1.context.getAppDB();
|
|
218
225
|
const datasourceId = ctx.params.datasourceId;
|
|
219
|
-
const datasource = yield
|
|
226
|
+
const datasource = yield sdk_1.default.datasources.get(datasourceId);
|
|
220
227
|
// Delete all queries for the datasource
|
|
221
228
|
if (datasource.type === backend_core_1.db.BUDIBASE_DATASOURCE_TYPE) {
|
|
222
229
|
yield destroyInternalTablesBySourceId(datasourceId);
|
|
@@ -240,7 +247,8 @@ exports.destroy = destroy;
|
|
|
240
247
|
function find(ctx) {
|
|
241
248
|
return __awaiter(this, void 0, void 0, function* () {
|
|
242
249
|
const database = backend_core_1.context.getAppDB();
|
|
243
|
-
|
|
250
|
+
const datasource = yield database.get(ctx.params.datasourceId);
|
|
251
|
+
ctx.body = yield sdk_1.default.datasources.removeSecretSingle(datasource);
|
|
244
252
|
});
|
|
245
253
|
}
|
|
246
254
|
exports.find = find;
|
|
@@ -275,6 +283,7 @@ function updateError(error, newError, tables) {
|
|
|
275
283
|
function buildSchemaHelper(datasource) {
|
|
276
284
|
return __awaiter(this, void 0, void 0, function* () {
|
|
277
285
|
const Connector = yield (0, integrations_1.getIntegration)(datasource.source);
|
|
286
|
+
datasource = yield sdk_1.default.datasources.enrich(datasource);
|
|
278
287
|
// Connect to the DB and build the schema
|
|
279
288
|
const connector = new Connector(datasource.config);
|
|
280
289
|
yield connector.buildSchema(datasource._id, datasource.entities);
|
|
@@ -12,7 +12,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
12
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.
|
|
15
|
+
exports.publishApp = exports.deploymentProgress = exports.fetchDeployments = void 0;
|
|
16
16
|
const Deployment_1 = __importDefault(require("./Deployment"));
|
|
17
17
|
const backend_core_1 = require("@budibase/backend-core");
|
|
18
18
|
const utils_1 = require("../../../db/utils");
|
|
@@ -92,8 +92,46 @@ function initDeployedApp(prodAppId) {
|
|
|
92
92
|
});
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
|
-
function
|
|
95
|
+
function fetchDeployments(ctx) {
|
|
96
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
try {
|
|
98
|
+
const db = backend_core_1.context.getAppDB();
|
|
99
|
+
const deploymentDoc = yield db.get(utils_1.DocumentType.DEPLOYMENTS);
|
|
100
|
+
const { updated, deployments } = yield checkAllDeployments(deploymentDoc);
|
|
101
|
+
if (updated) {
|
|
102
|
+
yield db.put(deployments);
|
|
103
|
+
}
|
|
104
|
+
ctx.body = Object.values(deployments.history).reverse();
|
|
105
|
+
}
|
|
106
|
+
catch (err) {
|
|
107
|
+
ctx.body = [];
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
exports.fetchDeployments = fetchDeployments;
|
|
112
|
+
function deploymentProgress(ctx) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
try {
|
|
115
|
+
const db = backend_core_1.context.getAppDB();
|
|
116
|
+
const deploymentDoc = yield db.get(utils_1.DocumentType.DEPLOYMENTS);
|
|
117
|
+
ctx.body = deploymentDoc[ctx.params.deploymentId];
|
|
118
|
+
}
|
|
119
|
+
catch (err) {
|
|
120
|
+
ctx.throw(500, `Error fetching data for deployment ${ctx.params.deploymentId}`);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
exports.deploymentProgress = deploymentProgress;
|
|
125
|
+
const publishApp = function (ctx) {
|
|
96
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
let deployment = new Deployment_1.default();
|
|
128
|
+
console.log("Deployment object created");
|
|
129
|
+
deployment.setStatus(DeploymentStatus.PENDING);
|
|
130
|
+
console.log("Deployment object set to pending");
|
|
131
|
+
deployment = yield storeDeploymentHistory(deployment);
|
|
132
|
+
console.log("Stored deployment history");
|
|
133
|
+
console.log("Deploying app...");
|
|
134
|
+
let app;
|
|
97
135
|
let replication;
|
|
98
136
|
try {
|
|
99
137
|
const appId = backend_core_1.context.getAppId();
|
|
@@ -103,7 +141,7 @@ function deployApp(deployment, userId) {
|
|
|
103
141
|
if (yield pro_1.backups.isEnabled()) {
|
|
104
142
|
// trigger backup initially
|
|
105
143
|
yield pro_1.backups.triggerAppBackup(productionAppId, types_1.AppBackupTrigger.PUBLISH, {
|
|
106
|
-
createdBy:
|
|
144
|
+
createdBy: ctx.user._id,
|
|
107
145
|
});
|
|
108
146
|
}
|
|
109
147
|
const config = {
|
|
@@ -141,7 +179,7 @@ function deployApp(deployment, userId) {
|
|
|
141
179
|
console.log("Deployed app initialised, setting deployment to successful");
|
|
142
180
|
deployment.setStatus(DeploymentStatus.SUCCESS);
|
|
143
181
|
yield storeDeploymentHistory(deployment);
|
|
144
|
-
|
|
182
|
+
app = appDoc;
|
|
145
183
|
}
|
|
146
184
|
catch (err) {
|
|
147
185
|
deployment.setStatus(DeploymentStatus.FAILURE, err.message);
|
|
@@ -153,63 +191,8 @@ function deployApp(deployment, userId) {
|
|
|
153
191
|
yield replication.close();
|
|
154
192
|
}
|
|
155
193
|
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
function fetchDeployments(ctx) {
|
|
159
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
160
|
-
try {
|
|
161
|
-
const db = backend_core_1.context.getAppDB();
|
|
162
|
-
const deploymentDoc = yield db.get(utils_1.DocumentType.DEPLOYMENTS);
|
|
163
|
-
const { updated, deployments } = yield checkAllDeployments(deploymentDoc);
|
|
164
|
-
if (updated) {
|
|
165
|
-
yield db.put(deployments);
|
|
166
|
-
}
|
|
167
|
-
ctx.body = Object.values(deployments.history).reverse();
|
|
168
|
-
}
|
|
169
|
-
catch (err) {
|
|
170
|
-
ctx.body = [];
|
|
171
|
-
}
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
exports.fetchDeployments = fetchDeployments;
|
|
175
|
-
function deploymentProgress(ctx) {
|
|
176
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
177
|
-
try {
|
|
178
|
-
const db = backend_core_1.context.getAppDB();
|
|
179
|
-
const deploymentDoc = yield db.get(utils_1.DocumentType.DEPLOYMENTS);
|
|
180
|
-
ctx.body = deploymentDoc[ctx.params.deploymentId];
|
|
181
|
-
}
|
|
182
|
-
catch (err) {
|
|
183
|
-
ctx.throw(500, `Error fetching data for deployment ${ctx.params.deploymentId}`);
|
|
184
|
-
}
|
|
185
|
-
});
|
|
186
|
-
}
|
|
187
|
-
exports.deploymentProgress = deploymentProgress;
|
|
188
|
-
const isFirstDeploy = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
189
|
-
try {
|
|
190
|
-
const db = backend_core_1.context.getProdAppDB();
|
|
191
|
-
yield db.get(utils_1.DocumentType.APP_METADATA);
|
|
192
|
-
}
|
|
193
|
-
catch (e) {
|
|
194
|
-
if (e.status === 404) {
|
|
195
|
-
return true;
|
|
196
|
-
}
|
|
197
|
-
throw e;
|
|
198
|
-
}
|
|
199
|
-
return false;
|
|
200
|
-
});
|
|
201
|
-
const _deployApp = function (ctx) {
|
|
202
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
203
|
-
let deployment = new Deployment_1.default();
|
|
204
|
-
console.log("Deployment object created");
|
|
205
|
-
deployment.setStatus(DeploymentStatus.PENDING);
|
|
206
|
-
console.log("Deployment object set to pending");
|
|
207
|
-
deployment = yield storeDeploymentHistory(deployment);
|
|
208
|
-
console.log("Stored deployment history");
|
|
209
|
-
console.log("Deploying app...");
|
|
210
|
-
let app = yield deployApp(deployment, ctx.user._id);
|
|
211
194
|
yield backend_core_1.events.app.published(app);
|
|
212
195
|
ctx.body = deployment;
|
|
213
196
|
});
|
|
214
197
|
};
|
|
215
|
-
exports.
|
|
198
|
+
exports.publishApp = publishApp;
|
|
@@ -18,15 +18,15 @@ const backend_core_1 = require("@budibase/backend-core");
|
|
|
18
18
|
const types_1 = require("@budibase/types");
|
|
19
19
|
const environment_1 = __importDefault(require("../../../environment"));
|
|
20
20
|
const websocket_1 = require("../../../websocket");
|
|
21
|
-
const backend_core_2 = require("@budibase/backend-core");
|
|
22
21
|
const pro_1 = require("@budibase/pro");
|
|
23
22
|
function getPlugins(type) {
|
|
24
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
24
|
const db = backend_core_1.tenancy.getGlobalDB();
|
|
26
|
-
const response = yield db.allDocs(
|
|
25
|
+
const response = yield db.allDocs(backend_core_1.db.getPluginParams(null, {
|
|
27
26
|
include_docs: true,
|
|
28
27
|
}));
|
|
29
|
-
|
|
28
|
+
let plugins = response.rows.map((row) => row.doc);
|
|
29
|
+
plugins = backend_core_1.objectStore.enrichPluginURLs(plugins);
|
|
30
30
|
if (type) {
|
|
31
31
|
return plugins.filter((plugin) => { var _a; return ((_a = plugin.schema) === null || _a === void 0 ? void 0 : _a.type) === type; });
|
|
32
32
|
}
|
|
@@ -92,7 +92,7 @@ function create(ctx) {
|
|
|
92
92
|
if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
|
|
93
93
|
throw new Error("Only component plugins are supported outside of self-host");
|
|
94
94
|
}
|
|
95
|
-
const doc = yield pro_1.plugins.storePlugin(metadata, directory, source);
|
|
95
|
+
const doc = yield pro_1.sdk.plugins.storePlugin(metadata, directory, source);
|
|
96
96
|
websocket_1.ClientAppSocket.emit("plugins-update", { name, hash: doc.hash });
|
|
97
97
|
ctx.body = {
|
|
98
98
|
message: "Plugin uploaded successfully",
|
|
@@ -117,7 +117,7 @@ function destroy(ctx) {
|
|
|
117
117
|
return __awaiter(this, void 0, void 0, function* () {
|
|
118
118
|
const { pluginId } = ctx.params;
|
|
119
119
|
try {
|
|
120
|
-
yield pro_1.plugins.deletePlugin(pluginId);
|
|
120
|
+
yield pro_1.sdk.plugins.deletePlugin(pluginId);
|
|
121
121
|
ctx.body = { message: `Plugin ${ctx.params.pluginId} deleted.` };
|
|
122
122
|
}
|
|
123
123
|
catch (err) {
|
|
@@ -135,7 +135,7 @@ function processUploadedPlugin(plugin, source) {
|
|
|
135
135
|
if (!environment_1.default.SELF_HOSTED && ((_a = metadata === null || metadata === void 0 ? void 0 : metadata.schema) === null || _a === void 0 ? void 0 : _a.type) !== types_1.PluginType.COMPONENT) {
|
|
136
136
|
throw new Error("Only component plugins are supported outside of self-host");
|
|
137
137
|
}
|
|
138
|
-
const doc = yield pro_1.plugins.storePlugin(metadata, directory, source);
|
|
138
|
+
const doc = yield pro_1.sdk.plugins.storePlugin(metadata, directory, source);
|
|
139
139
|
websocket_1.ClientAppSocket.emit("plugin-update", { name: doc.name, hash: doc.hash });
|
|
140
140
|
return doc;
|
|
141
141
|
});
|