@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
@@ -0,0 +1,21 @@
1
+ import { getTenantId } from "@budibase/backend-core/tenancy"
2
+ import { getAllApps } from "@budibase/backend-core/db"
3
+ import { quotas, QuotaUsageType, StaticQuotaName } from "@budibase/pro"
4
+
5
+ export const run = async () => {
6
+ // get app count
7
+ const opts: any = { dev: false }
8
+ const prodApps = await getAllApps(opts)
9
+ const prodAppCount = prodApps ? prodApps.length : 0
10
+
11
+ // sync app count
12
+ const tenantId = getTenantId()
13
+ console.log(
14
+ `[Tenant: ${tenantId}] Syncing published app count: ${prodAppCount}`
15
+ )
16
+ await quotas.setUsage(
17
+ prodAppCount,
18
+ StaticQuotaName.PUBLISHED_APPS,
19
+ QuotaUsageType.STATIC
20
+ )
21
+ }
@@ -6,6 +6,8 @@ import env from "../environment"
6
6
  import * as userEmailViewCasing from "./functions/userEmailViewCasing"
7
7
  import * as quota1 from "./functions/quotas1"
8
8
  import * as appUrls from "./functions/appUrls"
9
+ import * as developerQuota from "./functions/developerQuota"
10
+ import * as publishedAppsQuota from "./functions/publishedAppsQuota"
9
11
  import * as backfill from "./functions/backfill"
10
12
 
