@budibase/server 1.0.44-alpha.4 → 1.0.44-alpha.5

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 (170) hide show
  1. package/builder/assets/{index.41335567.js → index.1eb742eb.js} +2 -2
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +2 -2
  4. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  5. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/hosting.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/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/index.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  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 +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internalSearch.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/external.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  45. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  46. package/coverage/lcov-report/api/index.html +1 -1
  47. package/coverage/lcov-report/api/index.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/application.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/hosting.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/index.html +1 -1
  61. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  78. package/coverage/lcov-report/automations/actions.js.html +1 -1
  79. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  80. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  81. package/coverage/lcov-report/automations/index.html +1 -1
  82. package/coverage/lcov-report/automations/index.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/index.html +1 -1
  92. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  110. package/coverage/lcov-report/automations/utils.js.html +1 -1
  111. package/coverage/lcov-report/constants/index.html +1 -1
  112. package/coverage/lcov-report/constants/index.js.html +1 -1
  113. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  114. package/coverage/lcov-report/constants/screens.js.html +1 -1
  115. package/coverage/lcov-report/db/client.js.html +1 -1
  116. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  117. package/coverage/lcov-report/db/index.html +1 -1
  118. package/coverage/lcov-report/db/index.js.html +1 -1
  119. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  123. package/coverage/lcov-report/db/newid.js.html +1 -1
  124. package/coverage/lcov-report/db/utils.js.html +1 -1
  125. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  126. package/coverage/lcov-report/events/index.html +1 -1
  127. package/coverage/lcov-report/events/index.js.html +1 -1
  128. package/coverage/lcov-report/events/utils.js.html +1 -1
  129. package/coverage/lcov-report/index.html +1 -1
  130. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  131. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  132. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  133. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  134. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  135. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  136. package/coverage/lcov-report/middleware/index.html +1 -1
  137. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  138. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  139. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  140. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  141. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  142. package/coverage/lcov-report/threads/automation.js.html +1 -1
  143. package/coverage/lcov-report/threads/index.html +1 -1
  144. package/coverage/lcov-report/threads/index.js.html +1 -1
  145. package/coverage/lcov-report/threads/query.js.html +1 -1
  146. package/coverage/lcov-report/threads/utils.js.html +1 -1
  147. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  148. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  149. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  150. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  151. package/coverage/lcov-report/utilities/global.js.html +1 -1
  152. package/coverage/lcov-report/utilities/index.html +1 -1
  153. package/coverage/lcov-report/utilities/index.js.html +1 -1
  154. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  155. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  156. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  157. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  158. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  159. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  160. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  161. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  162. package/coverage/lcov-report/utilities/security.js.html +1 -1
  163. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  164. package/coverage/lcov-report/utilities/users.js.html +1 -1
  165. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  166. package/dist/integrations/utils.js +47 -7
  167. package/dist/package.json +4 -4
  168. package/dist/tsconfig.tsbuildinfo +1 -1
  169. package/package.json +5 -5
  170. package/src/integrations/utils.ts +50 -7
@@ -245,7 +245,7 @@
245
245
  <div class='footer quiet pad2 space-top1 center small'>
246
246
  Code coverage generated by
247
247
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
248
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
248
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
249
249
  </div>
250
250
  </div>
251
251
  <script src="../prettify.js"></script>
