@budibase/server 2.6.28 → 2.7.1-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/builder/assets/{index.4ca5529d.js → index.933787a7.js} +326 -326
- package/builder/assets/{index.a86e2071.css → index.b33e8ad5.css} +1 -1
- package/builder/index.html +2 -2
- package/dist/automation.js +45 -34
- package/dist/automation.js.map +3 -3
- package/dist/index.js +49 -34
- package/dist/index.js.map +3 -3
- package/dist/query.js +22 -19
- package/dist/query.js.map +3 -3
- package/package.json +8 -8
- package/src/api/controllers/datasource.ts +13 -1
- package/src/integrations/googlesheets.ts +18 -2
package/builder/index.html
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
<link rel="preconnect" href="https://fonts.gstatic.com" />
|
|
9
9
|
<link href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@400;600;700&display=swap"
|
|
10
10
|
rel="stylesheet" />
|
|
11
|
-
<script type="module" crossorigin src="/builder/assets/index.
|
|
12
|
-
<link rel="stylesheet" href="/builder/assets/index.
|
|
11
|
+
<script type="module" crossorigin src="/builder/assets/index.933787a7.js"></script>
|
|
12
|
+
<link rel="stylesheet" href="/builder/assets/index.b33e8ad5.css">
|
|
13
13
|
</head>
|
|
14
14
|
|
|
15
15
|
<body id="app">
|
package/dist/automation.js
CHANGED
|
@@ -5357,11 +5357,11 @@ function makeCacheItem(doc, lastWrite = null) {
|
|
|
5357
5357
|
return { doc, lastWrite: lastWrite || Date.now() };
|
|
5358
5358
|
}
|
|
5359
5359
|
async function put(db2, doc, writeRateMs = DEFAULT_WRITE_RATE_MS) {
|
|
5360
|
-
const
|
|
5360
|
+
const cache3 = await getCache();
|
|
5361
5361
|
const key = doc._id;
|
|
5362
5362
|
let cacheItem;
|
|
5363
5363
|
if (key) {
|
|
5364
|
-
cacheItem = await
|
|
5364
|
+
cacheItem = await cache3.get(makeCacheKey(db2, key));
|
|
5365
5365
|
}
|
|
5366
5366
|
const updateDb = !cacheItem || cacheItem.lastWrite < Date.now() - writeRateMs;
|
|
5367
5367
|
let output = doc;
|
|
@@ -5399,30 +5399,30 @@ async function put(db2, doc, writeRateMs = DEFAULT_WRITE_RATE_MS) {
|
|
|
5399
5399
|
}
|
|
5400
5400
|
cacheItem = makeCacheItem(output, updateDb ? null : cacheItem == null ? void 0 : cacheItem.lastWrite);
|
|
5401
5401
|
if (output._id) {
|
|
5402
|
-
await
|
|
5402
|
+
await cache3.store(makeCacheKey(db2, output._id), cacheItem);
|
|
5403
5403
|
}
|
|
5404
5404
|
return { ok: true, id: output._id, rev: output._rev };
|
|
5405
5405
|
}
|
|
5406
5406
|
async function get2(db2, id) {
|
|
5407
|
-
const
|
|
5407
|
+
const cache3 = await getCache();
|
|
5408
5408
|
const cacheKey = makeCacheKey(db2, id);
|
|
5409
|
-
let cacheItem = await
|
|
5409
|
+
let cacheItem = await cache3.get(cacheKey);
|
|
5410
5410
|
if (!cacheItem) {
|
|
5411
5411
|
const doc = await db2.get(id);
|
|
5412
5412
|
cacheItem = makeCacheItem(doc);
|
|
5413
|
-
await
|
|
5413
|
+
await cache3.store(cacheKey, cacheItem);
|
|
5414
5414
|
}
|
|
5415
5415
|
return cacheItem.doc;
|
|
5416
5416
|
}
|
|
5417
5417
|
async function remove(db2, docOrId, rev) {
|
|
5418
|
-
const
|
|
5418
|
+
const cache3 = await getCache();
|
|
5419
5419
|
if (!docOrId) {
|
|
5420
5420
|
throw new Error("No ID/Rev provided.");
|
|
5421
5421
|
}
|
|
5422
5422
|
const id = typeof docOrId === "string" ? docOrId : docOrId._id;
|
|
5423
5423
|
rev = typeof docOrId === "string" ? rev : docOrId._rev;
|
|
5424
5424
|
try {
|
|
5425
|
-
await
|
|
5425
|
+
await cache3.delete(makeCacheKey(db2, id));
|
|
5426
5426
|
} finally {
|
|
5427
5427
|
await db2.remove(id, rev);
|
|
5428
5428
|
}
|
|
@@ -9781,8 +9781,8 @@ async function preAuth(passport2, ctx, next) {
|
|
|
9781
9781
|
callbackUrl,
|
|
9782
9782
|
ssoSaveUserNoOp
|
|
9783
9783
|
);
|
|
9784
|
-
if (!ctx.query.appId
|
|
9785
|
-
ctx.throw(400, "appId
|
|
9784
|
+
if (!ctx.query.appId) {
|
|
9785
|
+
ctx.throw(400, "appId query param not present.");
|
|
9786
9786
|
}
|
|
9787
9787
|
return passport2.authenticate(strategy, {
|
|
9788
9788
|
scope: ["profile", "email", "https://www.googleapis.com/auth/spreadsheets"],
|
|
@@ -9802,7 +9802,7 @@ async function postAuth(passport2, ctx, next) {
|
|
|
9802
9802
|
clientSecret: config.clientSecret,
|
|
9803
9803
|
callbackURL: callbackUrl
|
|
9804
9804
|
},
|
|
9805
|
-
(accessToken, refreshToken,
|
|
9805
|
+
(accessToken, refreshToken, _profile, done) => {
|
|
9806
9806
|
clearCookie(ctx, "budibase:datasourceauth" /* DatasourceAuth */);
|
|
9807
9807
|
done(null, { accessToken, refreshToken });
|
|
9808
9808
|
}
|
|
@@ -9810,22 +9810,14 @@ async function postAuth(passport2, ctx, next) {
|
|
|
9810
9810
|
{ successRedirect: "/", failureRedirect: "/error" },
|
|
9811
9811
|
async (err, tokens) => {
|
|
9812
9812
|
const baseUrl = `/builder/app/${authStateCookie.appId}/data`;
|
|
9813
|
-
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
|
|
9817
|
-
|
|
9818
|
-
if (err2.status === 404) {
|
|
9819
|
-
ctx.redirect(baseUrl);
|
|
9820
|
-
}
|
|
9821
|
-
}
|
|
9822
|
-
if (!datasource2.config) {
|
|
9823
|
-
datasource2.config = {};
|
|
9813
|
+
const id = utils_exports2.newid();
|
|
9814
|
+
await cache_exports.store(
|
|
9815
|
+
`datasource:creation:${authStateCookie.appId}:google:${id}`,
|
|
9816
|
+
{
|
|
9817
|
+
tokens
|
|
9824
9818
|
}
|
|
9825
|
-
|
|
9826
|
-
|
|
9827
|
-
ctx.redirect(`${baseUrl}/datasource/${authStateCookie.datasourceId}`);
|
|
9828
|
-
});
|
|
9819
|
+
);
|
|
9820
|
+
ctx.redirect(`${baseUrl}/new?continue_google_setup=${id}`);
|
|
9829
9821
|
}
|
|
9830
9822
|
)(ctx, next);
|
|
9831
9823
|
}
|
|
@@ -9835,9 +9827,9 @@ var init_google2 = __esm({
|
|
|
9835
9827
|
init_google();
|
|
9836
9828
|
init_constants2();
|
|
9837
9829
|
init_utils5();
|
|
9838
|
-
init_db5();
|
|
9839
9830
|
init_configs3();
|
|
9840
9831
|
init_sso2();
|
|
9832
|
+
init_src2();
|
|
9841
9833
|
GoogleStrategy2 = require("passport-google-oauth").OAuth2Strategy;
|
|
9842
9834
|
}
|
|
9843
9835
|
});
|
|
@@ -23811,9 +23803,20 @@ var init_rest = __esm({
|
|
|
23811
23803
|
});
|
|
23812
23804
|
|
|
23813
23805
|
// src/integrations/googlesheets.ts
|
|
23806
|
+
async function setupCreationAuth(datasouce) {
|
|
23807
|
+
if (datasouce.continueSetupId) {
|
|
23808
|
+
const appId = context_exports.getAppId();
|
|
23809
|
+
const tokens = await cache_exports.get(
|
|
23810
|
+
`datasource:creation:${appId}:google:${datasouce.continueSetupId}`
|
|
23811
|
+
);
|
|
23812
|
+
datasouce.auth = tokens.tokens;
|
|
23813
|
+
delete datasouce.continueSetupId;
|
|
23814
|
+
}
|
|
23815
|
+
}
|
|
23814
23816
|
var import_google_auth_library, import_google_spreadsheet, import_node_fetch9, ALLOWED_TYPES, SCHEMA12, GoogleSheetsIntegration, googlesheets_default;
|
|
23815
23817
|
var init_googlesheets = __esm({
|
|
23816
23818
|
"src/integrations/googlesheets.ts"() {
|
|
23819
|
+
"use strict";
|
|
23817
23820
|
init_src();
|
|
23818
23821
|
import_google_auth_library = require("google-auth-library");
|
|
23819
23822
|
init_utils14();
|
|
@@ -23848,7 +23851,7 @@ var init_googlesheets = __esm({
|
|
|
23848
23851
|
},
|
|
23849
23852
|
datasource: {
|
|
23850
23853
|
spreadsheetId: {
|
|
23851
|
-
display: "
|
|
23854
|
+
display: "Spreadsheet URL",
|
|
23852
23855
|
type: "string" /* STRING */,
|
|
23853
23856
|
required: true
|
|
23854
23857
|
}
|
|
@@ -23918,6 +23921,7 @@ var init_googlesheets = __esm({
|
|
|
23918
23921
|
}
|
|
23919
23922
|
async testConnection() {
|
|
23920
23923
|
try {
|
|
23924
|
+
await setupCreationAuth(this.config);
|
|
23921
23925
|
await this.connect();
|
|
23922
23926
|
return { connected: true };
|
|
23923
23927
|
} catch (e) {
|
|
@@ -26889,22 +26893,22 @@ function threadSetup() {
|
|
|
26889
26893
|
init8();
|
|
26890
26894
|
}
|
|
26891
26895
|
async function checkCacheForDynamicVariable(queryId, variable) {
|
|
26892
|
-
const
|
|
26893
|
-
return
|
|
26896
|
+
const cache3 = await getClient2();
|
|
26897
|
+
return cache3.get(makeVariableKey(queryId, variable));
|
|
26894
26898
|
}
|
|
26895
26899
|
async function invalidateDynamicVariables(cachedVars) {
|
|
26896
|
-
const
|
|
26900
|
+
const cache3 = await getClient2();
|
|
26897
26901
|
let promises = [];
|
|
26898
26902
|
for (let variable of cachedVars) {
|
|
26899
26903
|
promises.push(
|
|
26900
|
-
|
|
26904
|
+
cache3.delete(makeVariableKey(variable.queryId, variable.name))
|
|
26901
26905
|
);
|
|
26902
26906
|
}
|
|
26903
26907
|
await Promise.all(promises);
|
|
26904
26908
|
}
|
|
26905
26909
|
async function storeDynamicVariable(queryId, variable, value) {
|
|
26906
|
-
const
|
|
26907
|
-
await
|
|
26910
|
+
const cache3 = await getClient2();
|
|
26911
|
+
await cache3.store(
|
|
26908
26912
|
makeVariableKey(queryId, variable),
|
|
26909
26913
|
value,
|
|
26910
26914
|
VARIABLE_TTL_SECONDS
|
|
@@ -30682,8 +30686,15 @@ init_constants6();
|
|
|
30682
30686
|
init_integrations2();
|
|
30683
30687
|
init_utils20();
|
|
30684
30688
|
init_src2();
|
|
30689
|
+
init_src();
|
|
30685
30690
|
init_sdk3();
|
|
30686
30691
|
init_websockets();
|
|
30692
|
+
init_googlesheets();
|
|
30693
|
+
var preSaveAction = {
|
|
30694
|
+
["GOOGLE_SHEETS" /* GOOGLE_SHEETS */]: async (datasource2) => {
|
|
30695
|
+
await setupCreationAuth(datasource2.config);
|
|
30696
|
+
}
|
|
30697
|
+
};
|
|
30687
30698
|
|
|
30688
30699
|
// src/api/controllers/query/validation.ts
|
|
30689
30700
|
init_src2();
|