@budibase/server 2.0.39 → 2.0.40

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 (295) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/__mocks__/node-fetch.ts +12 -2
  3. package/builder/assets/backups-default.8c011f1b.png +0 -0
  4. package/builder/assets/{index.e0ddd30b.css → index.442de33f.css} +2 -2
  5. package/builder/assets/{index.b20dee52.js → index.72aa3989.js} +340 -332
  6. package/builder/index.html +2 -2
  7. package/coverage/clover.xml +1125 -1250
  8. package/coverage/coverage-final.json +73 -77
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  10. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +79 -67
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +21 -21
  14. package/coverage/lcov-report/api/controllers/index.html +17 -47
  15. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  18. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  19. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/validation.js.html +4 -4
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  24. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/internal.js.html +13 -13
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +15 -15
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +13 -13
  30. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +12 -9
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +10 -10
  33. package/coverage/lcov-report/api/controllers/table/index.html +16 -16
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +5 -5
  35. package/coverage/lcov-report/api/controllers/templates.js.html +6 -6
  36. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.js.html +3 -3
  40. package/coverage/lcov-report/api/controllers/view/utils.js.html +13 -13
  41. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +8 -8
  42. package/coverage/lcov-report/api/index.html +1 -1
  43. package/coverage/lcov-report/api/index.js.html +30 -30
  44. package/coverage/lcov-report/api/routes/analytics.js.html +7 -7
  45. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  46. package/coverage/lcov-report/api/routes/automation.js.html +11 -11
  47. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  48. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  49. package/coverage/lcov-report/api/routes/datasource.js.html +9 -9
  50. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  51. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  52. package/coverage/lcov-report/api/routes/index.html +5 -35
  53. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  54. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  55. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  56. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  57. package/coverage/lcov-report/api/routes/permission.js.html +9 -9
  58. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  59. package/coverage/lcov-report/api/routes/role.js.html +9 -9
  60. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  61. package/coverage/lcov-report/api/routes/screen.js.html +9 -9
  62. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/table.js.html +10 -10
  64. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  65. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  66. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  67. package/coverage/lcov-report/api/routes/utils/validators.js.html +45 -45
  68. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +6 -6
  71. package/coverage/lcov-report/automations/bullboard.js.html +24 -84
  72. package/coverage/lcov-report/automations/index.html +21 -21
  73. package/coverage/lcov-report/automations/index.js.html +9 -9
  74. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  75. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  76. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  77. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/index.html +15 -15
  81. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/updateRow.js.html +3 -3
  89. package/coverage/lcov-report/automations/steps/utils.js.html +10 -10
  90. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  91. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  92. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  93. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  94. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggers.js.html +49 -49
  100. package/coverage/lcov-report/constants/index.html +5 -5
  101. package/coverage/lcov-report/constants/index.js.html +10 -28
  102. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  103. package/coverage/lcov-report/constants/screens.js.html +1 -1
  104. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  105. package/coverage/lcov-report/db/index.html +19 -19
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +17 -17
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +28 -28
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +15 -15
  111. package/coverage/lcov-report/db/newid.js.html +2 -2
  112. package/coverage/lcov-report/db/utils.js.html +37 -316
  113. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  114. package/coverage/lcov-report/events/index.html +1 -1
  115. package/coverage/lcov-report/events/index.js.html +3 -3
  116. package/coverage/lcov-report/events/utils.js.html +9 -9
  117. package/coverage/lcov-report/index.html +88 -88
  118. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  119. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  120. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  121. package/coverage/lcov-report/middleware/builder.js.html +19 -19
  122. package/coverage/lcov-report/middleware/currentapp.js.html +49 -49
  123. package/coverage/lcov-report/middleware/index.html +1 -1
  124. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  125. package/coverage/lcov-report/middleware/publicApi.js.html +5 -5
  126. package/coverage/lcov-report/middleware/resourceId.js.html +28 -28
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  130. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  131. package/coverage/lcov-report/utilities/csvParser.js.html +15 -12
  132. package/coverage/lcov-report/utilities/global.js.html +31 -31
  133. package/coverage/lcov-report/utilities/index.html +28 -28
  134. package/coverage/lcov-report/utilities/index.js.html +8 -8
  135. package/coverage/lcov-report/utilities/plugins.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +52 -52
  137. package/coverage/lcov-report/utilities/queue/index.html +21 -21
  138. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  139. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  140. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +72 -57
  142. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +15 -15
  143. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  144. package/coverage/lcov-report/utilities/security.js.html +2 -2
  145. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/index.html +14 -14
  147. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +23 -11
  148. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  149. package/coverage/lcov-report/utilities/users.js.html +1 -1
  150. package/coverage/lcov-report/utilities/workerRequests.js.html +46 -46
  151. package/coverage/lcov.info +1691 -1899
  152. package/dist/api/controllers/application.js +4 -7
  153. package/dist/api/controllers/backup.js +19 -13
  154. package/dist/api/controllers/cloud.js +38 -35
  155. package/dist/api/controllers/deploy/index.js +11 -2
  156. package/dist/api/controllers/dev.js +1 -1
  157. package/dist/api/controllers/query/index.js +7 -2
  158. package/dist/api/controllers/row/index.js +40 -66
  159. package/dist/api/controllers/row/internal.js +1 -1
  160. package/dist/api/controllers/static/index.js +3 -2
  161. package/dist/api/controllers/static/templates/BudibaseApp.svelte +11 -0
  162. package/dist/api/controllers/static/templates/preview.hbs +10 -0
  163. package/dist/api/controllers/table/bulkFormula.js +4 -3
  164. package/dist/api/controllers/table/external.js +5 -4
  165. package/dist/api/controllers/table/index.js +4 -4
  166. package/dist/api/controllers/table/internal.js +10 -3
  167. package/dist/api/controllers/table/utils.js +7 -49
  168. package/dist/api/controllers/view/index.js +2 -2
  169. package/dist/api/controllers/webhook.js +88 -89
  170. package/dist/api/routes/backup.js +34 -7
  171. package/dist/api/routes/index.js +9 -4
  172. package/dist/api/routes/utils/validators.js +2 -2
  173. package/dist/api/routes/webhook.js +39 -11
  174. package/dist/app.js +2 -68
  175. package/dist/automations/automationUtils.js +2 -2
  176. package/dist/automations/bullboard.js +12 -35
  177. package/dist/automations/index.js +4 -4
  178. package/dist/automations/steps/updateRow.js +2 -2
  179. package/dist/automations/triggers.js +6 -6
  180. package/dist/automations/utils.js +23 -49
  181. package/dist/constants/index.js +4 -8
  182. package/dist/db/utils.js +10 -75
  183. package/dist/index.js +1 -0
  184. package/dist/integrations/arangodb.js +2 -0
  185. package/dist/integrations/base/sqlTable.js +1 -0
  186. package/dist/integrations/mongodb.js +300 -11
  187. package/dist/integrations/rest.js +38 -5
  188. package/dist/migrations/functions/backfill/app/tables.js +5 -8
  189. package/dist/migrations/functions/{quotas1.js → syncQuotas.js} +3 -7
  190. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -1
  191. package/dist/migrations/functions/{pluginCount.js → usageQuotas/syncPlugins.js} +1 -3
  192. package/dist/migrations/functions/usageQuotas/syncRows.js +9 -5
  193. package/dist/migrations/index.js +10 -38
  194. package/dist/package.json +14 -14
  195. package/dist/sdk/app/automations/index.js +29 -0
  196. package/dist/sdk/app/automations/webhook.js +54 -0
  197. package/dist/sdk/app/backups/constants.js +5 -0
  198. package/dist/sdk/app/backups/exports.js +172 -0
  199. package/dist/sdk/app/backups/imports.js +190 -0
  200. package/dist/sdk/app/backups/index.js +29 -0
  201. package/dist/sdk/app/backups/statistics.js +73 -0
  202. package/dist/sdk/app/tables/index.js +61 -0
  203. package/dist/sdk/index.js +17 -0
  204. package/dist/startup.js +152 -0
  205. package/dist/tests/utilities/TestConfiguration.js +12 -2
  206. package/dist/threads/automation.js +12 -17
  207. package/dist/tsconfig.build.tsbuildinfo +1 -1
  208. package/dist/utilities/csvParser.js +1 -0
  209. package/dist/utilities/fileSystem/index.js +3 -95
  210. package/dist/utilities/fileSystem/utilities.js +2 -1
  211. package/dist/utilities/rowProcessor/index.js +5 -0
  212. package/dist/utilities/usageQuota/rows.js +6 -4
  213. package/package.json +15 -15
  214. package/specs/openapi.json +3 -0
  215. package/specs/openapi.yaml +3 -0
  216. package/src/api/controllers/application.ts +5 -12
  217. package/src/api/controllers/{backup.js → backup.ts} +7 -7
  218. package/src/api/controllers/cloud.js +44 -40
  219. package/src/api/controllers/deploy/index.ts +20 -8
  220. package/src/api/controllers/dev.js +1 -1
  221. package/src/api/controllers/query/index.ts +8 -2
  222. package/src/api/controllers/row/index.ts +50 -65
  223. package/src/api/controllers/row/internal.js +1 -1
  224. package/src/api/controllers/static/index.ts +4 -2
  225. package/src/api/controllers/static/templates/BudibaseApp.svelte +11 -0
  226. package/src/api/controllers/static/templates/preview.hbs +10 -0
  227. package/src/api/controllers/table/bulkFormula.js +4 -3
  228. package/src/api/controllers/table/external.js +4 -4
  229. package/src/api/controllers/table/index.js +4 -4
  230. package/src/api/controllers/table/internal.ts +8 -9
  231. package/src/api/controllers/table/utils.ts +4 -53
  232. package/src/api/controllers/view/index.js +2 -2
  233. package/src/api/controllers/{webhook.js → webhook.ts} +33 -48
  234. package/src/api/routes/backup.ts +10 -0
  235. package/src/api/routes/index.ts +11 -5
  236. package/src/api/routes/tests/backup.spec.js +1 -1
  237. package/src/api/routes/tests/{deployment.spec.js → deployment.spec.ts} +4 -4
  238. package/src/api/routes/tests/row.spec.js +22 -27
  239. package/src/api/routes/utils/validators.js +2 -2
  240. package/src/api/routes/{webhook.js → webhook.ts} +7 -6
  241. package/src/app.ts +3 -91
  242. package/src/automations/automationUtils.js +2 -2
  243. package/src/automations/bullboard.js +14 -34
  244. package/src/automations/index.js +4 -4
  245. package/src/automations/steps/updateRow.js +2 -2
  246. package/src/automations/tests/automation.spec.js +1 -6
  247. package/src/automations/triggers.js +6 -6
  248. package/src/automations/utils.ts +30 -32
  249. package/src/constants/index.js +4 -10
  250. package/src/db/utils.js +17 -110
  251. package/src/definitions/automations.ts +1 -18
  252. package/src/definitions/datasource.ts +1 -0
  253. package/src/index.ts +1 -0
  254. package/src/integrations/arangodb.ts +2 -0
  255. package/src/integrations/base/sqlTable.ts +1 -0
  256. package/src/integrations/mongodb.ts +290 -27
  257. package/src/integrations/rest.ts +17 -5
  258. package/src/integrations/tests/mongo.spec.ts +19 -19
  259. package/src/integrations/tests/rest.spec.ts +38 -22
  260. package/src/migrations/functions/backfill/app/tables.ts +7 -13
  261. package/src/migrations/functions/backfill/global.ts +1 -1
  262. package/src/migrations/functions/{quotas1.ts → syncQuotas.ts} +3 -8
  263. package/src/migrations/functions/tests/{quotas1.spec.js → syncQuotas.spec.js} +6 -5
  264. package/src/migrations/functions/tests/userEmailViewCasing.spec.js +6 -4
  265. package/src/migrations/functions/usageQuotas/syncApps.ts +0 -1
  266. package/src/migrations/functions/usageQuotas/syncPlugins.ts +10 -0
  267. package/src/migrations/functions/usageQuotas/syncRows.ts +15 -6
  268. package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +9 -1
  269. package/src/migrations/index.ts +21 -45
  270. package/src/migrations/tests/index.spec.ts +0 -1
  271. package/src/sdk/app/automations/index.ts +5 -0
  272. package/src/sdk/app/automations/webhook.ts +43 -0
  273. package/src/sdk/app/backups/constants.ts +2 -0
  274. package/src/sdk/app/backups/exports.ts +171 -0
  275. package/src/sdk/app/backups/imports.ts +206 -0
  276. package/src/sdk/app/backups/index.ts +9 -0
  277. package/src/sdk/app/backups/statistics.ts +78 -0
  278. package/src/sdk/app/tables/index.ts +61 -0
  279. package/src/sdk/index.ts +15 -0
  280. package/src/startup.ts +138 -0
  281. package/src/tests/utilities/TestConfiguration.js +12 -2
  282. package/src/threads/automation.ts +20 -27
  283. package/src/utilities/csvParser.js +1 -0
  284. package/src/utilities/fileSystem/index.js +2 -119
  285. package/src/utilities/fileSystem/utilities.js +2 -0
  286. package/src/utilities/rowProcessor/index.js +5 -0
  287. package/src/utilities/usageQuota/rows.js +7 -3
  288. package/coverage/lcov-report/api/controllers/backup.js.html +0 -142
  289. package/coverage/lcov-report/api/controllers/webhook.js.html +0 -424
  290. package/coverage/lcov-report/api/routes/backup.js.html +0 -115
  291. package/coverage/lcov-report/api/routes/webhook.js.html +0 -163
  292. package/dist/automations/listeners.js +0 -102
  293. package/src/api/routes/backup.js +0 -10
  294. package/src/automations/listeners.ts +0 -78
  295. package/src/migrations/functions/pluginCount.ts +0 -12
