@budibase/server 1.2.28-alpha.0 → 1.2.30
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/__mocks__/node-fetch.ts +1 -8
- package/builder/assets/{index.f1c7e247.css → index.08dd0c5e.css} +1 -1
- package/builder/assets/index.3425e514.js +975 -0
- package/builder/index.html +2 -2
- package/coverage/clover.xml +1202 -1206
- package/coverage/coverage-final.json +116 -116
- package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
- package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
- package/coverage/lcov-report/api/controllers/automation.js.html +29 -29
- package/coverage/lcov-report/api/controllers/backup.js.html +5 -5
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
- package/coverage/lcov-report/api/controllers/component.js.html +5 -5
- package/coverage/lcov-report/api/controllers/datasource.js.html +17 -17
- package/coverage/lcov-report/api/controllers/dev.js.html +20 -20
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +8 -8
- package/coverage/lcov-report/api/controllers/layout.js.html +7 -7
- package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
- package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
- package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
- package/coverage/lcov-report/api/controllers/role.js.html +10 -10
- package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
- package/coverage/lcov-report/api/controllers/row/external.js.html +19 -19
- package/coverage/lcov-report/api/controllers/row/index.html +25 -25
- package/coverage/lcov-report/api/controllers/row/internal.js.html +30 -30
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +184 -202
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +10 -10
- package/coverage/lcov-report/api/controllers/row/utils.js.html +7 -16
- package/coverage/lcov-report/api/controllers/screen.js.html +8 -8
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +9 -9
- package/coverage/lcov-report/api/controllers/table/external.js.html +14 -14
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +15 -15
- package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +20 -20
- package/coverage/lcov-report/api/controllers/view/utils.js.html +13 -13
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -8
- package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +30 -30
- package/coverage/lcov-report/api/routes/analytics.js.html +11 -8
- package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
- package/coverage/lcov-report/api/routes/auth.js.html +6 -6
- package/coverage/lcov-report/api/routes/automation.js.html +11 -11
- package/coverage/lcov-report/api/routes/backup.js.html +8 -8
- package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
- package/coverage/lcov-report/api/routes/component.js.html +8 -8
- package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
- package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
- package/coverage/lcov-report/api/routes/dev.js.html +13 -13
- package/coverage/lcov-report/api/routes/index.html +7 -7
- package/coverage/lcov-report/api/routes/integration.js.html +8 -8
- package/coverage/lcov-report/api/routes/layout.js.html +8 -8
- package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
- package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
- package/coverage/lcov-report/api/routes/permission.js.html +9 -9
- package/coverage/lcov-report/api/routes/query.js.html +10 -10
- package/coverage/lcov-report/api/routes/role.js.html +9 -9
- package/coverage/lcov-report/api/routes/routing.js.html +8 -8
- package/coverage/lcov-report/api/routes/screen.js.html +9 -9
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +10 -10
- package/coverage/lcov-report/api/routes/templates.js.html +8 -8
- package/coverage/lcov-report/api/routes/user.js.html +8 -8
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +37 -37
- package/coverage/lcov-report/api/routes/view.js.html +10 -10
- package/coverage/lcov-report/api/routes/webhook.js.html +9 -9
- package/coverage/lcov-report/automations/actions.js.html +25 -25
- package/coverage/lcov-report/automations/automationUtils.js.html +8 -8
- package/coverage/lcov-report/automations/bullboard.js.html +17 -17
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +12 -12
- package/coverage/lcov-report/automations/steps/bash.js.html +7 -7
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/loop.js.html +2 -2
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +18 -18
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/inMemoryView.js.html +5 -5
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +9 -9
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +7 -7
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +18 -18
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +13 -13
- package/coverage/lcov-report/db/newid.js.html +2 -2
- package/coverage/lcov-report/db/utils.js.html +11 -11
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +6 -6
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +24 -24
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
- package/coverage/lcov-report/middleware/builder.js.html +9 -9
- package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
- package/coverage/lcov-report/middleware/resourceId.js.html +22 -22
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +3 -3
- package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +16 -16
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +3 -3
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -9
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +20 -20
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +6 -6
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +7 -7
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +18 -18
- package/coverage/lcov.info +1520 -1524
- package/dist/api/controllers/analytics.js +27 -1
- package/dist/api/controllers/row/internalSearch.js +0 -5
- package/dist/api/controllers/row/utils.js +1 -3
- package/dist/api/controllers/static/index.js +1 -11
- package/dist/api/controllers/table/external.js +1 -1
- package/dist/api/routes/analytics.js +1 -0
- package/dist/automations/logging/index.js +0 -3
- package/dist/integrations/airtable.js +5 -0
- package/dist/integrations/base/sql.js +4 -5
- package/dist/integrations/base/utils.js +27 -13
- package/dist/integrations/microsoftSqlServer.js +2 -5
- package/dist/integrations/mysql.js +2 -2
- package/dist/integrations/postgres.js +2 -5
- package/dist/package.json +7 -7
- package/dist/tests/utilities/TestConfiguration.js +8 -11
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +8 -8
- package/src/api/controllers/analytics.ts +27 -0
- package/src/api/controllers/row/internalSearch.js +0 -6
- package/src/api/controllers/row/utils.js +1 -4
- package/src/api/controllers/static/index.ts +1 -11
- package/src/api/controllers/table/external.js +1 -1
- package/src/api/routes/analytics.js +1 -0
- package/src/api/routes/tests/analytics.spec.js +59 -0
- package/src/api/routes/tests/static.spec.js +0 -10
- package/src/automations/logging/index.ts +0 -3
- package/src/integrations/airtable.ts +5 -0
- package/src/integrations/base/sql.ts +4 -5
- package/src/integrations/base/utils.ts +19 -9
- package/src/integrations/microsoftSqlServer.ts +2 -3
- package/src/integrations/mysql.ts +1 -1
- package/src/integrations/postgres.ts +1 -2
- package/src/integrations/queries/sql.ts +1 -0
- package/src/integrations/tests/airtable.spec.js +1 -1
- package/src/integrations/tests/sql.spec.js +1 -1
- package/src/tests/utilities/TestConfiguration.js +10 -17
- package/builder/assets/index.66b1c771.js +0 -977
- package/dist/integrations/base/query.js +0 -27
- package/src/api/routes/tests/internalSearch.spec.js +0 -157
- package/src/integrations/base/query.ts +0 -17
|
@@ -9,8 +9,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.isEnabled = void 0;
|
|
12
|
+
exports.ping = exports.isEnabled = void 0;
|
|
13
13
|
const backend_core_1 = require("@budibase/backend-core");
|
|
14
|
+
const types_1 = require("@budibase/types");
|
|
15
|
+
const utils_1 = require("../../db/utils");
|
|
16
|
+
const backend_core_2 = require("@budibase/backend-core");
|
|
14
17
|
const isEnabled = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
15
18
|
const enabled = yield backend_core_1.events.analytics.enabled();
|
|
16
19
|
ctx.body = {
|
|
@@ -18,3 +21,26 @@ const isEnabled = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
18
21
|
};
|
|
19
22
|
});
|
|
20
23
|
exports.isEnabled = isEnabled;
|
|
24
|
+
const ping = (ctx) => __awaiter(void 0, void 0, void 0, function* () {
|
|
25
|
+
const body = ctx.request.body;
|
|
26
|
+
switch (body.source) {
|
|
27
|
+
case types_1.PingSource.APP: {
|
|
28
|
+
const db = backend_core_2.context.getAppDB({ skip_setup: true });
|
|
29
|
+
const appInfo = yield db.get(utils_1.DocumentTypes.APP_METADATA);
|
|
30
|
+
let appId = backend_core_2.context.getAppId();
|
|
31
|
+
if ((0, utils_1.isDevAppID)(appId)) {
|
|
32
|
+
yield backend_core_1.events.serve.servedAppPreview(appInfo, body.timezone);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
yield backend_core_1.events.serve.servedApp(appInfo, body.timezone);
|
|
36
|
+
}
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
case types_1.PingSource.BUILDER: {
|
|
40
|
+
yield backend_core_1.events.serve.servedBuilder(body.timezone);
|
|
41
|
+
break;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
ctx.status = 200;
|
|
45
|
+
});
|
|
46
|
+
exports.ping = ping;
|
|
@@ -9,7 +9,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
const { SearchIndexes } = require("../../../db/utils");
|
|
12
|
-
const { removeKeyNumbering } = require("./utils");
|
|
13
12
|
const fetch = require("node-fetch");
|
|
14
13
|
const { getCouchInfo } = require("@budibase/backend-core/db");
|
|
15
14
|
const { getAppId } = require("@budibase/backend-core/context");
|
|
@@ -170,8 +169,6 @@ class QueryBuilder {
|
|
|
170
169
|
};
|
|
171
170
|
function build(structure, queryFn) {
|
|
172
171
|
for (let [key, value] of Object.entries(structure)) {
|
|
173
|
-
// check for new format - remove numbering if needed
|
|
174
|
-
key = removeKeyNumbering(key);
|
|
175
172
|
key = builder.preprocess(key.replace(/ /g, "_"), {
|
|
176
173
|
escape: true,
|
|
177
174
|
});
|
|
@@ -283,8 +280,6 @@ class QueryBuilder {
|
|
|
283
280
|
});
|
|
284
281
|
}
|
|
285
282
|
}
|
|
286
|
-
// exported for unit testing
|
|
287
|
-
exports.QueryBuilder = QueryBuilder;
|
|
288
283
|
/**
|
|
289
284
|
* Executes a lucene search query.
|
|
290
285
|
* @param url The query URL
|
|
@@ -13,9 +13,8 @@ const { cloneDeep } = require("lodash/fp");
|
|
|
13
13
|
const { InternalTables } = require("../../../db/utils");
|
|
14
14
|
const userController = require("../user");
|
|
15
15
|
const { FieldTypes } = require("../../../constants");
|
|
16
|
+
const { makeExternalQuery } = require("../../../integrations/base/utils");
|
|
16
17
|
const { getAppDB } = require("@budibase/backend-core/context");
|
|
17
|
-
const { makeExternalQuery } = require("../../../integrations/base/query");
|
|
18
|
-
const { removeKeyNumbering } = require("../../../integrations/base/utils");
|
|
19
18
|
validateJs.extend(validateJs.validators.datetime, {
|
|
20
19
|
parse: function (value) {
|
|
21
20
|
return new Date(value).getTime();
|
|
@@ -25,7 +24,6 @@ validateJs.extend(validateJs.validators.datetime, {
|
|
|
25
24
|
return new Date(value).toISOString();
|
|
26
25
|
},
|
|
27
26
|
});
|
|
28
|
-
exports.removeKeyNumbering = removeKeyNumbering;
|
|
29
27
|
exports.getDatasourceAndQuery = (json) => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
28
|
const datasourceId = json.endpoint.datasourceId;
|
|
31
29
|
const db = getAppDB();
|
|
@@ -21,11 +21,10 @@ const env = require("../../../environment");
|
|
|
21
21
|
const { clientLibraryPath } = require("../../../utilities");
|
|
22
22
|
const { upload } = require("../../../utilities/fileSystem");
|
|
23
23
|
const { attachmentsRelativeURL } = require("../../../utilities");
|
|
24
|
-
const { DocumentTypes
|
|
24
|
+
const { DocumentTypes } = require("../../../db/utils");
|
|
25
25
|
const { getAppDB, getAppId } = require("@budibase/backend-core/context");
|
|
26
26
|
const { setCookie, clearCookie } = require("@budibase/backend-core/utils");
|
|
27
27
|
const AWS = require("aws-sdk");
|
|
28
|
-
const backend_core_1 = require("@budibase/backend-core");
|
|
29
28
|
const fs = require("fs");
|
|
30
29
|
const { downloadTarballDirect, } = require("../../../utilities/fileSystem/utilities");
|
|
31
30
|
function prepareUpload({ s3Key, bucket, metadata, file }) {
|
|
@@ -74,9 +73,6 @@ const serveBuilder = function (ctx) {
|
|
|
74
73
|
return __awaiter(this, void 0, void 0, function* () {
|
|
75
74
|
const builderPath = resolve(TOP_LEVEL_PATH, "builder");
|
|
76
75
|
yield send(ctx, ctx.file, { root: builderPath });
|
|
77
|
-
if (ctx.file === "index.html") {
|
|
78
|
-
yield backend_core_1.events.serve.servedBuilder();
|
|
79
|
-
}
|
|
80
76
|
});
|
|
81
77
|
};
|
|
82
78
|
exports.serveBuilder = serveBuilder;
|
|
@@ -124,12 +120,6 @@ const serveApp = function (ctx) {
|
|
|
124
120
|
// just return the app info for jest to assert on
|
|
125
121
|
ctx.body = appInfo;
|
|
126
122
|
}
|
|
127
|
-
if (isDevAppID(appInfo.appId)) {
|
|
128
|
-
yield backend_core_1.events.serve.servedAppPreview(appInfo);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
yield backend_core_1.events.serve.servedApp(appInfo);
|
|
132
|
-
}
|
|
133
123
|
});
|
|
134
124
|
};
|
|
135
125
|
exports.serveApp = serveApp;
|
|
@@ -11,7 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
const { buildExternalTableId, breakExternalTableId, } = require("../../../integrations/utils");
|
|
12
12
|
const { getTable, generateForeignKey, generateJunctionTableName, foreignKeyStructure, hasTypeChanged, } = require("./utils");
|
|
13
13
|
const { DataSourceOperation, FieldTypes, RelationshipTypes, } = require("../../../constants");
|
|
14
|
-
const { makeExternalQuery } = require("../../../integrations/base/
|
|
14
|
+
const { makeExternalQuery } = require("../../../integrations/base/utils");
|
|
15
15
|
const { cloneDeep } = require("lodash/fp");
|
|
16
16
|
const csvParser = require("../../../utilities/csvParser");
|
|
17
17
|
const { handleRequest } = require("../row/external");
|
|
@@ -56,9 +56,6 @@ function checkAppMetadata(apps) {
|
|
|
56
56
|
for (let [key, errors] of Object.entries(metadata.automationErrors)) {
|
|
57
57
|
const updated = [];
|
|
58
58
|
for (let error of errors) {
|
|
59
|
-
if (!error) {
|
|
60
|
-
continue;
|
|
61
|
-
}
|
|
62
59
|
const startDate = error.split(backend_core_1.db.SEPARATOR)[2];
|
|
63
60
|
if (startDate > maxStartDate) {
|
|
64
61
|
updated.push(error);
|
|
@@ -63,6 +63,11 @@ var AirtableModule;
|
|
|
63
63
|
customisable: true,
|
|
64
64
|
fields: {
|
|
65
65
|
id: {
|
|
66
|
+
display: "Record ID",
|
|
67
|
+
type: datasource_1.DatasourceFieldTypes.STRING,
|
|
68
|
+
required: true,
|
|
69
|
+
},
|
|
70
|
+
table: {
|
|
66
71
|
type: datasource_1.DatasourceFieldTypes.STRING,
|
|
67
72
|
required: true,
|
|
68
73
|
},
|
|
@@ -17,7 +17,6 @@ const datasource_1 = require("../../definitions/datasource");
|
|
|
17
17
|
const utils_1 = require("../utils");
|
|
18
18
|
const sqlTable_1 = __importDefault(require("./sqlTable"));
|
|
19
19
|
const environment_1 = __importDefault(require("../../environment"));
|
|
20
|
-
const utils_2 = require("./utils");
|
|
21
20
|
const envLimit = environment_1.default.SQL_MAX_ROWS
|
|
22
21
|
? parseInt(environment_1.default.SQL_MAX_ROWS)
|
|
23
22
|
: null;
|
|
@@ -117,13 +116,12 @@ class InternalBuilder {
|
|
|
117
116
|
addFilters(query, filters, opts) {
|
|
118
117
|
function iterate(structure, fn) {
|
|
119
118
|
for (let [key, value] of Object.entries(structure)) {
|
|
120
|
-
const
|
|
121
|
-
const isRelationshipField = updatedKey.includes(".");
|
|
119
|
+
const isRelationshipField = key.includes(".");
|
|
122
120
|
if (!opts.relationship && !isRelationshipField) {
|
|
123
|
-
fn(`${opts.tableName}.${
|
|
121
|
+
fn(`${opts.tableName}.${key}`, value);
|
|
124
122
|
}
|
|
125
123
|
if (opts.relationship && isRelationshipField) {
|
|
126
|
-
fn(
|
|
124
|
+
fn(key, value);
|
|
127
125
|
}
|
|
128
126
|
}
|
|
129
127
|
}
|
|
@@ -550,3 +548,4 @@ class SqlQueryBuilder extends sqlTable_1.default {
|
|
|
550
548
|
}
|
|
551
549
|
}
|
|
552
550
|
exports.default = SqlQueryBuilder;
|
|
551
|
+
module.exports = SqlQueryBuilder;
|
|
@@ -1,16 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
var DatasourceUtils;
|
|
13
|
+
(function (DatasourceUtils) {
|
|
14
|
+
const { integrations } = require("../index");
|
|
15
|
+
function makeExternalQuery(datasource, json) {
|
|
16
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
+
const Integration = integrations[datasource.source];
|
|
18
|
+
// query is the opinionated function
|
|
19
|
+
if (Integration.prototype.query) {
|
|
20
|
+
const integration = new Integration(datasource.config);
|
|
21
|
+
return integration.query(json);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
throw "Datasource does not support query.";
|
|
25
|
+
}
|
|
26
|
+
});
|
|
11
27
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
exports.removeKeyNumbering = removeKeyNumbering;
|
|
28
|
+
DatasourceUtils.makeExternalQuery = makeExternalQuery;
|
|
29
|
+
module.exports.makeExternalQuery = makeExternalQuery;
|
|
30
|
+
})(DatasourceUtils || (DatasourceUtils = {}));
|
|
@@ -8,16 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
const datasource_1 = require("../definitions/datasource");
|
|
16
13
|
const utils_1 = require("./utils");
|
|
17
|
-
const sql_1 = __importDefault(require("./base/sql"));
|
|
18
14
|
var MSSQLModule;
|
|
19
15
|
(function (MSSQLModule) {
|
|
20
16
|
const sqlServer = require("mssql");
|
|
17
|
+
const Sql = require("./base/sql");
|
|
21
18
|
const DEFAULT_SCHEMA = "dbo";
|
|
22
19
|
const SCHEMA = {
|
|
23
20
|
docs: "https://github.com/tediousjs/node-mssql",
|
|
@@ -72,7 +69,7 @@ var MSSQLModule;
|
|
|
72
69
|
},
|
|
73
70
|
},
|
|
74
71
|
};
|
|
75
|
-
class SqlServerIntegration extends
|
|
72
|
+
class SqlServerIntegration extends Sql {
|
|
76
73
|
constructor(config) {
|
|
77
74
|
super(utils_1.SqlClients.MS_SQL);
|
|
78
75
|
this.index = 0;
|
|
@@ -16,10 +16,10 @@ const datasource_1 = require("../definitions/datasource");
|
|
|
16
16
|
const utils_1 = require("./utils");
|
|
17
17
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
18
18
|
const { NUMBER_REGEX } = require("../utilities");
|
|
19
|
-
const sql_1 = __importDefault(require("./base/sql"));
|
|
20
19
|
var MySQLModule;
|
|
21
20
|
(function (MySQLModule) {
|
|
22
21
|
const mysql = require("mysql2/promise");
|
|
22
|
+
const Sql = require("./base/sql");
|
|
23
23
|
const SCHEMA = {
|
|
24
24
|
docs: "https://github.com/sidorares/node-mysql2",
|
|
25
25
|
plus: true,
|
|
@@ -96,7 +96,7 @@ var MySQLModule;
|
|
|
96
96
|
}
|
|
97
97
|
return bindings;
|
|
98
98
|
}
|
|
99
|
-
class MySQLIntegration extends
|
|
99
|
+
class MySQLIntegration extends Sql {
|
|
100
100
|
constructor(config) {
|
|
101
101
|
super(utils_1.SqlClients.MY_SQL);
|
|
102
102
|
this.tables = {};
|
|
@@ -8,16 +8,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
12
|
const datasource_1 = require("../definitions/datasource");
|
|
16
13
|
const utils_1 = require("./utils");
|
|
17
|
-
const sql_1 = __importDefault(require("./base/sql"));
|
|
18
14
|
var PostgresModule;
|
|
19
15
|
(function (PostgresModule) {
|
|
20
16
|
const { Client, types } = require("pg");
|
|
17
|
+
const Sql = require("./base/sql");
|
|
21
18
|
const { escapeDangerousCharacters } = require("../utilities");
|
|
22
19
|
// Return "date" and "timestamp" types as plain strings.
|
|
23
20
|
// This lets us reference the original stored timezone.
|
|
@@ -96,7 +93,7 @@ var PostgresModule;
|
|
|
96
93
|
},
|
|
97
94
|
},
|
|
98
95
|
};
|
|
99
|
-
class PostgresIntegration extends
|
|
96
|
+
class PostgresIntegration extends Sql {
|
|
100
97
|
constructor(config) {
|
|
101
98
|
super(utils_1.SqlClients.POSTGRES);
|
|
102
99
|
this.index = 1;
|
package/dist/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@budibase/server",
|
|
3
3
|
"email": "hi@budibase.com",
|
|
4
|
-
"version": "1.2.
|
|
4
|
+
"version": "1.2.29",
|
|
5
5
|
"description": "Budibase Web Server",
|
|
6
6
|
"main": "src/index.ts",
|
|
7
7
|
"repository": {
|
|
@@ -77,11 +77,11 @@
|
|
|
77
77
|
"license": "GPL-3.0",
|
|
78
78
|
"dependencies": {
|
|
79
79
|
"@apidevtools/swagger-parser": "10.0.3",
|
|
80
|
-
"@budibase/backend-core": "^1.2.
|
|
81
|
-
"@budibase/client": "^1.2.
|
|
82
|
-
"@budibase/pro": "1.2.
|
|
83
|
-
"@budibase/string-templates": "^1.2.
|
|
84
|
-
"@budibase/types": "^1.2.
|
|
80
|
+
"@budibase/backend-core": "^1.2.29",
|
|
81
|
+
"@budibase/client": "^1.2.29",
|
|
82
|
+
"@budibase/pro": "1.2.29",
|
|
83
|
+
"@budibase/string-templates": "^1.2.29",
|
|
84
|
+
"@budibase/types": "^1.2.29",
|
|
85
85
|
"@bull-board/api": "3.7.0",
|
|
86
86
|
"@bull-board/koa": "3.9.4",
|
|
87
87
|
"@elastic/elasticsearch": "7.10.0",
|
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
"google-auth-library": "7.12.0",
|
|
107
107
|
"google-spreadsheet": "3.2.0",
|
|
108
108
|
"jimp": "0.16.1",
|
|
109
|
-
"joi": "17.
|
|
109
|
+
"joi": "17.2.1",
|
|
110
110
|
"js-yaml": "4.1.0",
|
|
111
111
|
"jsonschema": "1.4.0",
|
|
112
112
|
"knex": "0.95.15",
|
|
@@ -24,6 +24,7 @@ const newid = require("../../db/newid");
|
|
|
24
24
|
const context = require("@budibase/backend-core/context");
|
|
25
25
|
const { generateDevInfoID, SEPARATOR } = require("@budibase/backend-core/db");
|
|
26
26
|
const { encrypt } = require("@budibase/backend-core/encryption");
|
|
27
|
+
const { DocumentTypes } = require("../../db/utils");
|
|
27
28
|
const GLOBAL_USER_ID = "us_uuid1";
|
|
28
29
|
const EMAIL = "babs@babs.com";
|
|
29
30
|
const FIRSTNAME = "Barbara";
|
|
@@ -47,6 +48,9 @@ class TestConfiguration {
|
|
|
47
48
|
getApp() {
|
|
48
49
|
return this.app;
|
|
49
50
|
}
|
|
51
|
+
getProdApp() {
|
|
52
|
+
return this.prodApp;
|
|
53
|
+
}
|
|
50
54
|
getAppId() {
|
|
51
55
|
return this.appId;
|
|
52
56
|
}
|
|
@@ -97,18 +101,11 @@ class TestConfiguration {
|
|
|
97
101
|
cleanup(this.allApps.map(app => app.appId));
|
|
98
102
|
}
|
|
99
103
|
// UTILS
|
|
100
|
-
_req(body, params, controlFunc
|
|
104
|
+
_req(body, params, controlFunc) {
|
|
101
105
|
return __awaiter(this, void 0, void 0, function* () {
|
|
102
106
|
// create a fake request ctx
|
|
103
107
|
const request = {};
|
|
104
|
-
|
|
105
|
-
let appId;
|
|
106
|
-
if (opts.prodApp) {
|
|
107
|
-
appId = this.prodAppId;
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
appId = this.appId;
|
|
111
|
-
}
|
|
108
|
+
const appId = this.appId;
|
|
112
109
|
request.appId = appId;
|
|
113
110
|
// fake cookies, we don't need them
|
|
114
111
|
request.cookies = { set: () => { }, get: () => { } };
|
|
@@ -300,8 +297,8 @@ class TestConfiguration {
|
|
|
300
297
|
const prodAppId = this.getAppId().replace("_dev", "");
|
|
301
298
|
this.prodAppId = prodAppId;
|
|
302
299
|
return context.doInAppContext(prodAppId, () => __awaiter(this, void 0, void 0, function* () {
|
|
303
|
-
const
|
|
304
|
-
return
|
|
300
|
+
const db = context.getProdAppDB();
|
|
301
|
+
return yield db.get(DocumentTypes.APP_METADATA);
|
|
305
302
|
}));
|
|
306
303
|
});
|
|
307
304
|
}
|