@budibase/server 1.1.32-alpha.6 → 1.1.32

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.
Files changed (204) hide show
  1. package/builder/assets/index.133db51f.js +978 -0
  2. package/builder/assets/{index.4d57d3d4.css → index.192adf4c.css} +2 -2
  3. package/builder/assets/{vendor.6bcafa60.js → vendor.162098da.js} +1 -1
  4. package/builder/index.html +3 -3
  5. package/coverage/clover.xml +696 -381
  6. package/coverage/coverage-final.json +16 -13
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +1 -1
  16. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +18 -18
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +49 -94
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +15 -15
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +2 -2
  73. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  75. package/coverage/lcov-report/automations/actions.js.html +1 -1
  76. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  77. package/coverage/lcov-report/automations/bullboard.js.html +17 -17
  78. package/coverage/lcov-report/automations/index.html +1 -1
  79. package/coverage/lcov-report/automations/index.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +2 -5
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +1 -1
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +18 -18
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +14 -5
  108. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  109. package/coverage/lcov-report/constants/screens.js.html +1 -1
  110. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  111. package/coverage/lcov-report/db/index.html +19 -19
  112. package/coverage/lcov-report/db/index.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  117. package/coverage/lcov-report/db/newid.js.html +1 -1
  118. package/coverage/lcov-report/db/utils.js.html +13 -61
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +1 -1
  122. package/coverage/lcov-report/events/utils.js.html +1 -1
  123. package/coverage/lcov-report/index.html +72 -57
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  127. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  128. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  129. package/coverage/lcov-report/middleware/index.html +21 -21
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +43 -43
  131. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  132. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  135. package/coverage/lcov-report/threads/automation.js.html +1114 -0
  136. package/coverage/lcov-report/threads/index.html +146 -0
  137. package/coverage/lcov-report/threads/query.js.html +916 -0
  138. package/coverage/lcov-report/threads/utils.js.html +319 -0
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  140. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  141. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  142. package/coverage/lcov-report/utilities/global.js.html +14 -68
  143. package/coverage/lcov-report/utilities/index.html +19 -19
  144. package/coverage/lcov-report/utilities/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +14 -26
  146. package/coverage/lcov-report/utilities/queue/index.html +17 -17
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  153. package/coverage/lcov-report/utilities/security.js.html +2 -2
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +1214 -695
  161. package/dist/api/controllers/deploy/index.js +0 -1
  162. package/dist/api/controllers/query/index.js +1 -1
  163. package/dist/api/controllers/query/validation.js +3 -3
  164. package/dist/api/controllers/row/internalSearch.js +16 -30
  165. package/dist/api/routes/utils/validators.js +1 -1
  166. package/dist/automations/utils.js +1 -47
  167. package/dist/constants/index.js +4 -1
  168. package/dist/db/utils.js +1 -14
  169. package/dist/integrations/base/sql.js +14 -43
  170. package/dist/package.json +8 -8
  171. package/dist/threads/automation.js +54 -147
  172. package/dist/threads/index.js +20 -27
  173. package/dist/threads/query.js +15 -23
  174. package/dist/threads/utils.js +24 -47
  175. package/dist/tsconfig.build.tsbuildinfo +1 -1
  176. package/dist/utilities/global.js +5 -24
  177. package/dist/utilities/queue/inMemoryQueue.js +0 -5
  178. package/package.json +9 -9
  179. package/src/api/controllers/deploy/index.ts +1 -6
  180. package/src/api/controllers/query/index.ts +1 -1
  181. package/src/api/controllers/query/validation.js +3 -3
  182. package/src/api/controllers/row/internalSearch.js +20 -35
  183. package/src/api/routes/tests/user.spec.js +0 -2
  184. package/src/api/routes/utils/validators.js +1 -1
  185. package/src/automations/steps/executeQuery.js +0 -1
  186. package/src/automations/tests/automation.spec.js +2 -2
  187. package/src/automations/utils.ts +1 -54
  188. package/src/constants/index.js +5 -2
  189. package/src/db/utils.js +0 -16
  190. package/src/definitions/datasource.ts +0 -3
  191. package/src/integrations/base/sql.ts +13 -44
  192. package/src/integrations/tests/sql.spec.js +4 -50
  193. package/src/middleware/tests/currentapp.spec.js +0 -11
  194. package/src/threads/{automation.ts → automation.js} +48 -172
  195. package/src/threads/index.ts +23 -31
  196. package/src/threads/{query.ts → query.js} +12 -32
  197. package/src/threads/{utils.ts → utils.js} +12 -31
  198. package/src/utilities/global.js +3 -21
  199. package/src/utilities/queue/inMemoryQueue.js +0 -4
  200. package/builder/assets/index.fdd9c6c9.js +0 -977
  201. package/dist/definitions/automations.js +0 -8
  202. package/dist/threads/definitions.js +0 -2
  203. package/src/definitions/automations.ts +0 -49
  204. package/src/threads/definitions.ts +0 -18
