@budibase/server 2.6.19-alpha.2 → 2.6.19-alpha.21
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.6c1171e2.js → index.47cc7efc.js} +343 -334
- package/builder/assets/{index.07382a47.css → index.ffb6a106.css} +2 -2
- package/builder/index.html +2 -2
- package/client/manifest.json +5229 -0
- package/dist/automation.js +32364 -0
- package/dist/automation.js.map +7 -0
- package/dist/index.js +44582 -13
- package/dist/index.js.map +7 -0
- package/dist/query.js +24345 -0
- package/dist/query.js.map +7 -0
- package/jest.config.ts +3 -0
- package/nodemon.json +1 -1
- package/package.json +30 -13
- package/pm2.config.js +1 -1
- package/scripts/build.js +48 -0
- package/src/api/controllers/automation.ts +37 -9
- package/src/api/controllers/datasource.ts +16 -0
- package/src/api/controllers/row/internal.ts +1 -1
- package/src/api/controllers/static/index.ts +3 -3
- package/src/api/controllers/table/internal.ts +2 -6
- package/src/api/controllers/table/utils.ts +32 -1
- package/src/api/controllers/webhook.ts +33 -9
- package/src/api/routes/automation.ts +0 -1
- package/src/api/routes/datasource.ts +5 -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/{webhook.spec.js → webhook.spec.ts} +33 -11
- package/src/automations/actions.ts +8 -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 +4 -0
- 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 +4 -0
- package/src/automations/tests/openai.spec.ts +86 -0
- package/src/automations/triggers.ts +3 -2
- package/src/constants/index.ts +17 -16
- package/src/db/inMemoryView.ts +1 -0
- package/src/environment.ts +2 -0
- package/src/integration-test/postgres.spec.ts +47 -4
- package/src/integrations/airtable.ts +3 -1
- package/src/integrations/arangodb.ts +3 -1
- package/src/integrations/base/sqlTable.ts +0 -1
- package/src/integrations/couchdb.ts +3 -1
- package/src/integrations/dynamodb.ts +3 -1
- package/src/integrations/elasticsearch.ts +3 -1
- package/src/integrations/firebase.ts +3 -1
- package/src/integrations/googlesheets.ts +11 -3
- package/src/integrations/microsoftSqlServer.ts +18 -2
- package/src/integrations/mongodb.ts +3 -1
- package/src/integrations/mysql.ts +27 -11
- package/src/integrations/oracle.ts +11 -1
- package/src/integrations/postgres.ts +27 -10
- package/src/integrations/redis.ts +3 -1
- package/src/integrations/s3.ts +3 -1
- package/src/integrations/snowflake.ts +3 -1
- package/src/integrations/tests/googlesheets.spec.ts +41 -9
- package/src/sdk/app/automations/index.ts +2 -0
- package/src/sdk/app/automations/utils.ts +7 -0
- package/src/tests/utilities/TestConfiguration.ts +4 -2
- package/src/tests/utilities/structures.ts +42 -0
- package/src/threads/automation.ts +39 -0
- package/src/utilities/fileSystem/app.ts +1 -1
- package/src/utilities/fileSystem/clientLibrary.ts +8 -3
- package/src/utilities/fileSystem/filesystem.ts +3 -1
- package/tsconfig.build.json +9 -1
- package/tsconfig.json +1 -14
- 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 -337
- 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 -44
- 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 -134
- package/dist/automations/steps/outgoingWebhook.js +0 -166
- package/dist/automations/steps/queryRows.js +0 -216
- 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 -130
- 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 -173
- package/dist/integrations/arangodb.js +0 -119
- 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 -140
- package/dist/integrations/dynamodb.js +0 -210
- package/dist/integrations/elasticsearch.js +0 -201
- package/dist/integrations/firebase.js +0 -189
- package/dist/integrations/googlesheets.js +0 -484
- package/dist/integrations/index.js +0 -138
- package/dist/integrations/microsoftSqlServer.js +0 -289
- package/dist/integrations/mongodb.js +0 -630
- package/dist/integrations/mysql.js +0 -272
- package/dist/integrations/oracle.js +0 -404
- package/dist/integrations/postgres.js +0 -319
- package/dist/integrations/queries/sql.js +0 -84
- package/dist/integrations/redis.js +0 -187
- package/dist/integrations/rest.js +0 -400
- package/dist/integrations/s3.js +0 -256
- package/dist/integrations/snowflake.js +0 -114
- 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 -49
- 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 -173
- 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 -87
- 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 -149
- 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/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
package/dist/api/routes/row.js
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const rowController = __importStar(require("../controllers/row"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const resourceId_1 = require("../../middleware/resourceId");
|
|
33
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
34
|
-
const validators_1 = require("./utils/validators");
|
|
35
|
-
const { PermissionType, PermissionLevel } = backend_core_1.permissions;
|
|
36
|
-
const router = new router_1.default();
|
|
37
|
-
router
|
|
38
|
-
/**
|
|
39
|
-
* @api {get} /api/:tableId/:rowId/enrich Get an enriched row
|
|
40
|
-
* @apiName Get an enriched row
|
|
41
|
-
* @apiGroup rows
|
|
42
|
-
* @apiPermission table read access
|
|
43
|
-
* @apiDescription This API is only useful when dealing with rows that have relationships.
|
|
44
|
-
* Normally when a row is a returned from the API relationships will only have the structure
|
|
45
|
-
* `{ primaryDisplay: "name", _id: ... }` but this call will return the full related rows
|
|
46
|
-
* for each relationship instead.
|
|
47
|
-
*
|
|
48
|
-
* @apiParam {string} rowId The ID of the row which is to be retrieved and enriched.
|
|
49
|
-
*
|
|
50
|
-
* @apiSuccess {object} row The response body will be the enriched row.
|
|
51
|
-
*/
|
|
52
|
-
.get("/api/:tableId/:rowId/enrich", (0, resourceId_1.paramSubResource)("tableId", "rowId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), rowController.fetchEnrichedRow)
|
|
53
|
-
/**
|
|
54
|
-
* @api {get} /api/:tableId/rows Get all rows in a table
|
|
55
|
-
* @apiName Get all rows in a table
|
|
56
|
-
* @apiGroup rows
|
|
57
|
-
* @apiPermission table read access
|
|
58
|
-
* @apiDescription This is a deprecated endpoint that should not be used anymore, instead use the search endpoint.
|
|
59
|
-
* This endpoint gets all of the rows within the specified table - it is not heavily used
|
|
60
|
-
* due to its lack of support for pagination. With SQL tables this will retrieve up to a limit and then
|
|
61
|
-
* will simply stop.
|
|
62
|
-
*
|
|
63
|
-
* @apiParam {string} tableId The ID of the table to retrieve all rows within.
|
|
64
|
-
*
|
|
65
|
-
* @apiSuccess {object[]} rows The response body will be an array of all rows found.
|
|
66
|
-
*/
|
|
67
|
-
.get("/api/:tableId/rows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), rowController.fetch)
|
|
68
|
-
/**
|
|
69
|
-
* @api {get} /api/:tableId/rows/:rowId Retrieve a single row
|
|
70
|
-
* @apiName Retrieve a single row
|
|
71
|
-
* @apiGroup rows
|
|
72
|
-
* @apiPermission table read access
|
|
73
|
-
* @apiDescription This endpoint retrieves only the specified row. If you wish to retrieve
|
|
74
|
-
* a row by anything other than its _id field, use the search endpoint.
|
|
75
|
-
*
|
|
76
|
-
* @apiParam {string} tableId The ID of the table to retrieve a row from.
|
|
77
|
-
* @apiParam {string} rowId The ID of the row to retrieve.
|
|
78
|
-
*
|
|
79
|
-
* @apiSuccess {object} body The response body will be the row that was found.
|
|
80
|
-
*/
|
|
81
|
-
.get("/api/:tableId/rows/:rowId", (0, resourceId_1.paramSubResource)("tableId", "rowId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), rowController.find)
|
|
82
|
-
/**
|
|
83
|
-
* @api {post} /api/:tableId/search Search for rows in a table
|
|
84
|
-
* @apiName Search for rows in a table
|
|
85
|
-
* @apiGroup rows
|
|
86
|
-
* @apiPermission table read access
|
|
87
|
-
* @apiDescription This is the primary method of accessing rows in Budibase, the data provider
|
|
88
|
-
* and data UI in the builder are built atop this. All filtering, sorting and pagination is
|
|
89
|
-
* handled through this, for internal and external (datasource plus, e.g. SQL) tables.
|
|
90
|
-
*
|
|
91
|
-
* @apiParam {string} tableId The ID of the table to retrieve rows from.
|
|
92
|
-
*
|
|
93
|
-
* @apiParam (Body) {boolean} [paginate] If pagination is required then this should be set to true,
|
|
94
|
-
* defaults to false.
|
|
95
|
-
* @apiParam (Body) {object} [query] This contains a set of filters which should be applied, if none
|
|
96
|
-
* specified then the request will be unfiltered. An example with all of the possible query
|
|
97
|
-
* options has been supplied below.
|
|
98
|
-
* @apiParam (Body) {number} [limit] This sets a limit for the number of rows that will be returned,
|
|
99
|
-
* this will be implemented at the database level if supported for performance reasons. This
|
|
100
|
-
* is useful when paginating to set exactly how many rows per page.
|
|
101
|
-
* @apiParam (Body) {string} [bookmark] If pagination is enabled then a bookmark will be returned
|
|
102
|
-
* with each successful search request, this should be supplied back to get the next page.
|
|
103
|
-
* @apiParam (Body) {object} [sort] If sort is desired this should contain the name of the column to
|
|
104
|
-
* sort on.
|
|
105
|
-
* @apiParam (Body) {string} [sortOrder] If sort is enabled then this can be either "descending" or
|
|
106
|
-
* "ascending" as required.
|
|
107
|
-
* @apiParam (Body) {string} [sortType] If sort is enabled then you must specify the type of search
|
|
108
|
-
* being used, either "string" or "number". This is only used for internal tables.
|
|
109
|
-
*
|
|
110
|
-
* @apiParamExample {json} Example:
|
|
111
|
-
* {
|
|
112
|
-
* "tableId": "ta_70260ff0b85c467ca74364aefc46f26d",
|
|
113
|
-
* "query": {
|
|
114
|
-
* "string": {},
|
|
115
|
-
* "fuzzy": {},
|
|
116
|
-
* "range": {
|
|
117
|
-
* "columnName": {
|
|
118
|
-
* "high": 20,
|
|
119
|
-
* "low": 10,
|
|
120
|
-
* }
|
|
121
|
-
* },
|
|
122
|
-
* "equal": {
|
|
123
|
-
* "columnName": "someValue"
|
|
124
|
-
* },
|
|
125
|
-
* "notEqual": {},
|
|
126
|
-
* "empty": {},
|
|
127
|
-
* "notEmpty": {},
|
|
128
|
-
* "oneOf": {
|
|
129
|
-
* "columnName": ["value"]
|
|
130
|
-
* }
|
|
131
|
-
* },
|
|
132
|
-
* "limit": 10,
|
|
133
|
-
* "sort": "name",
|
|
134
|
-
* "sortOrder": "descending",
|
|
135
|
-
* "sortType": "string",
|
|
136
|
-
* "paginate": true
|
|
137
|
-
* }
|
|
138
|
-
*
|
|
139
|
-
* @apiSuccess {object[]} rows An array of rows that was found based on the supplied parameters.
|
|
140
|
-
* @apiSuccess {boolean} hasNextPage If pagination was enabled then this specifies whether or
|
|
141
|
-
* not there is another page after this request.
|
|
142
|
-
* @apiSuccess {string} bookmark The bookmark to be sent with the next request to get the next
|
|
143
|
-
* page.
|
|
144
|
-
*/
|
|
145
|
-
.post("/api/:tableId/search", (0, validators_1.internalSearchValidator)(), (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), rowController.search)
|
|
146
|
-
// DEPRECATED - this is an old API, but for backwards compat it needs to be
|
|
147
|
-
// supported still
|
|
148
|
-
.post("/api/search/:tableId/rows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), rowController.search)
|
|
149
|
-
/**
|
|
150
|
-
* @api {post} /api/:tableId/rows Creates a new row
|
|
151
|
-
* @apiName Creates a new row
|
|
152
|
-
* @apiGroup rows
|
|
153
|
-
* @apiPermission table write access
|
|
154
|
-
* @apiDescription This API will create a new row based on the supplied body. If the
|
|
155
|
-
* body includes an "_id" field then it will update an existing row if the field
|
|
156
|
-
* links to one. Please note that "_id", "_rev" and "tableId" are fields that are
|
|
157
|
-
* already used by Budibase tables and cannot be used for columns.
|
|
158
|
-
*
|
|
159
|
-
* @apiParam {string} tableId The ID of the table to save a row to.
|
|
160
|
-
*
|
|
161
|
-
* @apiParam (Body) {string} [_id] If the row exists already then an ID for the row must be provided.
|
|
162
|
-
* @apiParam (Body) {string} [_rev] If working with an existing row for an internal table its revision
|
|
163
|
-
* must also be provided.
|
|
164
|
-
* @apiParam (Body) {string} tableId The ID of the table should also be specified in the row body itself.
|
|
165
|
-
* @apiParam (Body) {any} [any] Any field supplied in the body will be assessed to see if it matches
|
|
166
|
-
* a column in the specified table. All other fields will be dropped and not stored.
|
|
167
|
-
*
|
|
168
|
-
* @apiSuccess {string} _id The ID of the row that was just saved, if it was just created this
|
|
169
|
-
* is the rows new ID.
|
|
170
|
-
* @apiSuccess {string} [_rev] If saving to an internal table a revision will also be returned.
|
|
171
|
-
* @apiSuccess {object} body The contents of the row that was saved will be returned as well.
|
|
172
|
-
*/
|
|
173
|
-
.post("/api/:tableId/rows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), rowController.save)
|
|
174
|
-
/**
|
|
175
|
-
* @api {patch} /api/:tableId/rows Updates a row
|
|
176
|
-
* @apiName Update a row
|
|
177
|
-
* @apiGroup rows
|
|
178
|
-
* @apiPermission table write access
|
|
179
|
-
* @apiDescription This endpoint is identical to the row creation endpoint but instead it will
|
|
180
|
-
* error if an _id isn't provided, it will only function for existing rows.
|
|
181
|
-
*/
|
|
182
|
-
.patch("/api/:tableId/rows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), rowController.patch)
|
|
183
|
-
/**
|
|
184
|
-
* @api {post} /api/:tableId/rows/validate Validate inputs for a row
|
|
185
|
-
* @apiName Validate inputs for a row
|
|
186
|
-
* @apiGroup rows
|
|
187
|
-
* @apiPermission table write access
|
|
188
|
-
* @apiDescription When attempting to save a row you may want to check if the row is valid
|
|
189
|
-
* given the table schema, this will iterate through all the constraints on the table and
|
|
190
|
-
* check if the request body is valid.
|
|
191
|
-
*
|
|
192
|
-
* @apiParam {string} tableId The ID of the table the row is to be validated for.
|
|
193
|
-
*
|
|
194
|
-
* @apiParam (Body) {any} [any] Any fields provided in the request body will be tested
|
|
195
|
-
* against the table schema and constraints.
|
|
196
|
-
*
|
|
197
|
-
* @apiSuccess {boolean} valid If inputs provided are acceptable within the table schema this
|
|
198
|
-
* will be true, if it is not then then errors property will be populated.
|
|
199
|
-
* @apiSuccess {object} [errors] A key value map of information about fields on the input
|
|
200
|
-
* which do not match the table schema. The key name will be the column names that have breached
|
|
201
|
-
* the schema.
|
|
202
|
-
*/
|
|
203
|
-
.post("/api/:tableId/rows/validate", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), rowController.validate)
|
|
204
|
-
/**
|
|
205
|
-
* @api {delete} /api/:tableId/rows Delete rows
|
|
206
|
-
* @apiName Delete rows
|
|
207
|
-
* @apiGroup rows
|
|
208
|
-
* @apiPermission table write access
|
|
209
|
-
* @apiDescription This endpoint can delete a single row, or delete them in a bulk
|
|
210
|
-
* fashion.
|
|
211
|
-
*
|
|
212
|
-
* @apiParam {string} tableId The ID of the table the row is to be deleted from.
|
|
213
|
-
*
|
|
214
|
-
* @apiParam (Body) {object[]} [rows] If bulk deletion is desired then provide the rows in this
|
|
215
|
-
* key of the request body that are to be deleted.
|
|
216
|
-
* @apiParam (Body) {string} [_id] If deleting a single row then provide its ID in this field.
|
|
217
|
-
* @apiParam (Body) {string} [_rev] If deleting a single row from an internal table then provide its
|
|
218
|
-
* revision here.
|
|
219
|
-
*
|
|
220
|
-
* @apiSuccess {object[]|object} body If deleting bulk then the response body will be an array
|
|
221
|
-
* of the deleted rows, if deleting a single row then the body will contain a "row" property which
|
|
222
|
-
* is the deleted row.
|
|
223
|
-
*/
|
|
224
|
-
.delete("/api/:tableId/rows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), rowController.destroy)
|
|
225
|
-
/**
|
|
226
|
-
* @api {post} /api/:tableId/rows/exportRows Export Rows
|
|
227
|
-
* @apiName Export rows
|
|
228
|
-
* @apiGroup rows
|
|
229
|
-
* @apiPermission table write access
|
|
230
|
-
* @apiDescription This API can export a number of provided rows
|
|
231
|
-
*
|
|
232
|
-
* @apiParam {string} tableId The ID of the table the row is to be deleted from.
|
|
233
|
-
*
|
|
234
|
-
* @apiParam (Body) {object[]} [rows] The row IDs which are to be exported
|
|
235
|
-
*
|
|
236
|
-
* @apiSuccess {object[]|object}
|
|
237
|
-
*/
|
|
238
|
-
.post("/api/:tableId/rows/exportRows", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), rowController.exportRows);
|
|
239
|
-
exports.default = router;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const controller = __importStar(require("../controllers/screen"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
33
|
-
const validators_1 = require("./utils/validators");
|
|
34
|
-
const router = new router_1.default();
|
|
35
|
-
router
|
|
36
|
-
.get("/api/screens", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), controller.fetch)
|
|
37
|
-
.post("/api/screens", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), (0, validators_1.screenValidator)(), controller.save)
|
|
38
|
-
.delete("/api/screens/:screenId/:screenRev", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), controller.destroy);
|
|
39
|
-
exports.default = router;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const controller = __importStar(require("../controllers/script"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
33
|
-
const router = new router_1.default();
|
|
34
|
-
router.post("/api/script", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), controller.save);
|
|
35
|
-
exports.default = router;
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
39
|
-
const controller = __importStar(require("../controllers/static"));
|
|
40
|
-
const budibaseDir_1 = require("../../utilities/budibaseDir");
|
|
41
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
42
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
43
|
-
const environment_1 = __importDefault(require("../../environment"));
|
|
44
|
-
const resourceId_1 = require("../../middleware/resourceId");
|
|
45
|
-
const { BUILDER, PermissionType, PermissionLevel } = backend_core_1.permissions;
|
|
46
|
-
const router = new router_1.default();
|
|
47
|
-
/* istanbul ignore next */
|
|
48
|
-
router.param("file", (file, ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
|
|
49
|
-
ctx.file = file && file.includes(".") ? file : "index.html";
|
|
50
|
-
if (!ctx.file.startsWith("budibase-client")) {
|
|
51
|
-
return next();
|
|
52
|
-
}
|
|
53
|
-
// test serves from require
|
|
54
|
-
if (environment_1.default.isTest()) {
|
|
55
|
-
ctx.devPath = require.resolve("@budibase/client").split(ctx.file)[0];
|
|
56
|
-
}
|
|
57
|
-
else if (environment_1.default.isDev()) {
|
|
58
|
-
// Serving the client library from your local dir in dev
|
|
59
|
-
ctx.devPath = (0, budibaseDir_1.budibaseTempDir)();
|
|
60
|
-
}
|
|
61
|
-
return next();
|
|
62
|
-
}));
|
|
63
|
-
// only used in development for retrieving the client library,
|
|
64
|
-
// in production the client lib is always stored in the object store.
|
|
65
|
-
if (environment_1.default.isDev()) {
|
|
66
|
-
router.get("/api/assets/client", controller.serveClientLibrary);
|
|
67
|
-
}
|
|
68
|
-
router
|
|
69
|
-
// TODO: for now this builder endpoint is not authorized/secured, will need to be
|
|
70
|
-
.get("/builder/:file*", controller.serveBuilder)
|
|
71
|
-
.post("/api/attachments/process", (0, authorized_1.default)(BUILDER), controller.uploadFile)
|
|
72
|
-
.post("/api/attachments/delete", (0, authorized_1.default)(BUILDER), controller.deleteObjects)
|
|
73
|
-
.post("/api/beta/:feature", controller.toggleBetaUiFeature)
|
|
74
|
-
.post("/api/attachments/:tableId/upload", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), controller.uploadFile)
|
|
75
|
-
.post("/api/attachments/:tableId/delete", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.WRITE), controller.deleteObjects)
|
|
76
|
-
.get("/app/preview", (0, authorized_1.default)(BUILDER), controller.serveBuilderPreview)
|
|
77
|
-
.get("/:appId/:path*", controller.serveApp)
|
|
78
|
-
.get("/app/:appUrl/:path*", controller.serveApp)
|
|
79
|
-
.post("/api/attachments/:datasourceId/url", (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ), controller.getSignedUploadURL);
|
|
80
|
-
exports.default = router;
|
package/dist/api/routes/table.js
DELETED
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const tableController = __importStar(require("../controllers/table"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const resourceId_1 = require("../../middleware/resourceId");
|
|
33
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
34
|
-
const validators_1 = require("./utils/validators");
|
|
35
|
-
const { BUILDER, PermissionLevel, PermissionType } = backend_core_1.permissions;
|
|
36
|
-
const router = new router_1.default();
|
|
37
|
-
router
|
|
38
|
-
/**
|
|
39
|
-
* @api {get} /api/tables Fetch all tables
|
|
40
|
-
* @apiName Fetch all tables
|
|
41
|
-
* @apiGroup tables
|
|
42
|
-
* @apiPermission table read access
|
|
43
|
-
* @apiDescription This endpoint retrieves all of the tables which have been created in
|
|
44
|
-
* an app. This includes all of the external and internal tables; to tell the difference
|
|
45
|
-
* between these look for the "type" property on each table, either being "internal" or "external".
|
|
46
|
-
*
|
|
47
|
-
* @apiSuccess {object[]} body The response body will be the list of tables that was found - as
|
|
48
|
-
* this does not take any parameters the only error scenario is no access.
|
|
49
|
-
*/
|
|
50
|
-
.get("/api/tables", (0, authorized_1.default)(BUILDER), tableController.fetch)
|
|
51
|
-
/**
|
|
52
|
-
* @api {get} /api/tables/:id Fetch a single table
|
|
53
|
-
* @apiName Fetch a single table
|
|
54
|
-
* @apiGroup tables
|
|
55
|
-
* @apiPermission table read access
|
|
56
|
-
* @apiDescription Retrieves a single table this could be be internal or external based on
|
|
57
|
-
* the provided table ID.
|
|
58
|
-
*
|
|
59
|
-
* @apiParam {string} id The ID of the table which is to be retrieved.
|
|
60
|
-
*
|
|
61
|
-
* @apiSuccess {object[]} body The response body will be the table that was found.
|
|
62
|
-
*/
|
|
63
|
-
.get("/api/tables/:tableId", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(PermissionType.TABLE, PermissionLevel.READ, { schema: true }), tableController.find)
|
|
64
|
-
/**
|
|
65
|
-
* @api {post} /api/tables Save a table
|
|
66
|
-
* @apiName Save a table
|
|
67
|
-
* @apiGroup tables
|
|
68
|
-
* @apiPermission builder
|
|
69
|
-
* @apiDescription Create or update a table with this endpoint, this will function for both internal
|
|
70
|
-
* external tables.
|
|
71
|
-
*
|
|
72
|
-
* @apiParam (Body) {string} [_id] If updating an existing table then the ID of the table must be specified.
|
|
73
|
-
* @apiParam (Body) {string} [_rev] If updating an existing internal table then the revision must also be specified.
|
|
74
|
-
* @apiParam (Body) {string} type] This should either be "internal" or "external" depending on the table type -
|
|
75
|
-
* this will default to internal.
|
|
76
|
-
* @apiParam (Body) {string} [sourceId] If creating an external table then this should be set to the datasource ID. If
|
|
77
|
-
* building an internal table this does not need to be set, although it will be returned as "bb_internal".
|
|
78
|
-
* @apiParam (Body) {string} name The name of the table, this will be used in the UI. To rename the table simply
|
|
79
|
-
* supply the table structure to this endpoint with the name changed.
|
|
80
|
-
* @apiParam (Body) {object} schema A key value object which has all of the columns in the table as the keys in this
|
|
81
|
-
* object. For each column a "type" and "constraints" must be specified, with some types requiring further information.
|
|
82
|
-
* More information about the schema structure can be found in the Typescript definitions.
|
|
83
|
-
* @apiParam (Body) {string} [primaryDisplay] The name of the column which should be used when displaying rows
|
|
84
|
-
* from this table as relationships.
|
|
85
|
-
* @apiParam (Body) {object[]} [indexes] Specifies the search indexes - this is deprecated behaviour with the introduction
|
|
86
|
-
* of lucene indexes. This functionality is only available for internal tables.
|
|
87
|
-
* @apiParam (Body) {object} [_rename] If a column is to be renamed then the "old" column name should be set in this
|
|
88
|
-
* structure, and the "updated", new column name should also be supplied. The schema should also be updated, this field
|
|
89
|
-
* lets the server know that a field hasn't just been deleted, that the data has moved to a new name, this will fix
|
|
90
|
-
* the rows in the table. This functionality is only available for internal tables.
|
|
91
|
-
* @apiParam (Body) {object[]} [rows] When creating a table using a compatible data source, an array of objects to be imported into the new table can be provided.
|
|
92
|
-
*
|
|
93
|
-
* @apiParamExample {json} Example:
|
|
94
|
-
* {
|
|
95
|
-
* "_id": "ta_05541307fa0f4044abee071ca2a82119",
|
|
96
|
-
* "_rev": "10-0fbe4e78f69b255d79f1017e2eeef807",
|
|
97
|
-
* "type": "internal",
|
|
98
|
-
* "views": {},
|
|
99
|
-
* "name": "tableName",
|
|
100
|
-
* "schema": {
|
|
101
|
-
* "column": {
|
|
102
|
-
* "type": "string",
|
|
103
|
-
* "constraints": {
|
|
104
|
-
* "type": "string",
|
|
105
|
-
* "length": {
|
|
106
|
-
* "maximum": null
|
|
107
|
-
* },
|
|
108
|
-
* "presence": false
|
|
109
|
-
* },
|
|
110
|
-
* "name": "column"
|
|
111
|
-
* },
|
|
112
|
-
* },
|
|
113
|
-
* "primaryDisplay": "column",
|
|
114
|
-
* "indexes": [],
|
|
115
|
-
* "sourceId": "bb_internal",
|
|
116
|
-
* "_rename": {
|
|
117
|
-
* "old": "columnName",
|
|
118
|
-
* "updated": "newColumnName",
|
|
119
|
-
* },
|
|
120
|
-
* "rows": []
|
|
121
|
-
* }
|
|
122
|
-
*
|
|
123
|
-
* @apiSuccess {object} table The response body will contain the table structure after being cleaned up and
|
|
124
|
-
* saved to the database.
|
|
125
|
-
*/
|
|
126
|
-
.post("/api/tables",
|
|
127
|
-
// allows control over updating a table
|
|
128
|
-
(0, resourceId_1.bodyResource)("_id"), (0, authorized_1.default)(BUILDER), (0, validators_1.tableValidator)(), tableController.save)
|
|
129
|
-
.post("/api/convert/csvToJson", (0, authorized_1.default)(BUILDER), tableController.csvToJson)
|
|
130
|
-
.post("/api/tables/validateNewTableImport", (0, authorized_1.default)(BUILDER), tableController.validateNewTableImport)
|
|
131
|
-
.post("/api/tables/validateExistingTableImport", (0, authorized_1.default)(BUILDER), tableController.validateExistingTableImport)
|
|
132
|
-
/**
|
|
133
|
-
* @api {post} /api/tables/:tableId/:revId Delete a table
|
|
134
|
-
* @apiName Delete a table
|
|
135
|
-
* @apiGroup tables
|
|
136
|
-
* @apiPermission builder
|
|
137
|
-
* @apiDescription This endpoint will delete a table and all of its associated data, for this reason it is
|
|
138
|
-
* quite dangerous - it will work for internal and external tables.
|
|
139
|
-
*
|
|
140
|
-
* @apiParam {string} tableId The ID of the table which is to be deleted.
|
|
141
|
-
* @apiParam {string} [revId] If deleting an internal table then the revision must also be supplied (_rev), for
|
|
142
|
-
* external tables this can simply be set to anything, e.g. "external".
|
|
143
|
-
*
|
|
144
|
-
* @apiSuccess {string} message A message stating that the table was deleted successfully.
|
|
145
|
-
*/
|
|
146
|
-
.delete("/api/tables/:tableId/:revId", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(BUILDER), tableController.destroy)
|
|
147
|
-
/**
|
|
148
|
-
* @api {post} /api/tables/:tableId/:revId Import CSV to existing table
|
|
149
|
-
* @apiName Import CSV to existing table
|
|
150
|
-
* @apiGroup tables
|
|
151
|
-
* @apiPermission builder
|
|
152
|
-
* @apiDescription This endpoint will import data to existing tables, internal or external. It is used in combination
|
|
153
|
-
* with the CSV validation endpoint. Take the output of the CSV validation endpoint and pass it to this endpoint to
|
|
154
|
-
* import the data; please note this will only import fields that already exist on the table/match the type.
|
|
155
|
-
*
|
|
156
|
-
* @apiParam {string} tableId The ID of the table which the data should be imported to.
|
|
157
|
-
*
|
|
158
|
-
* @apiParam (Body) {object[]} rows An array of objects representing the rows to be imported, key-value pairs not matching the table schema will be ignored.
|
|
159
|
-
*
|
|
160
|
-
* @apiSuccess {string} message A message stating that the data was imported successfully.
|
|
161
|
-
*/
|
|
162
|
-
.post("/api/tables/:tableId/import", (0, resourceId_1.paramResource)("tableId"), (0, authorized_1.default)(BUILDER), tableController.bulkImport);
|
|
163
|
-
exports.default = router;
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const controller = __importStar(require("../controllers/templates"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
33
|
-
const router = new router_1.default();
|
|
34
|
-
router
|
|
35
|
-
.get("/api/templates", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), controller.fetch)
|
|
36
|
-
.get("/api/templates/:type/:name", (0, authorized_1.default)(backend_core_1.permissions.BUILDER), controller.downloadTemplate);
|
|
37
|
-
exports.default = router;
|
package/dist/api/routes/user.js
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
const router_1 = __importDefault(require("@koa/router"));
|
|
30
|
-
const controller = __importStar(require("../controllers/user"));
|
|
31
|
-
const authorized_1 = __importDefault(require("../../middleware/authorized"));
|
|
32
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
33
|
-
const { PermissionType, PermissionLevel } = backend_core_1.permissions;
|
|
34
|
-
const router = new router_1.default();
|
|
35
|
-
router
|
|
36
|
-
.get("/api/users/metadata", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.READ), controller.fetchMetadata)
|
|
37
|
-
.get("/api/users/metadata/:id", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.READ), controller.findMetadata)
|
|
38
|
-
.put("/api/users/metadata", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.WRITE), controller.updateMetadata)
|
|
39
|
-
.post("/api/users/metadata/self", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.WRITE), controller.updateSelfMetadata)
|
|
40
|
-
.delete("/api/users/metadata/:id", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.WRITE), controller.destroyMetadata)
|
|
41
|
-
.post("/api/users/flags", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.WRITE), controller.setFlag)
|
|
42
|
-
.get("/api/users/flags", (0, authorized_1.default)(PermissionType.USER, PermissionLevel.READ), controller.getFlags);
|
|
43
|
-
exports.default = router;
|