@budibase/server 1.0.45 → 1.0.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 (174) hide show
  1. package/builder/assets/{index.04ee727d.js → index.e9bff1c6.js} +127 -127
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +55 -46
  4. package/coverage/coverage-final.json +2 -2
  5. package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
  6. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  7. package/coverage/lcov-report/api/controllers/application.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/component.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/index.html +1 -1
  17. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +15 -15
  22. package/coverage/lcov-report/api/controllers/query/index.js.html +44 -11
  23. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/index.html +15 -15
  28. package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/row/utils.js.html +44 -20
  32. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  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 +1 -1
  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/application.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/index.html +1 -1
  62. package/coverage/lcov-report/api/routes/index.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/row.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/static.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  75. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  77. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  79. package/coverage/lcov-report/automations/actions.js.html +1 -1
  80. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  81. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  82. package/coverage/lcov-report/automations/index.html +1 -1
  83. package/coverage/lcov-report/automations/index.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/index.html +1 -1
  93. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  99. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  100. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  101. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  108. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  109. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  110. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  111. package/coverage/lcov-report/automations/utils.js.html +1 -1
  112. package/coverage/lcov-report/constants/index.html +1 -1
  113. package/coverage/lcov-report/constants/index.js.html +1 -1
  114. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  115. package/coverage/lcov-report/constants/screens.js.html +1 -1
  116. package/coverage/lcov-report/db/client.js.html +1 -1
  117. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  118. package/coverage/lcov-report/db/index.html +1 -1
  119. package/coverage/lcov-report/db/index.js.html +1 -1
  120. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  121. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  122. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  123. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  124. package/coverage/lcov-report/db/newid.js.html +1 -1
  125. package/coverage/lcov-report/db/utils.js.html +1 -1
  126. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  127. package/coverage/lcov-report/events/index.html +1 -1
  128. package/coverage/lcov-report/events/index.js.html +1 -1
  129. package/coverage/lcov-report/events/utils.js.html +1 -1
  130. package/coverage/lcov-report/index.html +22 -22
  131. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  132. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  133. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  134. package/coverage/lcov-report/middleware/authorized.js.html +1 -1
  135. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  136. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  137. package/coverage/lcov-report/middleware/index.html +1 -1
  138. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  139. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  140. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  141. package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
  142. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  143. package/coverage/lcov-report/threads/automation.js.html +1 -1
  144. package/coverage/lcov-report/threads/index.html +1 -1
  145. package/coverage/lcov-report/threads/index.js.html +1 -1
  146. package/coverage/lcov-report/threads/query.js.html +1 -1
  147. package/coverage/lcov-report/threads/utils.js.html +1 -1
  148. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  149. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  150. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  151. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  152. package/coverage/lcov-report/utilities/global.js.html +1 -1
  153. package/coverage/lcov-report/utilities/index.html +1 -1
  154. package/coverage/lcov-report/utilities/index.js.html +1 -1
  155. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  156. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  157. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  158. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  159. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  160. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  161. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  162. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  163. package/coverage/lcov-report/utilities/security.js.html +1 -1
  164. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  165. package/coverage/lcov-report/utilities/users.js.html +1 -1
  166. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  167. package/coverage/lcov.info +92 -71
  168. package/dist/api/controllers/query/index.js +11 -3
  169. package/dist/api/controllers/row/utils.js +15 -8
  170. package/dist/package.json +4 -4
  171. package/dist/tsconfig.tsbuildinfo +1 -1
  172. package/package.json +5 -5
  173. package/src/api/controllers/query/index.js +14 -3
  174. package/src/api/controllers/row/utils.js +18 -10
@@ -1994,12 +1994,12 @@ FN:81,(anonymous_4)
1994
1994
  FN:96,(anonymous_5)
1995
1995
  FN:107,(anonymous_6)
1996
1996
  FN:138,execute
