@budibase/server 1.0.136 → 1.0.139

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 (181) hide show
  1. package/builder/assets/{index.05ef6162.js → index.6db89ad9.js} +121 -121
  2. package/builder/index.html +1 -1
  3. package/coverage/clover.xml +76 -62
  4. package/coverage/coverage-final.json +3 -3
  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/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/index.html +1 -1
  15. package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
  16. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/migrations.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/validation.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  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 +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/bulkFormula.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/templates.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  44. package/coverage/lcov-report/api/index.html +1 -1
  45. package/coverage/lcov-report/api/index.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/index.html +1 -1
  57. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  74. package/coverage/lcov-report/automations/actions.js.html +1 -1
  75. package/coverage/lcov-report/automations/automationUtils.js.html +46 -10
  76. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  77. package/coverage/lcov-report/automations/index.html +19 -19
  78. package/coverage/lcov-report/automations/index.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/index.html +1 -1
  86. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  105. package/coverage/lcov-report/constants/index.html +1 -1
  106. package/coverage/lcov-report/constants/index.js.html +1 -1
  107. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  108. package/coverage/lcov-report/constants/screens.js.html +1 -1
  109. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  110. package/coverage/lcov-report/db/index.html +1 -1
  111. package/coverage/lcov-report/db/index.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  116. package/coverage/lcov-report/db/newid.js.html +1 -1
  117. package/coverage/lcov-report/db/utils.js.html +1 -1
  118. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  119. package/coverage/lcov-report/events/index.html +1 -1
  120. package/coverage/lcov-report/events/index.js.html +1 -1
  121. package/coverage/lcov-report/events/utils.js.html +1 -1
  122. package/coverage/lcov-report/index.html +28 -28
  123. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  124. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  125. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  126. package/coverage/lcov-report/middleware/builder.js.html +1 -1
  127. package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
  128. package/coverage/lcov-report/middleware/index.html +1 -1
  129. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  130. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  131. package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
  132. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  133. package/coverage/lcov-report/middleware/utils.js.html +1 -1
  134. package/coverage/lcov-report/threads/automation.js.html +67 -34
  135. package/coverage/lcov-report/threads/index.html +26 -26
  136. package/coverage/lcov-report/threads/query.js.html +16 -19
  137. package/coverage/lcov-report/threads/utils.js.html +1 -1
  138. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  139. package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
  140. package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
  141. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  142. package/coverage/lcov-report/utilities/global.js.html +1 -1
  143. package/coverage/lcov-report/utilities/index.html +1 -1
  144. package/coverage/lcov-report/utilities/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
  146. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  147. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  148. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  150. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  151. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  152. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  153. package/coverage/lcov-report/utilities/security.js.html +1 -1
  154. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  156. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  157. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  158. package/coverage/lcov-report/utilities/users.js.html +1 -1
  159. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  160. package/coverage/lcov.info +132 -114
  161. package/dist/automations/automationUtils.js +12 -0
  162. package/dist/integrations/microsoftSqlServer.js +1 -6
  163. package/dist/integrations/mysql.js +16 -14
  164. package/dist/integrations/oracle.js +2 -6
  165. package/dist/integrations/postgres.js +1 -6
  166. package/dist/integrations/utils.js +15 -5
  167. package/dist/package.json +5 -5
  168. package/dist/threads/automation.js +25 -16
  169. package/dist/threads/query.js +7 -7
  170. package/dist/tsconfig.build.tsbuildinfo +1 -1
  171. package/dist/utilities/fileSystem/index.js +11 -7
  172. package/package.json +6 -6
  173. package/src/automations/automationUtils.js +12 -0
  174. package/src/integrations/microsoftSqlServer.ts +1 -3
  175. package/src/integrations/mysql.ts +18 -12
  176. package/src/integrations/oracle.ts +3 -3
  177. package/src/integrations/postgres.ts +1 -2
  178. package/src/integrations/utils.ts +16 -5
  179. package/src/threads/automation.js +28 -17
  180. package/src/threads/query.js +7 -8
  181. package/src/utilities/fileSystem/index.js +16 -8
@@ -116,7 +116,7 @@
116
116
  <div class='footer quiet pad2 space-top1 center small'>
117
117
  Code coverage generated by
118
118
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
119
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
119
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
120
120
  </div>
