@budibase/server 1.3.21-alpha.1 → 1.3.21

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 (308) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/builder/assets/index.8d12d461.css +6 -0
  3. package/builder/assets/index.d354271c.js +879 -0
  4. package/builder/assets/vendor.5e1fe644.css +1 -0
  5. package/builder/assets/vendor.67dbd8fa.js +248 -0
  6. package/builder/index.html +4 -2
  7. package/coverage/clover.xml +390 -451
  8. package/coverage/coverage-final.json +21 -21
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/auth.js.html +8 -41
  11. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  13. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/component.js.html +11 -68
  15. package/coverage/lcov-report/api/controllers/datasource.js.html +34 -73
  16. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  17. package/coverage/lcov-report/api/controllers/index.html +46 -46
  18. package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
  19. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  22. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  24. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/external.js.html +2 -2
  28. package/coverage/lcov-report/api/controllers/row/index.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/staticFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/screen.js.html +12 -207
  34. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  38. package/coverage/lcov-report/api/controllers/table/index.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 +13 -13
  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/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/index.html +1 -1
  60. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  71. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/utils/index.html +9 -9
  74. package/coverage/lcov-report/api/routes/utils/validators.js.html +12 -75
  75. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  76. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  77. package/coverage/lcov-report/automations/actions.js.html +1 -1
  78. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  79. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  80. package/coverage/lcov-report/automations/index.html +1 -1
  81. package/coverage/lcov-report/automations/index.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/index.html +1 -1
  89. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  97. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  98. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  106. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  107. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  108. package/coverage/lcov-report/constants/index.html +1 -1
  109. package/coverage/lcov-report/constants/index.js.html +1 -1
  110. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  111. package/coverage/lcov-report/constants/screens.js.html +1 -1
  112. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  113. package/coverage/lcov-report/db/index.html +18 -18
  114. package/coverage/lcov-report/db/index.js.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  117. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  118. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  119. package/coverage/lcov-report/db/newid.js.html +2 -2
  120. package/coverage/lcov-report/db/utils.js.html +20 -56
  121. package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
  122. package/coverage/lcov-report/events/index.html +1 -1
  123. package/coverage/lcov-report/events/index.js.html +1 -1
  124. package/coverage/lcov-report/events/utils.js.html +1 -1
  125. package/coverage/lcov-report/index.html +46 -46
  126. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  127. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  128. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  129. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  130. package/coverage/lcov-report/middleware/currentapp.js.html +40 -46
  131. package/coverage/lcov-report/middleware/index.html +15 -15
  132. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  133. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  134. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  135. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  136. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  137. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  138. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  139. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  140. package/coverage/lcov-report/utilities/global.js.html +16 -16
  141. package/coverage/lcov-report/utilities/index.html +15 -15
  142. package/coverage/lcov-report/utilities/index.js.html +24 -24
  143. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  144. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  145. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  146. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  148. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  149. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  150. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  151. package/coverage/lcov-report/utilities/security.js.html +2 -2
  152. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  154. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  155. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  156. package/coverage/lcov-report/utilities/users.js.html +1 -1
  157. package/coverage/lcov-report/utilities/workerRequests.js.html +8 -32
  158. package/coverage/lcov.info +672 -798
  159. package/dist/api/controllers/application.js +5 -5
  160. package/dist/api/controllers/auth.js +0 -9
  161. package/dist/api/controllers/component.js +1 -14
  162. package/dist/api/controllers/datasource.js +8 -21
  163. package/dist/api/controllers/deploy/index.js +8 -1
  164. package/dist/api/controllers/integration.js +4 -4
  165. package/dist/api/controllers/row/external.js +1 -1
  166. package/dist/api/controllers/screen.js +2 -52
  167. package/dist/api/controllers/static/index.js +0 -1
  168. package/dist/api/controllers/static/templates/BudibaseApp.svelte +0 -10
  169. package/dist/api/controllers/static/templates/preview.hbs +1 -5
  170. package/dist/api/index.js +1 -1
  171. package/dist/api/routes/application.js +2 -3
  172. package/dist/api/routes/index.js +0 -2
  173. package/dist/api/routes/public/rows.js +82 -1
  174. package/dist/api/routes/public/tables.js +1 -1
  175. package/dist/api/routes/table.js +1 -1
  176. package/dist/api/routes/utils/validators.js +2 -20
  177. package/dist/app.js +1 -16
  178. package/dist/db/utils.js +1 -10
  179. package/dist/environment.js +0 -1
  180. package/dist/integrations/airtable.js +129 -126
  181. package/dist/integrations/arangodb.js +89 -86
  182. package/dist/integrations/base/query.js +2 -2
  183. package/dist/integrations/base/sqlTable.js +1 -3
  184. package/dist/integrations/couchdb.js +83 -80
  185. package/dist/integrations/dynamodb.js +164 -161
  186. package/dist/integrations/elasticsearch.js +138 -135
  187. package/dist/integrations/firebase.js +157 -154
  188. package/dist/integrations/googlesheets.js +327 -323
  189. package/dist/integrations/index.js +51 -99
  190. package/dist/integrations/microsoftSqlServer.js +243 -240
  191. package/dist/integrations/mongodb.js +242 -239
  192. package/dist/integrations/mysql.js +219 -215
  193. package/dist/integrations/oracle.js +322 -318
  194. package/dist/integrations/postgres.js +265 -262
  195. package/dist/integrations/redis.js +139 -134
  196. package/dist/integrations/rest.js +292 -289
  197. package/dist/integrations/s3.js +64 -61
  198. package/dist/integrations/snowflake.js +86 -83
  199. package/dist/middleware/currentapp.js +0 -2
  200. package/dist/migrations/functions/backfill/global.js +3 -0
  201. package/dist/migrations/functions/developerQuota.js +49 -0
  202. package/dist/{api/routes/plugin.js → migrations/functions/publishedAppsQuota.js} +21 -13
  203. package/dist/{api/controllers/plugin/url.js → migrations/functions/usageQuotas/syncDevelopers.js} +13 -13
  204. package/dist/{api/controllers/plugin/file.js → migrations/functions/usageQuotas/syncPublishedApps.js} +15 -13
  205. package/dist/migrations/index.js +10 -0
  206. package/dist/package.json +6 -9
  207. package/dist/tests/utilities/TestConfiguration.js +1 -1
  208. package/dist/threads/query.js +2 -2
  209. package/dist/tsconfig.build.tsbuildinfo +1 -1
  210. package/dist/utilities/fileSystem/index.js +1 -111
  211. package/dist/utilities/workerRequests.js +0 -4
  212. package/package.json +7 -10
  213. package/scripts/dev/manage.js +0 -4
  214. package/scripts/localdomain.js +1 -3
  215. package/specs/openapi.json +112 -115
  216. package/specs/openapi.yaml +94 -96
  217. package/specs/resources/misc.js +0 -116
  218. package/specs/resources/query.js +1 -1
  219. package/src/api/controllers/application.ts +2 -1
  220. package/src/api/controllers/auth.js +0 -11
  221. package/src/api/controllers/component.js +2 -21
  222. package/src/api/controllers/datasource.js +8 -21
  223. package/src/api/controllers/deploy/index.ts +6 -1
  224. package/src/api/controllers/integration.js +4 -4
  225. package/src/api/controllers/public/mapping/types.ts +0 -8
  226. package/src/api/controllers/row/external.js +1 -1
  227. package/src/api/controllers/screen.js +1 -66
  228. package/src/api/controllers/static/index.ts +1 -1
  229. package/src/api/controllers/static/templates/BudibaseApp.svelte +0 -10
  230. package/src/api/controllers/static/templates/preview.hbs +1 -5
  231. package/src/api/index.js +1 -1
  232. package/src/api/routes/application.ts +2 -13
  233. package/src/api/routes/index.ts +0 -2
  234. package/src/api/routes/public/rows.ts +82 -1
  235. package/src/api/routes/public/tables.ts +1 -1
  236. package/src/api/routes/table.js +1 -1
  237. package/src/api/routes/tests/query.spec.js +25 -8
  238. package/src/api/routes/tests/user.spec.js +2 -0
  239. package/src/api/routes/utils/validators.js +5 -26
  240. package/src/app.ts +2 -25
  241. package/src/db/utils.js +0 -12
  242. package/src/definitions/openapi.ts +55 -56
  243. package/src/environment.js +0 -1
  244. package/src/integrations/airtable.ts +118 -116
  245. package/src/integrations/arangodb.ts +89 -87
  246. package/src/integrations/base/query.ts +2 -2
  247. package/src/integrations/base/sqlTable.ts +1 -3
  248. package/src/integrations/couchdb.ts +89 -83
  249. package/src/integrations/dynamodb.ts +175 -173
  250. package/src/integrations/elasticsearch.ts +122 -120
  251. package/src/integrations/firebase.ts +159 -157
  252. package/src/integrations/googlesheets.ts +338 -328
  253. package/src/integrations/index.ts +21 -64
  254. package/src/integrations/microsoftSqlServer.ts +251 -249
  255. package/src/integrations/mongodb.ts +258 -261
  256. package/src/integrations/mysql.ts +234 -229
  257. package/src/integrations/oracle.ts +380 -373
  258. package/src/integrations/postgres.ts +268 -264
  259. package/src/integrations/redis.ts +132 -128
  260. package/src/integrations/rest.ts +329 -324
  261. package/src/integrations/s3.ts +71 -68
  262. package/src/integrations/snowflake.ts +82 -80
  263. package/src/integrations/tests/{airtable.spec.ts → airtable.spec.js} +18 -21
  264. package/src/integrations/tests/{arangodb.spec.ts → arangodb.spec.js} +9 -12
  265. package/src/integrations/tests/{couchdb.spec.ts → couchdb.spec.js} +27 -33
  266. package/src/integrations/tests/{dynamodb.spec.ts → dynamodb.spec.js} +41 -45
  267. package/src/integrations/tests/{elasticsearch.spec.ts → elasticsearch.spec.js} +21 -22
  268. package/src/integrations/tests/{firebase.spec.ts → firebase.spec.js} +28 -33
  269. package/src/integrations/tests/{microsoftSqlServer.spec.ts → microsoftSqlServer.spec.js} +11 -12
  270. package/src/integrations/tests/{mongo.spec.ts → mongo.spec.js} +35 -46
  271. package/src/integrations/tests/{mysql.spec.ts → mysql.spec.js} +15 -17
  272. package/src/integrations/tests/{oracle.spec.ts → oracle.spec.js} +17 -19
  273. package/src/integrations/tests/{postgres.spec.ts → postgres.spec.js} +17 -19
  274. package/src/integrations/tests/{redis.spec.ts → redis.spec.js} +18 -27
  275. package/src/integrations/tests/{rest.spec.ts → rest.spec.js} +14 -22
  276. package/src/integrations/tests/{s3.spec.ts → s3.spec.js} +8 -10
  277. package/src/integrations/tests/{sql.spec.ts → sql.spec.js} +177 -228
  278. package/src/middleware/currentapp.js +0 -2
  279. package/src/migrations/functions/backfill/global.ts +3 -0
  280. package/src/migrations/functions/developerQuota.ts +15 -0
  281. package/src/migrations/functions/publishedAppsQuota.ts +13 -0
  282. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +19 -0
  283. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +21 -0
  284. package/src/migrations/index.ts +16 -0
  285. package/src/module.d.ts +0 -2
  286. package/src/tests/utilities/TestConfiguration.js +1 -1
  287. package/src/threads/query.ts +2 -2
  288. package/src/utilities/fileSystem/index.js +0 -130
  289. package/src/utilities/workerRequests.js +0 -8
  290. package/builder/assets/index.c9d3f9e8.js +0 -1005
  291. package/builder/assets/index.f1b70f52.css +0 -6
  292. package/dist/api/controllers/plugin/github.js +0 -69
  293. package/dist/api/controllers/plugin/index.js +0 -200
  294. package/dist/api/controllers/plugin/npm.js +0 -58
  295. package/dist/api/controllers/plugin/uploaders.js +0 -11
  296. package/dist/api/controllers/plugin/utils.js +0 -26
  297. package/dist/watch.js +0 -77
  298. package/dist/websocket.js +0 -22
  299. package/src/api/controllers/plugin/file.ts +0 -15
  300. package/src/api/controllers/plugin/github.ts +0 -75
  301. package/src/api/controllers/plugin/index.ts +0 -215
  302. package/src/api/controllers/plugin/npm.ts +0 -56
  303. package/src/api/controllers/plugin/uploaders.ts +0 -4
  304. package/src/api/controllers/plugin/url.ts +0 -12
  305. package/src/api/controllers/plugin/utils.ts +0 -19
  306. package/src/api/routes/plugin.ts +0 -14
  307. package/src/watch.ts +0 -38
  308. package/src/websocket.ts +0 -26
@@ -14,18 +14,14 @@ const { join } = require("path");
14
14
  const uuid = require("uuid/v4");
15
15
  const { doWithDB, dangerousGetDB, closeDB, } = require("@budibase/backend-core/db");
16
16
  const { ObjectStoreBuckets } = require("../../constants");
17
- const { upload, retrieve, retrieveToTmp, streamUpload, deleteFolder, downloadTarball, downloadTarballDirect, deleteFiles, } = require("./utilities");
17
+ const { upload, retrieve, retrieveToTmp, streamUpload, deleteFolder, downloadTarball, deleteFiles, } = require("./utilities");
18
18
  const { updateClientLibrary } = require("./clientLibrary");
19
- const { checkSlashesInUrl } = require("../");
20
19
  const env = require("../../environment");
21
20
  const { USER_METDATA_PREFIX, LINK_USER_METADATA_PREFIX, TABLE_ROW_PREFIX, } = require("../../db/utils");
22
21
  const MemoryStream = require("memorystream");
23
22
  const { getAppId } = require("@budibase/backend-core/context");
24
- const tar = require("tar");
25
- const fetch = require("node-fetch");
26
23
  const TOP_LEVEL_PATH = join(__dirname, "..", "..", "..");
27
24
  const NODE_MODULES_PATH = join(TOP_LEVEL_PATH, "node_modules");
28
- const DATASOURCE_PATH = join(budibaseTempDir(), "datasource");
29
25
  /**
30
26
  * The single stack system (Cloud and Builder) should not make use of the file system where possible,
31
27
  * this file handles all of the file access for the system with the intention of limiting it all to one
@@ -100,12 +96,6 @@ exports.getTemplateStream = (template) => __awaiter(void 0, void 0, void 0, func
100
96
  exports.loadHandlebarsFile = path => {
101
97
  return fs.readFileSync(path, "utf8");
102
98
  };
103
- /**
104
- * Same as above just with a different name.
105
- */
106
- exports.loadJSFile = (directory, name) => {
107
- return fs.readFileSync(join(directory, name), "utf8");
108
- };
109
99
  /**
110
100
  * When return a file from the API need to write the file to the system temporarily so we
111
101
  * can create a read stream to send.
@@ -304,105 +294,6 @@ exports.cleanup = appIds => {
304
294
  }
305
295
  }
306
296
  };
307
- const createTempFolder = item => {
308
- const path = join(budibaseTempDir(), item);
309
- try {
310
- // remove old tmp directories automatically - don't combine
311
- if (fs.existsSync(path)) {
312
- fs.rmSync(path, { recursive: true, force: true });
313
- }
314
- fs.mkdirSync(path);
315
- }
316
- catch (err) {
317
- throw new Error(`Path cannot be created: ${err.message}`);
318
- }
319
- return path;
320
- };
321
- exports.createTempFolder = createTempFolder;
322
- const extractTarball = (fromFilePath, toPath) => __awaiter(void 0, void 0, void 0, function* () {
323
- yield tar.extract({
324
- file: fromFilePath,
325
- C: toPath,
326
- });
327
- });
328
- exports.extractTarball = extractTarball;
329
- const getPluginMetadata = (path) => __awaiter(void 0, void 0, void 0, function* () {
330
- let metadata = {};
331
- try {
332
- const pkg = fs.readFileSync(join(path, "package.json"), "utf8");
333
- const schema = fs.readFileSync(join(path, "schema.json"), "utf8");
334
- metadata.schema = JSON.parse(schema);
335
- metadata.package = JSON.parse(pkg);
336
- if (!metadata.package.name ||
337
- !metadata.package.version ||
338
- !metadata.package.description) {
339
- throw new Error("package.json is missing one of 'name', 'version' or 'description'.");
340
- }
341
- }
342
- catch (err) {
343
- throw new Error(`Unable to process schema.json/package.json in plugin. ${err.message}`);
344
- }
345
- return { metadata, directory: path };
346
- });
347
- exports.getPluginMetadata = getPluginMetadata;
348
- exports.getDatasourcePlugin = (name, url, hash) => __awaiter(void 0, void 0, void 0, function* () {
349
- if (!fs.existsSync(DATASOURCE_PATH)) {
350
- fs.mkdirSync(DATASOURCE_PATH);
351
- }
352
- const filename = join(DATASOURCE_PATH, name);
353
- const metadataName = `${filename}.bbmetadata`;
354
- if (fs.existsSync(filename)) {
355
- const currentHash = fs.readFileSync(metadataName, "utf8");
356
- // if hash is the same return the file, otherwise remove it and re-download
357
- if (currentHash === hash) {
358
- return require(filename);
359
- }
360
- else {
361
- console.log(`Updating plugin: ${name}`);
362
- delete require.cache[require.resolve(filename)];
363
- fs.unlinkSync(filename);
364
- }
365
- }
366
- const fullUrl = checkSlashesInUrl(`${env.MINIO_URL}/${ObjectStoreBuckets.PLUGINS}/${url}`);
367
- const response = yield fetch(fullUrl);
368
- if (response.status === 200) {
369
- const content = yield response.text();
370
- fs.writeFileSync(filename, content);
371
- fs.writeFileSync(metadataName, hash);
372
- return require(filename);
373
- }
374
- else {
375
- throw new Error(`Unable to retrieve plugin - reason: ${yield response.text()}`);
376
- }
377
- });
378
- /**
379
- * Find for a file recursively from start path applying filter, return first match
380
- */
381
- exports.findFileRec = (startPath, filter) => {
382
- if (!fs.existsSync(startPath)) {
383
- return;
384
- }
385
- const files = fs.readdirSync(startPath);
386
- for (let i = 0, len = files.length; i < len; i++) {
387
- const filename = join(startPath, files[i]);
388
- const stat = fs.lstatSync(filename);
389
- if (stat.isDirectory()) {
390
- return exports.findFileRec(filename, filter);
391
- }
392
- else if (filename.endsWith(filter)) {
393
- return filename;
394
- }
395
- }
396
- };
397
- /**
398
- * Remove a folder which is not empty from the file system
399
- */
400
- exports.deleteFolderFileSystem = path => {
401
- if (!fs.existsSync(path)) {
402
- return;
403
- }
404
- fs.rmSync(path, { recursive: true, force: true });
405
- };
406
297
  /**
407
298
  * Full function definition for below can be found in the utilities.
408
299
  */
@@ -410,6 +301,5 @@ exports.upload = upload;
410
301
  exports.retrieve = retrieve;
411
302
  exports.retrieveToTmp = retrieveToTmp;
412
303
  exports.deleteFiles = deleteFiles;
413
- exports.downloadTarballDirect = downloadTarballDirect;
414
304
  exports.TOP_LEVEL_PATH = TOP_LEVEL_PATH;
415
305
  exports.NODE_MODULES_PATH = NODE_MODULES_PATH;
@@ -128,7 +128,3 @@ exports.getChecklist = () => __awaiter(void 0, void 0, void 0, function* () {
128
128
  const response = yield fetch(checkSlashesInUrl(env.WORKER_URL + "/api/global/configs/checklist"), request(null, { method: "GET" }));
129
129
  return checkResponse(response, "get checklist");
130
130
  });
131
- exports.generateApiKey = (userId) => __awaiter(void 0, void 0, void 0, function* () {
132
- const response = yield fetch(checkSlashesInUrl(env.WORKER_URL + "/api/global/self/api_key"), request(null, { method: "POST", body: { userId } }));
133
- return checkResponse(response, "generate API key");
134
- });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@budibase/server",
3
3
  "email": "hi@budibase.com",
4
- "version": "1.3.21-alpha.1",
4
+ "version": "1.3.21",
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": "1.3.21-alpha.1",
81
- "@budibase/client": "1.3.21-alpha.1",
82
- "@budibase/pro": "1.3.21-alpha.0",
83
- "@budibase/string-templates": "1.3.21-alpha.1",
84
- "@budibase/types": "1.3.21-alpha.1",
80
+ "@budibase/backend-core": "^1.3.21",
81
+ "@budibase/client": "^1.3.21",
82
+ "@budibase/pro": "1.3.20",
83
+ "@budibase/string-templates": "^1.3.21",
84
+ "@budibase/types": "^1.3.21",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",
@@ -95,7 +95,6 @@
95
95
  "bcryptjs": "2.4.3",
96
96
  "bull": "4.8.5",
97
97
  "chmodr": "1.2.0",
98
- "chokidar": "3.5.3",
99
98
  "csvtojson": "2.0.10",
100
99
  "curlconverter": "3.21.0",
101
100
  "dotenv": "8.2.0",
@@ -139,10 +138,8 @@
139
138
  "redis": "4",
140
139
  "server-destroy": "1.0.1",
141
140
  "snowflake-promise": "^4.5.0",
142
- "socket.io": "^4.5.1",
143
141
  "svelte": "3.49.0",
144
142
  "swagger-parser": "10.0.3",
145
- "tar": "6.1.11",
146
143
  "to-json-schema": "0.2.5",
147
144
  "uuid": "3.3.2",
148
145
  "validate.js": "0.13.1",
@@ -199,5 +196,5 @@
199
196
  "optionalDependencies": {
200
197
  "oracledb": "5.3.0"
201
198
  },
202
- "gitHead": "01d92902c4c6a0a63c22d02e3a948bfd80d4ec0b"
199
+ "gitHead": "19ed43cb817a650c859e9d237c5053cd3ee54526"
203
200
  }
@@ -58,7 +58,6 @@ async function init() {
58
58
  DEPLOYMENT_ENVIRONMENT: "development",
59
59
  BB_ADMIN_USER_EMAIL: "",
60
60
  BB_ADMIN_USER_PASSWORD: "",
61
- PLUGINS_DIR: "",
62
61
  }
63
62
  let envFile = ""
64
63
  Object.keys(envFileJson).forEach(key => {
@@ -72,9 +71,6 @@ async function up() {
72
71
  console.log("Spinning up your budibase dev environment... 🔧✨")
73
72
  await init()
74
73
  await compose.upAll(CONFIG)
75
-
76
- // We always ensure to restart the proxy service in case of nginx conf changes
77
- await compose.restartOne("proxy-service", CONFIG)
78
74
  }
79
75
 
80
76
  async function down() {
@@ -17,8 +17,6 @@ const arg = process.argv.slice(2)[0]
17
17
  */
18
18
  updateDotEnv({
19
19
  ACCOUNT_PORTAL_URL:
20
- arg === "enable"
21
- ? "http://account.local.com:10001"
22
- : "http://localhost:10001",
20
+ arg === "enable" ? "http://local.com:10001" : "http://localhost:10001",
23
21
  COOKIE_DOMAIN: arg === "enable" ? ".local.com" : "",
24
22
  }).then(() => console.log("Updated worker!"))
@@ -1327,7 +1327,7 @@
1327
1327
  "type": "string"
1328
1328
  },
1329
1329
  "datasourceId": {
1330
- "description": "The ID of the datasource the query belongs to.",
1330
+ "description": "The ID of the data source the query belongs to.",
1331
1331
  "type": "string"
1332
1332
  },
1333
1333
  "parameters": {
@@ -1386,7 +1386,7 @@
1386
1386
  "type": "string"
1387
1387
  },
1388
1388
  "datasourceId": {
1389
- "description": "The ID of the datasource the query belongs to.",
1389
+ "description": "The ID of the data source the query belongs to.",
1390
1390
  "type": "string"
1391
1391
  },
1392
1392
  "parameters": {
@@ -1659,117 +1659,6 @@
1659
1659
  "data"
1660
1660
  ]
1661
1661
  },
1662
- "rowSearch": {
1663
- "type": "object",
1664
- "properties": {
1665
- "query": {
1666
- "type": "object",
1667
- "properties": {
1668
- "allOr": {
1669
- "type": "boolean",
1670
- "description": "Specifies that a row should be returned if it satisfies any of the specified options, rather than requiring it to fulfill all the search parameters. This defaults to false, meaning AND logic will be used."
1671
- },
1672
- "string": {
1673
- "type": "object",
1674
- "example": {
1675
- "columnName1": "value",
1676
- "columnName2": "value"
1677
- },
1678
- "description": "A map of field name to the string to search for, this will look for rows that have a value starting with the string value.",
1679
- "additionalProperties": {
1680
- "type": "string",
1681
- "description": "The value to search for in the column."
1682
- }
1683
- },
1684
- "fuzzy": {
1685
- "type": "object",
1686
- "description": "A fuzzy search, only supported by internal tables."
1687
- },
1688
- "range": {
1689
- "type": "object",
1690
- "description": "Searches within a range, the format of this must be in the format of an object with a \"low\" and \"high\" property.",
1691
- "example": {
1692
- "columnName1": {
1693
- "low": 10,
1694
- "high": 20
1695
- }
1696
- }
1697
- },
1698
- "equal": {
1699
- "type": "object",
1700
- "description": "Searches for rows that have a column value that is exactly the value set."
1701
- },
1702
- "notEqual": {
1703
- "type": "object",
1704
- "description": "Searches for any row which does not contain the specified column value."
1705
- },
1706
- "empty": {
1707
- "type": "object",
1708
- "description": "Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.",
1709
- "example": {
1710
- "columnName1": ""
1711
- }
1712
- },
1713
- "notEmpty": {
1714
- "type": "object",
1715
- "description": "Searches for rows which have the specified column."
1716
- },
1717
- "oneOf": {
1718
- "type": "object",
1719
- "description": "Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2]."
1720
- }
1721
- }
1722
- },
1723
- "paginate": {
1724
- "type": "boolean",
1725
- "description": "Enables pagination, by default this is disabled."
1726
- },
1727
- "bookmark": {
1728
- "oneOf": [
1729
- {
1730
- "type": "string"
1731
- },
1732
- {
1733
- "type": "integer"
1734
- }
1735
- ],
1736
- "description": "If retrieving another page, the bookmark from the previous request must be supplied."
1737
- },
1738
- "limit": {
1739
- "type": "integer",
1740
- "description": "The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000."
1741
- },
1742
- "sort": {
1743
- "type": "object",
1744
- "description": "A set of parameters describing the sort behaviour of the search.",
1745
- "properties": {
1746
- "order": {
1747
- "type": "string",
1748
- "enum": [
1749
- "ascending",
1750
- "descending"
1751
- ],
1752
- "description": "The order of the sort, by default this is ascending."
1753
- },
1754
- "column": {
1755
- "type": "string",
1756
- "description": "The name of the column by which the rows will be sorted."
1757
- },
1758
- "type": {
1759
- "type": "string",
1760
- "enum": [
1761
- "string",
1762
- "number"
1763
- ],
1764
- "description": "Defines whether the column should be treated as a string or as numbers when sorting."
1765
- }
1766
- }
1767
- }
1768
- },
1769
- "required": [
1770
- "query"
1771
- ]
1772
- },
1773
1662
  "nameSearch": {
1774
1663
  "type": "object",
1775
1664
  "properties": {
@@ -2240,7 +2129,115 @@
2240
2129
  "content": {
2241
2130
  "application/json": {
2242
2131
  "schema": {
2243
- "$ref": "#/components/schemas/rowSearch"
2132
+ "type": "object",
2133
+ "required": [
2134
+ "query"
2135
+ ],
2136
+ "properties": {
2137
+ "query": {
2138
+ "type": "object",
2139
+ "properties": {
2140
+ "allOr": {
2141
+ "type": "boolean",
2142
+ "description": "Specifies that a row should be returned if it satisfies any of the specified options, rather than requiring it to fulfill all the search parameters. This defaults to false, meaning AND logic will be used."
2143
+ },
2144
+ "string": {
2145
+ "type": "object",
2146
+ "example": {
2147
+ "columnName1": "value",
2148
+ "columnName2": "value"
2149
+ },
2150
+ "description": "A map of field name to the string to search for, this will look for rows that have a value starting with the string value.",
2151
+ "additionalProperties": {
2152
+ "type": "string",
2153
+ "description": "The value to search for in the column."
2154
+ }
2155
+ },
2156
+ "fuzzy": {
2157
+ "type": "object",
2158
+ "description": "A fuzzy search, only supported by internal tables."
2159
+ },
2160
+ "range": {
2161
+ "type": "object",
2162
+ "description": "Searches within a range, the format of this must be in the format of an object with a \"low\" and \"high\" property.",
2163
+ "example": {
2164
+ "columnName1": {
2165
+ "low": 10,
2166
+ "high": 20
2167
+ }
2168
+ }
2169
+ },
2170
+ "equal": {
2171
+ "type": "object",
2172
+ "description": "Searches for rows that have a column value that is exactly the value set."
2173
+ },
2174
+ "notEqual": {
2175
+ "type": "object",
2176
+ "description": "Searches for any row which does not contain the specified column value."
2177
+ },
2178
+ "empty": {
2179
+ "type": "object",
2180
+ "description": "Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.",
2181
+ "example": {
2182
+ "columnName1": ""
2183
+ }
2184
+ },
2185
+ "notEmpty": {
2186
+ "type": "object",
2187
+ "description": "Searches for rows which have the specified column."
2188
+ },
2189
+ "oneOf": {
2190
+ "type": "object",
2191
+ "description": "Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2]."
2192
+ }
2193
+ }
2194
+ },
2195
+ "paginate": {
2196
+ "type": "boolean",
2197
+ "description": "Enables pagination, by default this is disabled."
2198
+ },
2199
+ "bookmark": {
2200
+ "oneOf": [
2201
+ {
2202
+ "type": "string"
2203
+ },
2204
+ {
2205
+ "type": "integer"
2206
+ }
2207
+ ],
2208
+ "description": "If retrieving another page, the bookmark from the previous request must be supplied."
2209
+ },
2210
+ "limit": {
2211
+ "type": "integer",
2212
+ "description": "The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000."
2213
+ },
2214
+ "sort": {
2215
+ "type": "object",
2216
+ "description": "A set of parameters describing the sort behaviour of the search.",
2217
+ "properties": {
2218
+ "order": {
2219
+ "type": "string",
2220
+ "enum": [
2221
+ "ascending",
2222
+ "descending"
2223
+ ],
2224
+ "description": "The order of the sort, by default this is ascending."
2225
+ },
2226
+ "column": {
2227
+ "type": "string",
2228
+ "description": "The name of the column by which the rows will be sorted."
2229
+ },
2230
+ "type": {
2231
+ "type": "string",
2232
+ "enum": [
2233
+ "string",
2234
+ "number"
2235
+ ],
2236
+ "description": "Defines whether the column should be treated as a string or as numbers when sorting."
2237
+ }
2238
+ }
2239
+ }
2240
+ }
2244
2241
  }
2245
2242
  }
2246
2243
  }
@@ -2292,7 +2289,7 @@
2292
2289
  },
2293
2290
  "responses": {
2294
2291
  "200": {
2295
- "description": "Returns the created table, including the ID which has been generated for it. This can be internal or external datasources.",
2292
+ "description": "Returns the created table, including the ID which has been generated for it. This can be internal or external data sources.",
2296
2293
  "content": {
2297
2294
  "application/json": {
2298
2295
  "schema": {