1997
- FN:166,(anonymous_8)
1998
- FN:170,(anonymous_9)
1999
- FN:174,(anonymous_10)
2000
- FN:181,(anonymous_11)
2001
- FN:187,(anonymous_12)
2002
- FN:193,(anonymous_13)
1997
+ FN:176,(anonymous_8)
1998
+ FN:180,(anonymous_9)
1999
+ FN:184,(anonymous_10)
2000
+ FN:192,(anonymous_11)
2001
+ FN:198,(anonymous_12)
2002
+ FN:204,(anonymous_13)
2003
2003
  FNF:14
2004
2004
  FNH:12
2005
2005
  FNDA:5,enrichQueries
@@ -2078,35 +2078,40 @@ DA:134,1
2078
2078
  DA:139,2
2079
2079
  DA:141,2
2080
2080
  DA:142,2
2081
- DA:145,2
2081
+ DA:144,2
2082
2082
  DA:146,2
2083
- DA:156,1
2084
- DA:157,1
2085
- DA:159,0
2086
- DA:162,1
2087
- DA:166,34
2088
- DA:167,2
2089
- DA:170,34
2090
- DA:171,0
2091
- DA:174,34
2092
- DA:175,2
2093
- DA:176,2
2083
+ DA:147,2
2084
+ DA:148,0
2085
+ DA:149,0
2086
+ DA:155,2
2087
+ DA:156,2
2088
+ DA:166,1
2089
+ DA:167,1
2090
+ DA:169,0
2091
+ DA:172,1
2092
+ DA:176,34
2094
2093
  DA:177,2
2095
- DA:179,2
2096
- DA:181,1
2097
- DA:182,1
2098
- DA:183,1
2099
- DA:186,1
2100
- DA:187,1
2101
- DA:189,1
2102
- DA:193,34
2103
- DA:194,2
2104
- DA:195,2
2105
- DA:196,2
2106
- DA:197,2
2107
- DA:198,2
2108
- LF:89
2109
- LH:72
2094
+ DA:180,34
2095
+ DA:181,0
2096
+ DA:184,34
2097
+ DA:185,2
2098
+ DA:186,2
2099
+ DA:187,2
2100
+ DA:189,2
2101
+ DA:191,1
2102
+ DA:192,1
2103
+ DA:194,1
2104
+ DA:197,1
2105
+ DA:198,1
2106
+ DA:200,1
2107
+ DA:204,34
2108
+ DA:205,2
2109
+ DA:206,2
2110
+ DA:207,2
2111
+ DA:208,2
2112
+ DA:209,2
2113
+ LF:94
2114
+ LH:75
2110
2115
  BRDA:15,0,0,34
2111
2116
  BRDA:15,0,1,34
2112
2117
  BRDA:21,1,0,2
@@ -2122,14 +2127,22 @@ BRDA:85,5,1,0
2122
2127
  BRDA:100,6,0,1
2123
2128
  BRDA:100,6,1,2
2124
2129
  BRDA:138,7,0,0
2125
- BRDA:156,8,0,1
2126
- BRDA:156,8,1,0
2127
- BRDA:156,9,0,1
2128
- BRDA:156,9,1,1
2129
- BRDA:179,10,0,1
2130
- BRDA:179,10,1,1
2131
- BRF:21
2132
- BRH:15
2130
+ BRDA:144,8,0,2
2131
+ BRDA:144,8,1,0
2132
+ BRDA:146,9,0,2
2133
+ BRDA:146,9,1,0
2134
+ BRDA:146,10,0,2
2135
+ BRDA:146,10,1,2
2136
+ BRDA:148,11,0,0
2137
+ BRDA:148,11,1,0
2138
+ BRDA:166,12,0,1
2139
+ BRDA:166,12,1,0
2140
+ BRDA:166,13,0,1
2141
+ BRDA:166,13,1,1
2142
+ BRDA:189,14,0,1
2143
+ BRDA:189,14,1,1
2144
+ BRF:29
2145
+ BRH:19
2133
2146
  end_of_record
2134
2147
  TN:
2135
2148
  SF:src/api/controllers/query/validation.js
