@budibase/server 2.6.19-alpha.50 → 2.6.19-alpha.51
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.a7585108.js → index.4f47d591.js} +219 -219
- package/builder/index.html +1 -1
- package/dist/automation.js +44 -7
- package/dist/automation.js.map +3 -3
- package/dist/index.js +44 -7
- package/dist/index.js.map +3 -3
- package/dist/query.js +43 -6
- package/dist/query.js.map +3 -3
- package/package.json +8 -8
- package/src/integrations/googlesheets.ts +33 -9
package/dist/query.js
CHANGED
|
@@ -16912,6 +16912,7 @@ __export(filters_exports, {
|
|
|
16912
16912
|
NoEmptyFilterStrings: () => NoEmptyFilterStrings,
|
|
16913
16913
|
buildLuceneQuery: () => buildLuceneQuery,
|
|
16914
16914
|
getValidOperatorsForType: () => getValidOperatorsForType,
|
|
16915
|
+
hasFilters: () => hasFilters,
|
|
16915
16916
|
luceneLimit: () => luceneLimit,
|
|
16916
16917
|
luceneSort: () => luceneSort,
|
|
16917
16918
|
runLuceneQuery: () => runLuceneQuery
|
|
@@ -17197,6 +17198,21 @@ var luceneLimit = (docs, limit) => {
|
|
|
17197
17198
|
}
|
|
17198
17199
|
return docs.slice(0, numLimit);
|
|
17199
17200
|
};
|
|
17201
|
+
var hasFilters = (query) => {
|
|
17202
|
+
if (!query) {
|
|
17203
|
+
return false;
|
|
17204
|
+
}
|
|
17205
|
+
const skipped = ["allOr"];
|
|
17206
|
+
for (let [key, value] of Object.entries(query)) {
|
|
17207
|
+
if (skipped.includes(key) || typeof value !== "object") {
|
|
17208
|
+
continue;
|
|
17209
|
+
}
|
|
17210
|
+
if (Object.keys(value).length !== 0) {
|
|
17211
|
+
return true;
|
|
17212
|
+
}
|
|
17213
|
+
}
|
|
17214
|
+
return false;
|
|
17215
|
+
};
|
|
17200
17216
|
|
|
17201
17217
|
// ../shared-core/src/utils.ts
|
|
17202
17218
|
var utils_exports3 = {};
|
|
@@ -17566,21 +17582,37 @@ var GoogleSheetsIntegration = class {
|
|
|
17566
17582
|
}
|
|
17567
17583
|
}
|
|
17568
17584
|
async read(query) {
|
|
17585
|
+
var _a, _b, _c, _d;
|
|
17569
17586
|
try {
|
|
17570
17587
|
await this.connect();
|
|
17588
|
+
const hasFilters2 = filters_exports.hasFilters(query.filters);
|
|
17589
|
+
const limit = ((_a = query.paginate) == null ? void 0 : _a.limit) || 100;
|
|
17590
|
+
const page = typeof ((_b = query.paginate) == null ? void 0 : _b.page) === "number" ? query.paginate.page : parseInt(((_c = query.paginate) == null ? void 0 : _c.page) || "1");
|
|
17591
|
+
const offset = (page - 1) * limit;
|
|
17571
17592
|
const sheet = this.client.sheetsByTitle[query.sheet];
|
|
17572
17593
|
let rows2 = [];
|
|
17573
|
-
if (query.paginate) {
|
|
17574
|
-
const limit = query.paginate.limit || 100;
|
|
17575
|
-
let page = typeof query.paginate.page === "number" ? query.paginate.page : parseInt(query.paginate.page || "1");
|
|
17594
|
+
if (query.paginate && !hasFilters2) {
|
|
17576
17595
|
rows2 = await sheet.getRows({
|
|
17577
17596
|
limit,
|
|
17578
|
-
offset
|
|
17597
|
+
offset
|
|
17579
17598
|
});
|
|
17580
17599
|
} else {
|
|
17581
17600
|
rows2 = await sheet.getRows();
|
|
17582
17601
|
}
|
|
17583
|
-
|
|
17602
|
+
if ((_d = query.filters) == null ? void 0 : _d.equal) {
|
|
17603
|
+
const idFilterKeys = Object.keys(query.filters.equal).filter(
|
|
17604
|
+
(filter2) => filter2.includes(GOOGLE_SHEETS_PRIMARY_KEY)
|
|
17605
|
+
);
|
|
17606
|
+
for (let idFilterKey of idFilterKeys) {
|
|
17607
|
+
const id = query.filters.equal[idFilterKey];
|
|
17608
|
+
delete query.filters.equal[idFilterKey];
|
|
17609
|
+
query.filters.equal[`_${GOOGLE_SHEETS_PRIMARY_KEY}`] = id;
|
|
17610
|
+
}
|
|
17611
|
+
}
|
|
17612
|
+
let filtered2 = filters_exports.runLuceneQuery(rows2, query.filters);
|
|
17613
|
+
if (hasFilters2 && query.paginate) {
|
|
17614
|
+
filtered2 = filtered2.slice(offset, offset + limit);
|
|
17615
|
+
}
|
|
17584
17616
|
const headerValues = sheet.headerValues;
|
|
17585
17617
|
let response = [];
|
|
17586
17618
|
for (let row of filtered2) {
|
|
@@ -17638,7 +17670,12 @@ var GoogleSheetsIntegration = class {
|
|
|
17638
17670
|
const row = rows2[query.rowIndex];
|
|
17639
17671
|
if (row) {
|
|
17640
17672
|
await row.delete();
|
|
17641
|
-
return [
|
|
17673
|
+
return [
|
|
17674
|
+
{
|
|
17675
|
+
deleted: query.rowIndex,
|
|
17676
|
+
[GOOGLE_SHEETS_PRIMARY_KEY]: query.rowIndex
|
|
17677
|
+
}
|
|
17678
|
+
];
|
|
17642
17679
|
} else {
|
|
17643
17680
|
throw new Error("Row does not exist.");
|
|
17644
17681
|
}
|