@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,185 +10,182 @@ 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 DynamoModule;
14
- (function (DynamoModule) {
15
- const AWS = require("aws-sdk");
16
- const { AWS_REGION } = require("../db/dynamoClient");
17
- const SCHEMA = {
18
- docs: "https://github.com/dabit3/dynamodb-documentclient-cheat-sheet",
19
- description: "Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale.",
20
- friendlyName: "DynamoDB",
21
- type: "Non-relational",
22
- datasource: {
23
- region: {
24
- type: types_1.DatasourceFieldType.STRING,
25
- required: true,
26
- default: "us-east-1",
27
- },
28
- accessKeyId: {
29
- type: types_1.DatasourceFieldType.PASSWORD,
30
- required: true,
31
- },
32
- secretAccessKey: {
33
- type: types_1.DatasourceFieldType.PASSWORD,
34
- required: true,
35
- },
36
- endpoint: {
37
- type: types_1.DatasourceFieldType.STRING,
38
- required: false,
39
- default: "https://dynamodb.us-east-1.amazonaws.com",
40
- },
13
+ const AWS = require("aws-sdk");
14
+ const { AWS_REGION } = require("../db/dynamoClient");
15
+ const SCHEMA = {
16
+ docs: "https://github.com/dabit3/dynamodb-documentclient-cheat-sheet",
17
+ description: "Amazon DynamoDB is a key-value and document database that delivers single-digit millisecond performance at any scale.",
18
+ friendlyName: "DynamoDB",
19
+ type: "Non-relational",
20
+ datasource: {
21
+ region: {
22
+ type: types_1.DatasourceFieldType.STRING,
23
+ required: true,
24
+ default: "us-east-1",
25
+ },
26
+ accessKeyId: {
27
+ type: types_1.DatasourceFieldType.PASSWORD,
28
+ required: true,
41
29
  },
42
- query: {
43
- create: {
44
- type: types_1.QueryType.FIELDS,
45
- customisable: true,
46
- fields: {
47
- table: {
48
- type: types_1.DatasourceFieldType.STRING,
49
- required: true,
50
- },
30
+ secretAccessKey: {
31
+ type: types_1.DatasourceFieldType.PASSWORD,
32
+ required: true,
33
+ },
34
+ endpoint: {
35
+ type: types_1.DatasourceFieldType.STRING,
36
+ required: false,
37
+ default: "https://dynamodb.us-east-1.amazonaws.com",
38
+ },
39
+ },
40
+ query: {
41
+ create: {
42
+ type: types_1.QueryType.FIELDS,
43
+ customisable: true,
44
+ fields: {
45
+ table: {
46
+ type: types_1.DatasourceFieldType.STRING,
47
+ required: true,
51
48
  },
52
49
  },
53
- read: {
54
- type: types_1.QueryType.FIELDS,
55
- customisable: true,
56
- readable: true,
57
- fields: {
58
- table: {
59
- type: types_1.DatasourceFieldType.STRING,
60
- required: true,
61
- },
62
- index: {
63
- type: types_1.DatasourceFieldType.STRING,
64
- },
50
+ },
51
+ read: {
52
+ type: types_1.QueryType.FIELDS,
53
+ customisable: true,
54
+ readable: true,
55
+ fields: {
56
+ table: {
57
+ type: types_1.DatasourceFieldType.STRING,
58
+ required: true,
59
+ },
60
+ index: {
61
+ type: types_1.DatasourceFieldType.STRING,
65
62
  },
66
63
  },
67
- scan: {
68
- type: types_1.QueryType.FIELDS,
69
- customisable: true,
70
- readable: true,
71
- fields: {
72
- table: {
73
- type: types_1.DatasourceFieldType.STRING,
74
- required: true,
75
- },
76
- index: {
77
- type: types_1.DatasourceFieldType.STRING,
78
- },
64
+ },
65
+ scan: {
66
+ type: types_1.QueryType.FIELDS,
67
+ customisable: true,
68
+ readable: true,
69
+ fields: {
70
+ table: {
71
+ type: types_1.DatasourceFieldType.STRING,
72
+ required: true,
73
+ },
74
+ index: {
75
+ type: types_1.DatasourceFieldType.STRING,
79
76
  },
80
77
  },
81
- describe: {
82
- type: types_1.QueryType.FIELDS,
83
- customisable: true,
84
- readable: true,
85
- fields: {
86
- table: {
87
- type: types_1.DatasourceFieldType.STRING,
88
- required: true,
89
- },
78
+ },
79
+ describe: {
80
+ type: types_1.QueryType.FIELDS,
81
+ customisable: true,
82
+ readable: true,
83
+ fields: {
84
+ table: {
85
+ type: types_1.DatasourceFieldType.STRING,
86
+ required: true,
90
87
  },
91
88
  },
92
- get: {
93
- type: types_1.QueryType.FIELDS,
94
- customisable: true,
95
- readable: true,
96
- fields: {
97
- table: {
98
- type: types_1.DatasourceFieldType.STRING,
99
- required: true,
100
- },
89
+ },
90
+ get: {
91
+ type: types_1.QueryType.FIELDS,
92
+ customisable: true,
93
+ readable: true,
94
+ fields: {
95
+ table: {
96
+ type: types_1.DatasourceFieldType.STRING,
97
+ required: true,
101
98
  },
102
99
  },
103
- update: {
104
- type: types_1.QueryType.FIELDS,
105
- customisable: true,
106
- fields: {
107
- table: {
108
- type: types_1.DatasourceFieldType.STRING,
109
- required: true,
110
- },
100
+ },
101
+ update: {
102
+ type: types_1.QueryType.FIELDS,
103
+ customisable: true,
104
+ fields: {
105
+ table: {
106
+ type: types_1.DatasourceFieldType.STRING,
107
+ required: true,
111
108
  },
112
109
  },
113
- delete: {
114
- type: types_1.QueryType.FIELDS,
115
- customisable: true,
116
- fields: {
117
- table: {
118
- type: types_1.DatasourceFieldType.STRING,
119
- required: true,
120
- },
110
+ },
111
+ delete: {
112
+ type: types_1.QueryType.FIELDS,
113
+ customisable: true,
114
+ fields: {
115
+ table: {
116
+ type: types_1.DatasourceFieldType.STRING,
117
+ required: true,
121
118
  },
122
119
  },
123
120
  },
124
- };
125
- class DynamoDBIntegration {
126
- constructor(config) {
127
- var _a, _b;
128
- this.config = config;
129
- // User is using a local dynamoDB endpoint, don't auth with remote
130
- if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.endpoint) === null || _b === void 0 ? void 0 : _b.includes("localhost")) {
131
- // @ts-ignore
132
- this.config = {};
133
- }
134
- this.config = Object.assign(Object.assign({}, this.config), { currentClockSkew: true, region: config.region || AWS_REGION, endpoint: config.endpoint || undefined });
135
- this.client = new AWS.DynamoDB.DocumentClient(this.config);
136
- }
137
- create(query) {
138
- return __awaiter(this, void 0, void 0, function* () {
139
- const params = Object.assign({ TableName: query.table }, query.json);
140
- return this.client.put(params).promise();
141
- });
142
- }
143
- read(query) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- const params = Object.assign({ TableName: query.table, IndexName: query.index ? query.index : undefined }, query.json);
146
- const response = yield this.client.query(params).promise();
147
- if (response.Items) {
148
- return response.Items;
149
- }
150
- return response;
151
- });
152
- }
153
- scan(query) {
154
- return __awaiter(this, void 0, void 0, function* () {
155
- const params = Object.assign({ TableName: query.table, IndexName: query.index ? query.index : undefined }, query.json);
156
- const response = yield this.client.scan(params).promise();
157
- if (response.Items) {
158
- return response.Items;
159
- }
160
- return response;
161
- });
162
- }
163
- describe(query) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- const params = {
166
- TableName: query.table,
167
- };
168
- return new AWS.DynamoDB(this.config).describeTable(params).promise();
169
- });
170
- }
171
- get(query) {
172
- return __awaiter(this, void 0, void 0, function* () {
173
- const params = Object.assign({ TableName: query.table }, query.json);
174
- return this.client.get(params).promise();
175
- });
176
- }
177
- update(query) {
178
- return __awaiter(this, void 0, void 0, function* () {
179
- const params = Object.assign({ TableName: query.table }, query.json);
180
- return this.client.update(params).promise();
181
- });
182
- }
183
- delete(query) {
184
- return __awaiter(this, void 0, void 0, function* () {
185
- const params = Object.assign({ TableName: query.table }, query.json);
186
- return this.client.delete(params).promise();
187
- });
121
+ },
122
+ };
123
+ class DynamoDBIntegration {
124
+ constructor(config) {
125
+ var _a, _b;
126
+ this.config = config;
127
+ // User is using a local dynamoDB endpoint, don't auth with remote
128
+ if ((_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.endpoint) === null || _b === void 0 ? void 0 : _b.includes("localhost")) {
129
+ // @ts-ignore
130
+ this.config = {};
188
131
  }
132
+ this.config = Object.assign(Object.assign({}, this.config), { currentClockSkew: true, region: config.region || AWS_REGION, endpoint: config.endpoint || undefined });
133
+ this.client = new AWS.DynamoDB.DocumentClient(this.config);
189
134
  }
190
- module.exports = {
191
- schema: SCHEMA,
192
- integration: DynamoDBIntegration,
193
- };
194
- })(DynamoModule || (DynamoModule = {}));
135
+ create(query) {
136
+ return __awaiter(this, void 0, void 0, function* () {
137
+ const params = Object.assign({ TableName: query.table }, query.json);
138
+ return this.client.put(params).promise();
139
+ });
140
+ }
141
+ read(query) {
142
+ return __awaiter(this, void 0, void 0, function* () {
143
+ const params = Object.assign({ TableName: query.table, IndexName: query.index ? query.index : undefined }, query.json);
144
+ const response = yield this.client.query(params).promise();
145
+ if (response.Items) {
146
+ return response.Items;
147
+ }
148
+ return response;
149
+ });
150
+ }
151
+ scan(query) {
152
+ return __awaiter(this, void 0, void 0, function* () {
153
+ const params = Object.assign({ TableName: query.table, IndexName: query.index ? query.index : undefined }, query.json);
154
+ const response = yield this.client.scan(params).promise();
155
+ if (response.Items) {
156
+ return response.Items;
157
+ }
158
+ return response;
159
+ });
160
+ }
161
+ describe(query) {
162
+ return __awaiter(this, void 0, void 0, function* () {
163
+ const params = {
164
+ TableName: query.table,
165
+ };
166
+ return new AWS.DynamoDB(this.config).describeTable(params).promise();
167
+ });
168
+ }
169
+ get(query) {
170
+ return __awaiter(this, void 0, void 0, function* () {
171
+ const params = Object.assign({ TableName: query.table }, query.json);
172
+ return this.client.get(params).promise();
173
+ });
174
+ }
175
+ update(query) {
176
+ return __awaiter(this, void 0, void 0, function* () {
177
+ const params = Object.assign({ TableName: query.table }, query.json);
178
+ return this.client.update(params).promise();
179
+ });
180
+ }
181
+ delete(query) {
182
+ return __awaiter(this, void 0, void 0, function* () {
183
+ const params = Object.assign({ TableName: query.table }, query.json);
184
+ return this.client.delete(params).promise();
185
+ });
186
+ }
187
+ }
188
+ exports.default = {
189
+ schema: SCHEMA,
190
+ integration: DynamoDBIntegration,
191
+ };
@@ -10,152 +10,149 @@ 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 ElasticsearchModule;
14
- (function (ElasticsearchModule) {
15
- const { Client } = require("@elastic/elasticsearch");
16
- const SCHEMA = {
17
- docs: "https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html",
18
- description: "Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.",
19
- friendlyName: "ElasticSearch",
20
- type: "Non-relational",
21
- datasource: {
22
- url: {
23
- type: types_1.DatasourceFieldType.STRING,
24
- required: true,
25
- default: "http://localhost:9200",
26
- },
13
+ const { Client } = require("@elastic/elasticsearch");
14
+ const SCHEMA = {
15
+ docs: "https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/index.html",
16
+ description: "Elasticsearch is a search engine based on the Lucene library. It provides a distributed, multitenant-capable full-text search engine with an HTTP web interface and schema-free JSON documents.",
17
+ friendlyName: "ElasticSearch",
18
+ type: "Non-relational",
19
+ datasource: {
20
+ url: {
21
+ type: types_1.DatasourceFieldType.STRING,
22
+ required: true,
23
+ default: "http://localhost:9200",
27
24
  },
28
- query: {
29
- create: {
30
- type: types_1.QueryType.FIELDS,
31
- customisable: true,
32
- fields: {
33
- index: {
34
- type: types_1.DatasourceFieldType.STRING,
35
- required: true,
36
- },
25
+ },
26
+ query: {
27
+ create: {
28
+ type: types_1.QueryType.FIELDS,
29
+ customisable: true,
30
+ fields: {
31
+ index: {
32
+ type: types_1.DatasourceFieldType.STRING,
33
+ required: true,
37
34
  },
38
35
  },
39
- read: {
40
- type: types_1.QueryType.FIELDS,
41
- customisable: true,
42
- fields: {
43
- index: {
44
- type: types_1.DatasourceFieldType.STRING,
45
- required: true,
46
- },
36
+ },
37
+ read: {
38
+ type: types_1.QueryType.FIELDS,
39
+ customisable: true,
40
+ fields: {
41
+ index: {
42
+ type: types_1.DatasourceFieldType.STRING,
43
+ required: true,
47
44
  },
48
45
  },
49
- update: {
50
- type: types_1.QueryType.FIELDS,
51
- customisable: true,
52
- fields: {
53
- id: {
54
- type: types_1.DatasourceFieldType.STRING,
55
- required: true,
56
- },
57
- index: {
58
- type: types_1.DatasourceFieldType.STRING,
59
- required: true,
60
- },
46
+ },
47
+ update: {
48
+ type: types_1.QueryType.FIELDS,
49
+ customisable: true,
50
+ fields: {
51
+ id: {
52
+ type: types_1.DatasourceFieldType.STRING,
53
+ required: true,
54
+ },
55
+ index: {
56
+ type: types_1.DatasourceFieldType.STRING,
57
+ required: true,
61
58
  },
62
59
  },
63
- delete: {
64
- type: types_1.QueryType.FIELDS,
65
- fields: {
66
- index: {
67
- type: types_1.DatasourceFieldType.STRING,
68
- required: true,
69
- },
70
- id: {
71
- type: types_1.DatasourceFieldType.STRING,
72
- required: true,
73
- },
60
+ },
61
+ delete: {
62
+ type: types_1.QueryType.FIELDS,
63
+ fields: {
64
+ index: {
65
+ type: types_1.DatasourceFieldType.STRING,
66
+ required: true,
67
+ },
68
+ id: {
69
+ type: types_1.DatasourceFieldType.STRING,
70
+ required: true,
74
71
  },
75
72
  },
76
73
  },
77
- };
78
- class ElasticSearchIntegration {
79
- constructor(config) {
80
- this.config = config;
81
- this.client = new Client({ node: config.url });
82
- }
83
- create(query) {
84
- return __awaiter(this, void 0, void 0, function* () {
85
- const { index, json } = query;
86
- try {
87
- const result = yield this.client.index({
88
- index,
89
- body: json,
90
- });
91
- return result.body;
92
- }
93
- catch (err) {
94
- console.error("Error writing to elasticsearch", err);
95
- throw err;
96
- }
97
- finally {
98
- yield this.client.close();
99
- }
100
- });
101
- }
102
- read(query) {
103
- return __awaiter(this, void 0, void 0, function* () {
104
- const { index, json } = query;
105
- try {
106
- const result = yield this.client.search({
107
- index: index,
108
- body: json,
109
- });
110
- return result.body.hits.hits.map(({ _source }) => _source);
111
- }
112
- catch (err) {
113
- console.error("Error querying elasticsearch", err);
114
- throw err;
115
- }
116
- finally {
117
- yield this.client.close();
118
- }
119
- });
120
- }
121
- update(query) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- const { id, index, json } = query;
124
- try {
125
- const result = yield this.client.update({
126
- id,
127
- index,
128
- body: json,
129
- });
130
- return result.body;
131
- }
132
- catch (err) {
133
- console.error("Error querying elasticsearch", err);
134
- throw err;
135
- }
136
- finally {
137
- yield this.client.close();
138
- }
139
- });
140
- }
141
- delete(query) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- try {
144
- const result = yield this.client.delete(query);
145
- return result.body;
146
- }
147
- catch (err) {
148
- console.error("Error deleting from elasticsearch", err);
149
- throw err;
150
- }
151
- finally {
152
- yield this.client.close();
153
- }
154
- });
155
- }
74
+ },
75
+ };
76
+ class ElasticSearchIntegration {
77
+ constructor(config) {
78
+ this.config = config;
79
+ this.client = new Client({ node: config.url });
80
+ }
81
+ create(query) {
82
+ return __awaiter(this, void 0, void 0, function* () {
83
+ const { index, json } = query;
84
+ try {
85
+ const result = yield this.client.index({
86
+ index,
87
+ body: json,
88
+ });
89
+ return result.body;
90
+ }
91
+ catch (err) {
92
+ console.error("Error writing to elasticsearch", err);
93
+ throw err;
94
+ }
95
+ finally {
96
+ yield this.client.close();
97
+ }
98
+ });
99
+ }
100
+ read(query) {
101
+ return __awaiter(this, void 0, void 0, function* () {
102
+ const { index, json } = query;
103
+ try {
104
+ const result = yield this.client.search({
105
+ index: index,
106
+ body: json,
107
+ });
108
+ return result.body.hits.hits.map(({ _source }) => _source);
109
+ }
110
+ catch (err) {
111
+ console.error("Error querying elasticsearch", err);
112
+ throw err;
113
+ }
114
+ finally {
115
+ yield this.client.close();
116
+ }
117
+ });
156
118
  }
157
- module.exports = {
158
- schema: SCHEMA,
159
- integration: ElasticSearchIntegration,
160
- };
161
- })(ElasticsearchModule || (ElasticsearchModule = {}));
119
+ update(query) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const { id, index, json } = query;
122
+ try {
123
+ const result = yield this.client.update({
124
+ id,
125
+ index,
126
+ body: json,
127
+ });
128
+ return result.body;
129
+ }
130
+ catch (err) {
131
+ console.error("Error querying elasticsearch", err);
132
+ throw err;
133
+ }
134
+ finally {
135
+ yield this.client.close();
136
+ }
137
+ });
138
+ }
139
+ delete(query) {
140
+ return __awaiter(this, void 0, void 0, function* () {
141
+ try {
142
+ const result = yield this.client.delete(query);
143
+ return result.body;
144
+ }
145
+ catch (err) {
146
+ console.error("Error deleting from elasticsearch", err);
147
+ throw err;
148
+ }
149
+ finally {
150
+ yield this.client.close();
151
+ }
152
+ });
153
+ }
154
+ }
155
+ exports.default = {
156
+ schema: SCHEMA,
157
+ integration: ElasticSearchIntegration,
158
+ };