@@ -3133,7 +3146,7 @@ FN:15,(anonymous_1)
3133
3146
  FN:20,(anonymous_2)
3134
3147
  FN:27,(anonymous_3)
3135
3148
  FN:45,(anonymous_4)
3136
- FN:65,(anonymous_5)
3149
+ FN:67,(anonymous_5)
3137
3150
  FNF:6
3138
3151
  FNH:4
3139
3152
  FNDA:2,(anonymous_0)
@@ -3176,21 +3189,25 @@ DA:51,74
3176
3189
  DA:52,206
3177
3190
  DA:53,206
3178
3191
  DA:55,206
3179
- DA:59,0
3180
- DA:64,206
3181
- DA:65,0
3192
+ DA:56,0
3193
+ DA:61,206
3194
+ DA:63,0
3182
3195
  DA:66,0
3183
3196
  DA:67,0
3184
- DA:70,206
3185
- DA:72,0
3186
- DA:73,0
3197
+ DA:68,0
3198
+ DA:69,0
3187
3199
  DA:75,0
3188
- DA:77,206
3189
- DA:78,0
3190
- DA:83,206
3200
+ DA:76,0
3201
+ DA:78,206
3202
+ DA:80,0
3203
+ DA:81,0
3204
+ DA:83,0
3191
3205
  DA:85,206
3192
- DA:87,74
3193
- LF:48
3206
+ DA:86,0
3207
+ DA:91,206
3208
+ DA:93,206
3209
+ DA:95,74
3210
+ LF:52
3194
3211
  LH:35
3195
3212
  BRDA:30,0,0,0
3196
3213
  BRDA:30,0,1,19
@@ -3200,26 +3217,30 @@ BRDA:46,2,0,2
3200
3217
  BRDA:46,2,1,72
3201
3218
  BRDA:55,3,0,0
3202
3219
  BRDA:55,3,1,206
3203
- BRDA:56,4,0,206
3204
- BRDA:56,4,1,206
3205
- BRDA:56,4,2,0
3206
- BRDA:64,5,0,0
3207
- BRDA:64,5,1,206
3208
- BRDA:64,6,0,206
3209
- BRDA:64,6,1,0
3210
- BRDA:64,6,2,0
3220
+ BRDA:55,4,0,206
3221
+ BRDA:55,4,1,0
3222
+ BRDA:61,5,0,0
3223
+ BRDA:61,5,1,206
3224
+ BRDA:63,6,0,0
3225
+ BRDA:63,6,1,0
3211
3226
  BRDA:66,7,0,0
3212
3227
  BRDA:66,7,1,0
3213
- BRDA:70,8,0,0
3214
- BRDA:70,8,1,206
3215
- BRDA:70,9,0,206
3216
- BRDA:70,9,1,0
3217
- BRDA:77,10,0,0
3218
- BRDA:77,10,1,206
3219
- BRDA:85,11,0,2
3220
- BRDA:85,11,1,204
3221
- BRF:26
3222
- BRH:14
3228
+ BRDA:68,8,0,0
3229
+ BRDA:68,8,1,0
3230
+ BRDA:75,9,0,0
3231
+ BRDA:75,9,1,0
3232
+ BRDA:75,10,0,0
3233
+ BRDA:75,10,1,0
3234
+ BRDA:78,11,0,0
3235
+ BRDA:78,11,1,206
3236
+ BRDA:78,12,0,206
3237
+ BRDA:78,12,1,0
3238
+ BRDA:85,13,0,0
3239
+ BRDA:85,13,1,206
3240
+ BRDA:93,14,0,2
3241
+ BRDA:93,14,1,204
3242
+ BRF:30
3243
+ BRH:12
3223
3244
  end_of_record
3224
3245
  TN:
3225
3246
  SF:src/api/controllers/table/external.js