@@ -74,7 +74,6 @@ function initDeployedApp(prodAppId) {
74
74
  const automations = (yield db.allDocs((0, utils_1.getAutomationParams)(null, {
75
75
  include_docs: true,
76
76
  }))).rows.map((row) => row.doc);
77
- yield (0, utils_2.clearMetadata)();
78
77
  console.log("You have " + automations.length + " automations");
79
78
  const promises = [];
80
79
  console.log("Disabling prod crons..");
@@ -241,7 +241,7 @@ function execute(ctx, opts = { rowsOnly: false, isAutomation: false }) {
241
241
  }
242
242
  function executeV1(ctx) {
243
243
  return __awaiter(this, void 0, void 0, function* () {
244
- return execute(ctx, { rowsOnly: true, isAutomation: false });
244
+ return execute(ctx, { rowsOnly: true });
245
245
  });
246
246
  }
247
247
  exports.executeV1 = executeV1;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const { joiValidator } = require("@budibase/backend-core/auth");
2
+ const joiValidator = require("../../../middleware/joi-validator");
3
3
  const Joi = require("joi");
4
4
  const OPTIONAL_STRING = Joi.string().optional().allow(null).allow("");
5
5
  exports.queryValidation = () => {
@@ -19,7 +19,7 @@ exports.queryValidation = () => {
19
19
  schema: Joi.object({}).required().unknown(true),
20
20
  transformer: OPTIONAL_STRING,
21
21
  flags: Joi.object().optional(),
22
- }).unknown(true);
22
+ });
23
23
  };
24
24
  exports.generateQueryValidation = () => {
25
25
  // prettier-ignore
@@ -41,5 +41,5 @@ exports.generateQueryPreviewValidation = () => {
41
41
  transformer: OPTIONAL_STRING,
42
42
  parameters: Joi.object({}).required().unknown(true),
43
43
  queryId: OPTIONAL_STRING,
44
- }).unknown(true));
44
+ }));
45
45
  };
@@ -18,7 +18,7 @@ const { getAppId } = require("@budibase/backend-core/context");
18
18
  */
