@budibase/server 1.3.14 → 1.3.15-alpha.2

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 (264) hide show
  1. package/__mocks__/mongodb.ts +1 -1
  2. package/builder/assets/index.2884f3c4.js +995 -0
  3. package/builder/assets/{index.a70e216a.css → index.ecdac070.css} +2 -2
  4. package/builder/index.html +2 -4
  5. package/coverage/clover.xml +296 -254
  6. package/coverage/coverage-final.json +17 -17
  7. package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
  8. package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
  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/component.js.html +82 -13
  13. package/coverage/lcov-report/api/controllers/datasource.js.html +20 -20
  14. package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
  15. package/coverage/lcov-report/api/controllers/index.html +30 -30
  16. package/coverage/lcov-report/api/controllers/integration.js.html +6 -6
  17. package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
  18. package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
  19. package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
  20. package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
  21. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  22. package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
  23. package/coverage/lcov-report/api/controllers/role.js.html +1 -1
  24. package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
  25. package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
  26. package/coverage/lcov-report/api/controllers/row/index.html +1 -1
  27. package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
  28. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
  29. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
  30. package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
  31. package/coverage/lcov-report/api/controllers/screen.js.html +207 -12
  32. package/coverage/lcov-report/api/controllers/script.js.html +1 -1
  33. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
  34. package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
  35. package/coverage/lcov-report/api/controllers/table/index.html +1 -1
  36. package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
  37. package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
  38. package/coverage/lcov-report/api/controllers/user.js.html +1 -1
  39. package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
  40. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  41. package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
  42. package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
  43. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
  44. package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
  45. package/coverage/lcov-report/api/index.html +1 -1
  46. package/coverage/lcov-report/api/index.js.html +12 -12
  47. package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
  48. package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
  49. package/coverage/lcov-report/api/routes/auth.js.html +1 -1
  50. package/coverage/lcov-report/api/routes/automation.js.html +1 -1
  51. package/coverage/lcov-report/api/routes/backup.js.html +1 -1
  52. package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
  53. package/coverage/lcov-report/api/routes/component.js.html +1 -1
  54. package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
  55. package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
  56. package/coverage/lcov-report/api/routes/dev.js.html +1 -1
  57. package/coverage/lcov-report/api/routes/index.html +1 -1
  58. package/coverage/lcov-report/api/routes/integration.js.html +1 -1
  59. package/coverage/lcov-report/api/routes/layout.js.html +1 -1
  60. package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
  61. package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
  62. package/coverage/lcov-report/api/routes/permission.js.html +1 -1
  63. package/coverage/lcov-report/api/routes/query.js.html +1 -1
  64. package/coverage/lcov-report/api/routes/role.js.html +1 -1
  65. package/coverage/lcov-report/api/routes/routing.js.html +1 -1
  66. package/coverage/lcov-report/api/routes/screen.js.html +1 -1
  67. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  68. package/coverage/lcov-report/api/routes/table.js.html +1 -1
  69. package/coverage/lcov-report/api/routes/templates.js.html +1 -1
  70. package/coverage/lcov-report/api/routes/user.js.html +1 -1
  71. package/coverage/lcov-report/api/routes/utils/index.html +1 -1
  72. package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
  73. package/coverage/lcov-report/api/routes/view.js.html +1 -1
  74. package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
  75. package/coverage/lcov-report/automations/actions.js.html +1 -1
  76. package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
  77. package/coverage/lcov-report/automations/bullboard.js.html +1 -1
  78. package/coverage/lcov-report/automations/index.html +1 -1
  79. package/coverage/lcov-report/automations/index.js.html +1 -1
  80. package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
  81. package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
  82. package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
  83. package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
  84. package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
  85. package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
  86. package/coverage/lcov-report/automations/steps/index.html +1 -1
  87. package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
  88. package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
  89. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
  90. package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
  91. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
  92. package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
  93. package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
  94. package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
  95. package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
  96. package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
  97. package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
  98. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
  99. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  100. package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
  101. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
  102. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
  103. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
  104. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
  105. package/coverage/lcov-report/automations/triggers.js.html +1 -1
  106. package/coverage/lcov-report/constants/index.html +1 -1
  107. package/coverage/lcov-report/constants/index.js.html +1 -1
  108. package/coverage/lcov-report/constants/layouts.js.html +1 -1
  109. package/coverage/lcov-report/constants/screens.js.html +1 -1
  110. package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
  111. package/coverage/lcov-report/db/index.html +18 -18
  112. package/coverage/lcov-report/db/index.js.html +1 -1
  113. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
  114. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  115. package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
  116. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
  117. package/coverage/lcov-report/db/newid.js.html +2 -2
  118. package/coverage/lcov-report/db/utils.js.html +56 -20
  119. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  120. package/coverage/lcov-report/events/index.html +1 -1
  121. package/coverage/lcov-report/events/index.js.html +1 -1
  122. package/coverage/lcov-report/events/utils.js.html +1 -1
  123. package/coverage/lcov-report/index.html +28 -28
  124. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  125. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  126. package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
  127. package/coverage/lcov-report/middleware/builder.js.html +12 -12
  128. package/coverage/lcov-report/middleware/currentapp.js.html +33 -33
  129. package/coverage/lcov-report/middleware/index.html +1 -1
  130. package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
  131. package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
  132. package/coverage/lcov-report/middleware/resourceId.js.html +7 -7
  133. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  134. package/coverage/lcov-report/middleware/utils.js.html +2 -2
  135. package/coverage/lcov-report/utilities/budibaseDir.js.html +3 -3
  136. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  137. package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
  138. package/coverage/lcov-report/utilities/global.js.html +16 -16
  139. package/coverage/lcov-report/utilities/index.html +1 -1
  140. package/coverage/lcov-report/utilities/index.js.html +24 -24
  141. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +2 -2
  142. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  143. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  144. package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
  145. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  146. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
  147. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
  148. package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
  149. package/coverage/lcov-report/utilities/security.js.html +2 -2
  150. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  151. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  152. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
  153. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  154. package/coverage/lcov-report/utilities/users.js.html +1 -1
  155. package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
  156. package/coverage/lcov.info +533 -445
  157. package/dist/api/controllers/application.js +5 -4
  158. package/dist/api/controllers/component.js +18 -1
  159. package/dist/api/controllers/datasource.js +4 -4
  160. package/dist/api/controllers/integration.js +4 -4
  161. package/dist/api/controllers/plugin/file.js +24 -0
  162. package/dist/api/controllers/plugin/github.js +69 -0
  163. package/dist/api/controllers/plugin/index.js +192 -0
  164. package/dist/api/controllers/plugin/npm.js +58 -0
  165. package/dist/api/controllers/plugin/uploaders.js +11 -0
  166. package/dist/api/controllers/plugin/url.js +24 -0
  167. package/dist/api/controllers/plugin/utils.js +26 -0
  168. package/dist/api/controllers/screen.js +52 -2
  169. package/dist/api/controllers/static/index.js +1 -0
  170. package/dist/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  171. package/dist/api/controllers/static/templates/preview.hbs +5 -1
  172. package/dist/api/routes/index.js +2 -0
  173. package/dist/api/routes/plugin.js +39 -0
  174. package/dist/app.js +11 -0
  175. package/dist/db/utils.js +10 -1
  176. package/dist/environment.js +1 -0
  177. package/dist/integrations/airtable.js +126 -129
  178. package/dist/integrations/arangodb.js +86 -89
  179. package/dist/integrations/base/query.js +2 -2
  180. package/dist/integrations/couchdb.js +80 -83
  181. package/dist/integrations/dynamodb.js +161 -164
  182. package/dist/integrations/elasticsearch.js +135 -138
  183. package/dist/integrations/firebase.js +154 -157
  184. package/dist/integrations/googlesheets.js +323 -327
  185. package/dist/integrations/index.js +93 -51
  186. package/dist/integrations/microsoftSqlServer.js +240 -243
  187. package/dist/integrations/mongodb.js +239 -242
  188. package/dist/integrations/mysql.js +215 -219
  189. package/dist/integrations/oracle.js +318 -322
  190. package/dist/integrations/postgres.js +262 -265
  191. package/dist/integrations/redis.js +134 -139
  192. package/dist/integrations/rest.js +289 -292
  193. package/dist/integrations/s3.js +61 -64
  194. package/dist/integrations/snowflake.js +83 -86
  195. package/dist/package.json +9 -6
  196. package/dist/threads/query.js +2 -2
  197. package/dist/tsconfig.build.tsbuildinfo +1 -1
  198. package/dist/utilities/fileSystem/index.js +110 -1
  199. package/dist/watch.js +77 -0
  200. package/dist/websocket.js +22 -0
  201. package/package.json +10 -7
  202. package/scripts/dev/manage.js +1 -0
  203. package/src/api/controllers/application.ts +1 -1
  204. package/src/api/controllers/component.js +25 -2
  205. package/src/api/controllers/datasource.js +4 -4
  206. package/src/api/controllers/integration.js +4 -4
  207. package/src/api/controllers/plugin/file.ts +15 -0
  208. package/src/api/controllers/plugin/github.ts +75 -0
  209. package/src/api/controllers/plugin/index.ts +206 -0
  210. package/src/api/controllers/plugin/npm.ts +56 -0
  211. package/src/api/controllers/plugin/uploaders.ts +4 -0
  212. package/src/api/controllers/plugin/url.ts +12 -0
  213. package/src/api/controllers/plugin/utils.ts +19 -0
  214. package/src/api/controllers/screen.js +66 -1
  215. package/src/api/controllers/static/index.ts +1 -0
  216. package/src/api/controllers/static/templates/BudibaseApp.svelte +10 -0
  217. package/src/api/controllers/static/templates/preview.hbs +5 -1
  218. package/src/api/routes/index.ts +2 -0
  219. package/src/api/routes/plugin.ts +14 -0
  220. package/src/api/routes/tests/query.spec.js +8 -25
  221. package/src/app.ts +14 -0
  222. package/src/db/utils.js +12 -0
  223. package/src/environment.js +1 -0
  224. package/src/integrations/airtable.ts +116 -118
  225. package/src/integrations/arangodb.ts +87 -89
  226. package/src/integrations/base/query.ts +2 -2
  227. package/src/integrations/couchdb.ts +83 -89
  228. package/src/integrations/dynamodb.ts +173 -175
  229. package/src/integrations/elasticsearch.ts +120 -122
  230. package/src/integrations/firebase.ts +157 -159
  231. package/src/integrations/googlesheets.ts +328 -338
  232. package/src/integrations/index.ts +59 -21
  233. package/src/integrations/microsoftSqlServer.ts +249 -251
  234. package/src/integrations/mongodb.ts +261 -258
  235. package/src/integrations/mysql.ts +229 -234
  236. package/src/integrations/oracle.ts +373 -380
  237. package/src/integrations/postgres.ts +264 -268
  238. package/src/integrations/redis.ts +128 -132
  239. package/src/integrations/rest.ts +324 -329
  240. package/src/integrations/s3.ts +68 -71
  241. package/src/integrations/snowflake.ts +80 -82
  242. package/src/integrations/tests/{airtable.spec.js → airtable.spec.ts} +21 -18
  243. package/src/integrations/tests/{arangodb.spec.js → arangodb.spec.ts} +12 -9
  244. package/src/integrations/tests/{couchdb.spec.js → couchdb.spec.ts} +33 -27
  245. package/src/integrations/tests/{dynamodb.spec.js → dynamodb.spec.ts} +45 -41
  246. package/src/integrations/tests/{elasticsearch.spec.js → elasticsearch.spec.ts} +22 -21
  247. package/src/integrations/tests/{firebase.spec.js → firebase.spec.ts} +33 -28
  248. package/src/integrations/tests/{microsoftSqlServer.spec.js → microsoftSqlServer.spec.ts} +12 -11
  249. package/src/integrations/tests/{mongo.spec.js → mongo.spec.ts} +46 -35
  250. package/src/integrations/tests/{mysql.spec.js → mysql.spec.ts} +17 -15
  251. package/src/integrations/tests/{oracle.spec.js → oracle.spec.ts} +19 -17
  252. package/src/integrations/tests/{postgres.spec.js → postgres.spec.ts} +19 -17
  253. package/src/integrations/tests/{redis.spec.js → redis.spec.ts} +27 -18
  254. package/src/integrations/tests/{rest.spec.js → rest.spec.ts} +22 -14
  255. package/src/integrations/tests/{s3.spec.js → s3.spec.ts} +10 -8
  256. package/src/integrations/tests/{sql.spec.js → sql.spec.ts} +228 -177
  257. package/src/module.d.ts +2 -0
  258. package/src/threads/query.ts +2 -2
  259. package/src/utilities/fileSystem/index.js +129 -0
  260. package/src/watch.ts +38 -0
  261. package/src/websocket.ts +26 -0
  262. package/builder/assets/index.d8428ac8.js +0 -876
  263. package/builder/assets/vendor.5e1fe644.css +0 -1
  264. package/builder/assets/vendor.67dbd8fa.js +0 -248
@@ -10,93 +10,90 @@ 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 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
- },
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",
31
24
  },
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
- },
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,
39
+ },
40
+ delete: {
41
+ type: types_1.QueryType.FIELDS,
42
+ fields: {
43
+ id: {
44
+ type: types_1.DatasourceFieldType.STRING,
45
+ required: true,
49
46
  },
50
47
  },
51
48
  },
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
- }
69
- });
70
- }
71
- create(query) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- return this.query("post", "Error writing to couchDB", query);
74
- });
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);
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),
87
78
  });
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
- });
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,
95
92
  });
96
- }
93
+ });
97
94
  }
98
- module.exports = {
99
- schema: SCHEMA,
100
- integration: CouchDBIntegration,
101
- };
102
- })(CouchDBModule || (CouchDBModule = {}));
95
+ }
96
+ exports.default = {
97
+ schema: SCHEMA,
98
+ integration: CouchDBIntegration,
99
+ };
@@ -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
+ };