121
121
  <script src="../../prettify.js"></script>
122
122
  <script>
@@ -307,7 +307,7 @@ exports.getUniqueRows = async appIds =&gt; {
307
307
  <div class='footer quiet pad2 space-top1 center small'>
308
308
  Code coverage generated by
309
309
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
310
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
310
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
311
311
  </div>
312
312
  <script src="../../prettify.js"></script>
313
313
  <script>
@@ -124,7 +124,7 @@ function <span class="fstat-no" title="function not covered" >resetQuotasIfRequi
124
124
  <div class='footer quiet pad2 space-top1 center small'>
125
125
  Code coverage generated by
126
126
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
127
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
128
128
  </div>
129
129
  <script src="../../prettify.js"></script>
130
130
  <script>
@@ -142,7 +142,7 @@ exports.getFullUser = async (ctx, userId) =&gt; {
142
142
  <div class='footer quiet pad2 space-top1 center small'>
143
143
  Code coverage generated by
144
144
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
145
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
145
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
146
146
  </div>
147
147
  <script src="../prettify.js"></script>
148
148
  <script>
@@ -487,7 +487,7 @@ exports.readGlobalUser = <span class="fstat-no" title="function not covered" >as
487
487
  <div class='footer quiet pad2 space-top1 center small'>
488
488
  Code coverage generated by
489
489
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
490
- at Tue May 03 2022 15:08:41 GMT+0000 (Coordinated Universal Time)
490
+ at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
491
491
  </div>
492
492
  <script src="../prettify.js"></script>
493
493
  <script>
@@ -4234,12 +4234,14 @@ FN:20,(anonymous_0)
4234
4234
  FN:61,(anonymous_1)
4235
4235
  FN:66,(anonymous_2)
4236
4236
  FN:79,(anonymous_3)
4237
- FNF:4
4237
+ FN:90,(anonymous_4)
4238
+ FNF:5
4238
4239
  FNH:3
4239
4240
  FNDA:14,(anonymous_0)
4240
4241
  FNDA:8,(anonymous_1)
4241
4242
  FNDA:3,(anonymous_2)
4242
4243
  FNDA:0,(anonymous_3)
4244
+ FNDA:0,(anonymous_4)
4243
4245
  DA:1,41
4244
4246
  DA:2,41
4245
4247
  DA:20,41
@@ -4279,8 +4281,15 @@ DA:82,0
4279
4281
  DA:83,0
4280
4282
  DA:84,0
4281
4283
  DA:87,0
4282
- LF:39
4283
- LH:31
4284
+ DA:90,41
4285
+ DA:91,0
4286
+ DA:92,0
4287
+ DA:94,0
4288
+ DA:95,0
4289
+ DA:97,0
4290
+ DA:99,0
4291
+ LF:46
4292
+ LH:32
4284
4293
  BRDA:21,0,0,1
4285
4294
  BRDA:21,0,1,13
4286
4295
  BRDA:26,1,0,6
@@ -4306,7 +4315,11 @@ BRDA:71,10,1,3
4306
4315
  BRDA:71,10,2,3
4307
4316
  BRDA:76,11,0,3
4308
4317
  BRDA:76,11,1,0
4309
- BRF:25
4318
+ BRDA:91,12,0,0
4319
+ BRDA:91,12,1,0
4320
+ BRDA:94,13,0,0
4321
+ BRDA:94,13,1,0
4322
+ BRF:29
4310
4323
  BRH:21
4311
4324
  end_of_record
4312
4325
  TN:
@@ -6519,13 +6532,11 @@ FN:63,(anonymous_3)
6519
6532
  FN:72,(anonymous_4)
6520
6533
  FN:81,(anonymous_5)
6521
6534
  FN:99,(anonymous_6)
6522
- FN:222,(anonymous_7)
6523
- FN:287,(anonymous_8)
6524
- FN:289,(anonymous_9)
6525
- FN:296,(anonymous_10)
6526
- FN:299,(anonymous_11)
6527
- FNF:12
6528
- FNH:10
6535
+ FN:235,(anonymous_7)
6536
+ FN:300,(anonymous_8)
6537
+ FN:302,(anonymous_9)
6538
+ FNF:10
6539
+ FNH:9
6529
6540
  FNDA:6,(anonymous_0)
6530
6541
  FNDA:6,(anonymous_1)
6531
6542
  FNDA:5,(anonymous_2)
@@ -6536,8 +6547,6 @@ FNDA:6,(anonymous_6)
6536
6547
  FNDA:5,(anonymous_7)
6537
6548
  FNDA:6,(anonymous_8)
6538
6549
  FNDA:6,(anonymous_9)
6539
- FNDA:6,(anonymous_10)
6540
- FNDA:0,(anonymous_11)
6541
6550
  DA:1,3
6542
6551
  DA:2,3
6543
6552
  DA:3,3
@@ -6590,7 +6599,9 @@ DA:92,0
6590
6599
  DA:100,6
6591
6600
  DA:101,6
6592
6601
  DA:102,6
6602
+ DA:103,6
6593
6603
  DA:105,6
6604
+ DA:106,6
6594
6605
  DA:107,6
6595
6606
  DA:108,6
6596
6607
  DA:109,5
@@ -6601,77 +6612,81 @@ DA:114,0
6601
6612
  DA:117,5
6602
6613
  DA:118,0
6603
6614
  DA:120,5
6604
- DA:121,5
6605
- DA:122,5
6606
- DA:123,5
6615
+ DA:125,5
6607
6616
  DA:126,5
6608
- DA:129,0
6609
- DA:133,0
6610
- DA:137,0
6617
+ DA:127,5
6618
+ DA:130,5
6619
+ DA:131,0
6620
+ DA:135,0
6621
+ DA:140,0
6611
6622
  DA:141,0
6612
- DA:142,0
6613
- DA:148,0
6623
+ DA:147,0
6624
+ DA:151,0
6614
6625
  DA:152,0
6615
6626
  DA:153,0
6616
- DA:154,0
6617
- DA:159,0
6618
- DA:160,0
6627
+ DA:157,0
6619
6628
  DA:161,0
6620
- DA:164,0
6621
- DA:165,0
6629
+ DA:163,0
6630
+ DA:166,0
6631
+ DA:172,0
6622
6632
  DA:173,0
6623
6633
  DA:174,0
6624
- DA:182,0
6634
+ DA:177,0
6635
+ DA:178,0
6625
6636
  DA:186,0
6626
- DA:190,0
6627
- DA:191,0
6628
- DA:192,0
6637
+ DA:187,0
6629
6638
  DA:195,0
6630
6639
  DA:199,0
6631
6640
  DA:203,0
6632
6641
  DA:204,0
6633
6642
  DA:205,0
6634
- DA:210,5
6635
- DA:211,0
6643
+ DA:208,0
6636
6644
  DA:212,0
6637
- DA:216,5
6638
- DA:217,5
6639
- DA:218,5
6640
- DA:219,5
6641
- DA:221,5
6642
- DA:222,5
6645
+ DA:216,0
6646
+ DA:217,0
6647
+ DA:218,0
6643
6648
  DA:223,5
6649
+ DA:224,0
6650
+ DA:225,0
6651
+ DA:229,5
6644
6652
  DA:230,5
6645
- DA:233,5
6646
- DA:234,0
6647
- DA:235,0
6648
- DA:239,0
6649
- DA:241,5
6650
- DA:242,0
6651
- DA:244,5
6653
+ DA:231,5
6654
+ DA:232,5
6655
+ DA:234,5
6656
+ DA:235,5
6657
+ DA:236,5
6658
+ DA:243,5
6659
+ DA:246,5
6660
+ DA:247,0
6661
+ DA:248,0
6652
6662
  DA:252,0
6653
- DA:253,0
6654
- DA:255,5
6655
- DA:256,0
6656
- DA:257,0
6657
- DA:258,0
6658
- DA:259,0
6659
- DA:260,0
6660
- DA:265,5
6663
+ DA:254,5
6664
+ DA:255,0
6665
+ DA:257,5
6666
+ DA:265,0
6661
6667
  DA:266,0
6668
+ DA:268,5
6669
+ DA:269,0
6670
+ DA:270,0
6662
6671
  DA:271,0
6663
- DA:278,0
6672
+ DA:272,0
6673
+ DA:273,0
6674
+ DA:278,5
6664
6675
  DA:279,0
6665
- DA:283,6
6666
- DA:287,3
6667
- DA:288,6
6668
- DA:289,6
6669
- DA:290,6
6670
- DA:294,6
6671
- DA:297,6
6672
- DA:300,0
6673
- LF:132
6674
- LH:79
6676
+ DA:284,0
6677
+ DA:291,0
6678
+ DA:292,0
6679
+ DA:296,6
6680
+ DA:300,3
6681
+ DA:301,6
6682
+ DA:302,6
6683
+ DA:303,6
6684
+ DA:307,6
6685
+ DA:308,6
6686
+ DA:309,6
6687
+ DA:311,0
6688
+ LF:138
6689
+ LH:82
6675
6690
  BRDA:26,0,0,0
6676
6691
  BRDA:28,1,0,4
6677
6692
  BRDA:28,1,1,2
@@ -6689,47 +6704,53 @@ BRDA:117,7,0,0
6689
6704
  BRDA:117,7,1,5
6690
6705
  BRDA:120,8,0,0
6691
6706
  BRDA:120,8,1,5
6692
- BRDA:126,9,0,0
6693
- BRDA:126,9,1,5
6694
- BRDA:142,10,0,0
6695
- BRDA:142,10,1,0
6696
- BRDA:143,11,0,0
6697
- BRDA:143,11,1,0
6698
- BRDA:143,11,2,0
6699
- BRDA:143,11,3,0
6700
- BRDA:160,12,0,0
6701
- BRDA:160,12,1,0
6702
- BRDA:164,13,0,0
6703
- BRDA:164,13,1,0
6704
- BRDA:173,14,0,0
6705
- BRDA:173,14,1,0
6706
- BRDA:182,15,0,0
6707
- BRDA:182,15,1,0
6708
- BRDA:183,16,0,0
6709
- BRDA:183,16,1,0
6710
- BRDA:195,17,0,0
6711
- BRDA:195,17,1,0
6712
- BRDA:210,18,0,0
6713
- BRDA:210,18,1,5
6714
- BRDA:221,19,0,5
6715
- BRDA:221,19,1,0
6716
- BRDA:233,20,0,0
6717
- BRDA:233,20,1,5
6718
- BRDA:233,21,0,5
6719
- BRDA:233,21,1,0
6720
- BRDA:241,22,0,0
6721
- BRDA:241,22,1,5
6722
- BRDA:241,23,0,5
6723
- BRDA:241,23,1,0
6724
- BRDA:255,24,0,0
6725
- BRDA:255,24,1,5
6726
- BRDA:257,25,0,0
6727
- BRDA:257,25,1,0
6728
- BRDA:265,26,0,0
6729
- BRDA:265,26,1,5
6730
- BRDA:265,27,0,5
6731
- BRDA:265,27,1,5
6732
- BRF:57
6707
+ BRDA:121,9,0,0
6708
+ BRDA:121,9,1,0
6709
+ BRDA:130,10,0,0
6710
+ BRDA:130,10,1,5
6711
+ BRDA:141,11,0,0
6712
+ BRDA:141,11,1,0
6713
+ BRDA:142,12,0,0
6714
+ BRDA:142,12,1,0
6715
+ BRDA:142,12,2,0
6716
+ BRDA:142,12,3,0
6717
+ BRDA:157,13,0,0
6718
+ BRDA:157,13,1,0
6719
+ BRDA:158,14,0,0
6720
+ BRDA:158,14,1,0
6721
+ BRDA:173,15,0,0
6722
+ BRDA:173,15,1,0
6723
+ BRDA:177,16,0,0
6724
+ BRDA:177,16,1,0
6725
+ BRDA:186,17,0,0
6726
+ BRDA:186,17,1,0
6727
+ BRDA:195,18,0,0
6728
+ BRDA:195,18,1,0
6729
+ BRDA:196,19,0,0
6730
+ BRDA:196,19,1,0
6731
+ BRDA:208,20,0,0
6732
+ BRDA:208,20,1,0
6733
+ BRDA:223,21,0,0
6734
+ BRDA:223,21,1,5
6735
+ BRDA:234,22,0,5
6736
+ BRDA:234,22,1,0
6737
+ BRDA:246,23,0,0
6738
+ BRDA:246,23,1,5
6739
+ BRDA:246,24,0,5
6740
+ BRDA:246,24,1,0
6741
+ BRDA:254,25,0,0
6742
+ BRDA:254,25,1,5
6743
+ BRDA:254,26,0,5
6744
+ BRDA:254,26,1,0
6745
+ BRDA:268,27,0,0
6746
+ BRDA:268,27,1,5
6747
+ BRDA:270,28,0,0
6748
+ BRDA:270,28,1,0
6749
+ BRDA:278,29,0,0
6750
+ BRDA:278,29,1,5
6751
+ BRDA:278,30,0,5
6752
+ BRDA:278,30,1,5
6753
+ BRF:63
6733
6754
  BRH:21
6734
6755
  end_of_record
6735
6756
  TN:
@@ -6745,10 +6766,8 @@ FN:162,(anonymous_7)
6745
6766
  FN:171,(anonymous_8)
6746
6767
  FN:193,(anonymous_9)
6747
6768
  FN:194,(anonymous_10)
6748
- FN:197,(anonymous_11)
6749
- FN:200,(anonymous_12)
6750
- FNF:13
6751
- FNH:12
6769
+ FNF:11
6770
+ FNH:10
6752
6771
  FNDA:15,(anonymous_0)
6753
6772
  FNDA:16,(anonymous_1)
6754
6773
  FNDA:13,(anonymous_2)
@@ -6760,8 +6779,6 @@ FNDA:6,(anonymous_7)
6760
6779
  FNDA:6,(anonymous_8)
6761
6780
  FNDA:10,(anonymous_9)
6762
6781
  FNDA:10,(anonymous_10)
6763
- FNDA:8,(anonymous_11)
6764
- FNDA:2,(anonymous_12)
6765
6782
  DA:1,2
6766
6783
  DA:2,2
6767
6784
  DA:3,2
@@ -6859,10 +6876,11 @@ DA:193,2
6859
6876
  DA:194,10
6860
6877
  DA:195,10
6861
6878
  DA:196,10
6879
+ DA:197,10
6862
6880
  DA:198,8
6863
- DA:201,2
6864
- LF:99
6865
- LH:91
6881
+ DA:200,2
6882
+ LF:100
6883
+ LH:92
6866
6884
  BRDA:14,0,0,10
6867
6885
  BRDA:34,1,0,2
6868
6886
  BRDA:34,1,1,14
@@ -89,3 +89,15 @@ exports.substituteLoopStep = (hbsString, substitute) => {
89
89
  }
90
90
  return hbsString;
91
91
  };
92
+ exports.stringSplit = value => {
93
+ if (value == null) {
94
+ return [];
95
+ }
96
+ if (value.split("\n").length > 1) {
97
+ value = value.split("\n");
98
+ }
99
+ else {
100
+ value = value.split(",");
101
+ }
102
+ return value;
103
+ };
@@ -201,12 +201,7 @@ var MSSQLModule;
201
201
  if (typeof name !== "string") {
202
202
  continue;
203
203
  }
204
- const type = (0, utils_1.convertSqlType)(def.DATA_TYPE);
205
- schema[name] = {
206
- autocolumn: !!autoColumns.find((col) => col === name),
207
- name: name,
208
- type,
209
- };
204
+ schema[name] = Object.assign({ autocolumn: !!autoColumns.find((col) => col === name), name: name }, (0, utils_1.convertSqlType)(def.DATA_TYPE));
210
205
  }
