@budibase/server 2.6.23 → 2.6.24-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/.dockerignore +7 -6
- package/Dockerfile +16 -8
- package/builder/assets/index.50121870.js +1869 -0
- package/builder/assets/index.a86e2071.css +6 -0
- package/builder/index.html +2 -2
- package/client/manifest.json +5229 -0
- package/dist/automation.js +32576 -0
- package/dist/automation.js.map +7 -0
- package/dist/index.js +45065 -13
- package/dist/index.js.map +7 -0
- package/dist/query.js +24462 -0
- package/dist/query.js.map +7 -0
- package/jest.config.ts +6 -3
- package/nodemon.json +8 -4
- package/package.json +35 -16
- package/pm2.config.js +1 -1
- package/scripts/build.js +48 -0
- package/src/api/controllers/application.ts +21 -22
- package/src/api/controllers/automation.ts +37 -9
- package/src/api/controllers/datasource.ts +114 -49
- package/src/api/controllers/deploy/index.ts +1 -0
- package/src/api/controllers/integration.ts +3 -3
- package/src/api/controllers/plugin/index.ts +1 -1
- package/src/api/controllers/row/external.ts +39 -15
- package/src/api/controllers/row/index.ts +18 -24
- package/src/api/controllers/row/internal.ts +1 -1
- package/src/api/controllers/row/staticFormula.ts +6 -1
- package/src/api/controllers/row/utils.ts +12 -0
- package/src/api/controllers/static/index.ts +3 -3
- package/src/api/controllers/table/index.ts +3 -0
- package/src/api/controllers/table/internal.ts +2 -6
- package/src/api/controllers/table/utils.ts +32 -1
- package/src/api/controllers/view/index.ts +5 -5
- package/src/api/controllers/webhook.ts +33 -9
- package/src/api/routes/application.ts +5 -0
- package/src/api/routes/automation.ts +0 -1
- package/src/api/routes/datasource.ts +10 -0
- package/src/api/routes/static.ts +3 -1
- package/src/api/routes/tests/{automation.spec.js → automation.spec.ts} +106 -31
- package/src/api/routes/tests/datasource.spec.ts +1 -1
- package/src/api/routes/tests/view.spec.js +4 -3
- package/src/api/routes/tests/{webhook.spec.js → webhook.spec.ts} +33 -11
- package/src/app.ts +0 -1
- package/src/automations/actions.ts +8 -0
- package/src/automations/logging/index.ts +21 -0
- package/src/automations/steps/bash.ts +4 -0
- package/src/automations/steps/collect.ts +58 -0
- package/src/automations/steps/createRow.ts +4 -0
- package/src/automations/steps/delay.ts +1 -0
- package/src/automations/steps/deleteRow.ts +4 -0
- package/src/automations/steps/discord.ts +4 -0
- package/src/automations/steps/executeQuery.ts +4 -0
- package/src/automations/steps/executeScript.ts +4 -0
- package/src/automations/steps/filter.ts +1 -0
- package/src/automations/steps/loop.ts +1 -0
- package/src/automations/steps/make.ts +22 -1
- package/src/automations/steps/openai.ts +106 -0
- package/src/automations/steps/outgoingWebhook.ts +4 -0
- package/src/automations/steps/queryRows.ts +4 -0
- package/src/automations/steps/sendSmtpEmail.ts +4 -0
- package/src/automations/steps/serverLog.ts +4 -0
- package/src/automations/steps/slack.ts +4 -0
- package/src/automations/steps/updateRow.ts +4 -0
- package/src/automations/steps/zapier.ts +22 -1
- package/src/automations/tests/make.spec.ts +54 -0
- package/src/automations/tests/openai.spec.ts +86 -0
- package/src/automations/tests/zapier.spec.ts +56 -0
- package/src/automations/triggers.ts +3 -2
- package/src/constants/index.ts +17 -16
- package/src/db/dynamoClient.ts +1 -1
- package/src/db/inMemoryView.ts +1 -0
- package/src/db/linkedRows/index.ts +5 -3
- package/src/environment.ts +3 -0
- package/src/integration-test/postgres.spec.ts +47 -5
- package/src/integrations/airtable.ts +33 -4
- package/src/integrations/arangodb.ts +20 -2
- package/src/integrations/base/sqlTable.ts +0 -1
- package/src/integrations/couchdb.ts +20 -4
- package/src/integrations/dynamodb.ts +36 -5
- package/src/integrations/elasticsearch.ts +18 -1
- package/src/integrations/firebase.ts +17 -0
- package/src/integrations/googlesheets.ts +66 -5
- package/src/integrations/index.ts +12 -7
- package/src/integrations/microsoftSqlServer.ts +33 -1
- package/src/integrations/mongodb.ts +18 -0
- package/src/integrations/mysql.ts +53 -26
- package/src/integrations/oracle.ts +38 -6
- package/src/integrations/postgres.ts +47 -12
- package/src/integrations/redis.ts +35 -4
- package/src/integrations/s3.ts +21 -3
- package/src/integrations/snowflake.ts +22 -1
- package/src/integrations/tests/googlesheets.spec.ts +41 -9
- package/src/middleware/builder.ts +26 -18
- package/src/migrations/functions/backfill/app/queries.ts +1 -1
- package/src/sdk/app/automations/index.ts +2 -0
- package/src/sdk/app/automations/utils.ts +7 -0
- package/src/sdk/app/datasources/datasources.ts +7 -1
- package/src/sdk/plugins/plugins.ts +1 -1
- package/src/startup.ts +2 -0
- package/src/tests/utilities/TestConfiguration.ts +4 -2
- package/src/tests/utilities/structures.ts +42 -0
- package/src/threads/automation.ts +91 -23
- package/src/threads/index.ts +9 -3
- package/src/threads/utils.ts +2 -0
- package/src/utilities/fileSystem/app.ts +14 -4
- package/src/utilities/fileSystem/clientLibrary.ts +8 -3
- package/src/utilities/fileSystem/filesystem.ts +3 -1
- package/src/utilities/redis.ts +25 -3
- package/src/utilities/rowProcessor/index.ts +4 -1
- package/src/utilities/rowProcessor/map.ts +1 -1
- package/src/websockets/builder.ts +95 -0
- package/src/websockets/client.ts +2 -2
- package/src/websockets/grid.ts +44 -44
- package/src/websockets/index.ts +13 -6
- package/src/websockets/websocket.ts +211 -7
- package/tsconfig.build.json +9 -1
- package/tsconfig.json +1 -14
- package/builder/assets/index.86c992bf.css +0 -6
- package/builder/assets/index.c16c35ca.js +0 -1794
- package/dist/api/controllers/analytics.js +0 -46
- package/dist/api/controllers/apikeys.js +0 -72
- package/dist/api/controllers/application.js +0 -574
- package/dist/api/controllers/auth.js +0 -80
- package/dist/api/controllers/automation.js +0 -303
- package/dist/api/controllers/backup.js +0 -37
- package/dist/api/controllers/component.js +0 -59
- package/dist/api/controllers/datasource.js +0 -306
- package/dist/api/controllers/deploy/Deployment.js +0 -53
- package/dist/api/controllers/deploy/index.js +0 -198
- package/dist/api/controllers/dev.js +0 -146
- package/dist/api/controllers/integration.js +0 -28
- package/dist/api/controllers/layout.js +0 -49
- package/dist/api/controllers/metadata.js +0 -63
- package/dist/api/controllers/migrations.js +0 -29
- package/dist/api/controllers/ops.js +0 -40
- package/dist/api/controllers/permission.js +0 -162
- package/dist/api/controllers/plugin/file.js +0 -24
- package/dist/api/controllers/plugin/github.js +0 -69
- package/dist/api/controllers/plugin/index.js +0 -112
- package/dist/api/controllers/plugin/npm.js +0 -58
- package/dist/api/controllers/plugin/uploaders.js +0 -11
- package/dist/api/controllers/plugin/url.js +0 -24
- package/dist/api/controllers/plugin/utils.js +0 -27
- package/dist/api/controllers/public/applications.js +0 -146
- package/dist/api/controllers/public/mapping/applications.js +0 -29
- package/dist/api/controllers/public/mapping/index.js +0 -11
- package/dist/api/controllers/public/mapping/queries.js +0 -36
- package/dist/api/controllers/public/mapping/rows.js +0 -24
- package/dist/api/controllers/public/mapping/tables.js +0 -23
- package/dist/api/controllers/public/mapping/types.js +0 -2
- package/dist/api/controllers/public/mapping/users.js +0 -29
- package/dist/api/controllers/public/metrics.js +0 -113
- package/dist/api/controllers/public/queries.js +0 -58
- package/dist/api/controllers/public/rows.js +0 -120
- package/dist/api/controllers/public/tables.js +0 -95
- package/dist/api/controllers/public/users.js +0 -93
- package/dist/api/controllers/public/utils.js +0 -56
- package/dist/api/controllers/query/import/index.js +0 -87
- package/dist/api/controllers/query/import/sources/base/index.js +0 -75
- package/dist/api/controllers/query/import/sources/base/openapi.js +0 -42
- package/dist/api/controllers/query/import/sources/curl.js +0 -99
- package/dist/api/controllers/query/import/sources/openapi2.js +0 -145
- package/dist/api/controllers/query/import/sources/openapi3.js +0 -177
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +0 -253
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +0 -1054
- package/dist/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.json +0 -253
- package/dist/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.json +0 -1225
- package/dist/api/controllers/query/index.js +0 -299
- package/dist/api/controllers/query/validation.js +0 -53
- package/dist/api/controllers/role.js +0 -109
- package/dist/api/controllers/routing.js +0 -105
- package/dist/api/controllers/row/ExternalRequest.js +0 -683
- package/dist/api/controllers/row/external.js +0 -339
- package/dist/api/controllers/row/index.js +0 -203
- package/dist/api/controllers/row/internal.js +0 -509
- package/dist/api/controllers/row/internalSearch.js +0 -28
- package/dist/api/controllers/row/staticFormula.js +0 -165
- package/dist/api/controllers/row/utils.js +0 -183
- package/dist/api/controllers/screen.js +0 -110
- package/dist/api/controllers/script.js +0 -30
- package/dist/api/controllers/static/index.js +0 -268
- package/dist/api/controllers/table/bulkFormula.js +0 -173
- package/dist/api/controllers/table/external.js +0 -279
- package/dist/api/controllers/table/index.js +0 -179
- package/dist/api/controllers/table/internal.js +0 -197
- package/dist/api/controllers/table/utils.js +0 -379
- package/dist/api/controllers/templates.js +0 -56
- package/dist/api/controllers/user.js +0 -124
- package/dist/api/controllers/view/exporters.js +0 -46
- package/dist/api/controllers/view/index.js +0 -193
- package/dist/api/controllers/view/utils.js +0 -177
- package/dist/api/controllers/view/viewBuilder.js +0 -158
- package/dist/api/controllers/webhook.js +0 -134
- package/dist/api/index.js +0 -55
- package/dist/api/routes/analytics.js +0 -34
- package/dist/api/routes/apikeys.js +0 -37
- package/dist/api/routes/application.js +0 -48
- package/dist/api/routes/auth.js +0 -33
- package/dist/api/routes/automation.js +0 -50
- package/dist/api/routes/backup.js +0 -35
- package/dist/api/routes/component.js +0 -35
- package/dist/api/routes/datasource.js +0 -43
- package/dist/api/routes/deploy.js +0 -37
- package/dist/api/routes/dev.js +0 -49
- package/dist/api/routes/index.js +0 -75
- package/dist/api/routes/integration.js +0 -37
- package/dist/api/routes/layout.js +0 -37
- package/dist/api/routes/metadata.js +0 -40
- package/dist/api/routes/migrations.js +0 -36
- package/dist/api/routes/ops.js +0 -52
- package/dist/api/routes/permission.js +0 -44
- package/dist/api/routes/plugin.js +0 -39
- package/dist/api/routes/public/applications.js +0 -174
- package/dist/api/routes/public/index.js +0 -140
- package/dist/api/routes/public/metrics.js +0 -30
- package/dist/api/routes/public/middleware/mapper.js +0 -97
- package/dist/api/routes/public/queries.js +0 -72
- package/dist/api/routes/public/rows.js +0 -158
- package/dist/api/routes/public/tables.js +0 -152
- package/dist/api/routes/public/users.js +0 -135
- package/dist/api/routes/public/utils/Endpoint.js +0 -36
- package/dist/api/routes/query.js +0 -47
- package/dist/api/routes/role.js +0 -40
- package/dist/api/routes/routing.js +0 -39
- package/dist/api/routes/row.js +0 -239
- package/dist/api/routes/screen.js +0 -39
- package/dist/api/routes/script.js +0 -35
- package/dist/api/routes/static.js +0 -80
- package/dist/api/routes/table.js +0 -163
- package/dist/api/routes/templates.js +0 -37
- package/dist/api/routes/user.js +0 -43
- package/dist/api/routes/utils/validators.js +0 -238
- package/dist/api/routes/view.js +0 -42
- package/dist/api/routes/webhook.js +0 -43
- package/dist/app.js +0 -132
- package/dist/automations/actions.js +0 -137
- package/dist/automations/automationUtils.js +0 -173
- package/dist/automations/bullboard.js +0 -71
- package/dist/automations/index.js +0 -43
- package/dist/automations/logging/index.js +0 -53
- package/dist/automations/steps/bash.js +0 -111
- package/dist/automations/steps/createRow.js +0 -108
- package/dist/automations/steps/delay.js +0 -53
- package/dist/automations/steps/deleteRow.js +0 -96
- package/dist/automations/steps/discord.js +0 -116
- package/dist/automations/steps/executeQuery.js +0 -134
- package/dist/automations/steps/executeScript.js +0 -106
- package/dist/automations/steps/filter.js +0 -112
- package/dist/automations/steps/loop.js +0 -54
- package/dist/automations/steps/make.js +0 -120
- package/dist/automations/steps/outgoingWebhook.js +0 -166
- package/dist/automations/steps/queryRows.js +0 -220
- package/dist/automations/steps/sendSmtpEmail.js +0 -115
- package/dist/automations/steps/serverLog.js +0 -65
- package/dist/automations/steps/slack.js +0 -98
- package/dist/automations/steps/updateRow.js +0 -144
- package/dist/automations/steps/utils.js +0 -56
- package/dist/automations/steps/zapier.js +0 -117
- package/dist/automations/triggerInfo/app.js +0 -36
- package/dist/automations/triggerInfo/cron.js +0 -35
- package/dist/automations/triggerInfo/index.js +0 -40
- package/dist/automations/triggerInfo/rowDeleted.js +0 -36
- package/dist/automations/triggerInfo/rowSaved.js +0 -44
- package/dist/automations/triggerInfo/rowUpdated.js +0 -44
- package/dist/automations/triggerInfo/webhook.js +0 -40
- package/dist/automations/triggers.js +0 -181
- package/dist/automations/utils.js +0 -275
- package/dist/constants/definitions.js +0 -2
- package/dist/constants/index.js +0 -181
- package/dist/constants/layouts.js +0 -148
- package/dist/constants/screens.js +0 -51
- package/dist/db/defaultData/datasource_bb_default.js +0 -574
- package/dist/db/defaultData/employeeImport.js +0 -155
- package/dist/db/defaultData/expensesImport.js +0 -117
- package/dist/db/defaultData/inventoryImport.js +0 -109
- package/dist/db/defaultData/jobsImport.js +0 -152
- package/dist/db/dynamoClient.js +0 -124
- package/dist/db/inMemoryView.js +0 -62
- package/dist/db/index.js +0 -43
- package/dist/db/linkedRows/LinkController.js +0 -392
- package/dist/db/linkedRows/LinkDocument.js +0 -33
- package/dist/db/linkedRows/index.js +0 -206
- package/dist/db/linkedRows/linkUtils.js +0 -131
- package/dist/db/newid.js +0 -7
- package/dist/db/utils.js +0 -248
- package/dist/db/views/staticViews.js +0 -144
- package/dist/ddApm.js +0 -11
- package/dist/definitions/automations.js +0 -8
- package/dist/definitions/common.js +0 -2
- package/dist/definitions/datasource.js +0 -7
- package/dist/definitions/openapi.js +0 -6
- package/dist/environment.js +0 -109
- package/dist/events/AutomationEmitter.js +0 -53
- package/dist/events/BudibaseEmitter.js +0 -25
- package/dist/events/docUpdates/index.js +0 -17
- package/dist/events/docUpdates/processors.js +0 -18
- package/dist/events/docUpdates/syncUsers.js +0 -49
- package/dist/events/index.js +0 -11
- package/dist/events/utils.js +0 -43
- package/dist/integrations/airtable.js +0 -147
- package/dist/integrations/arangodb.js +0 -103
- package/dist/integrations/base/query.js +0 -32
- package/dist/integrations/base/sql.js +0 -600
- package/dist/integrations/base/sqlTable.js +0 -167
- package/dist/integrations/base/types.js +0 -2
- package/dist/integrations/couchdb.js +0 -125
- package/dist/integrations/dynamodb.js +0 -194
- package/dist/integrations/elasticsearch.js +0 -186
- package/dist/integrations/firebase.js +0 -174
- package/dist/integrations/googlesheets.js +0 -455
- package/dist/integrations/index.js +0 -135
- package/dist/integrations/microsoftSqlServer.js +0 -273
- package/dist/integrations/mongodb.js +0 -614
- package/dist/integrations/mysql.js +0 -256
- package/dist/integrations/oracle.js +0 -375
- package/dist/integrations/postgres.js +0 -300
- package/dist/integrations/queries/sql.js +0 -84
- package/dist/integrations/redis.js +0 -168
- package/dist/integrations/rest.js +0 -400
- package/dist/integrations/s3.js +0 -237
- package/dist/integrations/snowflake.js +0 -102
- package/dist/integrations/utils.js +0 -295
- package/dist/middleware/appInfo.js +0 -22
- package/dist/middleware/authorized.js +0 -112
- package/dist/middleware/builder.js +0 -93
- package/dist/middleware/currentapp.js +0 -103
- package/dist/middleware/joi-validator.js +0 -43
- package/dist/middleware/publicApi.js +0 -25
- package/dist/middleware/resourceId.js +0 -59
- package/dist/middleware/selfhost.js +0 -24
- package/dist/middleware/utils.js +0 -8
- package/dist/migrations/functions/appUrls.js +0 -42
- package/dist/migrations/functions/backfill/app/automations.js +0 -31
- package/dist/migrations/functions/backfill/app/datasources.js +0 -28
- package/dist/migrations/functions/backfill/app/layouts.js +0 -33
- package/dist/migrations/functions/backfill/app/queries.js +0 -50
- package/dist/migrations/functions/backfill/app/roles.js +0 -28
- package/dist/migrations/functions/backfill/app/screens.js +0 -28
- package/dist/migrations/functions/backfill/app/tables.js +0 -37
- package/dist/migrations/functions/backfill/app.js +0 -176
- package/dist/migrations/functions/backfill/global/configs.js +0 -67
- package/dist/migrations/functions/backfill/global/quotas.js +0 -60
- package/dist/migrations/functions/backfill/global/users.js +0 -50
- package/dist/migrations/functions/backfill/global.js +0 -205
- package/dist/migrations/functions/backfill/index.js +0 -32
- package/dist/migrations/functions/backfill/installation.js +0 -80
- package/dist/migrations/functions/syncQuotas.js +0 -52
- package/dist/migrations/functions/tableSettings.js +0 -130
- package/dist/migrations/functions/usageQuotas/index.js +0 -16
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -24
- package/dist/migrations/functions/usageQuotas/syncPlugins.js +0 -23
- package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
- package/dist/migrations/functions/usageQuotas/syncUsers.js +0 -21
- package/dist/migrations/functions/userEmailViewCasing.js +0 -24
- package/dist/migrations/index.js +0 -111
- package/dist/migrations/tests/helpers.js +0 -72
- package/dist/migrations/tests/structures.js +0 -37
- package/dist/sdk/app/applications/index.js +0 -28
- package/dist/sdk/app/applications/sync.js +0 -164
- package/dist/sdk/app/applications/utils.js +0 -21
- package/dist/sdk/app/automations/index.js +0 -29
- package/dist/sdk/app/automations/webhook.js +0 -54
- package/dist/sdk/app/backups/constants.js +0 -6
- package/dist/sdk/app/backups/exports.js +0 -160
- package/dist/sdk/app/backups/imports.js +0 -170
- package/dist/sdk/app/backups/index.js +0 -29
- package/dist/sdk/app/backups/statistics.js +0 -73
- package/dist/sdk/app/datasources/datasources.js +0 -166
- package/dist/sdk/app/datasources/index.js +0 -27
- package/dist/sdk/app/queries/index.js +0 -27
- package/dist/sdk/app/queries/queries.js +0 -60
- package/dist/sdk/app/rows/attachments.js +0 -61
- package/dist/sdk/app/rows/index.js +0 -28
- package/dist/sdk/app/rows/rows.js +0 -30
- package/dist/sdk/app/tables/index.js +0 -65
- package/dist/sdk/index.js +0 -27
- package/dist/sdk/plugins/index.js +0 -27
- package/dist/sdk/plugins/plugins.js +0 -53
- package/dist/sdk/users/index.js +0 -27
- package/dist/sdk/users/utils.js +0 -94
- package/dist/sdk/utils/index.js +0 -29
- package/dist/startup.js +0 -158
- package/dist/threads/automation.js +0 -450
- package/dist/threads/definitions.js +0 -2
- package/dist/threads/index.js +0 -140
- package/dist/threads/query.js +0 -265
- package/dist/threads/utils.js +0 -120
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/dist/utilities/appDirectoryTemplate/package.json +0 -10
- package/dist/utilities/budibaseDir.js +0 -5
- package/dist/utilities/centralPath.js +0 -27
- package/dist/utilities/csv.js +0 -33
- package/dist/utilities/fileSystem/app.js +0 -88
- package/dist/utilities/fileSystem/clientLibrary.js +0 -138
- package/dist/utilities/fileSystem/filesystem.js +0 -180
- package/dist/utilities/fileSystem/index.js +0 -21
- package/dist/utilities/fileSystem/plugin.js +0 -76
- package/dist/utilities/fileSystem/processor.js +0 -34
- package/dist/utilities/fileSystem/template.js +0 -47
- package/dist/utilities/global.js +0 -146
- package/dist/utilities/index.js +0 -143
- package/dist/utilities/redis.js +0 -117
- package/dist/utilities/retry.js +0 -30
- package/dist/utilities/routing/index.js +0 -39
- package/dist/utilities/rowProcessor/index.js +0 -282
- package/dist/utilities/rowProcessor/map.js +0 -116
- package/dist/utilities/rowProcessor/utils.js +0 -87
- package/dist/utilities/schema.js +0 -112
- package/dist/utilities/scriptRunner.js +0 -26
- package/dist/utilities/security.js +0 -57
- package/dist/utilities/statusCodes.js +0 -9
- package/dist/utilities/usageQuota/rows.js +0 -88
- package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
- package/dist/utilities/users.js +0 -57
- package/dist/utilities/workerRequests.js +0 -171
- package/dist/watch.js +0 -53
- package/dist/websockets/client.js +0 -14
- package/dist/websockets/grid.js +0 -60
- package/dist/websockets/index.js +0 -17
- package/dist/websockets/websocket.js +0 -78
- package/src/automations/tests/zapier.spec.js +0 -27
- /package/dist/{api/controllers/static/templates/BudibaseApp.svelte → BudibaseApp-Y5NZEDTC.svelte} +0 -0
- /package/dist/{api/controllers/static/templates/app.hbs → app.hbs} +0 -0
- /package/dist/{api/controllers/static/templates/preview.hbs → preview.hbs} +0 -0
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
16
|
-
const utils_1 = require("../db/utils");
|
|
17
|
-
const global_1 = require("../utilities/global");
|
|
18
|
-
const environment_1 = __importDefault(require("../environment"));
|
|
19
|
-
const utils_2 = require("./utils");
|
|
20
|
-
exports.default = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
var _a;
|
|
22
|
-
// try to get the appID from the request
|
|
23
|
-
let requestAppId = yield backend_core_1.utils.getAppIdFromCtx(ctx);
|
|
24
|
-
if (!requestAppId) {
|
|
25
|
-
return next();
|
|
26
|
-
}
|
|
27
|
-
// deny access to application preview
|
|
28
|
-
if (!environment_1.default.isTest()) {
|
|
29
|
-
if ((0, utils_1.isDevAppID)(requestAppId) &&
|
|
30
|
-
!(0, utils_2.isWebhookEndpoint)(ctx) &&
|
|
31
|
-
(!ctx.user || !ctx.user.builder || !ctx.user.builder.global)) {
|
|
32
|
-
return ctx.redirect("/");
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
let appId, roleId = backend_core_1.roles.BUILTIN_ROLE_IDS.PUBLIC;
|
|
36
|
-
if (!((_a = ctx.user) === null || _a === void 0 ? void 0 : _a._id)) {
|
|
37
|
-
// not logged in, try to set a cookie for public apps
|
|
38
|
-
appId = requestAppId;
|
|
39
|
-
}
|
|
40
|
-
else if (requestAppId != null) {
|
|
41
|
-
// Different App ID means cookie needs reset, or if the same public user has logged in
|
|
42
|
-
const globalUser = yield (0, global_1.getCachedSelf)(ctx, requestAppId);
|
|
43
|
-
appId = requestAppId;
|
|
44
|
-
// retrieving global user gets the right role
|
|
45
|
-
roleId = globalUser.roleId || roleId;
|
|
46
|
-
// Allow builders to specify their role via a header
|
|
47
|
-
const isBuilder = globalUser && globalUser.builder && globalUser.builder.global;
|
|
48
|
-
const isDevApp = appId && (0, utils_1.isDevAppID)(appId);
|
|
49
|
-
const roleHeader = ctx.request &&
|
|
50
|
-
ctx.request.headers[backend_core_1.constants.Header.PREVIEW_ROLE];
|
|
51
|
-
if (isBuilder && isDevApp && roleHeader) {
|
|
52
|
-
// Ensure the role is valid by ensuring a definition exists
|
|
53
|
-
try {
|
|
54
|
-
if (roleHeader) {
|
|
55
|
-
yield backend_core_1.roles.getRole(roleHeader);
|
|
56
|
-
roleId = roleHeader;
|
|
57
|
-
// Delete admin and builder flags so that the specified role is honoured
|
|
58
|
-
delete ctx.user.builder;
|
|
59
|
-
delete ctx.user.admin;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
// Swallow error and do nothing
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
// nothing more to do
|
|
68
|
-
if (!appId) {
|
|
69
|
-
return next();
|
|
70
|
-
}
|
|
71
|
-
return backend_core_1.context.doInAppContext(appId, () => __awaiter(void 0, void 0, void 0, function* () {
|
|
72
|
-
var _b;
|
|
73
|
-
let skipCookie = false;
|
|
74
|
-
// if the user not in the right tenant then make sure they have no permissions
|
|
75
|
-
// need to judge this only based on the request app ID,
|
|
76
|
-
if (environment_1.default.MULTI_TENANCY &&
|
|
77
|
-
((_b = ctx.user) === null || _b === void 0 ? void 0 : _b._id) &&
|
|
78
|
-
requestAppId &&
|
|
79
|
-
!backend_core_1.tenancy.isUserInAppTenant(requestAppId, ctx.user)) {
|
|
80
|
-
// don't error, simply remove the users rights (they are a public user)
|
|
81
|
-
delete ctx.user.builder;
|
|
82
|
-
delete ctx.user.admin;
|
|
83
|
-
delete ctx.user.roles;
|
|
84
|
-
ctx.isAuthenticated = false;
|
|
85
|
-
roleId = backend_core_1.roles.BUILTIN_ROLE_IDS.PUBLIC;
|
|
86
|
-
skipCookie = true;
|
|
87
|
-
}
|
|
88
|
-
ctx.appId = appId;
|
|
89
|
-
if (roleId) {
|
|
90
|
-
ctx.roleId = roleId;
|
|
91
|
-
const globalId = ctx.user ? ctx.user._id : undefined;
|
|
92
|
-
const userId = ctx.user
|
|
93
|
-
? (0, utils_1.generateUserMetadataID)(ctx.user._id)
|
|
94
|
-
: undefined;
|
|
95
|
-
ctx.user = Object.assign(Object.assign({}, ctx.user), {
|
|
96
|
-
// override userID with metadata one
|
|
97
|
-
_id: userId, userId,
|
|
98
|
-
globalId,
|
|
99
|
-
roleId, role: yield backend_core_1.roles.getRole(roleId) });
|
|
100
|
-
}
|
|
101
|
-
return next();
|
|
102
|
-
}));
|
|
103
|
-
});
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.params = exports.body = void 0;
|
|
7
|
-
const joi_1 = __importDefault(require("joi"));
|
|
8
|
-
function validate(schema, property) {
|
|
9
|
-
// Return a Koa middleware function
|
|
10
|
-
return (ctx, next) => {
|
|
11
|
-
if (!schema) {
|
|
12
|
-
return next();
|
|
13
|
-
}
|
|
14
|
-
let params = null;
|
|
15
|
-
if (ctx[property] != null) {
|
|
16
|
-
params = ctx[property];
|
|
17
|
-
}
|
|
18
|
-
else if (ctx.request.get(property) != null) {
|
|
19
|
-
params = ctx.request.get(property);
|
|
20
|
-
}
|
|
21
|
-
// not all schemas have the append property e.g. array schemas
|
|
22
|
-
if ("append" in schema && schema.append) {
|
|
23
|
-
schema = schema.append({
|
|
24
|
-
createdAt: joi_1.default.any().optional(),
|
|
25
|
-
updatedAt: joi_1.default.any().optional(),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
const { error } = schema.validate(params);
|
|
29
|
-
if (error) {
|
|
30
|
-
ctx.throw(400, `Invalid ${property} - ${error.message}`);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
return next();
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function body(schema) {
|
|
37
|
-
return validate(schema, "body");
|
|
38
|
-
}
|
|
39
|
-
exports.body = body;
|
|
40
|
-
function params(schema) {
|
|
41
|
-
return validate(schema, "params");
|
|
42
|
-
}
|
|
43
|
-
exports.params = params;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
13
|
-
function default_1({ requiresAppId } = {}) {
|
|
14
|
-
return (ctx, next) => __awaiter(this, void 0, void 0, function* () {
|
|
15
|
-
const appId = yield backend_core_1.utils.getAppIdFromCtx(ctx);
|
|
16
|
-
if (requiresAppId && !appId) {
|
|
17
|
-
ctx.throw(400, `Invalid app ID provided, please check the ${backend_core_1.constants.Header.APP_ID} header.`);
|
|
18
|
-
}
|
|
19
|
-
if (!ctx.headers[backend_core_1.constants.Header.API_KEY]) {
|
|
20
|
-
ctx.throw(400, `Invalid API key provided, please check the ${backend_core_1.constants.Header.API_KEY} header.`);
|
|
21
|
-
}
|
|
22
|
-
return next();
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
exports.default = default_1;
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.bodySubResource = exports.bodyResource = exports.paramSubResource = exports.paramResource = exports.ResourceIdGetter = void 0;
|
|
4
|
-
class ResourceIdGetter {
|
|
5
|
-
constructor(ctxProperty) {
|
|
6
|
-
this.parameter = ctxProperty;
|
|
7
|
-
this.main = null;
|
|
8
|
-
this.sub = null;
|
|
9
|
-
return this;
|
|
10
|
-
}
|
|
11
|
-
mainResource(field) {
|
|
12
|
-
this.main = field;
|
|
13
|
-
return this;
|
|
14
|
-
}
|
|
15
|
-
subResource(field) {
|
|
16
|
-
this.sub = field;
|
|
17
|
-
return this;
|
|
18
|
-
}
|
|
19
|
-
build() {
|
|
20
|
-
const parameter = this.parameter, main = this.main, sub = this.sub;
|
|
21
|
-
return (ctx, next) => {
|
|
22
|
-
// @ts-ignore
|
|
23
|
-
const request = ctx.request[parameter] || ctx[parameter];
|
|
24
|
-
if (request == null) {
|
|
25
|
-
return next();
|
|
26
|
-
}
|
|
27
|
-
if (main != null && request[main]) {
|
|
28
|
-
ctx.resourceId = request[main];
|
|
29
|
-
}
|
|
30
|
-
if (sub != null && request[sub]) {
|
|
31
|
-
ctx.subResourceId = request[sub];
|
|
32
|
-
}
|
|
33
|
-
return next();
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.ResourceIdGetter = ResourceIdGetter;
|
|
38
|
-
function paramResource(main) {
|
|
39
|
-
return new ResourceIdGetter("params").mainResource(main).build();
|
|
40
|
-
}
|
|
41
|
-
exports.paramResource = paramResource;
|
|
42
|
-
function paramSubResource(main, sub) {
|
|
43
|
-
return new ResourceIdGetter("params")
|
|
44
|
-
.mainResource(main)
|
|
45
|
-
.subResource(sub)
|
|
46
|
-
.build();
|
|
47
|
-
}
|
|
48
|
-
exports.paramSubResource = paramSubResource;
|
|
49
|
-
function bodyResource(main) {
|
|
50
|
-
return new ResourceIdGetter("body").mainResource(main).build();
|
|
51
|
-
}
|
|
52
|
-
exports.bodyResource = bodyResource;
|
|
53
|
-
function bodySubResource(main, sub) {
|
|
54
|
-
return new ResourceIdGetter("body")
|
|
55
|
-
.mainResource(main)
|
|
56
|
-
.subResource(sub)
|
|
57
|
-
.build();
|
|
58
|
-
}
|
|
59
|
-
exports.bodySubResource = bodySubResource;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const environment_1 = __importDefault(require("../environment"));
|
|
16
|
-
// if added as a middleware will stop requests unless builder is in self host mode
|
|
17
|
-
// or cloud is in self host
|
|
18
|
-
exports.default = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
if (environment_1.default.SELF_HOSTED) {
|
|
20
|
-
yield next();
|
|
21
|
-
return;
|
|
22
|
-
}
|
|
23
|
-
ctx.throw(400, "Endpoint unavailable in cloud hosting.");
|
|
24
|
-
});
|
package/dist/middleware/utils.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isWebhookEndpoint = void 0;
|
|
4
|
-
const WEBHOOK_ENDPOINTS = new RegExp(["webhooks/trigger", "webhooks/schema"].join("|"));
|
|
5
|
-
function isWebhookEndpoint(ctx) {
|
|
6
|
-
return WEBHOOK_ENDPOINTS.test(ctx.request.url);
|
|
7
|
-
}
|
|
8
|
-
exports.isWebhookEndpoint = isWebhookEndpoint;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.run = void 0;
|
|
16
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
17
|
-
const sdk_1 = __importDefault(require("../../sdk"));
|
|
18
|
-
/**
|
|
19
|
-
* Date:
|
|
20
|
-
* January 2022
|
|
21
|
-
*
|
|
22
|
-
* Description:
|
|
23
|
-
* Add the url to the app metadata if it doesn't exist
|
|
24
|
-
*/
|
|
25
|
-
const run = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
-
let metadata;
|
|
27
|
-
try {
|
|
28
|
-
metadata = yield appDb.get(backend_core_1.db.DocumentType.APP_METADATA);
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
// sometimes the metadata document doesn't exist
|
|
32
|
-
// exit early instead of failing the migration
|
|
33
|
-
console.error("Error retrieving app metadata. Skipping", e);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (!metadata.url) {
|
|
37
|
-
metadata.url = sdk_1.default.applications.getAppUrl({ name: metadata.name });
|
|
38
|
-
console.log(`Adding url to app: ${metadata.url}`);
|
|
39
|
-
yield appDb.put(metadata);
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
exports.run = run;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const getAutomations = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const response = yield appDb.allDocs((0, utils_1.getAutomationParams)(null, {
|
|
17
|
-
include_docs: true,
|
|
18
|
-
}));
|
|
19
|
-
return response.rows.map((row) => row.doc);
|
|
20
|
-
});
|
|
21
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const automations = yield getAutomations(appDb);
|
|
23
|
-
for (const automation of automations) {
|
|
24
|
-
yield backend_core_1.events.automation.created(automation, timestamp);
|
|
25
|
-
for (const step of automation.definition.steps) {
|
|
26
|
-
yield backend_core_1.events.automation.stepCreated(automation, step, timestamp);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return automations.length;
|
|
30
|
-
});
|
|
31
|
-
exports.backfill = backfill;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const getDatasources = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const response = yield appDb.allDocs((0, utils_1.getDatasourceParams)(null, {
|
|
17
|
-
include_docs: true,
|
|
18
|
-
}));
|
|
19
|
-
return response.rows.map((row) => row.doc);
|
|
20
|
-
});
|
|
21
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const datasources = yield getDatasources(appDb);
|
|
23
|
-
for (const datasource of datasources) {
|
|
24
|
-
yield backend_core_1.events.datasource.created(datasource, timestamp);
|
|
25
|
-
}
|
|
26
|
-
return datasources.length;
|
|
27
|
-
});
|
|
28
|
-
exports.backfill = backfill;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const getLayouts = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const response = yield appDb.allDocs((0, utils_1.getLayoutParams)(null, {
|
|
17
|
-
include_docs: true,
|
|
18
|
-
}));
|
|
19
|
-
return response.rows.map((row) => row.doc);
|
|
20
|
-
});
|
|
21
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const layouts = yield getLayouts(appDb);
|
|
23
|
-
for (const layout of layouts) {
|
|
24
|
-
// exclude default layouts
|
|
25
|
-
if (layout._id === "layout_private_master" ||
|
|
26
|
-
layout._id === "layout_public_master") {
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
yield backend_core_1.events.layout.created(layout, timestamp);
|
|
30
|
-
}
|
|
31
|
-
return layouts.length;
|
|
32
|
-
});
|
|
33
|
-
exports.backfill = backfill;
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const types_1 = require("@budibase/types");
|
|
16
|
-
const getQueries = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
17
|
-
const response = yield appDb.allDocs((0, utils_1.getQueryParams)(null, {
|
|
18
|
-
include_docs: true,
|
|
19
|
-
}));
|
|
20
|
-
return response.rows.map((row) => row.doc);
|
|
21
|
-
});
|
|
22
|
-
const getDatasource = (appDb, datasourceId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
23
|
-
return appDb.get(datasourceId);
|
|
24
|
-
});
|
|
25
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
-
const queries = yield getQueries(appDb);
|
|
27
|
-
for (const query of queries) {
|
|
28
|
-
let datasource;
|
|
29
|
-
try {
|
|
30
|
-
datasource = yield getDatasource(appDb, query.datasourceId);
|
|
31
|
-
}
|
|
32
|
-
catch (e) {
|
|
33
|
-
// handle known bug where a datasource has been deleted
|
|
34
|
-
// and the query has not
|
|
35
|
-
if (e.status === 404) {
|
|
36
|
-
datasource = {
|
|
37
|
-
type: "unknown",
|
|
38
|
-
_id: query.datasourceId,
|
|
39
|
-
source: types_1.SourceName.UNKNOWN,
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw e;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
yield backend_core_1.events.query.created(datasource, query, timestamp);
|
|
47
|
-
}
|
|
48
|
-
return queries.length;
|
|
49
|
-
});
|
|
50
|
-
exports.backfill = backfill;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const getRoles = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const response = yield appDb.allDocs((0, utils_1.getRoleParams)(null, {
|
|
17
|
-
include_docs: true,
|
|
18
|
-
}));
|
|
19
|
-
return response.rows.map((row) => row.doc);
|
|
20
|
-
});
|
|
21
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const roles = yield getRoles(appDb);
|
|
23
|
-
for (const role of roles) {
|
|
24
|
-
yield backend_core_1.events.role.created(role, timestamp);
|
|
25
|
-
}
|
|
26
|
-
return roles.length;
|
|
27
|
-
});
|
|
28
|
-
exports.backfill = backfill;
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.backfill = void 0;
|
|
13
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
-
const utils_1 = require("../../../../db/utils");
|
|
15
|
-
const getScreens = (appDb) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
const response = yield appDb.allDocs((0, utils_1.getScreenParams)(null, {
|
|
17
|
-
include_docs: true,
|
|
18
|
-
}));
|
|
19
|
-
return response.rows.map((row) => row.doc);
|
|
20
|
-
});
|
|
21
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
22
|
-
const screens = yield getScreens(appDb);
|
|
23
|
-
for (const screen of screens) {
|
|
24
|
-
yield backend_core_1.events.screen.created(screen, timestamp);
|
|
25
|
-
}
|
|
26
|
-
return screens.length;
|
|
27
|
-
});
|
|
28
|
-
exports.backfill = backfill;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
exports.backfill = void 0;
|
|
16
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
17
|
-
const sdk_1 = __importDefault(require("../../../../sdk"));
|
|
18
|
-
const backfill = (appDb, timestamp) => __awaiter(void 0, void 0, void 0, function* () {
|
|
19
|
-
var _a;
|
|
20
|
-
const tables = yield sdk_1.default.tables.getAllInternalTables(appDb);
|
|
21
|
-
for (const table of tables) {
|
|
22
|
-
yield backend_core_1.events.table.created(table, timestamp);
|
|
23
|
-
if (table.views) {
|
|
24
|
-
for (const view of Object.values(table.views)) {
|
|
25
|
-
yield backend_core_1.events.view.created(view, timestamp);
|
|
26
|
-
if (view.calculation) {
|
|
27
|
-
yield backend_core_1.events.view.calculationCreated(view, timestamp);
|
|
28
|
-
}
|
|
29
|
-
if ((_a = view.filters) === null || _a === void 0 ? void 0 : _a.length) {
|
|
30
|
-
yield backend_core_1.events.view.filterCreated(view, timestamp);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return tables.length;
|
|
36
|
-
});
|
|
37
|
-
exports.backfill = backfill;
|