@@ -553,7 +553,7 @@ exports.formatBytes = bytes =&gt; {
553
553
  <div class='footer quiet pad2 space-top1 center small'>
554
554
  Code coverage generated by
555
555
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
556
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
556
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
557
557
  </div>
558
558
  </div>
559
559
  <script src="../prettify.js"></script>
@@ -367,7 +367,7 @@ module.exports = InMemoryQueue
367
367
  <div class='footer quiet pad2 space-top1 center small'>
368
368
  Code coverage generated by
369
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
370
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
370
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
371
371
  </div>
372
372
  </div>
373
373
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
98
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -95,7 +95,7 @@
95
95
  <div class='footer quiet pad2 space-top1 center small'>
96
96
  Code coverage generated by
97
97
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
98
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
99
99
  </div>
100
100
  </div>
101
101
  <script src="../../prettify.js"></script>
@@ -139,7 +139,7 @@ exports.createRoutingView = createRoutingView
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
142
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
142
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
143
143
  </div>
144
144
  </div>
145
145
  <script src="../../prettify.js"></script>
@@ -110,7 +110,7 @@
110
110
  <div class='footer quiet pad2 space-top1 center small'>
111
111
  Code coverage generated by
112
112
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
113
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
113
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
114
114
  </div>
115
115
  </div>
116
116
  <script src="../../prettify.js"></script>
@@ -1087,7 +1087,7 @@ exports.cleanupAttachments = async (appId, table, { row, rows, oldRow }) =&gt; {
1087
1087
  <div class='footer quiet pad2 space-top1 center small'>
1088
1088
  Code coverage generated by
1089
1089
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
1090
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
1090
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
1091
1091
  </div>
1092
1092
  </div>
1093
1093
  <script src="../../prettify.js"></script>
@@ -133,7 +133,7 @@ exports.processFormulas = (table, rows) =&gt; {
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
136
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
136
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
137
137
  </div>
138
138
  </div>
139
139
  <script src="../../prettify.js"></script>
@@ -136,7 +136,7 @@ module.exports = ScriptRunner
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
139
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -274,7 +274,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
274
274
  <div class='footer quiet pad2 space-top1 center small'>
275
275
  Code coverage generated by
276
276
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
277
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
277
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
278
278
  </div>
279
279
  </div>
280
280
  <script src="../prettify.js"></script>
@@ -85,7 +85,7 @@
85
85
  <div class='footer quiet pad2 space-top1 center small'>
86
86
  Code coverage generated by
87
87
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
88
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
88
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
89
89
  </div>
90
90
  </div>
91
91
  <script src="../prettify.js"></script>
@@ -136,7 +136,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
136
136
  <div class='footer quiet pad2 space-top1 center small'>
137
137
  Code coverage generated by
138
138
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
139
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
139
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
140
140
  </div>
141
141
  </div>
142
142
  <script src="../prettify.js"></script>
@@ -403,7 +403,7 @@ exports.removeAppFromUserRoles = async (ctx, appId) =&gt; {
403
403
  <div class='footer quiet pad2 space-top1 center small'>
404
404
  Code coverage generated by
405
405
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
406
- at Wed Jan 19 2022 14:59:29 GMT+0000 (Coordinated Universal Time)
406
+ at Wed Jan 19 2022 15:08:34 GMT+0000 (Coordinated Universal Time)
407
407
  </div>
408
408
  </div>
409
409
  <script src="../prettify.js"></script>
@@ -142,8 +142,40 @@ function isIsoDateString(str) {
142
142
  return d.toISOString() === str;
143
143
  }
144
144
  exports.isIsoDateString = isIsoDateString;
145
- // add the existing relationships from the entities if they exist, to prevent them from being overridden
146
- function copyExistingPropsOver(tableName, table, entities) {
145
+ /**
146
+ * This function will determine whether a column is a relationship and whether it
147
+ * is currently valid. The reason for the validity check is that tables can be deleted
148
+ * outside of Budibase control and if this is the case it will break Budibase relationships.
149
+ * The tableIds is a list passed down from the main finalise tables function, which is
150
+ * based on the tables that have just been fetched. This will only really be used on subsequent
151
+ * fetches to the first one - if the user is periodically refreshing Budibase knowledge of tables.
152
+ * @param column The column to check, to see if it is a valid relationship.
153
+ * @param tableIds The IDs of the tables which currently exist.
154
+ */
155
+ function shouldCopyRelationship(column, tableIds) {
156
+ return column.type === constants_1.FieldTypes.LINK && column.tableId && tableIds.includes(column.tableId);
157
+ }
158
+ /**
159
+ * Similar function to the shouldCopyRelationship function, but instead this looks for options and boolean
160
+ * types. It is possible to switch a string -> options and a number -> boolean (and vice versus) need to make
161
+ * sure that these get copied over when tables are fetched. Also checks whether they are still valid, if a
162
+ * column has changed type in the external database then copying it over may not be possible.
163
+ * @param column The column to check for options or boolean type.
164
+ * @param fetchedColumn The fetched column to check for the type in the external database.
165
+ */
166
+ function shouldCopySpecialColumn(column, fetchedColumn) {
167
+ return column.type === constants_1.FieldTypes.OPTIONS ||
168
+ ((!fetchedColumn || fetchedColumn.type === constants_1.FieldTypes.NUMBER) && column.type === constants_1.FieldTypes.BOOLEAN);
169
+ }
170
+ /**
171
+ * Looks for columns which need to be copied over into the new table definitions, like relationships
172
+ * and options types.
173
+ * @param tableName The name of the table which is being checked.
174
+ * @param table The specific table which is being checked.
175
+ * @param entities All the tables that existed before - the old table definitions.
176
+ * @param tableIds The IDs of the tables which exist now, to check if anything has been removed.
177
+ */
178
+ function copyExistingPropsOver(tableName, table, entities, tableIds) {
147
179
  if (entities && entities[tableName]) {
148
180
  if (entities[tableName].primaryDisplay) {
149
181
  table.primaryDisplay = entities[tableName].primaryDisplay;
@@ -153,20 +185,28 @@ function copyExistingPropsOver(tableName, table, entities) {
153
185
  if (!existingTableSchema.hasOwnProperty(key)) {
154
186
  continue;
155
187
  }
156
- if (existingTableSchema[key].type === constants_1.FieldTypes.LINK ||
157
- existingTableSchema[key].type === constants_1.FieldTypes.OPTIONS ||
158
- ((!table.schema[key] || table.schema[key].type === constants_1.FieldTypes.NUMBER) &&
159
- existingTableSchema[key].type === constants_1.FieldTypes.BOOLEAN)) {
188
+ const column = existingTableSchema[key];
189
+ if (shouldCopyRelationship(column, tableIds) ||
190
+ shouldCopySpecialColumn(column, table.schema[key])) {
160
191
  table.schema[key] = existingTableSchema[key];
161
192
  }
162
193
  }
163
194
  }
164
195
  return table;
165
196
  }
197
+ /**
198
+ * Look through the final table definitions to see if anything needs to be
199
+ * copied over from the old and if any errors have occurred mark them so
200
+ * that the user can be made aware.
201
+ * @param tables The list of tables that have been retrieved from the external database.
202
+ * @param entities The old list of tables, if there was any to look for definitions in.
203
+ */
166
204
  function finaliseExternalTables(tables, entities) {
167
205
  const invalidColumns = Object.values(constants_1.InvalidColumns);
168
206
  let finalTables = {};
169
207
  const errors = {};
208
+ // @ts-ignore
209
+ const tableIds = Object.values(tables).map(table => table._id);
170
210
  for (let [name, table] of Object.entries(tables)) {
171
211
  const schemaFields = Object.keys(table.schema);
172
212
  // make sure every table has a key
@@ -179,7 +219,7 @@ function finaliseExternalTables(tables, entities) {
179
219
  continue;
180
220
  }
181
221
  // make sure all previous props have been added back
182
- finalTables[name] = copyExistingPropsOver(name, table, entities);
222
+ finalTables[name] = copyExistingPropsOver(name, table, entities, tableIds);
183
223
  }
184
224
  // sort the tables by name
185
225
  finalTables = Object.entries(finalTables)
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.0.44-alpha.3",
4
+ "version": "1.0.44-alpha.4",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -70,9 +70,9 @@
70
70
  "license": "GPL-3.0",
71
71
  "dependencies": {
72
72
  "@apidevtools/swagger-parser": "^10.0.3",
73
- "@budibase/backend-core": "^1.0.44-alpha.3",
74
- "@budibase/client": "^1.0.44-alpha.3",
75
- "@budibase/string-templates": "^1.0.44-alpha.3",
73
+ "@budibase/backend-core": "^1.0.44-alpha.4",
74
+ "@budibase/client": "^1.0.44-alpha.4",
75
+ "@budibase/string-templates": "^1.0.44-alpha.4",
76
76
  "@bull-board/api": "^3.7.0",
77
77
  "@bull-board/koa": "^3.7.0",
78
78
  "@elastic/elasticsearch": "7.10.0",