11
13
  /**
@@ -40,6 +42,20 @@ export const buildMigrations = () => {
40
42
  })
41
43
  break
42
44
  }
45
+ case MigrationName.DEVELOPER_QUOTA: {
46
+ serverMigrations.push({
47
+ ...definition,
48
+ fn: developerQuota.run,
49
+ })
50
+ break
51
+ }
52
+ case MigrationName.PUBLISHED_APP_QUOTA: {
53
+ serverMigrations.push({
54
+ ...definition,
55
+ fn: publishedAppsQuota.run,
56
+ })
57
+ break
58
+ }
43
59
  case MigrationName.EVENT_APP_BACKFILL: {
44
60
  serverMigrations.push({
45
61
  ...definition,
package/src/module.d.ts CHANGED
@@ -10,5 +10,3 @@ declare module "@budibase/backend-core/sessions"
10
10
  declare module "@budibase/backend-core/encryption"
11
11
  declare module "@budibase/backend-core/utils"
12
12
  declare module "@budibase/backend-core/redis"
13
- declare module "@budibase/backend-core/objectStore"
14
- declare module "@budibase/backend-core/plugins"
@@ -560,7 +560,7 @@ class TestConfiguration {
560
560
 
561
561
  async createQuery(config = null) {
562
562
  if (!this.datasource && !config) {
563
- throw "No datasource created for query."
563
+ throw "No data source created for query."
564
564
  }
565
565
  config = config || basicQuery(this.datasource._id)
566
566
  return this._req(config, null, controllers.query.save)
@@ -2,7 +2,7 @@ import { default as threadUtils } from "./utils"
2
2
  threadUtils.threadSetup()
3
3
  import { WorkerCallback, QueryEvent, QueryVariable } from "./definitions"
4
4
  const ScriptRunner = require("../utilities/scriptRunner")
5
- const { getIntegration } = require("../integrations")
5
+ const { integrations } = require("../integrations")
6
6
  const { processStringSync } = require("@budibase/string-templates")
7
7
  const { doInAppContext, getAppDB } = require("@budibase/backend-core/context")
8
8
  const {
@@ -62,7 +62,7 @@ class QueryRunner {
62
62
  let datasourceClone = cloneDeep(datasource)
63
63
  let fieldsClone = cloneDeep(fields)
64
64
 
65
- const Integration = await getIntegration(datasourceClone.source)
65
+ const Integration = integrations[datasourceClone.source]
66
66
  if (!Integration) {
67
67
  throw "Integration type does not exist."
68
68
  }
@@ -15,11 +15,9 @@ const {
15
15
  streamUpload,
16
16
  deleteFolder,
17
17
  downloadTarball,
18
- downloadTarballDirect,
19
18
  deleteFiles,
20
19
  } = require("./utilities")
21
20
  const { updateClientLibrary } = require("./clientLibrary")
22
- const { checkSlashesInUrl } = require("../")
23
21
  const env = require("../../environment")
24
22
  const {
25
23
  USER_METDATA_PREFIX,
@@ -28,12 +26,9 @@ const {
28
26
  } = require("../../db/utils")
29
27
  const MemoryStream = require("memorystream")
30
28
  const { getAppId } = require("@budibase/backend-core/context")
31
- const tar = require("tar")
32
- const fetch = require("node-fetch")
33
29
 
34
30
  const TOP_LEVEL_PATH = join(__dirname, "..", "..", "..")
35
31
  const NODE_MODULES_PATH = join(TOP_LEVEL_PATH, "node_modules")
36
- const DATASOURCE_PATH = join(budibaseTempDir(), "datasource")
37
32
 
38
33
  /**
39
34
  * The single stack system (Cloud and Builder) should not make use of the file system where possible,
@@ -112,13 +107,6 @@ exports.loadHandlebarsFile = path => {
112
107
  return fs.readFileSync(path, "utf8")
113
108
  }
114
109
 
115
- /**
116
- * Same as above just with a different name.
117
- */
118
- exports.loadJSFile = (directory, name) => {
119
- return fs.readFileSync(join(directory, name), "utf8")
120
- }
121
-
122
110
  /**
123
111
  * When return a file from the API need to write the file to the system temporarily so we
124
112
  * can create a read stream to send.
@@ -347,123 +335,6 @@ exports.cleanup = appIds => {
347
335
  }
348
336
  }
349
337
 
350
- const createTempFolder = item => {
351
- const path = join(budibaseTempDir(), item)
352
- try {
353
- // remove old tmp directories automatically - don't combine
354
- if (fs.existsSync(path)) {
355
- fs.rmSync(path, { recursive: true, force: true })
356
- }
357
- fs.mkdirSync(path)
358
- } catch (err) {
359
- throw new Error(`Path cannot be created: ${err.message}`)
360
- }
361
-
362
- return path
363
- }
364
- exports.createTempFolder = createTempFolder
365
-
366
- const extractTarball = async (fromFilePath, toPath) => {
367
- await tar.extract({
368
- file: fromFilePath,
369
- C: toPath,
370
- })
371
- }
372
- exports.extractTarball = extractTarball
373
-
374
- const getPluginMetadata = async path => {
375
- let metadata = {}
376
- try {
377
- const pkg = fs.readFileSync(join(path, "package.json"), "utf8")
378
- const schema = fs.readFileSync(join(path, "schema.json"), "utf8")
379
-
380
- metadata.schema = JSON.parse(schema)
381
- metadata.package = JSON.parse(pkg)
382
-
383
- if (
384
- !metadata.package.name ||
385
- !metadata.package.version ||
386
- !metadata.package.description
387
- ) {
388
- throw new Error(
389
- "package.json is missing one of 'name', 'version' or 'description'."
390
- )
391
- }
392
- } catch (err) {
393
- throw new Error(
394
- `Unable to process schema.json/package.json in plugin. ${err.message}`
395
- )
396
- }
397
-
398
- return { metadata, directory: path }
399
- }
400
- exports.getPluginMetadata = getPluginMetadata
401
-
402
- exports.getDatasourcePlugin = async (name, url, hash) => {
403
- if (!fs.existsSync(DATASOURCE_PATH)) {
404
- fs.mkdirSync(DATASOURCE_PATH)
405
- }
406
- const filename = join(DATASOURCE_PATH, name)
407
- const metadataName = `${filename}.bbmetadata`
408
- if (fs.existsSync(filename)) {
409
- const currentHash = fs.readFileSync(metadataName, "utf8")
410
- // if hash is the same return the file, otherwise remove it and re-download
411
- if (currentHash === hash) {
412
- return require(filename)
413
- } else {
414
- console.log(`Updating plugin: ${name}`)
415
- delete require.cache[require.resolve(filename)]
416
- fs.unlinkSync(filename)
417
- }
418
- }
419
- const fullUrl = checkSlashesInUrl(
420
- `${env.MINIO_URL}/${ObjectStoreBuckets.PLUGINS}/${url}`
421
- )
422
- const response = await fetch(fullUrl)
423
- if (response.status === 200) {
424
- const content = await response.text()
425
- fs.writeFileSync(filename, content)
426
- fs.writeFileSync(metadataName, hash)
427
- return require(filename)
428
- } else {
429
- throw new Error(
430
- `Unable to retrieve plugin - reason: ${await response.text()}`
431
- )
432
- }
433
- }
434
-
435
- /**
436
- * Find for a file recursively from start path applying filter, return first match
437
- */
438
- exports.findFileRec = (startPath, filter) => {
439
- if (!fs.existsSync(startPath)) {
440
- return
441
- }
442
-
443
- const files = fs.readdirSync(startPath)
444
- for (let i = 0, len = files.length; i < len; i++) {
445
- const filename = join(startPath, files[i])
446
- const stat = fs.lstatSync(filename)
447
-
448
- if (stat.isDirectory()) {
449
- return exports.findFileRec(filename, filter)
450
- } else if (filename.endsWith(filter)) {
451
- return filename
452
- }
453
- }
454
- }
455
-
456
- /**
457
- * Remove a folder which is not empty from the file system
458
- */
459
- exports.deleteFolderFileSystem = path => {
460
- if (!fs.existsSync(path)) {
461
- return
462
- }
463
-
464
- fs.rmSync(path, { recursive: true, force: true })
465
- }
466
-
467
338
  /**
468
339
  * Full function definition for below can be found in the utilities.
469
340
  */
@@ -471,6 +342,5 @@ exports.upload = upload
471
342
  exports.retrieve = retrieve
472
343
  exports.retrieveToTmp = retrieveToTmp
473
344
  exports.deleteFiles = deleteFiles
474
- exports.downloadTarballDirect = downloadTarballDirect
475
345
  exports.TOP_LEVEL_PATH = TOP_LEVEL_PATH
476
346
  exports.NODE_MODULES_PATH = NODE_MODULES_PATH
@@ -153,11 +153,3 @@ exports.getChecklist = async () => {
153
153
  )
154
154
  return checkResponse(response, "get checklist")
155
155
  }
156
-
157
- exports.generateApiKey = async userId => {
158
- const response = await fetch(
159
- checkSlashesInUrl(env.WORKER_URL + "/api/global/self/api_key"),
160
- request(null, { method: "POST", body: { userId } })
161
- )
162
- return checkResponse(response, "generate API key")
163
- }