211
206
  tables[tableName] = {
212
207
  _id: (0, utils_1.buildExternalTableId)(datasourceId, tableName),
@@ -88,7 +88,7 @@ var MySQLModule;
88
88
  }
89
89
  // if not a number, see if it is a date - important to do in this order as any
90
90
  // integer will be considered a valid date
91
- else if ((0, dayjs_1.default)(binding).isValid()) {
91
+ else if (/^\d/.test(binding) && (0, dayjs_1.default)(binding).isValid()) {
92
92
  bindings[i] = (0, dayjs_1.default)(binding).toDate();
93
93
  }
94
94
  }
@@ -129,18 +129,25 @@ var MySQLModule;
129
129
  yield this.client.end();
130
130
  });
131
131
  }
132
- internalQuery(query, connect = true) {
132
+ internalQuery(query, opts = {
133
+ connect: true,
134
+ disableCoercion: false,
135
+ }) {
133
136
  return __awaiter(this, void 0, void 0, function* () {
134
137
  try {
135
- if (connect) {
138
+ if (opts === null || opts === void 0 ? void 0 : opts.connect) {
136
139
  yield this.connect();
137
140
  }
141
+ const baseBindings = query.bindings || [];
142
+ const bindings = (opts === null || opts === void 0 ? void 0 : opts.disableCoercion)
143
+ ? baseBindings
144
+ : bindingTypeCoerce(baseBindings);
138
145
  // Node MySQL is callback based, so we must wrap our call in a promise
139
- const response = yield this.client.query(query.sql, bindingTypeCoerce(query.bindings || []));
146
+ const response = yield this.client.query(query.sql, bindings);
140
147
  return response[0];
141
148
  }
142
149
  finally {
143
- if (connect) {
150
+ if (opts === null || opts === void 0 ? void 0 : opts.connect) {
144
151
  yield this.disconnect();
145
152
  }
146
153
  }
@@ -153,13 +160,13 @@ var MySQLModule;
153
160
  yield this.connect();
154
161
  try {
155
162
  // get the tables first
156
- const tablesResp = yield this.internalQuery({ sql: "SHOW TABLES;" }, false);
163
+ const tablesResp = yield this.internalQuery({ sql: "SHOW TABLES;" }, { connect: false });
157
164
  const tableNames = tablesResp.map((obj) => obj[`Tables_in_${database}`] ||
158
165
  obj[`Tables_in_${database.toLowerCase()}`]);
159
166
  for (let tableName of tableNames) {
160
167
  const primaryKeys = [];
161
168
  const schema = {};
162
- const descResp = yield this.internalQuery({ sql: `DESCRIBE \`${tableName}\`;` }, false);
169
+ const descResp = yield this.internalQuery({ sql: `DESCRIBE \`${tableName}\`;` }, { connect: false });
163
170
  for (let column of descResp) {
164
171
  const columnName = column.Field;
165
172
  if (column.Key === "PRI" &&
@@ -172,12 +179,7 @@ var MySQLModule;
172
179
  const isAuto = typeof column.Extra === "string" &&
173
180
  (column.Extra === "auto_increment" ||
174
181
  column.Extra.toLowerCase().includes("generated"));
175
- schema[columnName] = {
176
- name: columnName,
177
- autocolumn: isAuto,
178
- type: (0, utils_1.convertSqlType)(column.Type),
179
- constraints,
180
- };
182
+ schema[columnName] = Object.assign({ name: columnName, autocolumn: isAuto, constraints }, (0, utils_1.convertSqlType)(column.Type));
181
183
  }
182
184
  if (!tables[tableName]) {
183
185
  tables[tableName] = {
@@ -224,7 +226,7 @@ var MySQLModule;
224
226
  return __awaiter(this, void 0, void 0, function* () {
225
227
  yield this.connect();
226
228
  try {
227
- const queryFn = (query) => this.internalQuery(query, false);
229
+ const queryFn = (query) => this.internalQuery(query, { connect: false, disableCoercion: true });
228
230
  return yield this.queryWithReturning(json, queryFn);
229
231
  }
230
232
  finally {
@@ -202,7 +202,7 @@ var OracleModule;
202
202
  }
203
203
  internalConvertType(column) {
204
204
  if (this.isBooleanType(column)) {
205
- return constants_1.FieldTypes.BOOLEAN;
205
+ return { type: constants_1.FieldTypes.BOOLEAN };
206
206
  }
207
207
  return (0, utils_1.convertSqlType)(column.type);
208
208
  }
@@ -240,11 +240,7 @@ var OracleModule;
240
240
  const columnName = oracleColumn.name;
241
241
  let fieldSchema = table.schema[columnName];
242
242
  if (!fieldSchema) {
243
- fieldSchema = {
244
- autocolumn: OracleIntegration.isAutoColumn(oracleColumn),
245
- name: columnName,
246
- type: this.internalConvertType(oracleColumn),
247
- };
243
+ fieldSchema = Object.assign({ autocolumn: OracleIntegration.isAutoColumn(oracleColumn), name: columnName }, this.internalConvertType(oracleColumn));
248
244
  table.schema[columnName] = fieldSchema;
249
245
  }
250
246
  // iterate each constraint on the column
@@ -190,7 +190,6 @@ var PostgresModule;
190
190
  schema: {},
191
191
  };
192
192
  }
193
- const type = (0, utils_1.convertSqlType)(column.data_type);
194
193
  const identity = !!(column.identity_generation ||
195
194
  column.identity_start ||
196
195
  column.identity_increment);
@@ -198,11 +197,7 @@ var PostgresModule;
198
197
  column.column_default.startsWith("nextval");
199
198
  const isGenerated = column.is_generated && column.is_generated !== "NEVER";
200
199
  const isAuto = hasDefault || identity || isGenerated;
201
- tables[tableName].schema[columnName] = {
202
- autocolumn: isAuto,
203
- name: columnName,
204
- type,
205
- };
200
+ tables[tableName].schema[columnName] = Object.assign({ autocolumn: isAuto, name: columnName }, (0, utils_1.convertSqlType)(column.data_type));
206
201
  }
207
202
  const final = (0, utils_1.finaliseExternalTables)(tables, entities);
208
203
  this.tables = final.tables;
@@ -33,6 +33,8 @@ const SQL_DATE_TYPE_MAP = {
33
33
  smalldatetime: constants_1.FieldTypes.DATETIME,
34
34
  date: constants_1.FieldTypes.DATETIME,
35
35
  };
36
+ const SQL_DATE_ONLY_TYPES = ["date"];
37
+ const SQL_TIME_ONLY_TYPES = ["time"];
36
38
  const SQL_STRING_TYPE_MAP = {
37
39
  varchar: constants_1.FieldTypes.STRING,
38
40
  char: constants_1.FieldTypes.STRING,
@@ -73,9 +75,9 @@ function breakExternalTableId(tableId) {
73
75
  return {};
74
76
  }
75
77
  const parts = tableId.split(DOUBLE_SEPARATOR);
76
- let tableName = parts.pop();
78
+ let datasourceId = parts.shift();
77
79
  // if they need joined
78
- let datasourceId = parts.join(DOUBLE_SEPARATOR);
80
+ let tableName = parts.join(DOUBLE_SEPARATOR);
79
81
  return { datasourceId, tableName };
80
82
  }
81
83
  exports.breakExternalTableId = breakExternalTableId;
@@ -124,12 +126,20 @@ function breakRowIdField(_id) {
124
126
  }
125
127
  exports.breakRowIdField = breakRowIdField;
126
128
  function convertSqlType(type) {
129
+ let foundType = constants_1.FieldTypes.STRING;
130
+ const lcType = type.toLowerCase();
127
131
  for (let [external, internal] of Object.entries(SQL_TYPE_MAP)) {
128
- if (type.toLowerCase().includes(external)) {
129
- return internal;
132
+ if (lcType.includes(external)) {
133
+ foundType = internal;
134
+ break;
130
135
  }
131
136
  }
132
- return constants_1.FieldTypes.STRING;
137
+ const schema = { type: foundType };
138
+ if (foundType === constants_1.FieldTypes.DATETIME) {
139
+ schema.dateOnly = SQL_DATE_ONLY_TYPES.includes(lcType);
140
+ schema.timeOnly = SQL_TIME_ONLY_TYPES.includes(lcType);
141
+ }
142
+ return schema;
133
143
  }
134
144
  exports.convertSqlType = convertSqlType;
135
145
  function getSqlQuery(query) {
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.135",
4
+ "version": "1.0.138",
5
5
  "description": "Budibase Web Server",
6
6
  "main": "src/index.ts",
7
7
  "repository": {
@@ -68,10 +68,10 @@
68
68
  "license": "GPL-3.0",
69
69
  "dependencies": {
70
70
  "@apidevtools/swagger-parser": "^10.0.3",
71
- "@budibase/backend-core": "^1.0.135",
72
- "@budibase/client": "^1.0.135",
73
- "@budibase/pro": "1.0.135",
74
- "@budibase/string-templates": "^1.0.135",
71
+ "@budibase/backend-core": "^1.0.138",
72
+ "@budibase/client": "^1.0.138",
73
+ "@budibase/pro": "1.0.138",
74
+ "@budibase/string-templates": "^1.0.138",
75
75
  "@bull-board/api": "^3.7.0",
76
76
  "@bull-board/koa": "^3.7.0",
77
77
  "@elastic/elasticsearch": "7.10.0",