@budibase/server 2.6.19-alpha.50 → 2.6.19-alpha.52

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/dist/index.js CHANGED
@@ -19730,11 +19730,12 @@ __export(filters_exports, {
19730
19730
  NoEmptyFilterStrings: () => NoEmptyFilterStrings2,
19731
19731
  buildLuceneQuery: () => buildLuceneQuery,
19732
19732
  getValidOperatorsForType: () => getValidOperatorsForType,
19733
+ hasFilters: () => hasFilters,
19733
19734
  luceneLimit: () => luceneLimit,
19734
19735
  luceneSort: () => luceneSort,
19735
19736
  runLuceneQuery: () => runLuceneQuery
19736
19737
  });
19737
- var HBS_REGEX, getValidOperatorsForType, NoEmptyFilterStrings2, cleanupQuery, removeKeyNumbering2, buildLuceneQuery, runLuceneQuery, luceneSort, luceneLimit;
19738
+ var HBS_REGEX, getValidOperatorsForType, NoEmptyFilterStrings2, cleanupQuery, removeKeyNumbering2, buildLuceneQuery, runLuceneQuery, luceneSort, luceneLimit, hasFilters;
19738
19739
  var init_filters = __esm({
19739
19740
  "../shared-core/src/filters.ts"() {
19740
19741
  init_src();
@@ -20000,6 +20001,21 @@ var init_filters = __esm({
20000
20001
  }
20001
20002
  return docs.slice(0, numLimit);
20002
20003
  };
20004
+ hasFilters = (query3) => {
20005
+ if (!query3) {
20006
+ return false;
20007
+ }
20008
+ const skipped = ["allOr"];
20009
+ for (let [key, value] of Object.entries(query3)) {
20010
+ if (skipped.includes(key) || typeof value !== "object") {
20011
+ continue;
20012
+ }
20013
+ if (Object.keys(value).length !== 0) {
20014
+ return true;
20015
+ }
20016
+ }
20017
+ return false;
20018
+ };
20003
20019
  }
20004
20020
  });
20005
20021
 
@@ -29384,21 +29400,37 @@ var init_googlesheets = __esm({
29384
29400
  }
29385
29401
  }
29386
29402
  async read(query3) {
29403
+ var _a2, _b2, _c, _d;
29387
29404
  try {
29388
29405
  await this.connect();
29406
+ const hasFilters2 = filters_exports.hasFilters(query3.filters);
29407
+ const limit = ((_a2 = query3.paginate) == null ? void 0 : _a2.limit) || 100;
29408
+ const page = typeof ((_b2 = query3.paginate) == null ? void 0 : _b2.page) === "number" ? query3.paginate.page : parseInt(((_c = query3.paginate) == null ? void 0 : _c.page) || "1");
29409
+ const offset = (page - 1) * limit;
29389
29410
  const sheet = this.client.sheetsByTitle[query3.sheet];
29390
29411
  let rows2 = [];
29391
- if (query3.paginate) {
29392
- const limit = query3.paginate.limit || 100;
29393
- let page = typeof query3.paginate.page === "number" ? query3.paginate.page : parseInt(query3.paginate.page || "1");
29412
+ if (query3.paginate && !hasFilters2) {
29394
29413
  rows2 = await sheet.getRows({
29395
29414
  limit,
29396
- offset: (page - 1) * limit
29415
+ offset
29397
29416
  });
29398
29417
  } else {
29399
29418
  rows2 = await sheet.getRows();
29400
29419
  }
29401
- const filtered2 = filters_exports.runLuceneQuery(rows2, query3.filters);
29420
+ if ((_d = query3.filters) == null ? void 0 : _d.equal) {
29421
+ const idFilterKeys = Object.keys(query3.filters.equal).filter(
29422
+ (filter2) => filter2.includes(GOOGLE_SHEETS_PRIMARY_KEY)
29423
+ );
29424
+ for (let idFilterKey of idFilterKeys) {
29425
+ const id = query3.filters.equal[idFilterKey];
29426
+ delete query3.filters.equal[idFilterKey];
29427
+ query3.filters.equal[`_${GOOGLE_SHEETS_PRIMARY_KEY}`] = id;
29428
+ }
29429
+ }
29430
+ let filtered2 = filters_exports.runLuceneQuery(rows2, query3.filters);
29431
+ if (hasFilters2 && query3.paginate) {
29432
+ filtered2 = filtered2.slice(offset, offset + limit);
29433
+ }
29402
29434
  const headerValues = sheet.headerValues;
29403
29435
  let response2 = [];
29404
29436
  for (let row2 of filtered2) {
@@ -29456,7 +29488,12 @@ var init_googlesheets = __esm({
29456
29488
  const row2 = rows2[query3.rowIndex];
29457
29489
  if (row2) {
29458
29490
  await row2.delete();
29459
- return [{ deleted: query3.rowIndex }];
29491
+ return [
29492
+ {
29493
+ deleted: query3.rowIndex,
29494
+ [GOOGLE_SHEETS_PRIMARY_KEY]: query3.rowIndex
29495
+ }
29496
+ ];
29460
29497
  } else {
29461
29498
  throw new Error("Row does not exist.");
29462
29499
  }
@@ -31163,7 +31200,6 @@ var init_websocket2 = __esm({
31163
31200
  this.initialise().then(() => {
31164
31201
  this.io.on("connection", async (socket) => {
31165
31202
  socket.on("Heartbeat" /* Heartbeat */, async () => {
31166
- console.log(socket.data.email, "heartbeat received");
31167
31203
  await this.extendSessionTTL(socket.data.sessionId);
31168
31204
  });
31169
31205
  socket.on("disconnect", async () => {