@budibase/server 1.2.44-alpha.0 → 1.2.46

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 (205) hide show
  1. package/__mocks__/mongodb.ts +0 -4
  2. package/__mocks__/node-fetch.ts +1 -8
  3. package/builder/assets/index.08dd0c5e.css +6 -0
  4. package/builder/assets/index.f6823431.js +975 -0
  5. package/builder/assets/{vendor.67dbd8fa.js → vendor.6bcafa60.js} +1 -1
  6. package/builder/index.html +3 -3
  7. package/coverage/clover.xml +714 -727
  8. package/coverage/coverage-final.json +27 -27
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/index.html +35 -35
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +88 -46
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +191 -317
  31. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +30 -39
  33. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +41 -41
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +2 -2
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.js.html +17 -17
  39. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +2 -2
  42. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  46. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  47. package/coverage/lcov-report/api/index.html +1 -1
  48. package/coverage/lcov-report/api/index.js.html +5 -5
  49. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/index.html +1 -1
  60. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  74. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +13 -7
  80. package/coverage/lcov-report/automations/index.html +12 -12
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/index.html +1 -1
  89. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  108. package/coverage/lcov-report/constants/index.html +1 -1
  109. package/coverage/lcov-report/constants/index.js.html +30 -30
  110. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  111. package/coverage/lcov-report/constants/screens.js.html +1 -1
  112. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  113. package/coverage/lcov-report/db/index.html +1 -1
  114. package/coverage/lcov-report/db/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +11 -11
  116. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +19 -19
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +7 -7
  119. package/coverage/lcov-report/db/newid.js.html +4 -4
  120. package/coverage/lcov-report/db/utils.js.html +71 -71
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +5 -5
  122. package/coverage/lcov-report/events/index.html +1 -1
  123. package/coverage/lcov-report/events/index.js.html +1 -1
  124. package/coverage/lcov-report/events/utils.js.html +1 -1
  125. package/coverage/lcov-report/index.html +25 -25
  126. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  127. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  128. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  129. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  130. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  131. package/coverage/lcov-report/middleware/index.html +1 -1
  132. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  133. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  134. package/coverage/lcov-report/middleware/resourceId.js.html +18 -18
  135. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  136. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  137. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  138. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  139. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  140. package/coverage/lcov-report/utilities/global.js.html +31 -31
  141. package/coverage/lcov-report/utilities/index.html +1 -1
  142. package/coverage/lcov-report/utilities/index.js.html +23 -23
  143. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  144. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  145. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +39 -39
  149. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +10 -10
  150. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  151. package/coverage/lcov-report/utilities/security.js.html +1 -1
  152. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +7 -7
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  158. package/coverage/lcov.info +1168 -1194
  159. package/dist/api/controllers/row/internal.js +15 -1
  160. package/dist/api/controllers/row/internalSearch.js +4 -39
  161. package/dist/api/controllers/row/utils.js +1 -3
  162. package/dist/api/controllers/static/index.js +2 -8
  163. package/dist/api/controllers/table/external.js +1 -1
  164. package/dist/api/routes/static.js +0 -2
  165. package/dist/automations/bullboard.js +2 -0
  166. package/dist/automations/listeners.js +102 -0
  167. package/dist/automations/logging/index.js +0 -3
  168. package/dist/automations/utils.js +6 -2
  169. package/dist/integrations/base/sql.js +30 -62
  170. package/dist/integrations/base/utils.js +27 -13
  171. package/dist/integrations/microsoftSqlServer.js +2 -5
  172. package/dist/integrations/mongodb.js +8 -35
  173. package/dist/integrations/mysql.js +2 -2
  174. package/dist/integrations/postgres.js +2 -5
  175. package/dist/package.json +7 -7
  176. package/dist/threads/automation.js +27 -11
  177. package/dist/tsconfig.build.tsbuildinfo +1 -1
  178. package/dist/utilities/fileSystem/index.js +1 -2
  179. package/package.json +8 -8
  180. package/src/api/controllers/row/internal.js +15 -1
  181. package/src/api/controllers/row/internalSearch.js +3 -45
  182. package/src/api/controllers/row/utils.js +1 -4
  183. package/src/api/controllers/static/index.ts +1 -5
  184. package/src/api/controllers/table/external.js +1 -1
  185. package/src/api/routes/static.ts +0 -11
  186. package/src/api/routes/tests/row.spec.js +149 -67
  187. package/src/automations/bullboard.js +2 -0
  188. package/src/automations/listeners.ts +78 -0
  189. package/src/automations/logging/index.ts +0 -3
  190. package/src/automations/utils.ts +7 -6
  191. package/src/integrations/base/sql.ts +30 -67
  192. package/src/integrations/base/utils.ts +18 -9
  193. package/src/integrations/microsoftSqlServer.ts +2 -3
  194. package/src/integrations/mongodb.ts +8 -35
  195. package/src/integrations/mysql.ts +1 -1
  196. package/src/integrations/postgres.ts +1 -2
  197. package/src/integrations/tests/mongo.spec.js +0 -218
  198. package/src/integrations/tests/sql.spec.js +11 -101
  199. package/src/threads/automation.ts +35 -16
  200. package/src/utilities/fileSystem/index.js +0 -2
  201. package/builder/assets/index.6b1c808b.css +0 -6
  202. package/builder/assets/index.7e1eb5c8.js +0 -977
  203. package/dist/integrations/base/query.js +0 -27
  204. package/src/api/routes/tests/internalSearch.spec.js +0 -176
  205. package/src/integrations/base/query.ts +0 -16