@@ -130,6 +130,15 @@ function execute(ctx, opts = { rowsOnly: false }) {
130
130
  const db = new CouchDB(ctx.appId);
131
131
  const query = yield db.get(ctx.params.queryId);
132
132
  const datasource = yield db.get(query.datasourceId);
133
+ const enrichedParameters = ctx.request.body.parameters || {};
134
+ // make sure parameters are fully enriched with defaults
135
+ if (query && query.parameters) {
136
+ for (let parameter of query.parameters) {
137
+ if (!enrichedParameters[parameter.name]) {
138
+ enrichedParameters[parameter.name] = parameter.default;
139
+ }
140
+ }
141
+ }
133
142
  // call the relevant CRUD method on the integration class
134
143
  try {
135
144
  const { rows, pagination, extra } = yield Runner.run({
@@ -138,7 +147,7 @@ function execute(ctx, opts = { rowsOnly: false }) {
138
147
  queryVerb: query.queryVerb,
139
148
  fields: query.fields,
140
149
  pagination: ctx.request.body.pagination,
141
- parameters: ctx.request.body.parameters,
150
+ parameters: enrichedParameters,
142
151
  transformer: query.transformer,
143
152
  queryId: ctx.params.queryId,
144
153
  });
@@ -170,8 +179,7 @@ const removeDynamicVariables = (db, queryId) => __awaiter(void 0, void 0, void 0
170
179
  const dynamicVariables = datasource.config.dynamicVariables;
171
180
  if (dynamicVariables) {
172
181
  // delete dynamic variables from the datasource
173
- const newVariables = dynamicVariables.filter(dv => dv.queryId !== queryId);
174
- datasource.config.dynamicVariables = newVariables;
182
+ datasource.config.dynamicVariables = dynamicVariables.filter(dv => dv.queryId !== queryId);
175
183
  yield db.put(datasource);
176
184
  // invalidate the deleted variables
177
185
  const variablesToDelete = dynamicVariables.filter(dv => dv.queryId === queryId);
@@ -59,18 +59,25 @@ exports.validate = ({ appId, tableId, row, table }) => __awaiter(void 0, void 0,
59
59
  const constraints = cloneDeep(table.schema[fieldName].constraints);
60
60
  const type = table.schema[fieldName].type;
61
61
  // special case for options, need to always allow unselected (null)
62
- if ((type === FieldTypes.OPTIONS || type === FieldTypes.ARRAY) &&
63
- constraints.inclusion) {
62
+ if (type === FieldTypes.OPTIONS && constraints.inclusion) {
64
63
  constraints.inclusion.push(null);
65
64
  }
66
65
  let res;
67
66
  // Validate.js doesn't seem to handle array
68
- if (type === FieldTypes.ARRAY && row[fieldName] && row[fieldName].length) {
69
- row[fieldName].map(val => {
70
- if (!constraints.inclusion.includes(val)) {
71
- errors[fieldName] = "Field not in list";
72
- }
73
- });
67
+ if (type === FieldTypes.ARRAY) {
68
+ const hasValues = Array.isArray(row[fieldName]) && row[fieldName].length > 0;
69
+ // Check values are valid if values are specified
70
+ if (hasValues) {
71
+ row[fieldName].map(val => {
72
+ if (!constraints.inclusion.includes(val)) {
73
+ errors[fieldName] = "Value not in list";
74
+ }
75
+ });
76
+ }
77
+ // Check for required constraint
78
+ if (constraints.presence === true && !hasValues) {
79
+ errors[fieldName] = "Required field";
80
+ }
74
81
  }
75
82
  else if (type === FieldTypes.JSON && typeof row[fieldName] === "string") {
76
83
  // this should only happen if there is an error
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",
4
+ "version": "1.0.45",
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",
74
- "@budibase/client": "^1.0.44",
75
- "@budibase/string-templates": "^1.0.44",
73
+ "@budibase/backend-core": "^1.0.45",
74
+ "@budibase/client": "^1.0.45",
75
+ "@budibase/string-templates": "^1.0.45",
76
76
  "@bull-board/api": "^3.7.0",
77
77
  "@bull-board/koa": "^3.7.0",
78
78
  "@elastic/elasticsearch": "7.10.0",