@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,125 +8,100 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
31
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
9
|
});
|
|
33
10
|
};
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
const
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const
|
|
45
|
-
const
|
|
46
|
-
const
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
11
|
+
const { Thread, ThreadType } = require("../threads");
|
|
12
|
+
const { definitions } = require("./triggerInfo");
|
|
13
|
+
const webhooks = require("../api/controllers/webhook");
|
|
14
|
+
const { queue } = require("./bullboard");
|
|
15
|
+
const newid = require("../db/newid");
|
|
16
|
+
const { updateEntityMetadata } = require("../utilities");
|
|
17
|
+
const { MetadataTypes, WebhookType } = require("../constants");
|
|
18
|
+
const { getProdAppID } = require("@budibase/backend-core/db");
|
|
19
|
+
const { cloneDeep } = require("lodash/fp");
|
|
20
|
+
const { doWithDB } = require("@budibase/backend-core/db");
|
|
21
|
+
const { getAppDB, getAppId } = require("@budibase/backend-core/context");
|
|
22
|
+
const WH_STEP_ID = definitions.WEBHOOK.stepId;
|
|
23
|
+
const CRON_STEP_ID = definitions.CRON.stepId;
|
|
24
|
+
const Runner = new Thread(ThreadType.AUTOMATION);
|
|
25
|
+
exports.processEvent = (job) => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
try {
|
|
27
|
+
// need to actually await these so that an error can be captured properly
|
|
28
|
+
console.log(`${job.data.automation.appId} automation ${job.data.automation._id} running`);
|
|
29
|
+
return yield Runner.run(job);
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const errJson = JSON.stringify(err);
|
|
33
|
+
console.error(`${job.data.automation.appId} automation ${job.data.automation._id} was unable to run - ${errJson}`);
|
|
34
|
+
console.trace(err);
|
|
35
|
+
return { err };
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
exports.updateTestHistory = (appId, automation, history) => __awaiter(void 0, void 0, void 0, function* () {
|
|
39
|
+
return updateEntityMetadata(MetadataTypes.AUTOMATION_TEST_HISTORY, automation._id, metadata => {
|
|
40
|
+
if (metadata && Array.isArray(metadata.history)) {
|
|
41
|
+
metadata.history.push(history);
|
|
64
42
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return { err };
|
|
43
|
+
else {
|
|
44
|
+
metadata = {
|
|
45
|
+
history: [history],
|
|
46
|
+
};
|
|
70
47
|
}
|
|
48
|
+
return metadata;
|
|
71
49
|
});
|
|
72
|
-
}
|
|
73
|
-
exports.
|
|
74
|
-
|
|
75
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
76
|
-
return (0, utilities_1.updateEntityMetadata)(constants_1.MetadataTypes.AUTOMATION_TEST_HISTORY, automation._id, (metadata) => {
|
|
77
|
-
if (metadata && Array.isArray(metadata.history)) {
|
|
78
|
-
metadata.history.push(history);
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
metadata = {
|
|
82
|
-
history: [history],
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
return metadata;
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
exports.updateTestHistory = updateTestHistory;
|
|
90
|
-
function removeDeprecated(definitions) {
|
|
91
|
-
const base = (0, fp_1.cloneDeep)(definitions);
|
|
50
|
+
});
|
|
51
|
+
exports.removeDeprecated = definitions => {
|
|
52
|
+
const base = cloneDeep(definitions);
|
|
92
53
|
for (let key of Object.keys(base)) {
|
|
93
54
|
if (base[key].deprecated) {
|
|
94
55
|
delete base[key];
|
|
95
56
|
}
|
|
96
57
|
}
|
|
97
58
|
return base;
|
|
98
|
-
}
|
|
99
|
-
exports.removeDeprecated = removeDeprecated;
|
|
59
|
+
};
|
|
100
60
|
// end the repetition and the job itself
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if (job.id) {
|
|
109
|
-
promises.push(bullboard_1.queue.removeJobs(job.id));
|
|
110
|
-
}
|
|
111
|
-
}
|
|
61
|
+
exports.disableAllCrons = (appId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
62
|
+
const promises = [];
|
|
63
|
+
const jobs = yield queue.getRepeatableJobs();
|
|
64
|
+
for (let job of jobs) {
|
|
65
|
+
if (job.key.includes(`${appId}_cron`)) {
|
|
66
|
+
promises.push(queue.removeRepeatableByKey(job.key));
|
|
67
|
+
promises.push(queue.removeJobs(job.id));
|
|
112
68
|
}
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
exports.disableAllCrons = disableAllCrons;
|
|
69
|
+
}
|
|
70
|
+
return Promise.all(promises);
|
|
71
|
+
});
|
|
117
72
|
/**
|
|
118
73
|
* This function handles checking of any cron jobs that need to be enabled/updated.
|
|
119
74
|
* @param {string} appId The ID of the app in which we are checking for webhooks
|
|
120
75
|
* @param {object|undefined} automation The automation object to be updated.
|
|
121
76
|
*/
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
exports.enableCronTrigger = enableCronTrigger;
|
|
77
|
+
exports.enableCronTrigger = (appId, automation) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
|
+
const trigger = automation ? automation.definition.trigger : null;
|
|
79
|
+
function isCronTrigger(auto) {
|
|
80
|
+
return (auto &&
|
|
81
|
+
auto.definition.trigger &&
|
|
82
|
+
auto.definition.trigger.stepId === CRON_STEP_ID);
|
|
83
|
+
}
|
|
84
|
+
// need to create cron job
|
|
85
|
+
if (isCronTrigger(automation)) {
|
|
86
|
+
// make a job id rather than letting Bull decide, makes it easier to handle on way out
|
|
87
|
+
const jobId = `${appId}_cron_${newid()}`;
|
|
88
|
+
const job = yield queue.add({
|
|
89
|
+
automation,
|
|
90
|
+
event: { appId, timestamp: Date.now() },
|
|
91
|
+
}, { repeat: { cron: trigger.inputs.cron }, jobId });
|
|
92
|
+
// Assign cron job ID from bull so we can remove it later if the cron trigger is removed
|
|
93
|
+
trigger.cronJobId = job.id;
|
|
94
|
+
// can't use getAppDB here as this is likely to be called from dev app,
|
|
95
|
+
// but this call could be for dev app or prod app, need to just use what
|
|
96
|
+
// was passed in
|
|
97
|
+
yield doWithDB(appId, (db) => __awaiter(void 0, void 0, void 0, function* () {
|
|
98
|
+
const response = yield db.put(automation);
|
|
99
|
+
automation._id = response.id;
|
|
100
|
+
automation._rev = response.rev;
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
return automation;
|
|
104
|
+
});
|
|
153
105
|
/**
|
|
154
106
|
* This function handles checking if any webhooks need to be created or deleted for automations.
|
|
155
107
|
* @param {string} appId The ID of the app in which we are checking for webhooks
|
|
@@ -158,73 +110,67 @@ exports.enableCronTrigger = enableCronTrigger;
|
|
|
158
110
|
* @returns {Promise<object|undefined>} After this is complete the new automation object may have been updated and should be
|
|
159
111
|
* written to DB (this does not write to DB as it would be wasteful to repeat).
|
|
160
112
|
*/
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
const webhook = yield db.get(oldTrigger.webhookId);
|
|
180
|
-
const ctx = {
|
|
181
|
-
appId,
|
|
182
|
-
params: { id: webhook._id, rev: webhook._rev },
|
|
183
|
-
};
|
|
184
|
-
// might be updating - reset the inputs to remove the URLs
|
|
185
|
-
if (newTrigger) {
|
|
186
|
-
delete newTrigger.webhookId;
|
|
187
|
-
newTrigger.inputs = {};
|
|
188
|
-
}
|
|
189
|
-
yield webhooks.destroy(ctx);
|
|
190
|
-
}
|
|
191
|
-
catch (err) {
|
|
192
|
-
// don't worry about not being able to delete, if it doesn't exist all good
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
// need to create webhook
|
|
196
|
-
if ((!isWebhookTrigger(oldAuto) || triggerChanged) &&
|
|
197
|
-
isWebhookTrigger(newAuto)) {
|
|
113
|
+
exports.checkForWebhooks = ({ oldAuto, newAuto }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
|
+
const appId = getAppId();
|
|
115
|
+
const oldTrigger = oldAuto ? oldAuto.definition.trigger : null;
|
|
116
|
+
const newTrigger = newAuto ? newAuto.definition.trigger : null;
|
|
117
|
+
const triggerChanged = oldTrigger && newTrigger && oldTrigger.id !== newTrigger.id;
|
|
118
|
+
function isWebhookTrigger(auto) {
|
|
119
|
+
return (auto &&
|
|
120
|
+
auto.definition.trigger &&
|
|
121
|
+
auto.definition.trigger.stepId === WH_STEP_ID);
|
|
122
|
+
}
|
|
123
|
+
// need to delete webhook
|
|
124
|
+
if (isWebhookTrigger(oldAuto) &&
|
|
125
|
+
(!isWebhookTrigger(newAuto) || triggerChanged) &&
|
|
126
|
+
oldTrigger.webhookId) {
|
|
127
|
+
try {
|
|
128
|
+
let db = getAppDB();
|
|
129
|
+
// need to get the webhook to get the rev
|
|
130
|
+
const webhook = yield db.get(oldTrigger.webhookId);
|
|
198
131
|
const ctx = {
|
|
199
132
|
appId,
|
|
200
|
-
|
|
201
|
-
body: new webhooks.Webhook("Automation webhook", constants_1.WebhookType.AUTOMATION, newAuto._id),
|
|
202
|
-
},
|
|
203
|
-
};
|
|
204
|
-
yield webhooks.save(ctx);
|
|
205
|
-
const id = ctx.body.webhook._id;
|
|
206
|
-
newTrigger.webhookId = id;
|
|
207
|
-
// the app ID has to be development for this endpoint
|
|
208
|
-
// it can only be used when building the app
|
|
209
|
-
// but the trigger endpoint will always be used in production
|
|
210
|
-
const prodAppId = (0, db_1.getProdAppID)(appId);
|
|
211
|
-
newTrigger.inputs = {
|
|
212
|
-
schemaUrl: `api/webhooks/schema/${appId}/${id}`,
|
|
213
|
-
triggerUrl: `api/webhooks/trigger/${prodAppId}/${id}`,
|
|
133
|
+
params: { id: webhook._id, rev: webhook._rev },
|
|
214
134
|
};
|
|
135
|
+
// might be updating - reset the inputs to remove the URLs
|
|
136
|
+
if (newTrigger) {
|
|
137
|
+
delete newTrigger.webhookId;
|
|
138
|
+
newTrigger.inputs = {};
|
|
139
|
+
}
|
|
140
|
+
yield webhooks.destroy(ctx);
|
|
215
141
|
}
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
}
|
|
219
|
-
|
|
142
|
+
catch (err) {
|
|
143
|
+
// don't worry about not being able to delete, if it doesn't exist all good
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
// need to create webhook
|
|
147
|
+
if ((!isWebhookTrigger(oldAuto) || triggerChanged) &&
|
|
148
|
+
isWebhookTrigger(newAuto)) {
|
|
149
|
+
const ctx = {
|
|
150
|
+
appId,
|
|
151
|
+
request: {
|
|
152
|
+
body: new webhooks.Webhook("Automation webhook", WebhookType.AUTOMATION, newAuto._id),
|
|
153
|
+
},
|
|
154
|
+
};
|
|
155
|
+
yield webhooks.save(ctx);
|
|
156
|
+
const id = ctx.body.webhook._id;
|
|
157
|
+
newTrigger.webhookId = id;
|
|
158
|
+
// the app ID has to be development for this endpoint
|
|
159
|
+
// it can only be used when building the app
|
|
160
|
+
// but the trigger endpoint will always be used in production
|
|
161
|
+
const prodAppId = getProdAppID(appId);
|
|
162
|
+
newTrigger.inputs = {
|
|
163
|
+
schemaUrl: `api/webhooks/schema/${appId}/${id}`,
|
|
164
|
+
triggerUrl: `api/webhooks/trigger/${prodAppId}/${id}`,
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
return newAuto;
|
|
168
|
+
});
|
|
220
169
|
/**
|
|
221
170
|
* When removing an app/unpublishing it need to make sure automations are cleaned up (cron).
|
|
222
171
|
* @param appId {string} the app that is being removed.
|
|
223
172
|
* @return {Promise<void>} clean is complete if this succeeds.
|
|
224
173
|
*/
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
});
|
|
229
|
-
}
|
|
230
|
-
exports.cleanupAutomations = cleanupAutomations;
|
|
174
|
+
exports.cleanupAutomations = (appId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
175
|
+
yield exports.disableAllCrons(appId);
|
|
176
|
+
});
|
package/dist/constants/index.js
CHANGED
|
@@ -146,6 +146,13 @@ exports.AutoFieldSubTypes = {
|
|
|
146
146
|
UPDATED_AT: "updatedAt",
|
|
147
147
|
AUTO_ID: "autoID",
|
|
148
148
|
};
|
|
149
|
+
exports.AutoFieldDefaultNames = {
|
|
150
|
+
CREATED_BY: "Created By",
|
|
151
|
+
CREATED_AT: "Created At",
|
|
152
|
+
UPDATED_BY: "Updated By",
|
|
153
|
+
UPDATED_AT: "Updated At",
|
|
154
|
+
AUTO_ID: "Auto ID",
|
|
155
|
+
};
|
|
149
156
|
exports.OBJ_STORE_DIRECTORY = "/prod-budi-app-assets";
|
|
150
157
|
exports.BaseQueryVerbs = {
|
|
151
158
|
CREATE: "create",
|
|
@@ -169,10 +176,5 @@ exports.BuildSchemaErrors = {
|
|
|
169
176
|
exports.WebhookType = {
|
|
170
177
|
AUTOMATION: "automation",
|
|
171
178
|
};
|
|
172
|
-
exports.AutomationErrors = {
|
|
173
|
-
INCORRECT_TYPE: "INCORRECT_TYPE",
|
|
174
|
-
MAX_ITERATIONS: "MAX_ITERATIONS_REACHED",
|
|
175
|
-
FAILURE_CONDITION: "FAILURE_CONDITION_MET",
|
|
176
|
-
};
|
|
177
179
|
// pass through the list from the auth/core lib
|
|
178
180
|
exports.ObjectStoreBuckets = ObjectStoreBuckets;
|
|
@@ -325,6 +325,7 @@ class LinkController {
|
|
|
325
325
|
const linkedField = fields.linkedField;
|
|
326
326
|
if (field.autocolumn) {
|
|
327
327
|
linkedField.autocolumn = field.autocolumn;
|
|
328
|
+
linkedField.subtype = field.subtype;
|
|
328
329
|
}
|
|
329
330
|
// check the linked table to make sure we aren't overwriting an existing column
|
|
330
331
|
const existingSchema = linkedTable.schema[field.fieldName];
|
|
@@ -51,7 +51,6 @@ var SourceNames;
|
|
|
51
51
|
SourceNames["ORACLE"] = "ORACLE";
|
|
52
52
|
SourceNames["GOOGLE_SHEETS"] = "GOOGLE_SHEETS";
|
|
53
53
|
SourceNames["FIREBASE"] = "FIREBASE";
|
|
54
|
-
SourceNames["REDIS"] = "REDIS";
|
|
55
54
|
})(SourceNames = exports.SourceNames || (exports.SourceNames = {}));
|
|
56
55
|
var IncludeRelationships;
|
|
57
56
|
(function (IncludeRelationships) {
|
package/dist/environment.js
CHANGED
|
@@ -25,7 +25,7 @@ function parseIntSafe(number) {
|
|
|
25
25
|
let inThread = false;
|
|
26
26
|
module.exports = {
|
|
27
27
|
// important
|
|
28
|
-
PORT: process.env.PORT
|
|
28
|
+
PORT: process.env.PORT,
|
|
29
29
|
JWT_SECRET: process.env.JWT_SECRET,
|
|
30
30
|
COUCH_DB_URL: process.env.COUCH_DB_URL,
|
|
31
31
|
MINIO_URL: process.env.MINIO_URL,
|
|
@@ -35,6 +35,8 @@ module.exports = {
|
|
|
35
35
|
ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS,
|
|
36
36
|
MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY,
|
|
37
37
|
MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY,
|
|
38
|
+
USE_QUOTAS: process.env.USE_QUOTAS,
|
|
39
|
+
EXCLUDE_QUOTAS_TENANTS: process.env.EXCLUDE_QUOTAS_TENANTS,
|
|
38
40
|
REDIS_URL: process.env.REDIS_URL,
|
|
39
41
|
REDIS_PASSWORD: process.env.REDIS_PASSWORD,
|
|
40
42
|
INTERNAL_API_KEY: process.env.INTERNAL_API_KEY,
|
|
@@ -54,7 +56,6 @@ module.exports = {
|
|
|
54
56
|
LOG_LEVEL: process.env.LOG_LEVEL,
|
|
55
57
|
AUTOMATION_DIRECTORY: process.env.AUTOMATION_DIRECTORY,
|
|
56
58
|
AUTOMATION_BUCKET: process.env.AUTOMATION_BUCKET,
|
|
57
|
-
AUTOMATION_MAX_ITERATIONS: process.env.AUTOMATION_MAX_ITERATIONS,
|
|
58
59
|
SENDGRID_API_KEY: process.env.SENDGRID_API_KEY,
|
|
59
60
|
DYNAMO_ENDPOINT: process.env.DYNAMO_ENDPOINT,
|
|
60
61
|
POSTHOG_TOKEN: process.env.POSTHOG_TOKEN,
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const global_agent_1 = require("global-agent");
|
|
4
2
|
const fixPath = require("fix-path");
|
|
5
3
|
const { checkDevelopmentEnvironment } = require("./utilities/fileSystem");
|
|
6
4
|
function runServer() {
|
|
@@ -8,8 +6,6 @@ function runServer() {
|
|
|
8
6
|
// will print an error explaining what to do
|
|
9
7
|
checkDevelopmentEnvironment();
|
|
10
8
|
fixPath();
|
|
11
|
-
// this will setup http and https proxies form env variables
|
|
12
|
-
(0, global_agent_1.bootstrap)();
|
|
13
9
|
require("./app");
|
|
14
10
|
}
|
|
15
11
|
runServer();
|
|
@@ -37,7 +37,7 @@ function parse(input) {
|
|
|
37
37
|
if (input === MAX_ISO_DATE || input === MIN_ISO_DATE) {
|
|
38
38
|
return null;
|
|
39
39
|
}
|
|
40
|
-
if (
|
|
40
|
+
if (utils_1.isIsoDateString(input)) {
|
|
41
41
|
return new Date(input);
|
|
42
42
|
}
|
|
43
43
|
return input;
|
|
@@ -370,7 +370,7 @@ class SqlQueryBuilder extends sqlTable_1.default {
|
|
|
370
370
|
*/
|
|
371
371
|
_query(json, opts = {}) {
|
|
372
372
|
const sqlClient = this.getSqlClient();
|
|
373
|
-
const client =
|
|
373
|
+
const client = knex_1.knex({ client: sqlClient });
|
|
374
374
|
let query;
|
|
375
375
|
const builder = new InternalBuilder(sqlClient);
|
|
376
376
|
switch (this._operation(json)) {
|
|
@@ -60,7 +60,7 @@ function generateSchema(schema, table, tables, oldTable = null, renamed) {
|
|
|
60
60
|
if (!column.foreignKey || !column.tableId) {
|
|
61
61
|
throw "Invalid relationship schema";
|
|
62
62
|
}
|
|
63
|
-
const { tableName } =
|
|
63
|
+
const { tableName } = utils_1.breakExternalTableId(column.tableId);
|
|
64
64
|
// @ts-ignore
|
|
65
65
|
const relatedTable = tables[tableName];
|
|
66
66
|
if (!relatedTable) {
|
|
@@ -124,7 +124,7 @@ class SqlTableQueryBuilder {
|
|
|
124
124
|
}
|
|
125
125
|
_tableQuery(json) {
|
|
126
126
|
var _a;
|
|
127
|
-
let client =
|
|
127
|
+
let client = knex_1.knex({ client: this.sqlClient }).schema;
|
|
128
128
|
if ((_a = json === null || json === void 0 ? void 0 : json.endpoint) === null || _a === void 0 ? void 0 : _a.schema) {
|
|
129
129
|
client = client.withSchema(json.endpoint.schema);
|
|
130
130
|
}
|
|
@@ -191,7 +191,7 @@ var GoogleSheetsModule;
|
|
|
191
191
|
}
|
|
192
192
|
// create tables
|
|
193
193
|
tables[sheet.title] = {
|
|
194
|
-
_id:
|
|
194
|
+
_id: utils_1.buildExternalTableId(datasourceId, sheet.title),
|
|
195
195
|
name: sheet.title,
|
|
196
196
|
primary: ["rowNumber"],
|
|
197
197
|
schema,
|
|
@@ -12,7 +12,6 @@ const arangodb = require("./arangodb");
|
|
|
12
12
|
const rest = require("./rest");
|
|
13
13
|
const googlesheets = require("./googlesheets");
|
|
14
14
|
const firebase = require("./firebase");
|
|
15
|
-
const redis = require("./redis");
|
|
16
15
|
const { SourceNames } = require("../definitions/datasource");
|
|
17
16
|
const environment = require("../environment");
|
|
18
17
|
const DEFINITIONS = {
|
|
@@ -27,8 +26,6 @@ const DEFINITIONS = {
|
|
|
27
26
|
[SourceNames.MYSQL]: mysql.schema,
|
|
28
27
|
[SourceNames.ARANGODB]: arangodb.schema,
|
|
29
28
|
[SourceNames.REST]: rest.schema,
|
|
30
|
-
[SourceNames.FIREBASE]: firebase.schema,
|
|
31
|
-
[SourceNames.REDIS]: redis.schema,
|
|
32
29
|
};
|
|
33
30
|
const INTEGRATIONS = {
|
|
34
31
|
[SourceNames.POSTGRES]: postgres.integration,
|
|
@@ -44,7 +41,6 @@ const INTEGRATIONS = {
|
|
|
44
41
|
[SourceNames.REST]: rest.integration,
|
|
45
42
|
[SourceNames.FIREBASE]: firebase.integration,
|
|
46
43
|
[SourceNames.GOOGLE_SHEETS]: googlesheets.integration,
|
|
47
|
-
[SourceNames.REDIS]: redis.integration,
|
|
48
44
|
};
|
|
49
45
|
// optionally add oracle integration if the oracle binary can be installed
|
|
50
46
|
if (!(process.arch === "arm64" && process.platform === "darwin")) {
|
|
@@ -161,7 +161,7 @@ var MSSQLModule;
|
|
|
161
161
|
}
|
|
162
162
|
runSQL(sql) {
|
|
163
163
|
return __awaiter(this, void 0, void 0, function* () {
|
|
164
|
-
return (yield this.internalQuery(
|
|
164
|
+
return (yield this.internalQuery(utils_1.getSqlQuery(sql))).recordset;
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
/**
|
|
@@ -201,7 +201,7 @@ var MSSQLModule;
|
|
|
201
201
|
if (typeof name !== "string") {
|
|
202
202
|
continue;
|
|
203
203
|
}
|
|
204
|
-
const type =
|
|
204
|
+
const type = utils_1.convertSqlType(def.DATA_TYPE);
|
|
205
205
|
schema[name] = {
|
|
206
206
|
autocolumn: !!autoColumns.find((col) => col === name),
|
|
207
207
|
name: name,
|
|
@@ -209,13 +209,13 @@ var MSSQLModule;
|
|
|
209
209
|
};
|
|
210
210
|
}
|
|
211
211
|
tables[tableName] = {
|
|
212
|
-
_id:
|
|
212
|
+
_id: utils_1.buildExternalTableId(datasourceId, tableName),
|
|
213
213
|
primary: primaryKeys,
|
|
214
214
|
name: tableName,
|
|
215
215
|
schema,
|
|
216
216
|
};
|
|
217
217
|
}
|
|
218
|
-
const final =
|
|
218
|
+
const final = utils_1.finaliseExternalTables(tables, entities);
|
|
219
219
|
this.tables = final.tables;
|
|
220
220
|
this.schemaErrors = final.errors;
|
|
221
221
|
});
|
|
@@ -223,28 +223,28 @@ var MSSQLModule;
|
|
|
223
223
|
read(query) {
|
|
224
224
|
return __awaiter(this, void 0, void 0, function* () {
|
|
225
225
|
yield this.connect();
|
|
226
|
-
const response = yield this.internalQuery(
|
|
226
|
+
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
227
227
|
return response.recordset;
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
create(query) {
|
|
231
231
|
return __awaiter(this, void 0, void 0, function* () {
|
|
232
232
|
yield this.connect();
|
|
233
|
-
const response = yield this.internalQuery(
|
|
233
|
+
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
234
234
|
return response.recordset || [{ created: true }];
|
|
235
235
|
});
|
|
236
236
|
}
|
|
237
237
|
update(query) {
|
|
238
238
|
return __awaiter(this, void 0, void 0, function* () {
|
|
239
239
|
yield this.connect();
|
|
240
|
-
const response = yield this.internalQuery(
|
|
240
|
+
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
241
241
|
return response.recordset || [{ updated: true }];
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
244
|
delete(query) {
|
|
245
245
|
return __awaiter(this, void 0, void 0, function* () {
|
|
246
246
|
yield this.connect();
|
|
247
|
-
const response = yield this.internalQuery(
|
|
247
|
+
const response = yield this.internalQuery(utils_1.getSqlQuery(query));
|
|
248
248
|
return response.recordset || [{ deleted: true }];
|
|
249
249
|
});
|
|
250
250
|
}
|