@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
@@ -10,138 +10,141 @@ 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
- const Airtable = require("airtable");
14
- const SCHEMA = {
15
- docs: "https://airtable.com/api",
16
- description: "Airtable is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet.",
17
- friendlyName: "Airtable",
18
- type: "Spreadsheet",
19
- datasource: {
20
- apiKey: {
21
- type: types_1.DatasourceFieldType.PASSWORD,
22
- default: "enter api key",
23
- required: true,
24
- },
25
- base: {
26
- type: types_1.DatasourceFieldType.STRING,
27
- default: "mybase",
28
- required: true,
29
- },
30
- },
31
- query: {
32
- create: {
33
- type: types_1.QueryType.FIELDS,
34
- customisable: true,
35
- fields: {
36
- table: {
37
- type: types_1.DatasourceFieldType.STRING,
38
- required: true,
39
- },
13
+ var AirtableModule;
14
+ (function (AirtableModule) {
15
+ const Airtable = require("airtable");
16
+ const SCHEMA = {
17
+ docs: "https://airtable.com/api",
18
+ description: "Airtable is a spreadsheet-database hybrid, with the features of a database but applied to a spreadsheet.",
19
+ friendlyName: "Airtable",
20
+ type: "Spreadsheet",
21
+ datasource: {
22
+ apiKey: {
23
+ type: types_1.DatasourceFieldType.PASSWORD,
24
+ default: "enter api key",
25
+ required: true,
40
26
  },
41
- },
42
- read: {
43
- type: types_1.QueryType.FIELDS,
44
- fields: {
45
- table: {
46
- type: types_1.DatasourceFieldType.STRING,
47
- required: true,
48
- },
49
- view: {
50
- type: types_1.DatasourceFieldType.STRING,
51
- required: true,
52
- },
53
- numRecords: {
54
- type: types_1.DatasourceFieldType.NUMBER,
55
- default: 10,
56
- },
27
+ base: {
28
+ type: types_1.DatasourceFieldType.STRING,
29
+ default: "mybase",
30
+ required: true,
57
31
  },
58
32
  },
59
- update: {
60
- type: types_1.QueryType.FIELDS,
61
- customisable: true,
62
- fields: {
63
- id: {
64
- display: "Record ID",
65
- type: types_1.DatasourceFieldType.STRING,
66
- required: true,
33
+ query: {
34
+ create: {
35
+ type: types_1.QueryType.FIELDS,
36
+ customisable: true,
37
+ fields: {
38
+ table: {
39
+ type: types_1.DatasourceFieldType.STRING,
40
+ required: true,
41
+ },
67
42
  },
68
- table: {
69
- type: types_1.DatasourceFieldType.STRING,
70
- required: true,
43
+ },
44
+ read: {
45
+ type: types_1.QueryType.FIELDS,
46
+ fields: {
47
+ table: {
48
+ type: types_1.DatasourceFieldType.STRING,
49
+ required: true,
50
+ },
51
+ view: {
52
+ type: types_1.DatasourceFieldType.STRING,
53
+ required: true,
54
+ },
55
+ numRecords: {
56
+ type: types_1.DatasourceFieldType.NUMBER,
57
+ default: 10,
58
+ },
71
59
  },
72
60
  },
73
- },
74
- delete: {
75
- type: types_1.QueryType.JSON,
76
- },
77
- },
78
- };
79
- class AirtableIntegration {
80
- constructor(config) {
81
- this.config = config;
82
- this.client = new Airtable(config).base(config.base);
83
- }
84
- create(query) {
85
- return __awaiter(this, void 0, void 0, function* () {
86
- const { table, json } = query;
87
- try {
88
- return yield this.client(table).create([
89
- {
90
- fields: json,
61
+ update: {
62
+ type: types_1.QueryType.FIELDS,
63
+ customisable: true,
64
+ fields: {
65
+ id: {
66
+ display: "Record ID",
67
+ type: types_1.DatasourceFieldType.STRING,
68
+ required: true,
91
69
  },
92
- ]);
93
- }
94
- catch (err) {
95
- console.error("Error writing to airtable", err);
96
- throw err;
97
- }
98
- });
99
- }
100
- read(query) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- try {
103
- const records = yield this.client(query.table)
104
- .select({ maxRecords: query.numRecords || 10, view: query.view })
105
- .firstPage();
106
- // @ts-ignore
107
- return records.map(({ fields }) => fields);
108
- }
109
- catch (err) {
110
- console.error("Error writing to airtable", err);
111
- return [];
112
- }
113
- });
114
- }
115
- update(query) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- const { table, id, json } = query;
118
- try {
119
- return yield this.client(table).update([
120
- {
121
- id,
122
- fields: json,
70
+ table: {
71
+ type: types_1.DatasourceFieldType.STRING,
72
+ required: true,
123
73
  },
124
- ]);
125
- }
126
- catch (err) {
127
- console.error("Error writing to airtable", err);
128
- throw err;
129
- }
130
- });
131
- }
132
- delete(query) {
133
- return __awaiter(this, void 0, void 0, function* () {
134
- try {
135
- return yield this.client(query.table).destroy(query.ids);
136
- }
137
- catch (err) {
138
- console.error("Error writing to airtable", err);
139
- throw err;
140
- }
141
- });
74
+ },
75
+ },
76
+ delete: {
77
+ type: types_1.QueryType.JSON,
78
+ },
79
+ },
80
+ };
81
+ class AirtableIntegration {
82
+ constructor(config) {
83
+ this.config = config;
84
+ this.client = new Airtable(config).base(config.base);
85
+ }
86
+ create(query) {
87
+ return __awaiter(this, void 0, void 0, function* () {
88
+ const { table, json } = query;
89
+ try {
90
+ return yield this.client(table).create([
91
+ {
92
+ fields: json,
93
+ },
94
+ ]);
95
+ }
96
+ catch (err) {
97
+ console.error("Error writing to airtable", err);
98
+ throw err;
99
+ }
100
+ });
101
+ }
102
+ read(query) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ try {
105
+ const records = yield this.client(query.table)
106
+ .select({ maxRecords: query.numRecords || 10, view: query.view })
107
+ .firstPage();
108
+ // @ts-ignore
109
+ return records.map(({ fields }) => fields);
110
+ }
111
+ catch (err) {
112
+ console.error("Error writing to airtable", err);
113
+ return [];
114
+ }
115
+ });
116
+ }
117
+ update(query) {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ const { table, id, json } = query;
120
+ try {
121
+ return yield this.client(table).update([
122
+ {
123
+ id,
124
+ fields: json,
125
+ },
126
+ ]);
127
+ }
128
+ catch (err) {
129
+ console.error("Error writing to airtable", err);
130
+ throw err;
131
+ }
132
+ });
133
+ }
134
+ delete(query) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ try {
137
+ return yield this.client(query.table).destroy(query.ids);
138
+ }
139
+ catch (err) {
140
+ console.error("Error writing to airtable", err);
141
+ throw err;
142
+ }
143
+ });
144
+ }
142
145
  }
143
- }
144
- exports.default = {
145
- schema: SCHEMA,
146
- integration: AirtableIntegration,
147
- };
146
+ module.exports = {
147
+ schema: SCHEMA,
148
+ integration: AirtableIntegration,
149
+ };
150
+ })(AirtableModule || (AirtableModule = {}));
@@ -10,92 +10,95 @@ 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
- const { Database, aql } = require("arangojs");
14
- const SCHEMA = {
15
- docs: "https://github.com/arangodb/arangojs",
16
- friendlyName: "ArangoDB",
17
- type: "Non-relational",
18
- description: "ArangoDB is a scalable open-source multi-model database natively supporting graph, document and search. All supported data models & access patterns can be combined in queries allowing for maximal flexibility. ",
19
- datasource: {
20
- url: {
21
- type: types_1.DatasourceFieldType.STRING,
22
- default: "http://localhost:8529",
23
- required: true,
24
- },
25
- username: {
26
- type: types_1.DatasourceFieldType.STRING,
27
- default: "root",
28
- required: true,
29
- },
30
- password: {
31
- type: types_1.DatasourceFieldType.PASSWORD,
32
- required: true,
33
- },
34
- databaseName: {
35
- type: types_1.DatasourceFieldType.STRING,
36
- default: "_system",
37
- required: true,
38
- },
39
- collection: {
40
- type: types_1.DatasourceFieldType.STRING,
41
- required: true,
42
- },
43
- },
44
- query: {
45
- read: {
46
- type: types_1.QueryType.SQL,
47
- },
48
- create: {
49
- type: types_1.QueryType.JSON,
13
+ var ArangoModule;
14
+ (function (ArangoModule) {
15
+ const { Database, aql } = require("arangojs");
16
+ const SCHEMA = {
17
+ docs: "https://github.com/arangodb/arangojs",
18
+ friendlyName: "ArangoDB",
19
+ type: "Non-relational",
20
+ description: "ArangoDB is a scalable open-source multi-model database natively supporting graph, document and search. All supported data models & access patterns can be combined in queries allowing for maximal flexibility. ",
21
+ datasource: {
22
+ url: {
23
+ type: types_1.DatasourceFieldType.STRING,
24
+ default: "http://localhost:8529",
25
+ required: true,
26
+ },
27
+ username: {
28
+ type: types_1.DatasourceFieldType.STRING,
29
+ default: "root",
30
+ required: true,
31
+ },
32
+ password: {
33
+ type: types_1.DatasourceFieldType.PASSWORD,
34
+ required: true,
35
+ },
36
+ databaseName: {
37
+ type: types_1.DatasourceFieldType.STRING,
38
+ default: "_system",
39
+ required: true,
40
+ },
41
+ collection: {
42
+ type: types_1.DatasourceFieldType.STRING,
43
+ required: true,
44
+ },
50
45
  },
51
- },
52
- };
53
- class ArangoDBIntegration {
54
- constructor(config) {
55
- const newConfig = {
56
- auth: {
57
- username: config.username,
58
- password: config.password,
46
+ query: {
47
+ read: {
48
+ type: types_1.QueryType.SQL,
59
49
  },
60
- };
61
- this.config = config;
62
- this.client = new Database(newConfig);
63
- }
64
- read(query) {
65
- return __awaiter(this, void 0, void 0, function* () {
66
- try {
67
- const result = yield this.client.query(query.sql);
68
- return result.all();
69
- }
70
- catch (err) {
71
- // @ts-ignore
72
- console.error("Error querying arangodb", err.message);
73
- throw err;
74
- }
75
- finally {
76
- this.client.close();
77
- }
78
- });
79
- }
80
- create(query) {
81
- return __awaiter(this, void 0, void 0, function* () {
82
- const clc = this.client.collection(this.config.collection);
83
- try {
84
- const result = yield this.client.query(aql `INSERT ${query.json} INTO ${clc} RETURN NEW`);
85
- return result.all();
86
- }
87
- catch (err) {
88
- // @ts-ignore
89
- console.error("Error querying arangodb", err.message);
90
- throw err;
91
- }
92
- finally {
93
- this.client.close();
94
- }
95
- });
50
+ create: {
51
+ type: types_1.QueryType.JSON,
52
+ },
53
+ },
54
+ };
55
+ class ArangoDBIntegration {
56
+ constructor(config) {
57
+ const newConfig = {
58
+ auth: {
59
+ username: config.username,
60
+ password: config.password,
61
+ },
62
+ };
63
+ this.config = config;
64
+ this.client = new Database(newConfig);
65
+ }
66
+ read(query) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ try {
69
+ const result = yield this.client.query(query.sql);
70
+ return result.all();
71
+ }
72
+ catch (err) {
73
+ // @ts-ignore
74
+ console.error("Error querying arangodb", err.message);
75
+ throw err;
76
+ }
77
+ finally {
78
+ this.client.close();
79
+ }
80
+ });
81
+ }
82
+ create(query) {
83
+ return __awaiter(this, void 0, void 0, function* () {
84
+ const clc = this.client.collection(this.config.collection);
85
+ try {
86
+ const result = yield this.client.query(aql `INSERT ${query.json} INTO ${clc} RETURN NEW`);
87
+ return result.all();
88
+ }
89
+ catch (err) {
90
+ // @ts-ignore
91
+ console.error("Error querying arangodb", err.message);
92
+ throw err;
93
+ }
94
+ finally {
95
+ this.client.close();
96
+ }
97
+ });
98
+ }
96
99
  }
97
- }
98
- exports.default = {
99
- schema: SCHEMA,
100
- integration: ArangoDBIntegration,
101
- };
100
+ module.exports = {
101
+ schema: SCHEMA,
102
+ integration: ArangoDBIntegration,
103
+ };
104
+ })(ArangoModule || (ArangoModule = {}));
@@ -10,10 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.makeExternalQuery = void 0;
13
- const { getIntegration } = require("../index");
13
+ const { integrations } = require("../index");
14
14
  function makeExternalQuery(datasource, json) {
15
15
  return __awaiter(this, void 0, void 0, function* () {
16
- const Integration = yield getIntegration(datasource.source);
16
+ const Integration = integrations[datasource.source];
17
17
  // query is the opinionated function
18
18
  if (Integration.prototype.query) {
19
19
  const integration = new Integration(datasource.config);
@@ -82,9 +82,7 @@ function generateSchema(schema, table, tables, oldTable = null, renamed) {
82
82
  // need to check if any columns have been deleted
83
83
  if (oldTable) {
84
84
  const deletedColumns = Object.entries(oldTable.schema)
85
- .filter(([key, schema]) => schema.type !== FieldTypes.LINK &&
86
- schema.type !== FieldTypes.FORMULA &&
87
- table.schema[key] == null)
85
+ .filter(([key, schema]) => schema.type !== FieldTypes.LINK && table.schema[key] == null)
88
86
  .map(([key]) => key);
89
87
  deletedColumns.forEach(key => {
90
88
  if ((renamed === null || renamed === void 0 ? void 0 : renamed.old) === key) {
@@ -10,90 +10,93 @@ 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
- const PouchDB = require("pouchdb");
14
- const SCHEMA = {
15
- docs: "https://docs.couchdb.org/en/stable/",
16
- friendlyName: "CouchDB",
17
- type: "Non-relational",
18
- description: "Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang.",
19
- datasource: {
20
- url: {
21
- type: types_1.DatasourceFieldType.STRING,
22
- required: true,
23
- default: "http://localhost:5984",
24
- },
25
- database: {
26
- type: types_1.DatasourceFieldType.STRING,
27
- required: true,
28
- },
29
- },
30
- query: {
31
- create: {
32
- type: types_1.QueryType.JSON,
33
- },
34
- read: {
35
- type: types_1.QueryType.JSON,
36
- },
37
- update: {
38
- type: types_1.QueryType.JSON,
13
+ var CouchDBModule;
14
+ (function (CouchDBModule) {
15
+ const PouchDB = require("pouchdb");
16
+ const SCHEMA = {
17
+ docs: "https://docs.couchdb.org/en/stable/",
18
+ friendlyName: "CouchDB",
19
+ type: "Non-relational",
20
+ description: "Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang.",
21
+ datasource: {
22
+ url: {
23
+ type: types_1.DatasourceFieldType.STRING,
24
+ required: true,
25
+ default: "http://localhost:5984",
26
+ },
27
+ database: {
28
+ type: types_1.DatasourceFieldType.STRING,
29
+ required: true,
30
+ },
39
31
  },
40
- delete: {
41
- type: types_1.QueryType.FIELDS,
42
- fields: {
43
- id: {
44
- type: types_1.DatasourceFieldType.STRING,
45
- required: true,
32
+ query: {
33
+ create: {
34
+ type: types_1.QueryType.JSON,
35
+ },
36
+ read: {
37
+ type: types_1.QueryType.JSON,
38
+ },
39
+ update: {
40
+ type: types_1.QueryType.JSON,
41
+ },
42
+ delete: {
43
+ type: types_1.QueryType.FIELDS,
44
+ fields: {
45
+ id: {
46
+ type: types_1.DatasourceFieldType.STRING,
47
+ required: true,
48
+ },
46
49
  },
47
50
  },
48
51
  },
49
- },
50
- };
51
- class CouchDBIntegration {
52
- constructor(config) {
53
- this.config = config;
54
- this.client = new PouchDB(`${config.url}/${config.database}`);
55
- }
56
- query(command, errorMsg, query) {
57
- return __awaiter(this, void 0, void 0, function* () {
58
- try {
59
- const response = yield this.client[command](query.id || query.json);
60
- yield this.client.close();
61
- return response;
62
- }
63
- catch (err) {
64
- console.error(errorMsg, err);
65
- throw err;
66
- }
67
- });
68
- }
69
- create(query) {
70
- return __awaiter(this, void 0, void 0, function* () {
71
- return this.query("post", "Error writing to couchDB", query);
72
- });
73
- }
74
- read(query) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- const result = yield this.query("allDocs", "Error querying couchDB", {
77
- json: Object.assign({ include_docs: true }, query.json),
52
+ };
53
+ class CouchDBIntegration {
54
+ constructor(config) {
55
+ this.config = config;
56
+ this.client = new PouchDB(`${config.url}/${config.database}`);
57
+ }
58
+ query(command, errorMsg, query) {
59
+ return __awaiter(this, void 0, void 0, function* () {
60
+ try {
61
+ const response = yield this.client[command](query.id || query.json);
62
+ yield this.client.close();
63
+ return response;
64
+ }
65
+ catch (err) {
66
+ console.error(errorMsg, err);
67
+ throw err;
68
+ }
78
69
  });
79
- return result.rows.map((row) => row.doc);
80
- });
81
- }
82
- update(query) {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- return this.query("put", "Error updating couchDB document", query);
85
- });
86
- }
87
- delete(query) {
88
- return __awaiter(this, void 0, void 0, function* () {
89
- const doc = yield this.query("get", "Cannot find doc to be deleted", query);
90
- return this.query("remove", "Error deleting couchDB document", {
91
- json: doc,
70
+ }
71
+ create(query) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return this.query("post", "Error writing to couchDB", query);
92
74
  });
93
- });
75
+ }
76
+ read(query) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const result = yield this.query("allDocs", "Error querying couchDB", {
79
+ json: Object.assign({ include_docs: true }, query.json),
80
+ });
81
+ return result.rows.map((row) => row.doc);
82
+ });
83
+ }
84
+ update(query) {
85
+ return __awaiter(this, void 0, void 0, function* () {
86
+ return this.query("put", "Error updating couchDB document", query);
87
+ });
88
+ }
89
+ delete(query) {
90
+ return __awaiter(this, void 0, void 0, function* () {
91
+ const doc = yield this.query("get", "Cannot find doc to be deleted", query);
92
+ return this.query("remove", "Error deleting couchDB document", {
93
+ json: doc,
94
+ });
95
+ });
96
+ }
94
97
  }
95
- }
96
- exports.default = {
97
- schema: SCHEMA,
98
- integration: CouchDBIntegration,
99
- };
98
+ module.exports = {
99
+ schema: SCHEMA,
100
+ integration: CouchDBIntegration,
101
+ };
102
+ })(CouchDBModule || (CouchDBModule = {}));