@budibase/server 1.3.21 → 1.3.22-alpha.1

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 (310) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/builder/assets/index.96c69636.js +1008 -0
  3. package/builder/assets/index.c167b5c3.css +6 -0
  4. package/builder/index.html +2 -4
  5. package/coverage/clover.xml +308 -338
  6. package/coverage/coverage-final.json +19 -21
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +41 -8
  9. package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
  10. package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
  11. package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
  12. package/coverage/lcov-report/api/controllers/datasource.js.html +73 -34
  13. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  14. package/coverage/lcov-report/api/controllers/index.html +27 -57
  15. package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
  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 +2 -2
  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/script.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  32. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  36. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  43. package/coverage/lcov-report/api/index.html +1 -1
  44. package/coverage/lcov-report/api/index.js.html +13 -13
  45. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  46. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  47. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/index.html +1 -1
  56. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  58. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/table.js.html +2 -2
  67. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/utils/index.html +9 -9
  70. package/coverage/lcov-report/api/routes/utils/validators.js.html +75 -12
  71. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  72. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  73. package/coverage/lcov-report/automations/actions.js.html +1 -1
  74. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  75. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  76. package/coverage/lcov-report/automations/index.html +1 -1
  77. package/coverage/lcov-report/automations/index.js.html +1 -1
  78. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  79. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/index.html +1 -1
  85. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  87. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  95. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  96. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  104. package/coverage/lcov-report/constants/index.html +1 -1
  105. package/coverage/lcov-report/constants/index.js.html +1 -1
  106. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  107. package/coverage/lcov-report/constants/screens.js.html +1 -1
  108. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  109. package/coverage/lcov-report/db/index.html +14 -14
  110. package/coverage/lcov-report/db/index.js.html +1 -1
  111. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  112. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  115. package/coverage/lcov-report/db/newid.js.html +2 -2
  116. package/coverage/lcov-report/db/utils.js.html +30 -18
  117. package/coverage/lcov-report/events/AutomationEmitter.js.html +3 -3
  118. package/coverage/lcov-report/events/index.html +1 -1
  119. package/coverage/lcov-report/events/index.js.html +1 -1
  120. package/coverage/lcov-report/events/utils.js.html +1 -1
  121. package/coverage/lcov-report/index.html +44 -44
  122. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  123. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  124. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  125. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  126. package/coverage/lcov-report/middleware/currentapp.js.html +46 -40
  127. package/coverage/lcov-report/middleware/index.html +15 -15
  128. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  129. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  130. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  131. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  132. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  133. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  134. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  135. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  136. package/coverage/lcov-report/utilities/global.js.html +16 -16
  137. package/coverage/lcov-report/utilities/index.html +15 -15
  138. package/coverage/lcov-report/utilities/index.js.html +24 -24
  139. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  140. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  141. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  142. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  143. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  144. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  146. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  147. package/coverage/lcov-report/utilities/security.js.html +2 -2
  148. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  149. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  150. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  151. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  152. package/coverage/lcov-report/utilities/users.js.html +1 -1
  153. package/coverage/lcov-report/utilities/workerRequests.js.html +32 -8
  154. package/coverage/lcov.info +521 -558
  155. package/dist/api/controllers/application.js +5 -5
  156. package/dist/api/controllers/auth.js +9 -0
  157. package/dist/api/controllers/component.js +19 -6
  158. package/dist/api/controllers/datasource.js +21 -8
  159. package/dist/api/controllers/deploy/index.js +1 -8
  160. package/dist/api/controllers/integration.js +4 -4
  161. package/dist/{migrations/functions/usageQuotas/syncDevelopers.js → api/controllers/plugin/file.js} +13 -13
  162. package/dist/api/controllers/plugin/github.js +69 -0
  163. package/dist/api/controllers/plugin/index.js +144 -0
  164. package/dist/api/controllers/plugin/npm.js +58 -0
  165. package/dist/api/controllers/plugin/uploaders.js +11 -0
  166. package/dist/{migrations/functions/usageQuotas/syncPublishedApps.js → api/controllers/plugin/url.js} +13 -15
  167. package/dist/api/controllers/plugin/utils.js +26 -0
  168. package/dist/api/controllers/row/external.js +1 -1
  169. package/dist/api/controllers/screen.js +62 -14
  170. package/dist/api/controllers/static/index.js +1 -0
  171. package/dist/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  172. package/dist/api/controllers/static/templates/preview.hbs +5 -1
  173. package/dist/api/index.js +1 -1
  174. package/dist/api/routes/application.js +3 -2
  175. package/dist/api/routes/index.js +2 -0
  176. package/dist/{migrations/functions/publishedAppsQuota.js → api/routes/plugin.js} +13 -21
  177. package/dist/api/routes/public/rows.js +1 -82
  178. package/dist/api/routes/public/tables.js +1 -1
  179. package/dist/api/routes/table.js +1 -1
  180. package/dist/api/routes/utils/validators.js +20 -2
  181. package/dist/app.js +16 -1
  182. package/dist/db/utils.js +3 -0
  183. package/dist/environment.js +1 -0
  184. package/dist/integrations/airtable.js +126 -129
  185. package/dist/integrations/arangodb.js +86 -89
  186. package/dist/integrations/base/query.js +2 -2
  187. package/dist/integrations/base/sqlTable.js +3 -1
  188. package/dist/integrations/couchdb.js +80 -83
  189. package/dist/integrations/dynamodb.js +161 -164
  190. package/dist/integrations/elasticsearch.js +135 -138
  191. package/dist/integrations/firebase.js +154 -157
  192. package/dist/integrations/googlesheets.js +323 -327
  193. package/dist/integrations/index.js +99 -51
  194. package/dist/integrations/microsoftSqlServer.js +240 -243
  195. package/dist/integrations/mongodb.js +239 -242
  196. package/dist/integrations/mysql.js +215 -219
  197. package/dist/integrations/oracle.js +318 -322
  198. package/dist/integrations/postgres.js +262 -265
  199. package/dist/integrations/redis.js +134 -139
  200. package/dist/integrations/rest.js +289 -292
  201. package/dist/integrations/s3.js +61 -64
  202. package/dist/integrations/snowflake.js +83 -86
  203. package/dist/middleware/currentapp.js +2 -0
  204. package/dist/migrations/functions/backfill/global.js +0 -3
  205. package/dist/migrations/index.js +0 -10
  206. package/dist/package.json +9 -6
  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 +105 -1
  211. package/dist/utilities/workerRequests.js +4 -0
  212. package/dist/watch.js +77 -0
  213. package/dist/websocket.js +22 -0
  214. package/package.json +10 -7
  215. package/scripts/dev/manage.js +4 -0
  216. package/scripts/localdomain.js +3 -1
  217. package/specs/openapi.json +115 -112
  218. package/specs/openapi.yaml +96 -94
  219. package/specs/resources/misc.js +116 -0
  220. package/specs/resources/query.js +1 -1
  221. package/src/api/controllers/application.ts +1 -2
  222. package/src/api/controllers/auth.js +11 -0
  223. package/src/api/controllers/component.ts +57 -0
  224. package/src/api/controllers/datasource.js +21 -8
  225. package/src/api/controllers/deploy/index.ts +1 -6
  226. package/src/api/controllers/integration.js +4 -4
  227. package/src/api/controllers/plugin/file.ts +15 -0
  228. package/src/api/controllers/plugin/github.ts +75 -0
  229. package/src/api/controllers/plugin/index.ts +134 -0
  230. package/src/api/controllers/plugin/npm.ts +56 -0
  231. package/src/api/controllers/plugin/uploaders.ts +4 -0
  232. package/src/api/controllers/plugin/url.ts +12 -0
  233. package/src/api/controllers/plugin/utils.ts +19 -0
  234. package/src/api/controllers/public/mapping/types.ts +8 -0
  235. package/src/api/controllers/row/external.js +1 -1
  236. package/src/api/controllers/screen.ts +122 -0
  237. package/src/api/controllers/static/index.ts +1 -1
  238. package/src/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  239. package/src/api/controllers/static/templates/preview.hbs +5 -1
  240. package/src/api/index.js +1 -1
  241. package/src/api/routes/application.ts +13 -2
  242. package/src/api/routes/index.ts +2 -0
  243. package/src/api/routes/plugin.ts +14 -0
  244. package/src/api/routes/public/rows.ts +1 -82
  245. package/src/api/routes/public/tables.ts +1 -1
  246. package/src/api/routes/table.js +1 -1
  247. package/src/api/routes/tests/query.spec.js +8 -25
  248. package/src/api/routes/tests/user.spec.js +0 -2
  249. package/src/api/routes/utils/validators.js +26 -5
  250. package/src/app.ts +25 -2
  251. package/src/db/utils.js +4 -0
  252. package/src/definitions/openapi.ts +56 -55
  253. package/src/environment.js +1 -0
  254. package/src/integrations/airtable.ts +116 -118
  255. package/src/integrations/arangodb.ts +87 -89
  256. package/src/integrations/base/query.ts +2 -2
  257. package/src/integrations/base/sqlTable.ts +3 -1
  258. package/src/integrations/couchdb.ts +83 -89
  259. package/src/integrations/dynamodb.ts +173 -175
  260. package/src/integrations/elasticsearch.ts +120 -122
  261. package/src/integrations/firebase.ts +157 -159
  262. package/src/integrations/googlesheets.ts +328 -338
  263. package/src/integrations/index.ts +64 -21
  264. package/src/integrations/microsoftSqlServer.ts +249 -251
  265. package/src/integrations/mongodb.ts +261 -258
  266. package/src/integrations/mysql.ts +229 -234
  267. package/src/integrations/oracle.ts +373 -380
  268. package/src/integrations/postgres.ts +264 -268
  269. package/src/integrations/redis.ts +128 -132
  270. package/src/integrations/rest.ts +324 -329
  271. package/src/integrations/s3.ts +68 -71
  272. package/src/integrations/snowflake.ts +80 -82
  273. package/src/integrations/tests/{airtable.spec.js → airtable.spec.ts} +21 -18
  274. package/src/integrations/tests/{arangodb.spec.js → arangodb.spec.ts} +12 -9
  275. package/src/integrations/tests/{couchdb.spec.js → couchdb.spec.ts} +33 -27
  276. package/src/integrations/tests/{dynamodb.spec.js → dynamodb.spec.ts} +45 -41
  277. package/src/integrations/tests/{elasticsearch.spec.js → elasticsearch.spec.ts} +22 -21
  278. package/src/integrations/tests/{firebase.spec.js → firebase.spec.ts} +33 -28
  279. package/src/integrations/tests/{microsoftSqlServer.spec.js → microsoftSqlServer.spec.ts} +12 -11
  280. package/src/integrations/tests/{mongo.spec.js → mongo.spec.ts} +46 -35
  281. package/src/integrations/tests/{mysql.spec.js → mysql.spec.ts} +17 -15
  282. package/src/integrations/tests/{oracle.spec.js → oracle.spec.ts} +19 -17
  283. package/src/integrations/tests/{postgres.spec.js → postgres.spec.ts} +19 -17
  284. package/src/integrations/tests/{redis.spec.js → redis.spec.ts} +27 -18
  285. package/src/integrations/tests/{rest.spec.js → rest.spec.ts} +22 -14
  286. package/src/integrations/tests/{s3.spec.js → s3.spec.ts} +10 -8
  287. package/src/integrations/tests/{sql.spec.js → sql.spec.ts} +228 -177
  288. package/src/middleware/currentapp.js +2 -0
  289. package/src/migrations/functions/backfill/global.ts +0 -3
  290. package/src/migrations/index.ts +0 -16
  291. package/src/module.d.ts +2 -0
  292. package/src/tests/utilities/TestConfiguration.js +1 -1
  293. package/src/threads/query.ts +2 -2
  294. package/src/utilities/fileSystem/index.js +123 -0
  295. package/src/utilities/workerRequests.js +8 -0
  296. package/src/watch.ts +38 -0
  297. package/src/websocket.ts +26 -0
  298. package/builder/assets/index.8d12d461.css +0 -6
  299. package/builder/assets/index.d354271c.js +0 -879
  300. package/builder/assets/vendor.5e1fe644.css +0 -1
  301. package/builder/assets/vendor.67dbd8fa.js +0 -248
  302. package/coverage/lcov-report/api/controllers/component.js.html +0 -199
  303. package/coverage/lcov-report/api/controllers/screen.js.html +0 -259
  304. package/dist/migrations/functions/developerQuota.js +0 -49
  305. package/src/api/controllers/component.js +0 -38
  306. package/src/api/controllers/screen.js +0 -58
  307. package/src/migrations/functions/developerQuota.ts +0 -15
  308. package/src/migrations/functions/publishedAppsQuota.ts +0 -13
  309. package/src/migrations/functions/usageQuotas/syncDevelopers.ts +0 -19
  310. package/src/migrations/functions/usageQuotas/syncPublishedApps.ts +0 -21
@@ -10,74 +10,71 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const types_1 = require("@budibase/types");
13
- var S3Module;
14
- (function (S3Module) {
15
- const AWS = require("aws-sdk");
16
- const SCHEMA = {
17
- docs: "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
18
- description: "Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.",
19
- friendlyName: "Amazon S3",
20
- type: "Object store",
21
- datasource: {
22
- region: {
23
- type: "string",
24
- required: false,
25
- default: "us-east-1",
26
- },
27
- accessKeyId: {
28
- type: "password",
29
- required: true,
30
- },
31
- secretAccessKey: {
32
- type: "password",
33
- required: true,
34
- },
35
- endpoint: {
36
- type: "string",
37
- required: false,
38
- },
39
- signatureVersion: {
40
- type: "string",
41
- required: false,
42
- default: "v4",
43
- },
13
+ const AWS = require("aws-sdk");
14
+ const SCHEMA = {
15
+ docs: "https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/S3.html",
16
+ description: "Amazon Simple Storage Service (Amazon S3) is an object storage service that offers industry-leading scalability, data availability, security, and performance.",
17
+ friendlyName: "Amazon S3",
18
+ type: "Object store",
19
+ datasource: {
20
+ region: {
21
+ type: "string",
22
+ required: false,
23
+ default: "us-east-1",
24
+ },
25
+ accessKeyId: {
26
+ type: "password",
27
+ required: true,
44
28
  },
45
- query: {
46
- read: {
47
- type: types_1.QueryType.FIELDS,
48
- fields: {
49
- bucket: {
50
- type: "string",
51
- required: true,
52
- },
29
+ secretAccessKey: {
30
+ type: "password",
31
+ required: true,
32
+ },
33
+ endpoint: {
34
+ type: "string",
35
+ required: false,
36
+ },
37
+ signatureVersion: {
38
+ type: "string",
39
+ required: false,
40
+ default: "v4",
41
+ },
42
+ },
43
+ query: {
44
+ read: {
45
+ type: types_1.QueryType.FIELDS,
46
+ fields: {
47
+ bucket: {
48
+ type: "string",
49
+ required: true,
53
50
  },
54
51
  },
55
52
  },
56
- };
57
- class S3Integration {
58
- constructor(config) {
59
- this.config = config;
60
- if (this.config.endpoint) {
61
- this.config.s3ForcePathStyle = true;
62
- }
63
- else {
64
- delete this.config.endpoint;
65
- }
66
- this.client = new AWS.S3(this.config);
53
+ },
54
+ };
55
+ class S3Integration {
56
+ constructor(config) {
57
+ this.config = config;
58
+ if (this.config.endpoint) {
59
+ this.config.s3ForcePathStyle = true;
67
60
  }
68
- read(query) {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- const response = yield this.client
71
- .listObjects({
72
- Bucket: query.bucket,
73
- })
74
- .promise();
75
- return response.Contents;
76
- });
61
+ else {
62
+ delete this.config.endpoint;
77
63
  }
64
+ this.client = new AWS.S3(this.config);
65
+ }
66
+ read(query) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const response = yield this.client
69
+ .listObjects({
70
+ Bucket: query.bucket,
71
+ })
72
+ .promise();
73
+ return response.Contents;
74
+ });
78
75
  }
79
- module.exports = {
80
- schema: SCHEMA,
81
- integration: S3Integration,
82
- };
83
- })(S3Module || (S3Module = {}));
76
+ }
77
+ exports.default = {
78
+ schema: SCHEMA,
79
+ integration: S3Integration,
80
+ };
@@ -11,92 +11,89 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const types_1 = require("@budibase/types");
13
13
  const snowflake_promise_1 = require("snowflake-promise");
14
- var SnowflakeModule;
15
- (function (SnowflakeModule) {
16
- const SCHEMA = {
17
- docs: "https://developers.snowflake.com/",
18
- description: "Snowflake is a solution for data warehousing, data lakes, data engineering, data science, data application development, and securely sharing and consuming shared data.",
19
- friendlyName: "Snowflake",
20
- type: "Relational",
21
- datasource: {
22
- account: {
23
- type: "string",
24
- required: true,
25
- },
26
- username: {
27
- type: "string",
28
- required: true,
29
- },
30
- password: {
31
- type: "password",
32
- required: true,
33
- },
34
- warehouse: {
35
- type: "string",
36
- required: true,
37
- },
38
- database: {
39
- type: "string",
40
- required: true,
41
- },
42
- schema: {
43
- type: "string",
44
- required: true,
45
- },
14
+ const SCHEMA = {
15
+ docs: "https://developers.snowflake.com/",
16
+ description: "Snowflake is a solution for data warehousing, data lakes, data engineering, data science, data application development, and securely sharing and consuming shared data.",
17
+ friendlyName: "Snowflake",
18
+ type: "Relational",
19
+ datasource: {
20
+ account: {
21
+ type: "string",
22
+ required: true,
46
23
  },
47
- query: {
48
- create: {
49
- type: types_1.QueryType.SQL,
50
- },
51
- read: {
52
- type: types_1.QueryType.SQL,
53
- },
54
- update: {
55
- type: types_1.QueryType.SQL,
56
- },
57
- delete: {
58
- type: types_1.QueryType.SQL,
59
- },
24
+ username: {
25
+ type: "string",
26
+ required: true,
60
27
  },
61
- };
62
- class SnowflakeIntegration {
63
- constructor(config) {
64
- this.client = new snowflake_promise_1.Snowflake(config);
65
- }
66
- internalQuery(query) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- yield this.client.connect();
69
- try {
70
- return yield this.client.execute(query.sql);
71
- }
72
- catch (err) {
73
- throw (err === null || err === void 0 ? void 0 : err.message.split(":")[1]) || (err === null || err === void 0 ? void 0 : err.message);
74
- }
75
- });
76
- }
77
- create(query) {
78
- return __awaiter(this, void 0, void 0, function* () {
79
- return this.internalQuery(query);
80
- });
81
- }
82
- read(query) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- return this.internalQuery(query);
85
- });
86
- }
87
- update(query) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- return this.internalQuery(query);
90
- });
91
- }
92
- delete(query) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- return this.internalQuery(query);
95
- });
96
- }
28
+ password: {
29
+ type: "password",
30
+ required: true,
31
+ },
32
+ warehouse: {
33
+ type: "string",
34
+ required: true,
35
+ },
36
+ database: {
37
+ type: "string",
38
+ required: true,
39
+ },
40
+ schema: {
41
+ type: "string",
42
+ required: true,
43
+ },
44
+ },
45
+ query: {
46
+ create: {
47
+ type: types_1.QueryType.SQL,
48
+ },
49
+ read: {
50
+ type: types_1.QueryType.SQL,
51
+ },
52
+ update: {
53
+ type: types_1.QueryType.SQL,
54
+ },
55
+ delete: {
56
+ type: types_1.QueryType.SQL,
57
+ },
58
+ },
59
+ };
60
+ class SnowflakeIntegration {
61
+ constructor(config) {
62
+ this.client = new snowflake_promise_1.Snowflake(config);
63
+ }
64
+ internalQuery(query) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ yield this.client.connect();
67
+ try {
68
+ return yield this.client.execute(query.sql);
69
+ }
70
+ catch (err) {
71
+ throw (err === null || err === void 0 ? void 0 : err.message.split(":")[1]) || (err === null || err === void 0 ? void 0 : err.message);
72
+ }
73
+ });
74
+ }
75
+ create(query) {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ return this.internalQuery(query);
78
+ });
79
+ }
80
+ read(query) {
81
+ return __awaiter(this, void 0, void 0, function* () {
82
+ return this.internalQuery(query);
83
+ });
97
84
  }
98
- module.exports = {
99
- schema: SCHEMA,
100
- integration: SnowflakeIntegration,
101
- };
102
- })(SnowflakeModule || (SnowflakeModule = {}));
85
+ update(query) {
86
+ return __awaiter(this, void 0, void 0, function* () {
87
+ return this.internalQuery(query);
88
+ });
89
+ }
90
+ delete(query) {
91
+ return __awaiter(this, void 0, void 0, function* () {
92
+ return this.internalQuery(query);
93
+ });
94
+ }
95
+ }
96
+ exports.default = {
97
+ schema: SCHEMA,
98
+ integration: SnowflakeIntegration,
99
+ };
@@ -105,10 +105,12 @@ module.exports = (ctx, next) => __awaiter(void 0, void 0, void 0, function* () {
105
105
  ctx.appId = appId;
106
106
  if (roleId) {
107
107
  ctx.roleId = roleId;
108
+ const globalId = ctx.user ? ctx.user._id : undefined;
108
109
  const userId = ctx.user ? generateUserMetadataID(ctx.user._id) : null;
109
110
  ctx.user = Object.assign(Object.assign({}, ctx.user), {
110
111
  // override userID with metadata one
111
112
  _id: userId, userId,
113
+ globalId,
112
114
  roleId, role: yield getRole(roleId) });
113
115
  }
114
116
  if ((requestAppId !== appId ||
@@ -57,11 +57,9 @@ const formatUsage = (usage) => {
57
57
  let maxAutomations = 0;
58
58
  let maxQueries = 0;
59
59
  let rows = 0;
60
- let developers = 0;
61
60
  if (usage) {
62
61
  if (usage.usageQuota) {
63
62
  rows = usage.usageQuota.rows;
64
- developers = usage.usageQuota.developers;
65
63
  }
66
64
  if (usage.monthly) {
67
65
  for (const value of Object.values(usage.monthly)) {
@@ -78,7 +76,6 @@ const formatUsage = (usage) => {
78
76
  maxAutomations,
79
77
  maxQueries,
80
78
  rows,
81
- developers,
82
79
  };
83
80
  };
84
81
  const EVENTS = [
@@ -43,8 +43,6 @@ const environment_1 = __importDefault(require("../environment"));
43
43
  const userEmailViewCasing = __importStar(require("./functions/userEmailViewCasing"));
44
44
  const quota1 = __importStar(require("./functions/quotas1"));
45
45
  const appUrls = __importStar(require("./functions/appUrls"));
46
- const developerQuota = __importStar(require("./functions/developerQuota"));
47
- const publishedAppsQuota = __importStar(require("./functions/publishedAppsQuota"));
48
46
  const backfill = __importStar(require("./functions/backfill"));
49
47
  /**
50
48
  * Populate the migration function and additional configuration from
@@ -67,14 +65,6 @@ const buildMigrations = () => {
67
65
  serverMigrations.push(Object.assign(Object.assign({}, definition), { appOpts: { all: true }, fn: appUrls.run }));
68
66
  break;
69
67
  }
70
- case types_1.MigrationName.DEVELOPER_QUOTA: {
71
- serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: developerQuota.run }));
72
- break;
73
- }
74
- case types_1.MigrationName.PUBLISHED_APP_QUOTA: {
75
- serverMigrations.push(Object.assign(Object.assign({}, definition), { fn: publishedAppsQuota.run }));
76
- break;
77
- }
78
68
  case types_1.MigrationName.EVENT_APP_BACKFILL: {
79
69
  serverMigrations.push(Object.assign(Object.assign({}, definition), { appOpts: { all: true }, fn: backfill.app.run, silent: !!environment_1.default.SELF_HOSTED, preventRetry: !!environment_1.default.SELF_HOSTED }));
80
70
  break;
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.3.20",
4
+ "version": "1.3.22-alpha.0",
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.20",
81
- "@budibase/client": "^1.3.20",
82
- "@budibase/pro": "1.3.20",
83
- "@budibase/string-templates": "^1.3.20",
84
- "@budibase/types": "^1.3.20",
80
+ "@budibase/backend-core": "1.3.22-alpha.0",
81
+ "@budibase/client": "1.3.22-alpha.0",
82
+ "@budibase/pro": "1.3.22-alpha.0",
83
+ "@budibase/string-templates": "1.3.22-alpha.0",
84
+ "@budibase/types": "1.3.22-alpha.0",
85
85
  "@bull-board/api": "3.7.0",
86
86
  "@bull-board/koa": "3.9.4",
87
87
  "@elastic/elasticsearch": "7.10.0",
@@ -95,6 +95,7 @@
95
95
  "bcryptjs": "2.4.3",
96
96
  "bull": "4.8.5",
97
97
  "chmodr": "1.2.0",
98
+ "chokidar": "3.5.3",
98
99
  "csvtojson": "2.0.10",
99
100
  "curlconverter": "3.21.0",
100
101
  "dotenv": "8.2.0",
@@ -138,8 +139,10 @@
138
139
  "redis": "4",
139
140
  "server-destroy": "1.0.1",
140
141
  "snowflake-promise": "^4.5.0",
142
+ "socket.io": "^4.5.1",
141
143
  "svelte": "3.49.0",
142
144
  "swagger-parser": "10.0.3",
145
+ "tar": "6.1.11",
143
146
  "to-json-schema": "0.2.5",
144
147
  "uuid": "3.3.2",
145
148
  "validate.js": "0.13.1",
@@ -504,7 +504,7 @@ class TestConfiguration {
504
504
  createQuery(config = null) {
505
505
  return __awaiter(this, void 0, void 0, function* () {
506
506
  if (!this.datasource && !config) {
507
- throw "No data source created for query.";
507
+ throw "No datasource created for query.";
508
508
  }
509
509
  config = config || basicQuery(this.datasource._id);
510
510
  return this._req(config, null, controllers.query.save);
@@ -16,7 +16,7 @@ exports.execute = void 0;
16
16
  const utils_1 = __importDefault(require("./utils"));
17
17
  utils_1.default.threadSetup();
18
18
  const ScriptRunner = require("../utilities/scriptRunner");
19
- const { integrations } = require("../integrations");
19
+ const { getIntegration } = require("../integrations");
20
20
  const { processStringSync } = require("@budibase/string-templates");
21
21
  const { doInAppContext, getAppDB } = require("@budibase/backend-core/context");
22
22
  const { refreshOAuthToken, updateUserOAuth, } = require("@budibase/backend-core/auth");
@@ -52,7 +52,7 @@ class QueryRunner {
52
52
  let { datasource, fields, queryVerb, transformer } = this;
53
53
  let datasourceClone = cloneDeep(datasource);
54
54
  let fieldsClone = cloneDeep(fields);
55
- const Integration = integrations[datasourceClone.source];
55
+ const Integration = yield getIntegration(datasourceClone.source);
56
56
  if (!Integration) {
57
57
  throw "Integration type does not exist.";
58
58
  }