19
19
  class QueryBuilder {
20
20
  constructor(base) {
21
- this.query = Object.assign({ allOr: false, string: {}, fuzzy: {}, range: {}, equal: {}, notEqual: {}, empty: {}, notEmpty: {}, oneOf: {}, contains: {} }, base);
21
+ this.query = Object.assign({ allOr: false, string: {}, fuzzy: {}, range: {}, equal: {}, notEqual: {}, empty: {}, notEmpty: {}, oneOf: {} }, base);
22
22
  this.limit = 50;
23
23
  this.sortOrder = "ascending";
24
24
  this.sortType = "string";
@@ -100,10 +100,6 @@ class QueryBuilder {
100
100
  this.query.oneOf[key] = value;
101
101
  return this;
102
102
  }
103
- addContains(key, value) {
104
- this.query.contains[key] = value;
105
- return this;
106
- }
107
103
  /**
108
104
  * Preprocesses a value before going into a lucene search.
109
105
  * Transforms strings to lowercase and wraps strings and bools in quotes.
@@ -146,27 +142,6 @@ class QueryBuilder {
146
142
  }
147
143
  return `${key}:${builder.preprocess(value, allPreProcessingOpts)}`;
148
144
  };
149
- const contains = (key, value) => {
150
- if (!value && value !== 0) {
151
- return null;
152
- }
153
- return `${key}:${builder.preprocess(value, { escape: true })}`;
154
- };
155
- const oneOf = (key, value) => {
156
- if (!Array.isArray(value)) {
157
- if (typeof value === "string") {
158
- value = value.split(",");
159
- }
160
- else {
161
- return "";
162
- }
163
- }
164
- let orStatement = `${builder.preprocess(value[0], allPreProcessingOpts)}`;
165
- for (let i = 1; i < value.length; i++) {
166
- orStatement += ` OR ${builder.preprocess(value[i], allPreProcessingOpts)}`;
167
- }
168
- return `${key}:(${orStatement})`;
169
- };
170
145
  function build(structure, queryFn) {
171
146
  for (let [key, value] of Object.entries(structure)) {
172
147
  key = builder.preprocess(key.replace(/ /g, "_"), {
@@ -241,10 +216,21 @@ class QueryBuilder {
241
216
  build(this.query.notEmpty, key => `${key}:["" TO *]`);
242
217
  }
243
218
  if (this.query.oneOf) {
244
- build(this.query.oneOf, oneOf);
245
- }
246
- if (this.query.contains) {
247
- build(this.query.contains, contains);
219
+ build(this.query.oneOf, (key, value) => {
220
+ if (!Array.isArray(value)) {
221
+ if (typeof value === "string") {
222
+ value = value.split(",");
223
+ }
224
+ else {
225
+ return "";
226
+ }
227
+ }
228
+ let orStatement = `${builder.preprocess(value[0], allPreProcessingOpts)}`;
229
+ for (let i = 1; i < value.length; i++) {
230
+ orStatement += ` OR ${builder.preprocess(value[i], allPreProcessingOpts)}`;
231
+ }
232
+ return `${key}:(${orStatement})`;
233
+ });
248
234
  }
249
235
  // make sure table ID is always added as an AND
250
236
  if (tableId) {
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- const { joiValidator } = require("@budibase/backend-core/auth");
2
+ const joiValidator = require("../../../middleware/joi-validator");
3
3
  const { DataSourceOperation } = require("../../../constants");
4
4
  const { WebhookType } = require("../../../constants");
5
5
  const { BUILTIN_PERMISSION_IDS, PermissionLevels, } = require("@budibase/backend-core/permissions");
@@ -35,7 +35,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
35
35
  return (mod && mod.__esModule) ? mod : { "default": mod };
36
36
  };
37
37
  Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.isErrorInOutput = exports.isRecurring = exports.cleanupAutomations = exports.checkForWebhooks = exports.enableCronTrigger = exports.clearMetadata = exports.disableCron = exports.disableAllCrons = exports.removeDeprecated = exports.updateTestHistory = exports.processEvent = void 0;
38
+ exports.cleanupAutomations = exports.checkForWebhooks = exports.enableCronTrigger = exports.disableAllCrons = exports.removeDeprecated = exports.updateTestHistory = exports.processEvent = void 0;
39
39
  const threads_1 = require("../threads");
40
40
  const triggerInfo_1 = require("./triggerInfo");
41
41
  const webhooks = __importStar(require("../api/controllers/webhook"));
@@ -44,7 +44,6 @@ const newid_1 = __importDefault(require("../db/newid"));
44
44
  const utilities_1 = require("../utilities");
45
45
  const constants_1 = require("../constants");
46
46
  const db_1 = require("@budibase/backend-core/db");
47
- const utils_1 = require("../db/utils");
48
47
  const fp_1 = require("lodash/fp");
49
48
  const context_1 = require("@budibase/backend-core/context");
50
49
  const backend_core_1 = require("@budibase/backend-core");
@@ -115,26 +114,6 @@ function disableAllCrons(appId) {
115
114
  });
116
115
  }
117
116
  exports.disableAllCrons = disableAllCrons;
118
- function disableCron(jobId, jobKey) {
119
- return __awaiter(this, void 0, void 0, function* () {
120
- yield bullboard_1.queue.removeRepeatableByKey(jobKey);
121
- yield bullboard_1.queue.removeJobs(jobId);
122
- });
123
- }
124
- exports.disableCron = disableCron;
125
- function clearMetadata() {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const db = (0, context_1.getProdAppDB)();
128
- const automationMetadata = (yield db.allDocs((0, utils_1.getAutomationMetadataParams)({
129
- include_docs: true,
130
- }))).rows.map((row) => row.doc);
131
- for (let metadata of automationMetadata) {
132
- metadata._deleted = true;
133
- }
134
- yield db.bulkDocs(automationMetadata);
135
- });
136
- }
137
- exports.clearMetadata = clearMetadata;
138
117
  /**
139
118
  * This function handles checking of any cron jobs that need to be enabled/updated.
140
119
  * @param {string} appId The ID of the app in which we are checking for webhooks
@@ -249,28 +228,3 @@ function cleanupAutomations(appId) {
249
228
  });
250
229
  }
251
230
  exports.cleanupAutomations = cleanupAutomations;
252
- /**
253
- * Checks if the supplied automation is of a recurring type.
254
- * @param automation The automation to check.
255
- * @return {boolean} if it is recurring (cron).
256
- */
257
- function isRecurring(automation) {
258
- return automation.definition.trigger.stepId === triggerInfo_1.definitions.CRON.stepId;
259
- }
260
- exports.isRecurring = isRecurring;
261
- function isErrorInOutput(output) {
262
- var _a;
263
- let first = true, error = false;
264
- for (let step of output.steps) {
265
- // skip the trigger, its always successful if automation ran
266
- if (first) {
267
- first = false;
268
- continue;
269
- }
270
- if (!((_a = step.outputs) === null || _a === void 0 ? void 0 : _a.success)) {
271
- error = true;
272
- }
273
- }
274
- return error;
275
- }
276
- exports.isErrorInOutput = isErrorInOutput;
@@ -185,6 +185,9 @@ exports.AutomationErrors = {
185
185
  MAX_ITERATIONS: "MAX_ITERATIONS_REACHED",
186
186
  FAILURE_CONDITION: "FAILURE_CONDITION_MET",
187
187
  };
188
+ exports.LoopStepTypes = {
189
+ ARRAY: "Array",
190
+ STRING: "String",
191
+ };
188
192
  // pass through the list from the auth/core lib
189
193
  exports.ObjectStoreBuckets = ObjectStoreBuckets;
190
- exports.MAX_AUTOMATION_RECURRING_ERRORS = 5;
package/dist/db/utils.js CHANGED
@@ -7,7 +7,7 @@ const AppStatus = {
7
7
  ALL: "all",
8
8
  DEPLOYED: "published",
9
9
  };
10
- const DocumentTypes = Object.assign(Object.assign({}, CoreDocTypes), { TABLE: "ta", ROW: "ro", USER: "us", AUTOMATION: "au", LINK: "li", WEBHOOK: "wh", INSTANCE: "inst", LAYOUT: "layout", SCREEN: "screen", DATASOURCE: "datasource", DATASOURCE_PLUS: "datasource_plus", QUERY: "query", DEPLOYMENTS: "deployments", METADATA: "metadata", MEM_VIEW: "view", USER_FLAG: "flag", AUTOMATION_METADATA: "meta_au" });
10
+ const DocumentTypes = Object.assign(Object.assign({}, CoreDocTypes), { TABLE: "ta", ROW: "ro", USER: "us", AUTOMATION: "au", LINK: "li", WEBHOOK: "wh", INSTANCE: "inst", LAYOUT: "layout", SCREEN: "screen", DATASOURCE: "datasource", DATASOURCE_PLUS: "datasource_plus", QUERY: "query", DEPLOYMENTS: "deployments", METADATA: "metadata", MEM_VIEW: "view", USER_FLAG: "flag" });
11
11
  const InternalTables = {
12
12
  USER_METADATA: "ta_users",
13
13
  };
@@ -229,19 +229,6 @@ exports.getDatasourceParams = (datasourceId = null, otherProps = {}) => {
229
229
  exports.generateQueryID = datasourceId => {
230
230
  return `${DocumentTypes.QUERY}${SEPARATOR}${datasourceId}${SEPARATOR}${newid()}`;
231
231
  };
232
- /**
233
- * Generates a metadata ID for automations, used to track errors in recurring
234
- * automations etc.
235
- */
236
- exports.generateAutomationMetadataID = automationId => {
237
- return `${DocumentTypes.AUTOMATION_METADATA}${SEPARATOR}${automationId}`;
238
- };
239
- /**
240
- * Retrieve all automation metadata in an app database.
241
- */
242
- exports.getAutomationMetadataParams = (otherProps = {}) => {
243
- return getDocParams(DocumentTypes.AUTOMATION_METADATA, null, otherProps);
244
- };
245
232
  /**
246
233
  * Gets parameters for retrieving a query, this is a utility function for the getDocParams function.
247
234
  */
@@ -125,20 +125,6 @@ class InternalBuilder {
125
125
  }
126
126
  }
127
127
  }
128
- const like = (key, value) => {
129
- const fnc = allOr ? "orWhere" : "where";
130
- // postgres supports ilike, nothing else does
131
- if (this.client === utils_1.SqlClients.POSTGRES) {
132
- query = query[fnc](key, "ilike", `%${value}%`);
133
- }
134
- else {
135
- const rawFnc = `${fnc}Raw`;
136
- // @ts-ignore
137
- query = query[rawFnc](`LOWER(${likeKey(this.client, key)}) LIKE ?`, [
138
- `%${value}%`,
139
- ]);
140
- }
141
- };
142
128
  if (!filters) {
143
129
  return query;
144
130
  }
@@ -166,7 +152,20 @@ class InternalBuilder {
166
152
  });
167
153
  }
168
154
  if (filters.fuzzy) {
169
- iterate(filters.fuzzy, like);
155
+ iterate(filters.fuzzy, (key, value) => {
156
+ const fnc = allOr ? "orWhere" : "where";
157
+ // postgres supports ilike, nothing else does
158
+ if (this.client === utils_1.SqlClients.POSTGRES) {
159
+ query = query[fnc](key, "ilike", `%${value}%`);
160
+ }
161
+ else {
162
+ const rawFnc = `${fnc}Raw`;
163
+ // @ts-ignore
164
+ query = query[rawFnc](`LOWER(${likeKey(this.client, key)}) LIKE ?`, [
165
+ `%${value}%`,
166
+ ]);
167
+ }
168
+ });
170
169
  }
171
170
  if (filters.range) {
172
171
  iterate(filters.range, (key, value) => {
@@ -211,34 +210,6 @@ class InternalBuilder {
211
210
  query = query[fnc](key);
212
211
  });
213
212
  }
214
- if (filters.contains) {
215
- const fnc = allOr ? "orWhere" : "where";
216
- const rawFnc = `${fnc}Raw`;
217
- if (this.client === utils_1.SqlClients.POSTGRES) {
218
- iterate(filters.contains, (key, value) => {
219
- const fieldNames = key.split(/\./g);
220
- const tableName = fieldNames[0];
221
- const columnName = fieldNames[1];
222
- if (typeof value === "string") {
223
- value = `"${value}"`;
224
- }
225
- // @ts-ignore
226
- query = query[rawFnc](`"${tableName}"."${columnName}"::jsonb @> '[${value}]'`);
227
- });
228
- }
229
- else if (this.client === utils_1.SqlClients.MY_SQL) {
230
- iterate(filters.contains, (key, value) => {
231
- if (typeof value === "string") {
232
- value = `"${value}"`;
233
- }
234
- // @ts-ignore
235
- query = query[rawFnc](`JSON_CONTAINS(${key}, '${value}')`);
236
- });
237
- }
238
- else {
239
- iterate(filters.contains, like);
240
- }
241
- }
242
213
  return query;
243
214
  }