@@ -1,4 +1,4 @@
1
- const Sql = require("../base/sql").default
1
+ const Sql = require("../base/sql")
2
2
  const { SqlClient } = require("../utils")
3
3
 
4
4
  const TABLE_NAME = "test"
@@ -240,18 +240,18 @@ describe("SQL query builder", () => {
240
240
  })
241
241
  })
242
242
 
243
- it("should use AND like expression for MS-SQL when filter is contains", () => {
243
+ it("should use like expression for MS-SQL when filter is contains", () => {
244
244
  const query = new Sql(SqlClient.MS_SQL, 10)._query(generateReadJson({
245
245
  filters: {
246
246
  contains: {
247
- age: [20, 25],
248
- name: ["John", "Mary"]
247
+ age: 20,
248
+ name: "John"
249
249
  }
250
250
  }
251
251
  }))
252
252
  expect(query).toEqual({
253
- bindings: [10, "%20%", "%25%", `%"John"%`, `%"Mary"%`],
254
- sql: `select * from (select top (@p0) * from [${TABLE_NAME}] where (LOWER(${TABLE_NAME}.age) LIKE @p1 AND LOWER(${TABLE_NAME}.age) LIKE @p2) and (LOWER(${TABLE_NAME}.name) LIKE @p3 AND LOWER(${TABLE_NAME}.name) LIKE @p4)) as [${TABLE_NAME}]`
253
+ bindings: [10, "%20%", "%John%"],
254
+ sql: `select * from (select top (@p0) * from [${TABLE_NAME}] where LOWER(${TABLE_NAME}.age) LIKE @p1 and LOWER(${TABLE_NAME}.name) LIKE @p2) as [${TABLE_NAME}]`
255
255
  })
256
256
  })
257
257
 
@@ -259,14 +259,14 @@ describe("SQL query builder", () => {
259
259
  const query = new Sql(SqlClient.MY_SQL, 10)._query(generateReadJson({
260
260
  filters: {
261
261
  contains: {
262
- age: [20],
263
- name: ["John"]
262
+ age: 20,
263
+ name: "John"
264
264
  }
265
265
  }
266
266
  }))
267
267
  expect(query).toEqual({
268
268
  bindings: [10],
269
- sql: `select * from (select * from \`${TABLE_NAME}\` where JSON_CONTAINS(${TABLE_NAME}.age, '[20]') and JSON_CONTAINS(${TABLE_NAME}.name, '["John"]') limit ?) as \`${TABLE_NAME}\``
269
+ sql: `select * from (select * from \`${TABLE_NAME}\` where JSON_CONTAINS(${TABLE_NAME}.age, '20') and JSON_CONTAINS(${TABLE_NAME}.name, '"John"') limit ?) as \`${TABLE_NAME}\``
270
270
  })
271
271
  })
272
272
 
@@ -274,8 +274,8 @@ describe("SQL query builder", () => {
274
274
  const query = new Sql(SqlClient.POSTGRES, 10)._query(generateReadJson({
275
275
  filters: {
276
276
  contains: {
277
- age: [20],
278
- name: ["John"]
277
+ age: 20,
278
+ name: "John"
279
279
  }
280
280
  }
281
281
  }))
@@ -284,94 +284,4 @@ describe("SQL query builder", () => {
284
284
  sql: `select * from (select * from \"${TABLE_NAME}\" where \"${TABLE_NAME}\".\"age\"::jsonb @> '[20]' and \"${TABLE_NAME}\".\"name\"::jsonb @> '["John"]' limit $1) as \"${TABLE_NAME}\"`
285
285
  })
286
286
  })
287
-
288
- it("should use NOT like expression for MS-SQL when filter is notContains", () => {
289
- const query = new Sql(SqlClient.MS_SQL, 10)._query(generateReadJson({
290
- filters: {
291
- notContains: {
292
- age: [20],
293
- name: ["John"]
294
- }
295
- }
296
- }))
297
- expect(query).toEqual({
298
- bindings: [10, "%20%", `%"John"%`],
299
- sql: `select * from (select top (@p0) * from [${TABLE_NAME}] where NOT (LOWER(${TABLE_NAME}.age) LIKE @p1) and NOT (LOWER(${TABLE_NAME}.name) LIKE @p2)) as [${TABLE_NAME}]`
300
- })
301
- })
302
-
303
- it("should use NOT JSON_CONTAINS expression for MySQL when filter is notContains", () => {
304
- const query = new Sql(SqlClient.MY_SQL, 10)._query(generateReadJson({
305
- filters: {
306
- notContains: {
307
- age: [20],
308
- name: ["John"]
309
- }
310
- }
311
- }))
312
- expect(query).toEqual({
313
- bindings: [10],
314
- sql: `select * from (select * from \`${TABLE_NAME}\` where NOT JSON_CONTAINS(${TABLE_NAME}.age, '[20]') and NOT JSON_CONTAINS(${TABLE_NAME}.name, '["John"]') limit ?) as \`${TABLE_NAME}\``
315
- })
316
- })
317
-
318
- it("should use jsonb operator NOT expression for PostgreSQL when filter is notContains", () => {
319
- const query = new Sql(SqlClient.POSTGRES, 10)._query(generateReadJson({
320
- filters: {
321
- notContains: {
322
- age: [20],
323
- name: ["John"]
324
- }
325
- }
326
- }))
327
- expect(query).toEqual({
328
- bindings: [10],
329
- sql: `select * from (select * from \"${TABLE_NAME}\" where NOT \"${TABLE_NAME}\".\"age\"::jsonb @> '[20]' and NOT \"${TABLE_NAME}\".\"name\"::jsonb @> '["John"]' limit $1) as \"${TABLE_NAME}\"`
330
- })
331
- })
332
-
333
- it("should use OR like expression for MS-SQL when filter is containsAny", () => {
334
- const query = new Sql(SqlClient.MS_SQL, 10)._query(generateReadJson({
335
- filters: {
336
- containsAny: {
337
- age: [20, 25],
338
- name: ["John", "Mary"]
339
- }
340
- }
341
- }))
342
- expect(query).toEqual({
343
- bindings: [10, "%20%", "%25%", `%"John"%`, `%"Mary"%`],
344
- sql: `select * from (select top (@p0) * from [${TABLE_NAME}] where (LOWER(${TABLE_NAME}.age) LIKE @p1 OR LOWER(${TABLE_NAME}.age) LIKE @p2) and (LOWER(${TABLE_NAME}.name) LIKE @p3 OR LOWER(${TABLE_NAME}.name) LIKE @p4)) as [${TABLE_NAME}]`
345
- })
346
- })
347
-
348
- it("should use JSON_OVERLAPS expression for MySQL when filter is containsAny", () => {
349
- const query = new Sql(SqlClient.MY_SQL, 10)._query(generateReadJson({
350
- filters: {
351
- containsAny: {
352
- age: [20, 25],
353
- name: ["John", "Mary"]
354
- }
355
- }
356
- }))
357
- expect(query).toEqual({
358
- bindings: [10],
359
- sql: `select * from (select * from \`${TABLE_NAME}\` where JSON_OVERLAPS(${TABLE_NAME}.age, '[20,25]') and JSON_OVERLAPS(${TABLE_NAME}.name, '["John","Mary"]') limit ?) as \`${TABLE_NAME}\``
360
- })
361
- })
362
-
363
- it("should use ?| operator expression for PostgreSQL when filter is containsAny", () => {
364
- const query = new Sql(SqlClient.POSTGRES, 10)._query(generateReadJson({
365
- filters: {
366
- containsAny: {
367
- age: [20, 25],
368
- name: ["John", "Mary"]
369
- }
370
- }
371
- }))
372
- expect(query).toEqual({
373
- bindings: [10],
374
- sql: `select * from (select * from \"${TABLE_NAME}\" where \"${TABLE_NAME}\".\"age\"::jsonb ?| array [20,25] and \"${TABLE_NAME}\".\"name\"::jsonb ?| array ['John','Mary'] limit $1) as \"${TABLE_NAME}\"`
375
- })
376
- })
377
287
  })
