@budibase/server 2.0.14 → 2.0.16

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 (157) hide show
  1. package/builder/assets/{index.6851c223.js → index.1c0fb39e.js} +1 -1
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +101 -98
  4. package/coverage/coverage-final.json +1 -1
  5. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/datasource.js.html +57 -36
  10. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/index.html +19 -19
  12. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  18. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  23. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  40. package/coverage/lcov-report/api/index.html +1 -1
  41. package/coverage/lcov-report/api/index.js.html +1 -1
  42. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  43. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  44. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  45. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/index.html +1 -1
  52. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  66. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  69. package/coverage/lcov-report/automations/actions.js.html +1 -1
  70. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  71. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  72. package/coverage/lcov-report/automations/index.html +1 -1
  73. package/coverage/lcov-report/automations/index.js.html +1 -1
  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 +1 -1
  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 +1 -1
  89. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  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 +1 -1
  100. package/coverage/lcov-report/constants/index.html +1 -1
  101. package/coverage/lcov-report/constants/index.js.html +1 -1
  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 +1 -1
  106. package/coverage/lcov-report/db/index.js.html +1 -1
  107. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  108. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  109. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  110. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  111. package/coverage/lcov-report/db/newid.js.html +1 -1
  112. package/coverage/lcov-report/db/utils.js.html +1 -1
  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 +1 -1
  116. package/coverage/lcov-report/events/utils.js.html +1 -1
  117. package/coverage/lcov-report/index.html +18 -18
  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 +1 -1
  121. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  122. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  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 +1 -1
  126. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  127. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  128. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  129. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  130. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  131. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  132. package/coverage/lcov-report/utilities/global.js.html +1 -1
  133. package/coverage/lcov-report/utilities/index.html +1 -1
  134. package/coverage/lcov-report/utilities/index.js.html +1 -1
  135. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  136. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  137. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  138. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  139. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  140. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  141. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  142. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  143. package/coverage/lcov-report/utilities/security.js.html +1 -1
  144. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  145. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  146. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  147. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  148. package/coverage/lcov-report/utilities/users.js.html +1 -1
  149. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  150. package/coverage/lcov.info +170 -167
  151. package/dist/api/controllers/datasource.js +17 -11
  152. package/dist/api/controllers/public/rows.js +4 -2
  153. package/dist/package.json +6 -6
  154. package/dist/tsconfig.build.tsbuildinfo +1 -1
  155. package/package.json +7 -7
  156. package/src/api/controllers/datasource.js +20 -13
  157. package/src/api/controllers/public/rows.ts +7 -2
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "2.0.14",
4
+ "version": "2.0.16",
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": "^2.0.14",
81
- "@budibase/client": "^2.0.14",
82
- "@budibase/pro": "2.0.13",
83
- "@budibase/string-templates": "^2.0.14",
84
- "@budibase/types": "^2.0.14",
80
+ "@budibase/backend-core": "^2.0.16",
81
+ "@budibase/client": "^2.0.16",
82
+ "@budibase/pro": "2.0.15",
83
+ "@budibase/string-templates": "^2.0.16",
84
+ "@budibase/types": "^2.0.16",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",
@@ -199,5 +199,5 @@
199
199
  "optionalDependencies": {
200
200
  "oracledb": "5.3.0"
201
201
  },
202
- "gitHead": "3ae3d653b3484e431ee248dfc38582004dc2472a"
202
+ "gitHead": "4a652e173ae6861d7a8193ab69a54dc5b6fa41e5"
203
203
  }
@@ -68,6 +68,7 @@ exports.buildSchemaFromDb = async function (ctx) {
68
68
  datasource.entities = tables
69
69
  }
70
70
 
71
+ setDefaultDisplayColumns(datasource)
71
72
  const dbResp = await db.put(datasource)
72
73
  datasource._rev = dbResp.rev
73
74
 
@@ -78,6 +79,24 @@ exports.buildSchemaFromDb = async function (ctx) {
78
79
  ctx.body = response
79
80
  }
80
81
 
82
+ /**
83
+ * Make sure all datasource entities have a display name selected
84
+ */
85
+ const setDefaultDisplayColumns = datasource => {
86
+ //
87
+ for (let entity of Object.values(datasource.entities)) {
88
+ if (entity.primaryDisplay) {
89
+ continue
90
+ }
91
+ const notAutoColumn = Object.values(entity.schema).find(
92
+ schema => !schema.autocolumn
93
+ )
94
+ if (notAutoColumn) {
95
+ entity.primaryDisplay = notAutoColumn.name
96
+ }
97
+ }
98
+ }
99
+
81
100
  /**
82
101
  * Check for variables that have been updated or removed and invalidate them.
83
102
  */
@@ -155,6 +174,7 @@ exports.save = async function (ctx) {
155
174
  const { tables, error } = await buildSchemaHelper(datasource)
156
175
  schemaError = error
157
176
  datasource.entities = tables
177
+ setDefaultDisplayColumns(datasource)
158
178
  }
159
179
 
160
180
  const dbResp = await db.put(datasource)
@@ -238,19 +258,6 @@ const buildSchemaHelper = async datasource => {
238
258
  const connector = new Connector(datasource.config)
239
259
  await connector.buildSchema(datasource._id, datasource.entities)
240
260
 
241
- // make sure they all have a display name selected
242
- for (let entity of Object.values(datasource.entities ?? {})) {
243
- if (entity.primaryDisplay) {
244
- continue
245
- }
246
- const notAutoColumn = Object.values(entity.schema).find(
247
- schema => !schema.autocolumn
248
- )
249
- if (notAutoColumn) {
250
- entity.primaryDisplay = notAutoColumn.name
251
- }
252
- }
253
-
254
261
  const errors = connector.schemaErrors
255
262
  let error = null
256
263
  if (errors && Object.keys(errors).length > 0) {
@@ -52,14 +52,19 @@ export async function read(ctx: any, next: any) {
52
52
  }
53
53
 
54
54
  export async function update(ctx: any, next: any) {
55
- ctx.request.body = await addRev(fixRow(ctx.request.body, ctx.params))
55
+ const { tableId } = ctx.params
56
+ ctx.request.body = await addRev(fixRow(ctx.request.body, ctx.params), tableId)
56
57
  await rowController.save(ctx)
57
58
  await next()
58
59
  }
59
60
 
60
61
  export async function destroy(ctx: any, next: any) {
62
+ const { tableId } = ctx.params
61
63
  // set the body as expected, with the _id and _rev fields
62
- ctx.request.body = await addRev(fixRow({ _id: ctx.params.rowId }, ctx.params))
64
+ ctx.request.body = await addRev(
65
+ fixRow({ _id: ctx.params.rowId }, ctx.params),
66
+ tableId
67
+ )
63
68
  await rowController.destroy(ctx)
64
69
  // destroy controller doesn't currently return the row as the body, need to adjust this
65
70
  // in the public API to be correct