@budibase/server 1.0.123-alpha.0 → 1.0.123
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/builder/assets/index.68a7f4e3.css +6 -0
- package/builder/assets/index.8d4a5b33.js +1291 -0
- package/builder/assets/{vendor.5240f480.js → vendor.8e34a169.js} +1 -1
- package/builder/index.html +3 -3
- package/coverage/clover.xml +1763 -758
- package/coverage/coverage-final.json +43 -28
- package/coverage/lcov-report/api/controllers/analytics.js.html +3 -8
- package/coverage/lcov-report/api/controllers/apikeys.js.html +4 -9
- package/coverage/lcov-report/api/controllers/application.js.html +1436 -0
- package/coverage/lcov-report/api/controllers/auth.js.html +3 -8
- package/coverage/lcov-report/api/controllers/automation.js.html +3 -8
- package/coverage/lcov-report/api/controllers/backup.js.html +3 -8
- package/coverage/lcov-report/api/controllers/cloud.js.html +3 -8
- package/coverage/lcov-report/api/controllers/component.js.html +3 -8
- package/coverage/lcov-report/api/controllers/datasource.js.html +6 -11
- package/coverage/lcov-report/api/controllers/dev.js.html +3 -8
- package/coverage/lcov-report/api/controllers/index.html +26 -16
- package/coverage/lcov-report/api/controllers/integration.js.html +3 -8
- package/coverage/lcov-report/api/controllers/layout.js.html +3 -8
- package/coverage/lcov-report/api/controllers/metadata.js.html +3 -8
- package/coverage/lcov-report/api/controllers/migrations.js.html +3 -8
- package/coverage/lcov-report/api/controllers/permission.js.html +3 -8
- package/coverage/lcov-report/api/controllers/query/index.html +26 -16
- package/coverage/lcov-report/api/controllers/query/index.js.html +713 -0
- package/coverage/lcov-report/api/controllers/query/validation.js.html +3 -8
- package/coverage/lcov-report/api/controllers/role.js.html +5 -10
- package/coverage/lcov-report/api/controllers/routing.js.html +4 -9
- package/coverage/lcov-report/api/controllers/row/external.js.html +3 -8
- package/coverage/lcov-report/api/controllers/row/index.html +35 -25
- package/coverage/lcov-report/api/controllers/row/index.js.html +524 -0
- package/coverage/lcov-report/api/controllers/row/internal.js.html +24 -32
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +16 -21
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +19 -24
- package/coverage/lcov-report/api/controllers/row/utils.js.html +19 -33
- package/coverage/lcov-report/api/controllers/screen.js.html +4 -9
- package/coverage/lcov-report/api/controllers/script.js.html +3 -8
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +50 -55
- package/coverage/lcov-report/api/controllers/table/external.js.html +3 -8
- package/coverage/lcov-report/api/controllers/table/index.html +44 -19
- package/coverage/lcov-report/api/controllers/table/index.js.html +15 -20
- package/coverage/lcov-report/api/controllers/table/internal.js.html +620 -0
- package/coverage/lcov-report/api/controllers/table/utils.js.html +1331 -0
- package/coverage/lcov-report/api/controllers/templates.js.html +3 -8
- package/coverage/lcov-report/api/controllers/user.js.html +3 -8
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +3 -8
- package/coverage/lcov-report/api/controllers/view/index.html +3 -8
- package/coverage/lcov-report/api/controllers/view/index.js.html +5 -10
- package/coverage/lcov-report/api/controllers/view/utils.js.html +3 -8
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +3 -8
- package/coverage/lcov-report/api/controllers/webhook.js.html +5 -10
- package/coverage/lcov-report/api/index.html +13 -18
- package/coverage/lcov-report/api/index.js.html +8 -28
- package/coverage/lcov-report/api/routes/analytics.js.html +3 -8
- package/coverage/lcov-report/api/routes/apikeys.js.html +3 -8
- package/coverage/lcov-report/api/routes/application.js.html +179 -0
- package/coverage/lcov-report/api/routes/auth.js.html +3 -8
- package/coverage/lcov-report/api/routes/automation.js.html +3 -8
- package/coverage/lcov-report/api/routes/backup.js.html +3 -8
- package/coverage/lcov-report/api/routes/cloud.js.html +3 -8
- package/coverage/lcov-report/api/routes/component.js.html +3 -8
- package/coverage/lcov-report/api/routes/datasource.js.html +3 -8
- package/coverage/lcov-report/api/routes/deploy.js.html +3 -8
- package/coverage/lcov-report/api/routes/dev.js.html +4 -9
- package/coverage/lcov-report/api/routes/index.html +68 -13
- package/coverage/lcov-report/api/routes/index.js.html +266 -0
- package/coverage/lcov-report/api/routes/integration.js.html +3 -8
- package/coverage/lcov-report/api/routes/layout.js.html +3 -8
- package/coverage/lcov-report/api/routes/metadata.js.html +3 -8
- package/coverage/lcov-report/api/routes/migrations.js.html +3 -8
- package/coverage/lcov-report/api/routes/permission.js.html +3 -8
- package/coverage/lcov-report/api/routes/query.js.html +3 -8
- package/coverage/lcov-report/api/routes/role.js.html +3 -8
- package/coverage/lcov-report/api/routes/routing.js.html +3 -8
- package/coverage/lcov-report/api/routes/row.js.html +908 -0
- package/coverage/lcov-report/api/routes/screen.js.html +3 -8
- package/coverage/lcov-report/api/routes/script.js.html +3 -8
- package/coverage/lcov-report/{automations/steps/loop.js.html → api/routes/static.js.html} +80 -70
- package/coverage/lcov-report/api/routes/table.js.html +3 -8
- package/coverage/lcov-report/api/routes/templates.js.html +3 -8
- package/coverage/lcov-report/api/routes/user.js.html +3 -8
- package/coverage/lcov-report/api/routes/utils/index.html +3 -8
- package/coverage/lcov-report/api/routes/utils/validators.js.html +3 -8
- package/coverage/lcov-report/api/routes/view.js.html +3 -8
- package/coverage/lcov-report/api/routes/webhook.js.html +3 -8
- package/coverage/lcov-report/automations/actions.js.html +7 -21
- package/coverage/lcov-report/automations/automationUtils.js.html +23 -64
- package/coverage/lcov-report/automations/bullboard.js.html +3 -8
- package/coverage/lcov-report/automations/index.html +37 -27
- package/coverage/lcov-report/automations/index.js.html +3 -8
- package/coverage/lcov-report/automations/steps/bash.js.html +3 -8
- package/coverage/lcov-report/automations/steps/createRow.js.html +380 -0
- package/coverage/lcov-report/automations/steps/delay.js.html +3 -8
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +347 -0
- package/coverage/lcov-report/automations/steps/discord.js.html +3 -8
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +3 -8
- package/coverage/lcov-report/automations/steps/executeScript.js.html +3 -8
- package/coverage/lcov-report/automations/steps/filter.js.html +3 -8
- package/coverage/lcov-report/automations/steps/index.html +41 -31
- package/coverage/lcov-report/automations/steps/integromat.js.html +3 -8
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +4 -9
- package/coverage/lcov-report/automations/steps/queryRows.js.html +4 -9
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +3 -8
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -8
- package/coverage/lcov-report/automations/steps/slack.js.html +3 -8
- package/coverage/lcov-report/automations/steps/updateRow.js.html +3 -8
- package/coverage/lcov-report/automations/steps/utils.js.html +9 -14
- package/coverage/lcov-report/automations/steps/zapier.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/index.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +3 -8
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +3 -8
- package/coverage/lcov-report/automations/triggers.js.html +11 -16
- package/coverage/lcov-report/automations/utils.js.html +665 -0
- package/coverage/lcov-report/block-navigation.js +0 -8
- package/coverage/lcov-report/constants/index.html +3 -8
- package/coverage/lcov-report/constants/index.js.html +42 -41
- package/coverage/lcov-report/constants/layouts.js.html +3 -8
- package/coverage/lcov-report/constants/screens.js.html +3 -8
- package/coverage/lcov-report/db/inMemoryView.js.html +3 -8
- package/coverage/lcov-report/db/index.html +3 -8
- package/coverage/lcov-report/db/index.js.html +4 -9
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +23 -25
- package/coverage/lcov-report/db/linkedRows/index.html +12 -17
- package/coverage/lcov-report/db/linkedRows/index.js.html +17 -22
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -12
- package/coverage/lcov-report/db/newid.js.html +6 -11
- package/coverage/lcov-report/db/utils.js.html +79 -84
- package/coverage/lcov-report/events/AutomationEmitter.js.html +9 -14
- package/coverage/lcov-report/events/index.html +3 -8
- package/coverage/lcov-report/events/index.js.html +4 -9
- package/coverage/lcov-report/events/utils.js.html +13 -18
- package/coverage/lcov-report/index.html +132 -137
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +3 -8
- package/coverage/lcov-report/integrations/tests/index.html +3 -8
- package/coverage/lcov-report/middleware/appInfo.js.html +3 -8
- package/coverage/lcov-report/middleware/authorized.js.html +458 -0
- package/coverage/lcov-report/middleware/builder.js.html +3 -8
- package/coverage/lcov-report/middleware/currentapp.js.html +15 -65
- package/coverage/lcov-report/middleware/index.html +50 -25
- package/coverage/lcov-report/middleware/joi-validator.js.html +4 -9
- package/coverage/lcov-report/middleware/publicApi.js.html +3 -8
- package/coverage/lcov-report/middleware/resourceId.js.html +3 -8
- package/coverage/lcov-report/middleware/selfhost.js.html +4 -9
- package/coverage/lcov-report/middleware/usageQuota.js.html +572 -0
- package/coverage/lcov-report/middleware/utils.js.html +3 -8
- package/coverage/lcov-report/sorter.js +0 -26
- package/coverage/lcov-report/threads/automation.js.html +90 -581
- package/coverage/lcov-report/threads/index.html +40 -30
- package/coverage/lcov-report/threads/index.js.html +296 -0
- package/coverage/lcov-report/threads/query.js.html +4 -9
- package/coverage/lcov-report/threads/utils.js.html +9 -17
- package/coverage/lcov-report/utilities/bcrypt.js.html +3 -8
- package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -8
- package/coverage/lcov-report/utilities/centralPath.js.html +3 -8
- package/coverage/lcov-report/utilities/csvParser.js.html +5 -10
- package/coverage/lcov-report/utilities/global.js.html +4 -9
- package/coverage/lcov-report/utilities/index.html +3 -8
- package/coverage/lcov-report/utilities/index.js.html +6 -11
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -32
- package/coverage/lcov-report/utilities/queue/index.html +7 -12
- package/coverage/lcov-report/utilities/routing/index.html +3 -8
- package/coverage/lcov-report/utilities/routing/index.js.html +3 -8
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -32
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +71 -67
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +106 -27
- package/coverage/lcov-report/utilities/scriptRunner.js.html +3 -8
- package/coverage/lcov-report/utilities/security.js.html +4 -9
- package/coverage/lcov-report/utilities/statusCodes.js.html +3 -8
- package/coverage/lcov-report/utilities/usageQuota/index.html +34 -24
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +359 -0
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +39 -44
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +3 -8
- package/coverage/lcov-report/utilities/users.js.html +3 -8
- package/coverage/lcov-report/utilities/workerRequests.js.html +4 -9
- package/coverage/lcov.info +3061 -1290
- package/dist/api/controllers/application.js +73 -145
- package/dist/api/controllers/deploy/index.js +36 -68
- package/dist/api/controllers/public/applications.js +9 -29
- package/dist/api/controllers/public/queries.js +7 -27
- package/dist/api/controllers/public/rows.js +12 -32
- package/dist/api/controllers/public/tables.js +2 -2
- package/dist/api/controllers/public/users.js +8 -8
- package/dist/api/controllers/public/utils.js +1 -1
- package/dist/api/controllers/query/import/index.js +3 -3
- package/dist/api/controllers/query/index.js +44 -57
- package/dist/api/controllers/row/ExternalRequest.js +27 -27
- package/dist/api/controllers/row/index.js +60 -83
- package/dist/api/controllers/row/internal.js +1 -2
- package/dist/api/controllers/row/utils.js +1 -2
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -3
- package/dist/api/controllers/table/bulkFormula.js +1 -2
- package/dist/api/controllers/table/internal.js +55 -40
- package/dist/api/controllers/table/utils.js +229 -271
- package/dist/api/index.js +0 -5
- package/dist/api/routes/application.js +13 -39
- package/dist/api/routes/index.js +56 -61
- package/dist/api/routes/public/index.js +9 -6
- package/dist/api/routes/public/queries.js +1 -1
- package/dist/api/routes/public/rows.js +1 -1
- package/dist/api/routes/public/tables.js +3 -3
- package/dist/api/routes/public/users.js +1 -1
- package/dist/api/routes/row.js +17 -43
- package/dist/api/routes/static.js +13 -40
- package/dist/api/routes/tests/utilities/TestFunctions.js +33 -75
- package/dist/app.js +4 -8
- package/dist/automations/actions.js +0 -3
- package/dist/automations/automationUtils.js +0 -10
- package/dist/automations/steps/createRow.js +12 -12
- package/dist/automations/steps/deleteRow.js +16 -13
- package/dist/automations/tests/utilities/index.js +11 -13
- package/dist/automations/utils.js +133 -187
- package/dist/constants/index.js +7 -5
- package/dist/db/linkedRows/LinkController.js +1 -0
- package/dist/definitions/datasource.js +0 -1
- package/dist/environment.js +3 -2
- package/dist/index.js +0 -4
- package/dist/integrations/base/sql.js +2 -2
- package/dist/integrations/base/sqlTable.js +2 -2
- package/dist/integrations/googlesheets.js +1 -1
- package/dist/integrations/index.js +0 -4
- package/dist/integrations/microsoftSqlServer.js +8 -8
- package/dist/integrations/mysql.js +9 -9
- package/dist/integrations/oracle.js +7 -7
- package/dist/integrations/postgres.js +7 -7
- package/dist/integrations/queries/sql.js +2 -2
- package/dist/integrations/rest.js +1 -1
- package/dist/middleware/authorized.js +51 -51
- package/dist/middleware/currentapp.js +1 -15
- package/dist/middleware/usageQuota.js +154 -0
- package/dist/migrations/functions/appUrls.js +1 -1
- package/dist/migrations/functions/quotas1.js +2 -6
- package/dist/migrations/functions/usageQuotas/index.js +4 -0
- package/dist/migrations/functions/usageQuotas/syncApps.js +7 -4
- package/dist/migrations/functions/usageQuotas/syncRows.js +8 -5
- package/dist/migrations/index.js +1 -17
- package/dist/package.json +4 -10
- package/dist/threads/automation.js +27 -149
- package/dist/threads/index.js +10 -36
- package/dist/threads/utils.js +0 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utilities/queue/inMemoryQueue.js +1 -6
- package/dist/utilities/rowProcessor/index.js +11 -6
- package/dist/utilities/rowProcessor/utils.js +27 -1
- package/dist/utilities/usageQuota/index.js +86 -0
- package/nodemon.json +1 -1
- package/package.json +9 -15
- package/scripts/dev/manage.js +0 -2
- package/src/api/controllers/{application.ts → application.js} +51 -118
- package/src/api/controllers/deploy/{index.ts → index.js} +29 -53
- package/src/api/controllers/public/applications.ts +2 -2
- package/src/api/controllers/public/queries.ts +1 -1
- package/src/api/controllers/public/rows.ts +1 -1
- package/src/api/controllers/query/{index.ts → index.js} +48 -51
- package/src/api/controllers/row/ExternalRequest.ts +1 -1
- package/src/api/controllers/row/{index.ts → index.js} +17 -24
- package/src/api/controllers/row/internal.js +1 -2
- package/src/api/controllers/row/utils.js +1 -4
- package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -3
- package/src/api/controllers/table/bulkFormula.js +1 -1
- package/src/api/controllers/table/{internal.ts → internal.js} +48 -27
- package/src/api/controllers/table/{utils.ts → utils.js} +69 -86
- package/src/api/index.js +0 -5
- package/src/api/routes/{application.ts → application.js} +14 -8
- package/src/api/routes/index.js +62 -0
- package/src/api/routes/public/index.ts +4 -1
- package/src/api/routes/{row.ts → row.js} +15 -7
- package/src/api/routes/{static.ts → static.js} +11 -11
- package/src/api/routes/tests/misc.spec.js +37 -39
- package/src/api/routes/tests/routing.spec.js +0 -1
- package/src/api/routes/tests/utilities/{TestFunctions.ts → TestFunctions.js} +33 -57
- package/src/app.ts +2 -1
- package/src/automations/actions.js +0 -3
- package/src/automations/automationUtils.js +0 -12
- package/src/automations/steps/{createRow.ts → createRow.js} +15 -9
- package/src/automations/steps/{deleteRow.ts → deleteRow.js} +16 -10
- package/src/automations/tests/automation.spec.js +1 -0
- package/src/automations/tests/{createRow.spec.ts → createRow.spec.js} +15 -4
- package/src/automations/tests/{deleteRow.spec.ts → deleteRow.spec.js} +5 -3
- package/src/automations/tests/utilities/index.js +10 -12
- package/src/automations/{utils.ts → utils.js} +28 -39
- package/src/constants/index.js +8 -6
- package/src/db/linkedRows/LinkController.js +1 -0
- package/src/definitions/datasource.ts +0 -1
- package/src/environment.js +3 -2
- package/src/index.ts +0 -3
- package/src/integrations/index.ts +0 -4
- package/src/middleware/{authorized.ts → authorized.js} +14 -20
- package/src/middleware/currentapp.js +1 -16
- package/src/middleware/tests/usageQuota.spec.js +120 -0
- package/src/middleware/usageQuota.js +164 -0
- package/src/migrations/functions/tests/quotas1.spec.js +2 -0
- package/src/migrations/functions/usageQuotas/index.ts +5 -0
- package/src/migrations/functions/usageQuotas/syncApps.ts +6 -3
- package/src/migrations/functions/usageQuotas/syncRows.ts +6 -3
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +41 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +45 -0
- package/src/migrations/index.ts +1 -13
- package/src/threads/automation.js +34 -196
- package/src/threads/{index.ts → index.js} +14 -18
- package/src/threads/utils.js +0 -1
- package/src/utilities/queue/inMemoryQueue.js +1 -7
- package/src/utilities/rowProcessor/index.js +12 -9
- package/src/utilities/rowProcessor/utils.js +29 -1
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +72 -0
- package/src/utilities/usageQuota/index.js +93 -0
- package/tsconfig.json +2 -2
- package/builder/assets/index.89795487.css +0 -6
- package/builder/assets/index.be9a1b80.js +0 -1299
- package/dist/automations/steps/loop.js +0 -51
- package/dist/integrations/redis.js +0 -158
- package/dist/migrations/functions/developerQuota.js +0 -49
- package/dist/migrations/functions/publishedAppsQuota.js +0 -47
- package/dist/migrations/functions/usageQuotas/syncDevelopers.js +0 -24
- package/dist/migrations/functions/usageQuotas/syncPublishedApps.js +0 -26
- package/dist/tsconfig.build.tsbuildinfo +0 -1
- package/src/api/routes/index.ts +0 -60
- package/src/automations/steps/loop.js +0 -50
- package/src/integrations/redis.ts +0 -152
- package/src/integrations/tests/redis.spec.js +0 -60
- package/src/migrations/functions/developerQuota.ts +0 -15
- package/src/migrations/functions/publishedAppsQuota.ts +0 -13
- package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +0 -34
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +0 -40
- package/tsconfig.build.json +0 -10
|
@@ -1,27 +1,4 @@
|
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,12 +8,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
9
|
});
|
|
33
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
34
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
15
|
exports.destroy = exports.update = exports.read = exports.create = exports.search = void 0;
|
|
36
16
|
const { getAllApps } = require("@budibase/backend-core/db");
|
|
37
17
|
const { updateAppId } = require("@budibase/backend-core/context");
|
|
38
18
|
const utils_1 = require("./utils");
|
|
39
|
-
const
|
|
19
|
+
const application_1 = __importDefault(require("../application"));
|
|
40
20
|
function fixAppID(app, params) {
|
|
41
21
|
if (!params) {
|
|
42
22
|
return app;
|
|
@@ -51,14 +31,14 @@ function setResponseApp(ctx) {
|
|
|
51
31
|
if (ctx.body && ctx.body.appId && (!ctx.params || !ctx.params.appId)) {
|
|
52
32
|
ctx.params = { appId: ctx.body.appId };
|
|
53
33
|
}
|
|
54
|
-
yield
|
|
34
|
+
yield application_1.default.fetchAppPackage(ctx);
|
|
55
35
|
});
|
|
56
36
|
}
|
|
57
37
|
function search(ctx, next) {
|
|
58
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
59
39
|
const { name } = ctx.request.body;
|
|
60
40
|
const apps = yield getAllApps({ all: true });
|
|
61
|
-
ctx.body =
|
|
41
|
+
ctx.body = utils_1.search(apps, name);
|
|
62
42
|
yield next();
|
|
63
43
|
});
|
|
64
44
|
}
|
|
@@ -68,7 +48,7 @@ function create(ctx, next) {
|
|
|
68
48
|
if (!ctx.request.body || !ctx.request.body.useTemplate) {
|
|
69
49
|
ctx.request.body = Object.assign({ useTemplate: false }, ctx.request.body);
|
|
70
50
|
}
|
|
71
|
-
yield
|
|
51
|
+
yield application_1.default.create(ctx);
|
|
72
52
|
yield setResponseApp(ctx);
|
|
73
53
|
yield next();
|
|
74
54
|
});
|
|
@@ -86,7 +66,7 @@ function update(ctx, next) {
|
|
|
86
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
67
|
ctx.request.body = fixAppID(ctx.request.body, ctx.params);
|
|
88
68
|
updateAppId(ctx.params.appId);
|
|
89
|
-
yield
|
|
69
|
+
yield application_1.default.update(ctx);
|
|
90
70
|
yield setResponseApp(ctx);
|
|
91
71
|
yield next();
|
|
92
72
|
});
|
|
@@ -98,7 +78,7 @@ function destroy(ctx, next) {
|
|
|
98
78
|
// get the app before deleting it
|
|
99
79
|
yield setResponseApp(ctx);
|
|
100
80
|
const body = ctx.body;
|
|
101
|
-
yield
|
|
81
|
+
yield application_1.default.delete(ctx);
|
|
102
82
|
// overwrite the body again
|
|
103
83
|
ctx.body = body;
|
|
104
84
|
yield next();
|
|
@@ -1,27 +1,4 @@
|
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,15 +8,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
9
|
});
|
|
33
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
34
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
15
|
exports.execute = exports.search = void 0;
|
|
36
16
|
const utils_1 = require("./utils");
|
|
37
|
-
const
|
|
17
|
+
const query_1 = __importDefault(require("../query"));
|
|
38
18
|
function search(ctx, next) {
|
|
39
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
yield
|
|
20
|
+
yield query_1.default.fetch(ctx);
|
|
41
21
|
const { name } = ctx.request.body;
|
|
42
|
-
ctx.body =
|
|
22
|
+
ctx.body = utils_1.search(ctx.body, name);
|
|
43
23
|
yield next();
|
|
44
24
|
});
|
|
45
25
|
}
|
|
@@ -47,7 +27,7 @@ exports.search = search;
|
|
|
47
27
|
function execute(ctx, next) {
|
|
48
28
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
29
|
// don't wrap this, already returns "data"
|
|
50
|
-
yield
|
|
30
|
+
yield query_1.default.executeV2(ctx);
|
|
51
31
|
yield next();
|
|
52
32
|
});
|
|
53
33
|
}
|
|
@@ -1,27 +1,4 @@
|
|
|
1
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
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -31,9 +8,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
9
|
});
|
|
33
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
34
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
15
|
exports.destroy = exports.update = exports.read = exports.create = exports.search = void 0;
|
|
36
|
-
const
|
|
16
|
+
const row_1 = __importDefault(require("../row"));
|
|
37
17
|
const utils_1 = require("./utils");
|
|
38
18
|
const utilities_1 = require("../../../utilities");
|
|
39
19
|
// makes sure that the user doesn't need to pass in the type, tableId or _id params for
|
|
@@ -64,12 +44,12 @@ function search(ctx, next) {
|
|
|
64
44
|
sort: sort.column,
|
|
65
45
|
sortType: sort.type,
|
|
66
46
|
sortOrder: sort.order,
|
|
67
|
-
bookmark:
|
|
47
|
+
bookmark: utilities_1.convertBookmark(bookmark),
|
|
68
48
|
paginate,
|
|
69
49
|
limit,
|
|
70
50
|
query,
|
|
71
51
|
};
|
|
72
|
-
yield
|
|
52
|
+
yield row_1.default.search(ctx);
|
|
73
53
|
yield next();
|
|
74
54
|
});
|
|
75
55
|
}
|
|
@@ -77,22 +57,22 @@ exports.search = search;
|
|
|
77
57
|
function create(ctx, next) {
|
|
78
58
|
return __awaiter(this, void 0, void 0, function* () {
|
|
79
59
|
ctx.request.body = fixRow(ctx.request.body, ctx.params);
|
|
80
|
-
yield
|
|
60
|
+
yield row_1.default.save(ctx);
|
|
81
61
|
yield next();
|
|
82
62
|
});
|
|
83
63
|
}
|
|
84
64
|
exports.create = create;
|
|
85
65
|
function read(ctx, next) {
|
|
86
66
|
return __awaiter(this, void 0, void 0, function* () {
|
|
87
|
-
yield
|
|
67
|
+
yield row_1.default.fetchEnrichedRow(ctx);
|
|
88
68
|
yield next();
|
|
89
69
|
});
|
|
90
70
|
}
|
|
91
71
|
exports.read = read;
|
|
92
72
|
function update(ctx, next) {
|
|
93
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
94
|
-
ctx.request.body = yield
|
|
95
|
-
yield
|
|
74
|
+
ctx.request.body = yield utils_1.addRev(fixRow(ctx.request.body, ctx.params));
|
|
75
|
+
yield row_1.default.save(ctx);
|
|
96
76
|
yield next();
|
|
97
77
|
});
|
|
98
78
|
}
|
|
@@ -100,8 +80,8 @@ exports.update = update;
|
|
|
100
80
|
function destroy(ctx, next) {
|
|
101
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
82
|
// set the body as expected, with the _id and _rev fields
|
|
103
|
-
ctx.request.body = yield
|
|
104
|
-
yield
|
|
83
|
+
ctx.request.body = yield utils_1.addRev(fixRow({ _id: ctx.params.rowId }, ctx.params));
|
|
84
|
+
yield row_1.default.destroy(ctx);
|
|
105
85
|
// destroy controller doesn't currently return the row as the body, need to adjust this
|
|
106
86
|
// in the public API to be correct
|
|
107
87
|
ctx.body = ctx.row;
|
|
@@ -31,7 +31,7 @@ function search(ctx, next) {
|
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
32
|
const { name } = ctx.request.body;
|
|
33
33
|
yield table_1.default.fetch(ctx);
|
|
34
|
-
ctx.body =
|
|
34
|
+
ctx.body = utils_1.search(ctx.body, name);
|
|
35
35
|
yield next();
|
|
36
36
|
});
|
|
37
37
|
}
|
|
@@ -52,7 +52,7 @@ function read(ctx, next) {
|
|
|
52
52
|
exports.read = read;
|
|
53
53
|
function update(ctx, next) {
|
|
54
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
ctx.request.body = yield
|
|
55
|
+
ctx.request.body = yield utils_1.addRev(fixTable(ctx.request.body, ctx.params), ctx.params.tableId);
|
|
56
56
|
yield table_1.default.save(ctx);
|
|
57
57
|
yield next();
|
|
58
58
|
});
|
|
@@ -41,20 +41,20 @@ function getUser(ctx, userId) {
|
|
|
41
41
|
else if (!((_a = ctx.params) === null || _a === void 0 ? void 0 : _a.userId)) {
|
|
42
42
|
throw "No user ID provided for getting";
|
|
43
43
|
}
|
|
44
|
-
return
|
|
44
|
+
return workerRequests_1.readGlobalUser(ctx);
|
|
45
45
|
}
|
|
46
46
|
function search(ctx, next) {
|
|
47
47
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
48
|
const { name } = ctx.request.body;
|
|
49
|
-
const users = yield
|
|
50
|
-
ctx.body =
|
|
49
|
+
const users = yield workerRequests_1.allGlobalUsers(ctx);
|
|
50
|
+
ctx.body = utils_1.search(users, name, "email");
|
|
51
51
|
yield next();
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
54
|
exports.search = search;
|
|
55
55
|
function create(ctx, next) {
|
|
56
56
|
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
const response = yield
|
|
57
|
+
const response = yield workerRequests_1.saveGlobalUser(fixUser(ctx));
|
|
58
58
|
ctx.body = yield getUser(ctx, response._id);
|
|
59
59
|
yield next();
|
|
60
60
|
});
|
|
@@ -62,16 +62,16 @@ function create(ctx, next) {
|
|
|
62
62
|
exports.create = create;
|
|
63
63
|
function read(ctx, next) {
|
|
64
64
|
return __awaiter(this, void 0, void 0, function* () {
|
|
65
|
-
ctx.body = yield
|
|
65
|
+
ctx.body = yield workerRequests_1.readGlobalUser(ctx);
|
|
66
66
|
yield next();
|
|
67
67
|
});
|
|
68
68
|
}
|
|
69
69
|
exports.read = read;
|
|
70
70
|
function update(ctx, next) {
|
|
71
71
|
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
const user = yield
|
|
72
|
+
const user = yield workerRequests_1.readGlobalUser(ctx);
|
|
73
73
|
ctx.request.body = Object.assign(Object.assign({}, ctx.request.body), { _rev: user._rev });
|
|
74
|
-
const response = yield
|
|
74
|
+
const response = yield workerRequests_1.saveGlobalUser(fixUser(ctx));
|
|
75
75
|
ctx.body = yield getUser(ctx, response._id);
|
|
76
76
|
yield next();
|
|
77
77
|
});
|
|
@@ -80,7 +80,7 @@ exports.update = update;
|
|
|
80
80
|
function destroy(ctx, next) {
|
|
81
81
|
return __awaiter(this, void 0, void 0, function* () {
|
|
82
82
|
const user = yield getUser(ctx);
|
|
83
|
-
yield
|
|
83
|
+
yield workerRequests_1.deleteGlobalUser(ctx);
|
|
84
84
|
ctx.body = user;
|
|
85
85
|
yield next();
|
|
86
86
|
});
|
|
@@ -14,7 +14,7 @@ const { getAppDB } = require("@budibase/backend-core/context");
|
|
|
14
14
|
const utils_1 = require("../../../integrations/utils");
|
|
15
15
|
function addRev(body, tableId) {
|
|
16
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
if (!body._id || (tableId &&
|
|
17
|
+
if (!body._id || (tableId && utils_1.isExternalTable(tableId))) {
|
|
18
18
|
return body;
|
|
19
19
|
}
|
|
20
20
|
const db = getAppDB();
|
|
@@ -35,7 +35,7 @@ class RestImporter {
|
|
|
35
35
|
let queries = yield this.source.getQueries(datasourceId);
|
|
36
36
|
// validate queries
|
|
37
37
|
const errorQueries = [];
|
|
38
|
-
const schema =
|
|
38
|
+
const schema = validation_1.queryValidation();
|
|
39
39
|
queries = queries
|
|
40
40
|
.filter(query => {
|
|
41
41
|
const validation = schema.validate(query);
|
|
@@ -46,11 +46,11 @@ class RestImporter {
|
|
|
46
46
|
return true;
|
|
47
47
|
})
|
|
48
48
|
.map(query => {
|
|
49
|
-
query._id =
|
|
49
|
+
query._id = utils_1.generateQueryID(query.datasourceId);
|
|
50
50
|
return query;
|
|
51
51
|
});
|
|
52
52
|
// persist queries
|
|
53
|
-
const db =
|
|
53
|
+
const db = context_1.getAppDB();
|
|
54
54
|
const response = yield db.bulkDocs(queries);
|
|
55
55
|
// create index to seperate queries and errors
|
|
56
56
|
const queryIndex = queries.reduce((acc, query) => {
|
|
@@ -8,45 +8,41 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
const pro_1 = require("@budibase/pro");
|
|
22
|
-
const Runner = new threads_1.Thread(threads_1.ThreadType.QUERY, {
|
|
23
|
-
timeoutMs: environment_1.QUERY_THREAD_TIMEOUT || 10000,
|
|
11
|
+
const { generateQueryID, getQueryParams, isProdAppID, } = require("../../../db/utils");
|
|
12
|
+
const { BaseQueryVerbs } = require("../../../constants");
|
|
13
|
+
const { Thread, ThreadType } = require("../../../threads");
|
|
14
|
+
const { save: saveDatasource } = require("../datasource");
|
|
15
|
+
const { RestImporter } = require("./import");
|
|
16
|
+
const { invalidateDynamicVariables } = require("../../../threads/utils");
|
|
17
|
+
const environment = require("../../../environment");
|
|
18
|
+
const { getAppDB } = require("@budibase/backend-core/context");
|
|
19
|
+
const Runner = new Thread(ThreadType.QUERY, {
|
|
20
|
+
timeoutMs: environment.QUERY_THREAD_TIMEOUT || 10000,
|
|
24
21
|
});
|
|
25
22
|
// simple function to append "readable" to all read queries
|
|
26
23
|
function enrichQueries(input) {
|
|
27
24
|
const wasArray = Array.isArray(input);
|
|
28
25
|
const queries = wasArray ? input : [input];
|
|
29
26
|
for (let query of queries) {
|
|
30
|
-
if (query.queryVerb ===
|
|
27
|
+
if (query.queryVerb === BaseQueryVerbs.READ) {
|
|
31
28
|
query.readable = true;
|
|
32
29
|
}
|
|
33
30
|
}
|
|
34
31
|
return wasArray ? queries : queries[0];
|
|
35
32
|
}
|
|
36
|
-
function
|
|
33
|
+
exports.fetch = function (ctx) {
|
|
37
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
38
|
-
const db =
|
|
39
|
-
const body = yield db.allDocs(
|
|
35
|
+
const db = getAppDB();
|
|
36
|
+
const body = yield db.allDocs(getQueryParams(null, {
|
|
40
37
|
include_docs: true,
|
|
41
38
|
}));
|
|
42
|
-
ctx.body = enrichQueries(body.rows.map(
|
|
39
|
+
ctx.body = enrichQueries(body.rows.map(row => row.doc));
|
|
43
40
|
});
|
|
44
|
-
}
|
|
45
|
-
exports.
|
|
46
|
-
const _import = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
};
|
|
42
|
+
exports.import = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
47
43
|
const body = ctx.request.body;
|
|
48
44
|
const data = body.data;
|
|
49
|
-
const importer = new
|
|
45
|
+
const importer = new RestImporter(data);
|
|
50
46
|
yield importer.init();
|
|
51
47
|
let datasourceId;
|
|
52
48
|
if (!body.datasourceId) {
|
|
@@ -64,7 +60,7 @@ const _import = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
64
60
|
// save the datasource
|
|
65
61
|
const datasourceCtx = Object.assign({}, ctx);
|
|
66
62
|
datasourceCtx.request.body.datasource = datasource;
|
|
67
|
-
yield (
|
|
63
|
+
yield saveDatasource(datasourceCtx);
|
|
68
64
|
datasourceId = datasourceCtx.body.datasource._id;
|
|
69
65
|
}
|
|
70
66
|
else {
|
|
@@ -75,43 +71,40 @@ const _import = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
75
71
|
ctx.body = Object.assign(Object.assign({}, importResult), { datasourceId });
|
|
76
72
|
ctx.status = 200;
|
|
77
73
|
});
|
|
78
|
-
exports.
|
|
79
|
-
function save(ctx) {
|
|
74
|
+
exports.save = function (ctx) {
|
|
80
75
|
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
-
const db =
|
|
76
|
+
const db = getAppDB();
|
|
82
77
|
const query = ctx.request.body;
|
|
83
78
|
if (!query._id) {
|
|
84
|
-
query._id =
|
|
79
|
+
query._id = generateQueryID(query.datasourceId);
|
|
85
80
|
}
|
|
86
81
|
const response = yield db.put(query);
|
|
87
82
|
query._rev = response.rev;
|
|
88
83
|
ctx.body = query;
|
|
89
84
|
ctx.message = `Query ${query.name} saved successfully.`;
|
|
90
85
|
});
|
|
91
|
-
}
|
|
92
|
-
exports.
|
|
93
|
-
function find(ctx) {
|
|
86
|
+
};
|
|
87
|
+
exports.find = function (ctx) {
|
|
94
88
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const db =
|
|
89
|
+
const db = getAppDB();
|
|
96
90
|
const query = enrichQueries(yield db.get(ctx.params.queryId));
|
|
97
91
|
// remove properties that could be dangerous in real app
|
|
98
|
-
if (
|
|
92
|
+
if (isProdAppID(ctx.appId)) {
|
|
99
93
|
delete query.fields;
|
|
100
94
|
delete query.parameters;
|
|
101
95
|
}
|
|
102
96
|
ctx.body = query;
|
|
103
97
|
});
|
|
104
|
-
}
|
|
105
|
-
exports.
|
|
106
|
-
function preview(ctx) {
|
|
98
|
+
};
|
|
99
|
+
exports.preview = function (ctx) {
|
|
107
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const db =
|
|
101
|
+
const db = getAppDB();
|
|
109
102
|
const datasource = yield db.get(ctx.request.body.datasourceId);
|
|
110
103
|
// preview may not have a queryId as it hasn't been saved, but if it does
|
|
111
104
|
// this stops dynamic variables from calling the same query
|
|
112
105
|
const { fields, parameters, queryVerb, transformer, queryId } = ctx.request.body;
|
|
113
106
|
try {
|
|
114
|
-
const
|
|
107
|
+
const { rows, keys, info, extra } = yield Runner.run({
|
|
115
108
|
appId: ctx.appId,
|
|
116
109
|
datasource,
|
|
117
110
|
queryVerb,
|
|
@@ -120,7 +113,6 @@ function preview(ctx) {
|
|
|
120
113
|
transformer,
|
|
121
114
|
queryId,
|
|
122
115
|
});
|
|
123
|
-
const { rows, keys, info, extra } = yield pro_1.quotas.addQuery(runFn);
|
|
124
116
|
ctx.body = {
|
|
125
117
|
rows,
|
|
126
118
|
schemaFields: [...new Set(keys)],
|
|
@@ -132,11 +124,10 @@ function preview(ctx) {
|
|
|
132
124
|
ctx.throw(400, err);
|
|
133
125
|
}
|
|
134
126
|
});
|
|
135
|
-
}
|
|
136
|
-
exports.preview = preview;
|
|
127
|
+
};
|
|
137
128
|
function execute(ctx, opts = { rowsOnly: false }) {
|
|
138
129
|
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
-
const db =
|
|
130
|
+
const db = getAppDB();
|
|
140
131
|
const query = yield db.get(ctx.params.queryId);
|
|
141
132
|
const datasource = yield db.get(query.datasourceId);
|
|
142
133
|
const enrichedParameters = ctx.request.body.parameters || {};
|
|
@@ -150,7 +141,7 @@ function execute(ctx, opts = { rowsOnly: false }) {
|
|
|
150
141
|
}
|
|
151
142
|
// call the relevant CRUD method on the integration class
|
|
152
143
|
try {
|
|
153
|
-
const
|
|
144
|
+
const { rows, pagination, extra } = yield Runner.run({
|
|
154
145
|
appId: ctx.appId,
|
|
155
146
|
datasource,
|
|
156
147
|
queryVerb: query.queryVerb,
|
|
@@ -160,7 +151,6 @@ function execute(ctx, opts = { rowsOnly: false }) {
|
|
|
160
151
|
transformer: query.transformer,
|
|
161
152
|
queryId: ctx.params.queryId,
|
|
162
153
|
});
|
|
163
|
-
const { rows, pagination, extra } = yield pro_1.quotas.addQuery(runFn);
|
|
164
154
|
if (opts && opts.rowsOnly) {
|
|
165
155
|
ctx.body = rows;
|
|
166
156
|
}
|
|
@@ -173,39 +163,36 @@ function execute(ctx, opts = { rowsOnly: false }) {
|
|
|
173
163
|
}
|
|
174
164
|
});
|
|
175
165
|
}
|
|
176
|
-
function
|
|
166
|
+
exports.executeV1 = function (ctx) {
|
|
177
167
|
return __awaiter(this, void 0, void 0, function* () {
|
|
178
168
|
return execute(ctx, { rowsOnly: true });
|
|
179
169
|
});
|
|
180
|
-
}
|
|
181
|
-
exports.
|
|
182
|
-
function executeV2(ctx) {
|
|
170
|
+
};
|
|
171
|
+
exports.executeV2 = function (ctx) {
|
|
183
172
|
return __awaiter(this, void 0, void 0, function* () {
|
|
184
173
|
return execute(ctx, { rowsOnly: false });
|
|
185
174
|
});
|
|
186
|
-
}
|
|
187
|
-
exports.executeV2 = executeV2;
|
|
175
|
+
};
|
|
188
176
|
const removeDynamicVariables = (queryId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
189
|
-
const db =
|
|
177
|
+
const db = getAppDB();
|
|
190
178
|
const query = yield db.get(queryId);
|
|
191
179
|
const datasource = yield db.get(query.datasourceId);
|
|
192
180
|
const dynamicVariables = datasource.config.dynamicVariables;
|
|
193
181
|
if (dynamicVariables) {
|
|
194
182
|
// delete dynamic variables from the datasource
|
|
195
|
-
datasource.config.dynamicVariables = dynamicVariables.filter(
|
|
183
|
+
datasource.config.dynamicVariables = dynamicVariables.filter(dv => dv.queryId !== queryId);
|
|
196
184
|
yield db.put(datasource);
|
|
197
185
|
// invalidate the deleted variables
|
|
198
|
-
const variablesToDelete = dynamicVariables.filter(
|
|
199
|
-
yield
|
|
186
|
+
const variablesToDelete = dynamicVariables.filter(dv => dv.queryId === queryId);
|
|
187
|
+
yield invalidateDynamicVariables(variablesToDelete);
|
|
200
188
|
}
|
|
201
189
|
});
|
|
202
|
-
function
|
|
190
|
+
exports.destroy = function (ctx) {
|
|
203
191
|
return __awaiter(this, void 0, void 0, function* () {
|
|
204
|
-
const db =
|
|
192
|
+
const db = getAppDB();
|
|
205
193
|
yield removeDynamicVariables(ctx.params.queryId);
|
|
206
194
|
yield db.remove(ctx.params.queryId, ctx.params.revId);
|
|
207
195
|
ctx.message = `Query deleted.`;
|
|
208
196
|
ctx.status = 200;
|
|
209
197
|
});
|
|
210
|
-
}
|
|
211
|
-
exports.destroy = destroy;
|
|
198
|
+
};
|