@@ -133,27 +133,34 @@ class Orchestrator {
133
133
  return metadata
134
134
  }
135
135
 
136
+ async stopCron(reason: string) {
137
+ if (!this._repeat) {
138
+ return
139
+ }
140
+ logWarn(
141
+ `CRON disabled reason=${reason} - ${this._appId}/${this._automation._id}`
142
+ )
143
+ const automation = this._automation
144
+ const trigger = automation.definition.trigger
145
+ await disableCron(this._repeat?.jobId, this._repeat?.jobKey)
146
+ this.updateExecutionOutput(
147
+ trigger.id,
148
+ trigger.stepId,
149
+ {},
150
+ {
151
+ status: AutomationStatus.STOPPED_ERROR,
152
+ success: false,
153
+ }
154
+ )
155
+ await storeLog(automation, this.executionOutput)
156
+ }
157
+
136
158
  async checkIfShouldStop(metadata: AutomationMetadata): Promise<boolean> {
137
159
  if (!metadata.errorCount || !this._repeat) {
138
160
  return false
139
161
  }
140
- const automation = this._automation
141
- const trigger = automation.definition.trigger
142
162
  if (metadata.errorCount >= MAX_AUTOMATION_RECURRING_ERRORS) {
143
- logWarn(
144
- `CRON disabled due to errors - ${this._appId}/${this._automation._id}`
145
- )
146
- await disableCron(this._repeat?.jobId, this._repeat?.jobKey)
147
- this.updateExecutionOutput(
148
- trigger.id,
149
- trigger.stepId,
150
- {},
151
- {
152
- status: AutomationStatus.STOPPED_ERROR,
153
- success: false,
154
- }
155
- )
156
- await storeLog(automation, this.executionOutput)
163
+ await this.stopCron("errors")
157
164
  return true
158
165
  }
159
166
  return false
@@ -465,3 +472,15 @@ export function execute(input: AutomationEvent, callback: WorkerCallback) {
465
472
  }
466
473
  })
467
474
  }
475
+
476
+ export const removeStalled = (input: AutomationEvent) => {
477
+ const appId = input.data.event.appId
478
+ doInAppContext(appId, async () => {
479
+ const automationOrchestrator = new Orchestrator(
480
+ input.data.automation,
481
+ input.data.event,
482
+ input.opts
483
+ )
484
+ await automationOrchestrator.stopCron("stalled")
485
+ })
486
+ }
@@ -15,7 +15,6 @@ const {
15
15
  streamUpload,
16
16
  deleteFolder,
17
17
  downloadTarball,
18
- deleteFiles,
19
18
  } = require("./utilities")
20
19
  const { updateClientLibrary } = require("./clientLibrary")
21
20
  const env = require("../../environment")
@@ -328,6 +327,5 @@ exports.cleanup = appIds => {
328
327
  exports.upload = upload
329
328
  exports.retrieve = retrieve
330
329
  exports.retrieveToTmp = retrieveToTmp
331
- exports.deleteFiles = deleteFiles
332
330
  exports.TOP_LEVEL_PATH = TOP_LEVEL_PATH
333
331
  exports.NODE_MODULES_PATH = NODE_MODULES_PATH