244
215
  addSorting(query, json) {
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.1.32-alpha.5",
4
+ "version": "1.1.31",
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.1.32-alpha.5",
81
- "@budibase/client": "1.1.32-alpha.5",
82
- "@budibase/pro": "1.1.32-alpha.5",
83
- "@budibase/string-templates": "1.1.32-alpha.5",
84
- "@budibase/types": "1.1.32-alpha.5",
80
+ "@budibase/backend-core": "^1.1.31",
81
+ "@budibase/client": "^1.1.31",
82
+ "@budibase/pro": "1.1.31",
83
+ "@budibase/string-templates": "^1.1.31",
84
+ "@budibase/types": "^1.1.31",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",
@@ -118,7 +118,7 @@
118
118
  "koa-send": "5.0.0",
119
119
  "koa-session": "5.12.0",
120
120
  "koa-static": "5.0.0",
121
- "koa2-ratelimit": "1.1.1",
121
+ "koa2-ratelimit": "1.1.0",
122
122
  "lodash": "4.17.21",
123
123
  "memorystream": "0.3.1",
124
124
  "mongodb": "3.6.3",
@@ -137,7 +137,7 @@
137
137
  "redis": "4",
138
138
  "server-destroy": "1.0.1",
139
139
  "snowflake-promise": "^4.5.0",
140
- "svelte": "3.49.0",
140
+ "svelte": "3.44.1",
141
141
  "swagger-parser": "10.0.3",
142
142
  "to-json-schema": "0.2.5",
143
143
  "uuid": "3.3.2",