@@ -1,10 +1,6 @@
1
1
  const { BUILTIN_ROLE_IDS } = require("@budibase/backend-core/roles")
2
2
  const { UserStatus } = require("@budibase/backend-core/constants")
3
- const { ObjectStoreBuckets } = require("@budibase/backend-core/objectStore")
4
-
5
- exports.JobQueues = {
6
- AUTOMATIONS: "automationQueue",
7
- }
3
+ const { objectStore } = require("@budibase/backend-core")
8
4
 
9
5
  const FilterTypes = {
10
6
  STRING: "string",
@@ -31,6 +27,7 @@ exports.NoEmptyFilterStrings = [
31
27
 
32
28
  exports.FieldTypes = {
33
29
  STRING: "string",
30
+ BARCODEQR: "barcodeqr",
34
31
  LONGFORM: "longform",
35
32
  OPTIONS: "options",
36
33
  NUMBER: "number",
@@ -51,6 +48,7 @@ exports.CanSwitchTypes = [
51
48
  exports.FieldTypes.STRING,
52
49
  exports.FieldTypes.OPTIONS,
53
50
  exports.FieldTypes.LONGFORM,
51
+ exports.FieldTypes.BARCODEQR,
54
52
  ],
55
53
  [exports.FieldTypes.BOOLEAN, exports.FieldTypes.NUMBER],
56
54
  ]
@@ -198,10 +196,6 @@ exports.BuildSchemaErrors = {
198
196
  INVALID_COLUMN: "invalid_column",
199
197
  }
200
198
 
201
- exports.WebhookType = {
202
- AUTOMATION: "automation",
203
- }
204
-
205
199
  exports.AutomationErrors = {
206
200
  INCORRECT_TYPE: "INCORRECT_TYPE",
207
201
  MAX_ITERATIONS: "MAX_ITERATIONS_REACHED",
@@ -209,6 +203,6 @@ exports.AutomationErrors = {
209
203
  }
210
204
 
211
205
  // pass through the list from the auth/core lib
212
- exports.ObjectStoreBuckets = ObjectStoreBuckets
206
+ exports.ObjectStoreBuckets = objectStore.ObjectStoreBuckets
213
207
 
214
208
  exports.MAX_AUTOMATION_RECURRING_ERRORS = 5
package/src/db/utils.js CHANGED
@@ -1,6 +1,7 @@
1
1
  const newid = require("./newid")
2
2
  const {
3
- DocumentType: CoreDocTypes,
3
+ DocumentType: CoreDocType,
4
+ InternalTable,
4
5
  getRoleParams,
5
6
  generateRoleID,
6
7
  APP_DEV_PREFIX,
@@ -13,6 +14,12 @@ const {
13
14
  generateAppID,
14
15
  getQueryIndex,
15
16
  ViewName,
17
+ getDocParams,
18
+ getRowParams,
19
+ generateRowID,
20
+ getUserMetadataParams,
21
+ generateUserMetadataID,
22
+ getGlobalIDFromUserMetadataID,
16
23
  } = require("@budibase/backend-core/db")
17
24
 
18
25
  const UNICODE_MAX = "\ufff0"
@@ -23,30 +30,7 @@ const AppStatus = {
23
30
  DEPLOYED: "published",
24
31
  }
25
32
 
26
- const DocumentType = {
27
- ...CoreDocTypes,
28
- TABLE: "ta",
29
- ROW: "ro",
30
- USER: "us",
31
- AUTOMATION: "au",
32
- LINK: "li",
33
- WEBHOOK: "wh",
34
- INSTANCE: "inst",
35
- LAYOUT: "layout",
36
- SCREEN: "screen",
37
- DATASOURCE: "datasource",
38
- DATASOURCE_PLUS: "datasource_plus",
39
- QUERY: "query",
40
- DEPLOYMENTS: "deployments",
41
- METADATA: "metadata",
42
- MEM_VIEW: "view",
43
- USER_FLAG: "flag",
44
- AUTOMATION_METADATA: "meta_au",
45
- }
46
-
47
- const InternalTables = {
48
- USER_METADATA: "ta_users",
49
- }
33
+ const DocumentType = CoreDocType
50
34
 
51
35
  const SearchIndexes = {
52
36
  ROWS: "rows",
@@ -66,11 +50,11 @@ exports.APP_PREFIX = APP_PREFIX
66
50
  exports.APP_DEV_PREFIX = APP_DEV_PREFIX
67
51
  exports.isDevAppID = isDevAppID
68
52
  exports.isProdAppID = isProdAppID
69
- exports.USER_METDATA_PREFIX = `${DocumentType.ROW}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
70
- exports.LINK_USER_METADATA_PREFIX = `${DocumentType.LINK}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
53
+ exports.USER_METDATA_PREFIX = `${DocumentType.ROW}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`
54
+ exports.LINK_USER_METADATA_PREFIX = `${DocumentType.LINK}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`
71
55
  exports.TABLE_ROW_PREFIX = `${DocumentType.ROW}${SEPARATOR}${DocumentType.TABLE}`
72
56
  exports.ViewName = ViewName
73
- exports.InternalTables = InternalTables
57
+ exports.InternalTables = InternalTable
74
58
  exports.DocumentType = DocumentType
75
59
  exports.SEPARATOR = SEPARATOR
76
60
  exports.UNICODE_MAX = UNICODE_MAX
@@ -79,36 +63,15 @@ exports.AppStatus = AppStatus
79
63
  exports.BudibaseInternalDB = BudibaseInternalDB
80
64
  exports.generateAppID = generateAppID
81
65
  exports.generateDevAppID = getDevelopmentAppID
82
-
83
66
  exports.generateRoleID = generateRoleID
84
67
  exports.getRoleParams = getRoleParams
85
-
86
68
  exports.getQueryIndex = getQueryIndex
87
-
88
- /**
89
- * If creating DB allDocs/query params with only a single top level ID this can be used, this
90
- * is usually the case as most of our docs are top level e.g. tables, automations, users and so on.
91
- * More complex cases such as link docs and rows which have multiple levels of IDs that their
92
- * ID consists of need their own functions to build the allDocs parameters.
93
- * @param {string} docType The type of document which input params are being built for, e.g. user,
94
- * link, app, table and so on.
95
- * @param {string|null} docId The ID of the document minus its type - this is only needed if looking
96
- * for a singular document.
97
- * @param {object} otherProps Add any other properties onto the request, e.g. include_docs.
98
- * @returns {object} Parameters which can then be used with an allDocs request.
99
- */
100
- function getDocParams(docType, docId = null, otherProps = {}) {
101
- if (docId == null) {
102
- docId = ""
103
- }
104
- return {
105
- ...otherProps,
106
- startkey: `${docType}${SEPARATOR}${docId}`,
107
- endkey: `${docType}${SEPARATOR}${docId}${UNICODE_MAX}`,
108
- }
109
- }
110
-
111
69
  exports.getDocParams = getDocParams
70
+ exports.getRowParams = getRowParams
71
+ exports.generateRowID = generateRowID
72
+ exports.getUserMetadataParams = getUserMetadataParams
73
+ exports.generateUserMetadataID = generateUserMetadataID
74
+ exports.getGlobalIDFromUserMetadataID = getGlobalIDFromUserMetadataID
112
75
 
113
76
  /**
114
77
  * Gets parameters for retrieving tables, this is a utility function for the getDocParams function.
@@ -125,24 +88,6 @@ exports.generateTableID = () => {
125
88
  return `${DocumentType.TABLE}${SEPARATOR}${newid()}`
126
89
  }
127
90
 
128
- /**
129
- * Gets the DB allDocs/query params for retrieving a row.
130
- * @param {string|null} tableId The table in which the rows have been stored.
131
- * @param {string|null} rowId The ID of the row which is being specifically queried for. This can be
132
- * left null to get all the rows in the table.
133
- * @param {object} otherProps Any other properties to add to the request.
134
- * @returns {object} Parameters which can then be used with an allDocs request.
135
- */
136
- exports.getRowParams = (tableId = null, rowId = null, otherProps = {}) => {
137
- if (tableId == null) {
138
- return getDocParams(DocumentType.ROW, null, otherProps)
139
- }
140
-
141
- const endOfKey = rowId == null ? `${tableId}${SEPARATOR}` : rowId
142
-
143
- return getDocParams(DocumentType.ROW, endOfKey, otherProps)
144
- }
145
-
146
91
  /**
147
92
  * Given a row ID this will find the table ID within it (only works for internal tables).
148
93
  * @param {string} rowId The ID of the row.
@@ -155,44 +100,6 @@ exports.getTableIDFromRowID = rowId => {
155
100
  return `${DocumentType.TABLE}${SEPARATOR}${components[0]}`
156
101
  }
157
102
 
158
- /**
159
- * Gets a new row ID for the specified table.
160
- * @param {string} tableId The table which the row is being created for.
161
- * @param {string|null} id If an ID is to be used then the UUID can be substituted for this.
162
- * @returns {string} The new ID which a row doc can be stored under.
163
- */
164
- exports.generateRowID = (tableId, id = null) => {
165
- id = id || newid()
166
- return `${DocumentType.ROW}${SEPARATOR}${tableId}${SEPARATOR}${id}`
167
- }
168
-
169
- /**
170
- * Gets parameters for retrieving users, this is a utility function for the getDocParams function.
171
- */
172
- exports.getUserMetadataParams = (userId = null, otherProps = {}) => {
173
- return exports.getRowParams(InternalTables.USER_METADATA, userId, otherProps)
174
- }
175
-
176
- /**
177
- * Generates a new user ID based on the passed in global ID.
178
- * @param {string} globalId The ID of the global user.
179
- * @returns {string} The new user ID which the user doc can be stored under.
180
- */
181
- exports.generateUserMetadataID = globalId => {
182
- return exports.generateRowID(InternalTables.USER_METADATA, globalId)
183
- }
184
-
185
- /**
186
- * Breaks up the ID to get the global ID.
187
- */
188
- exports.getGlobalIDFromUserMetadataID = id => {
189
- const prefix = `${DocumentType.ROW}${SEPARATOR}${InternalTables.USER_METADATA}${SEPARATOR}`
190
- if (!id || !id.includes(prefix)) {
191
- return id
192
- }
193
- return id.split(prefix)[1]
194
- }
195
-
196
103
  /**
197
104
  * Gets parameters for retrieving automations, this is a utility function for the getDocParams function.
198
105
  */
@@ -1,9 +1,4 @@
1
- import {
2
- Automation,
3
- AutomationResults,
4
- AutomationStep,
5
- Document,
6
- } from "@budibase/types"
1
+ import { AutomationResults, AutomationStep, Document } from "@budibase/types"
7
2
 
8
3
  export enum LoopStepType {
9
4
  ARRAY = "Array",
@@ -27,18 +22,6 @@ export interface TriggerOutput {
27
22
  timestamp?: number
28
23
  }
29
24
 
30
- export interface AutomationEvent {
31
- data: {
32
- automation: Automation
33
- event: any
34
- }
35
- opts?: {
36
- repeat?: {
37
- jobId: string
38
- }
39
- }
40
- }
41
-
42
25
  export interface AutomationContext extends AutomationResults {
43
26
  steps: any[]
44
27
  trigger: any
@@ -31,6 +31,7 @@ export interface BearerAuthConfig {
31
31
 
32
32
  export interface RestConfig {
33
33
  url: string
34
+ rejectUnauthorized: boolean
34
35
  defaultHeaders: {
35
36
  [key: string]: any
36
37
  }
package/src/index.ts CHANGED
@@ -8,6 +8,7 @@ function runServer() {
8
8
  checkDevelopmentEnvironment()
9
9
  fixPath()
10
10
  // this will setup http and https proxies form env variables
11
+ process.env.GLOBAL_AGENT_FORCE_GLOBAL_AGENT = "false"
11
12
  bootstrap()
12
13
  require("./app")
13
14
  }
@@ -62,6 +62,8 @@ class ArangoDBIntegration implements IntegrationBase {
62
62
 
63
63
  constructor(config: ArangodbConfig) {
64
64
  const newConfig = {
65
+ url: config.url,
66
+ databaseName: config.databaseName,
65
67
  auth: {
66
68
  username: config.username,
67
69
  password: config.password,
@@ -40,6 +40,7 @@ function generateSchema(
40
40
  case FieldTypes.STRING:
41
41
  case FieldTypes.OPTIONS:
42
42
  case FieldTypes.LONGFORM:
43
+ case FieldTypes.BARCODEQR:
43
44
  schema.text(key)
44
45
  break
45
46
  case FieldTypes.NUMBER: