@budibase/server 2.6.19-alpha.0 → 2.6.19-alpha.10

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 (345) hide show
  1. package/.dockerignore +7 -6
  2. package/Dockerfile +16 -8
  3. package/builder/assets/{index.b9eeb2a8.js → index.7b26bbdb.js} +356 -348
  4. package/builder/assets/{index.07382a47.css → index.ec1c6a1a.css} +2 -2
  5. package/builder/index.html +2 -2
  6. package/client/manifest.json +5229 -0
  7. package/dist/automation.js +32190 -0
  8. package/dist/automation.js.map +7 -0
  9. package/dist/index.js +44342 -13
  10. package/dist/index.js.map +7 -0
  11. package/dist/query.js +24307 -0
  12. package/dist/query.js.map +7 -0
  13. package/jest.config.ts +3 -0
  14. package/nodemon.json +1 -1
  15. package/package.json +29 -13
  16. package/pm2.config.js +1 -1
  17. package/scripts/build.js +48 -0
  18. package/src/api/controllers/datasource.ts +16 -0
  19. package/src/api/controllers/static/index.ts +3 -3
  20. package/src/api/routes/datasource.ts +5 -0
  21. package/src/api/routes/static.ts +3 -1
  22. package/src/api/routes/tests/datasource.spec.ts +1 -1
  23. package/src/automations/actions.ts +5 -0
  24. package/src/automations/steps/openai.ts +105 -0
  25. package/src/automations/tests/openai.spec.ts +86 -0
  26. package/src/constants/index.ts +17 -16
  27. package/src/db/inMemoryView.ts +3 -1
  28. package/src/environment.ts +2 -0
  29. package/src/integration-test/postgres.spec.ts +47 -4
  30. package/src/integrations/base/sqlTable.ts +0 -1
  31. package/src/integrations/googlesheets.ts +11 -3
  32. package/src/integrations/microsoftSqlServer.ts +18 -2
  33. package/src/integrations/mysql.ts +27 -11
  34. package/src/integrations/oracle.ts +11 -1
  35. package/src/integrations/postgres.ts +27 -10
  36. package/src/integrations/tests/googlesheets.spec.ts +41 -9
  37. package/src/utilities/fileSystem/app.ts +1 -1
  38. package/src/utilities/fileSystem/clientLibrary.ts +8 -3
  39. package/src/utilities/fileSystem/filesystem.ts +3 -1
  40. package/tsconfig.build.json +9 -1
  41. package/tsconfig.json +1 -14
  42. package/dist/api/controllers/analytics.js +0 -46
  43. package/dist/api/controllers/apikeys.js +0 -72
  44. package/dist/api/controllers/application.js +0 -574
  45. package/dist/api/controllers/auth.js +0 -80
  46. package/dist/api/controllers/automation.js +0 -303
  47. package/dist/api/controllers/backup.js +0 -37
  48. package/dist/api/controllers/component.js +0 -59
  49. package/dist/api/controllers/datasource.js +0 -337
  50. package/dist/api/controllers/deploy/Deployment.js +0 -53
  51. package/dist/api/controllers/deploy/index.js +0 -198
  52. package/dist/api/controllers/dev.js +0 -146
  53. package/dist/api/controllers/integration.js +0 -28
  54. package/dist/api/controllers/layout.js +0 -49
  55. package/dist/api/controllers/metadata.js +0 -63
  56. package/dist/api/controllers/migrations.js +0 -29
  57. package/dist/api/controllers/ops.js +0 -40
  58. package/dist/api/controllers/permission.js +0 -162
  59. package/dist/api/controllers/plugin/file.js +0 -24
  60. package/dist/api/controllers/plugin/github.js +0 -69
  61. package/dist/api/controllers/plugin/index.js +0 -112
  62. package/dist/api/controllers/plugin/npm.js +0 -58
  63. package/dist/api/controllers/plugin/uploaders.js +0 -11
  64. package/dist/api/controllers/plugin/url.js +0 -24
  65. package/dist/api/controllers/plugin/utils.js +0 -27
  66. package/dist/api/controllers/public/applications.js +0 -146
  67. package/dist/api/controllers/public/mapping/applications.js +0 -29
  68. package/dist/api/controllers/public/mapping/index.js +0 -11
  69. package/dist/api/controllers/public/mapping/queries.js +0 -36
  70. package/dist/api/controllers/public/mapping/rows.js +0 -24
  71. package/dist/api/controllers/public/mapping/tables.js +0 -23
  72. package/dist/api/controllers/public/mapping/types.js +0 -2
  73. package/dist/api/controllers/public/mapping/users.js +0 -29
  74. package/dist/api/controllers/public/metrics.js +0 -113
  75. package/dist/api/controllers/public/queries.js +0 -58
  76. package/dist/api/controllers/public/rows.js +0 -120
  77. package/dist/api/controllers/public/tables.js +0 -95
  78. package/dist/api/controllers/public/users.js +0 -93
  79. package/dist/api/controllers/public/utils.js +0 -56
  80. package/dist/api/controllers/query/import/index.js +0 -87
  81. package/dist/api/controllers/query/import/sources/base/index.js +0 -75
  82. package/dist/api/controllers/query/import/sources/base/openapi.js +0 -42
  83. package/dist/api/controllers/query/import/sources/curl.js +0 -99
  84. package/dist/api/controllers/query/import/sources/openapi2.js +0 -145
  85. package/dist/api/controllers/query/import/sources/openapi3.js +0 -177
  86. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +0 -253
  87. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +0 -1054
  88. package/dist/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.json +0 -253
  89. package/dist/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.json +0 -1225
  90. package/dist/api/controllers/query/index.js +0 -299
  91. package/dist/api/controllers/query/validation.js +0 -53
  92. package/dist/api/controllers/role.js +0 -109
  93. package/dist/api/controllers/routing.js +0 -105
  94. package/dist/api/controllers/row/ExternalRequest.js +0 -683
  95. package/dist/api/controllers/row/external.js +0 -339
  96. package/dist/api/controllers/row/index.js +0 -203
  97. package/dist/api/controllers/row/internal.js +0 -509
  98. package/dist/api/controllers/row/internalSearch.js +0 -28
  99. package/dist/api/controllers/row/staticFormula.js +0 -165
  100. package/dist/api/controllers/row/utils.js +0 -183
  101. package/dist/api/controllers/screen.js +0 -110
  102. package/dist/api/controllers/script.js +0 -30
  103. package/dist/api/controllers/static/index.js +0 -268
  104. package/dist/api/controllers/table/bulkFormula.js +0 -173
  105. package/dist/api/controllers/table/external.js +0 -279
  106. package/dist/api/controllers/table/index.js +0 -179
  107. package/dist/api/controllers/table/internal.js +0 -197
  108. package/dist/api/controllers/table/utils.js +0 -379
  109. package/dist/api/controllers/templates.js +0 -56
  110. package/dist/api/controllers/user.js +0 -124
  111. package/dist/api/controllers/view/exporters.js +0 -46
  112. package/dist/api/controllers/view/index.js +0 -193
  113. package/dist/api/controllers/view/utils.js +0 -177
  114. package/dist/api/controllers/view/viewBuilder.js +0 -158
  115. package/dist/api/controllers/webhook.js +0 -134
  116. package/dist/api/index.js +0 -55
  117. package/dist/api/routes/analytics.js +0 -34
  118. package/dist/api/routes/apikeys.js +0 -37
  119. package/dist/api/routes/application.js +0 -48
  120. package/dist/api/routes/auth.js +0 -33
  121. package/dist/api/routes/automation.js +0 -50
  122. package/dist/api/routes/backup.js +0 -35
  123. package/dist/api/routes/component.js +0 -35
  124. package/dist/api/routes/datasource.js +0 -44
  125. package/dist/api/routes/deploy.js +0 -37
  126. package/dist/api/routes/dev.js +0 -49
  127. package/dist/api/routes/index.js +0 -75
  128. package/dist/api/routes/integration.js +0 -37
  129. package/dist/api/routes/layout.js +0 -37
  130. package/dist/api/routes/metadata.js +0 -40
  131. package/dist/api/routes/migrations.js +0 -36
  132. package/dist/api/routes/ops.js +0 -52
  133. package/dist/api/routes/permission.js +0 -44
  134. package/dist/api/routes/plugin.js +0 -39
  135. package/dist/api/routes/public/applications.js +0 -174
  136. package/dist/api/routes/public/index.js +0 -140
  137. package/dist/api/routes/public/metrics.js +0 -30
  138. package/dist/api/routes/public/middleware/mapper.js +0 -97
  139. package/dist/api/routes/public/queries.js +0 -72
  140. package/dist/api/routes/public/rows.js +0 -158
  141. package/dist/api/routes/public/tables.js +0 -152
  142. package/dist/api/routes/public/users.js +0 -135
  143. package/dist/api/routes/public/utils/Endpoint.js +0 -36
  144. package/dist/api/routes/query.js +0 -47
  145. package/dist/api/routes/role.js +0 -40
  146. package/dist/api/routes/routing.js +0 -39
  147. package/dist/api/routes/row.js +0 -239
  148. package/dist/api/routes/screen.js +0 -39
  149. package/dist/api/routes/script.js +0 -35
  150. package/dist/api/routes/static.js +0 -80
  151. package/dist/api/routes/table.js +0 -163
  152. package/dist/api/routes/templates.js +0 -37
  153. package/dist/api/routes/user.js +0 -43
  154. package/dist/api/routes/utils/validators.js +0 -238
  155. package/dist/api/routes/view.js +0 -42
  156. package/dist/api/routes/webhook.js +0 -43
  157. package/dist/app.js +0 -132
  158. package/dist/automations/actions.js +0 -137
  159. package/dist/automations/automationUtils.js +0 -173
  160. package/dist/automations/bullboard.js +0 -71
  161. package/dist/automations/index.js +0 -43
  162. package/dist/automations/logging/index.js +0 -53
  163. package/dist/automations/steps/bash.js +0 -111
  164. package/dist/automations/steps/createRow.js +0 -108
  165. package/dist/automations/steps/delay.js +0 -53
  166. package/dist/automations/steps/deleteRow.js +0 -96
  167. package/dist/automations/steps/discord.js +0 -116
  168. package/dist/automations/steps/executeQuery.js +0 -134
  169. package/dist/automations/steps/executeScript.js +0 -106
  170. package/dist/automations/steps/filter.js +0 -112
  171. package/dist/automations/steps/loop.js +0 -54
  172. package/dist/automations/steps/make.js +0 -134
  173. package/dist/automations/steps/outgoingWebhook.js +0 -166
  174. package/dist/automations/steps/queryRows.js +0 -216
  175. package/dist/automations/steps/sendSmtpEmail.js +0 -115
  176. package/dist/automations/steps/serverLog.js +0 -65
  177. package/dist/automations/steps/slack.js +0 -98
  178. package/dist/automations/steps/updateRow.js +0 -144
  179. package/dist/automations/steps/utils.js +0 -56
  180. package/dist/automations/steps/zapier.js +0 -130
  181. package/dist/automations/triggerInfo/app.js +0 -36
  182. package/dist/automations/triggerInfo/cron.js +0 -35
  183. package/dist/automations/triggerInfo/index.js +0 -40
  184. package/dist/automations/triggerInfo/rowDeleted.js +0 -36
  185. package/dist/automations/triggerInfo/rowSaved.js +0 -44
  186. package/dist/automations/triggerInfo/rowUpdated.js +0 -44
  187. package/dist/automations/triggerInfo/webhook.js +0 -40
  188. package/dist/automations/triggers.js +0 -181
  189. package/dist/automations/utils.js +0 -275
  190. package/dist/constants/definitions.js +0 -2
  191. package/dist/constants/index.js +0 -181
  192. package/dist/constants/layouts.js +0 -148
  193. package/dist/constants/screens.js +0 -51
  194. package/dist/db/defaultData/datasource_bb_default.js +0 -574
  195. package/dist/db/defaultData/employeeImport.js +0 -155
  196. package/dist/db/defaultData/expensesImport.js +0 -117
  197. package/dist/db/defaultData/inventoryImport.js +0 -109
  198. package/dist/db/defaultData/jobsImport.js +0 -152
  199. package/dist/db/dynamoClient.js +0 -124
  200. package/dist/db/inMemoryView.js +0 -62
  201. package/dist/db/index.js +0 -43
  202. package/dist/db/linkedRows/LinkController.js +0 -392
  203. package/dist/db/linkedRows/LinkDocument.js +0 -33
  204. package/dist/db/linkedRows/index.js +0 -206
  205. package/dist/db/linkedRows/linkUtils.js +0 -131
  206. package/dist/db/newid.js +0 -7
  207. package/dist/db/utils.js +0 -248
  208. package/dist/db/views/staticViews.js +0 -144
  209. package/dist/ddApm.js +0 -11
  210. package/dist/definitions/automations.js +0 -8
  211. package/dist/definitions/common.js +0 -2
  212. package/dist/definitions/datasource.js +0 -7
  213. package/dist/definitions/openapi.js +0 -6
  214. package/dist/environment.js +0 -109
  215. package/dist/events/AutomationEmitter.js +0 -53
  216. package/dist/events/BudibaseEmitter.js +0 -25
  217. package/dist/events/docUpdates/index.js +0 -17
  218. package/dist/events/docUpdates/processors.js +0 -18
  219. package/dist/events/docUpdates/syncUsers.js +0 -49
  220. package/dist/events/index.js +0 -11
  221. package/dist/events/utils.js +0 -43
  222. package/dist/integrations/airtable.js +0 -173
  223. package/dist/integrations/arangodb.js +0 -119
  224. package/dist/integrations/base/query.js +0 -32
  225. package/dist/integrations/base/sql.js +0 -600
  226. package/dist/integrations/base/sqlTable.js +0 -167
  227. package/dist/integrations/base/types.js +0 -2
  228. package/dist/integrations/couchdb.js +0 -140
  229. package/dist/integrations/dynamodb.js +0 -210
  230. package/dist/integrations/elasticsearch.js +0 -201
  231. package/dist/integrations/firebase.js +0 -189
  232. package/dist/integrations/googlesheets.js +0 -484
  233. package/dist/integrations/index.js +0 -138
  234. package/dist/integrations/microsoftSqlServer.js +0 -289
  235. package/dist/integrations/mongodb.js +0 -630
  236. package/dist/integrations/mysql.js +0 -272
  237. package/dist/integrations/oracle.js +0 -404
  238. package/dist/integrations/postgres.js +0 -319
  239. package/dist/integrations/queries/sql.js +0 -84
  240. package/dist/integrations/redis.js +0 -187
  241. package/dist/integrations/rest.js +0 -400
  242. package/dist/integrations/s3.js +0 -256
  243. package/dist/integrations/snowflake.js +0 -114
  244. package/dist/integrations/utils.js +0 -295
  245. package/dist/middleware/appInfo.js +0 -22
  246. package/dist/middleware/authorized.js +0 -112
  247. package/dist/middleware/builder.js +0 -93
  248. package/dist/middleware/currentapp.js +0 -103
  249. package/dist/middleware/joi-validator.js +0 -43
  250. package/dist/middleware/publicApi.js +0 -25
  251. package/dist/middleware/resourceId.js +0 -59
  252. package/dist/middleware/selfhost.js +0 -24
  253. package/dist/middleware/utils.js +0 -8
  254. package/dist/migrations/functions/appUrls.js +0 -42
  255. package/dist/migrations/functions/backfill/app/automations.js +0 -31
  256. package/dist/migrations/functions/backfill/app/datasources.js +0 -28
  257. package/dist/migrations/functions/backfill/app/layouts.js +0 -33
  258. package/dist/migrations/functions/backfill/app/queries.js +0 -49
  259. package/dist/migrations/functions/backfill/app/roles.js +0 -28
  260. package/dist/migrations/functions/backfill/app/screens.js +0 -28
  261. package/dist/migrations/functions/backfill/app/tables.js +0 -37
  262. package/dist/migrations/functions/backfill/app.js +0 -176
  263. package/dist/migrations/functions/backfill/global/configs.js +0 -67
  264. package/dist/migrations/functions/backfill/global/quotas.js +0 -60
  265. package/dist/migrations/functions/backfill/global/users.js +0 -50
  266. package/dist/migrations/functions/backfill/global.js +0 -205
  267. package/dist/migrations/functions/backfill/index.js +0 -32
  268. package/dist/migrations/functions/backfill/installation.js +0 -80
  269. package/dist/migrations/functions/syncQuotas.js +0 -52
  270. package/dist/migrations/functions/tableSettings.js +0 -130
  271. package/dist/migrations/functions/usageQuotas/index.js +0 -16
  272. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -24
  273. package/dist/migrations/functions/usageQuotas/syncPlugins.js +0 -23
  274. package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
  275. package/dist/migrations/functions/usageQuotas/syncUsers.js +0 -21
  276. package/dist/migrations/functions/userEmailViewCasing.js +0 -24
  277. package/dist/migrations/index.js +0 -111
  278. package/dist/migrations/tests/helpers.js +0 -72
  279. package/dist/migrations/tests/structures.js +0 -37
  280. package/dist/sdk/app/applications/index.js +0 -28
  281. package/dist/sdk/app/applications/sync.js +0 -164
  282. package/dist/sdk/app/applications/utils.js +0 -21
  283. package/dist/sdk/app/automations/index.js +0 -29
  284. package/dist/sdk/app/automations/webhook.js +0 -54
  285. package/dist/sdk/app/backups/constants.js +0 -6
  286. package/dist/sdk/app/backups/exports.js +0 -160
  287. package/dist/sdk/app/backups/imports.js +0 -170
  288. package/dist/sdk/app/backups/index.js +0 -29
  289. package/dist/sdk/app/backups/statistics.js +0 -73
  290. package/dist/sdk/app/datasources/datasources.js +0 -173
  291. package/dist/sdk/app/datasources/index.js +0 -27
  292. package/dist/sdk/app/queries/index.js +0 -27
  293. package/dist/sdk/app/queries/queries.js +0 -60
  294. package/dist/sdk/app/rows/attachments.js +0 -61
  295. package/dist/sdk/app/rows/index.js +0 -28
  296. package/dist/sdk/app/rows/rows.js +0 -30
  297. package/dist/sdk/app/tables/index.js +0 -65
  298. package/dist/sdk/index.js +0 -27
  299. package/dist/sdk/plugins/index.js +0 -27
  300. package/dist/sdk/plugins/plugins.js +0 -53
  301. package/dist/sdk/users/index.js +0 -27
  302. package/dist/sdk/users/utils.js +0 -87
  303. package/dist/sdk/utils/index.js +0 -29
  304. package/dist/startup.js +0 -158
  305. package/dist/threads/automation.js +0 -450
  306. package/dist/threads/definitions.js +0 -2
  307. package/dist/threads/index.js +0 -140
  308. package/dist/threads/query.js +0 -265
  309. package/dist/threads/utils.js +0 -120
  310. package/dist/tsconfig.build.tsbuildinfo +0 -1
  311. package/dist/utilities/appDirectoryTemplate/package.json +0 -10
  312. package/dist/utilities/budibaseDir.js +0 -5
  313. package/dist/utilities/centralPath.js +0 -27
  314. package/dist/utilities/csv.js +0 -33
  315. package/dist/utilities/fileSystem/app.js +0 -88
  316. package/dist/utilities/fileSystem/clientLibrary.js +0 -138
  317. package/dist/utilities/fileSystem/filesystem.js +0 -180
  318. package/dist/utilities/fileSystem/index.js +0 -21
  319. package/dist/utilities/fileSystem/plugin.js +0 -76
  320. package/dist/utilities/fileSystem/processor.js +0 -34
  321. package/dist/utilities/fileSystem/template.js +0 -47
  322. package/dist/utilities/global.js +0 -149
  323. package/dist/utilities/index.js +0 -143
  324. package/dist/utilities/redis.js +0 -117
  325. package/dist/utilities/retry.js +0 -30
  326. package/dist/utilities/routing/index.js +0 -39
  327. package/dist/utilities/rowProcessor/index.js +0 -282
  328. package/dist/utilities/rowProcessor/map.js +0 -116
  329. package/dist/utilities/rowProcessor/utils.js +0 -87
  330. package/dist/utilities/schema.js +0 -112
  331. package/dist/utilities/scriptRunner.js +0 -26
  332. package/dist/utilities/security.js +0 -57
  333. package/dist/utilities/statusCodes.js +0 -9
  334. package/dist/utilities/usageQuota/rows.js +0 -88
  335. package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
  336. package/dist/utilities/users.js +0 -57
  337. package/dist/utilities/workerRequests.js +0 -171
  338. package/dist/watch.js +0 -53
  339. package/dist/websockets/client.js +0 -14
  340. package/dist/websockets/grid.js +0 -60
  341. package/dist/websockets/index.js +0 -17
  342. package/dist/websockets/websocket.js +0 -78
  343. /package/dist/{api/controllers/static/templates/BudibaseApp.svelte → BudibaseApp-Y5NZEDTC.svelte} +0 -0
  344. /package/dist/{api/controllers/static/templates/app.hbs → app.hbs} +0 -0
  345. /package/dist/{api/controllers/static/templates/preview.hbs → preview.hbs} +0 -0
@@ -1,144 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createAllSearchIndex = exports.createRoutingView = exports.createLinkView = void 0;
13
- const backend_core_1 = require("@budibase/backend-core");
14
- const utils_1 = require("../utils");
15
- const types_1 = require("@budibase/types");
16
- const SCREEN_PREFIX = utils_1.DocumentType.SCREEN + utils_1.SEPARATOR;
17
- /**************************************************
18
- * INFORMATION *
19
- * This file exists purely to keep views separate *
20
- * from the rest of the codebase, the reason *
21
- * being that they affect coverage and any *
22
- * functions written in this file cannot import *
23
- * or make use of any constants/variables that *
24
- * aren't defined as part of the map function *
25
- * itself. *
26
- **************************************************/
27
- /**
28
- * Creates the link view for the instance, this will overwrite the existing one, but this should only
29
- * be called if it is found that the view does not exist.
30
- * @returns {Promise<void>} The view now exists, please note that the next view of this query will actually build it,
31
- * so it may be slow.
32
- */
33
- function createLinkView() {
34
- return __awaiter(this, void 0, void 0, function* () {
35
- const db = backend_core_1.context.getAppDB();
36
- const designDoc = yield db.get("_design/database");
37
- const view = {
38
- map: function (doc) {
39
- // everything in this must remain constant as its going to Pouch, no external variables
40
- if (doc.type === "link") {
41
- let doc1 = doc.doc1;
42
- let doc2 = doc.doc2;
43
- // eslint-disable-next-line no-undef
44
- // @ts-ignore
45
- emit([doc1.tableId, doc1.rowId], {
46
- id: doc2.rowId,
47
- thisId: doc1.rowId,
48
- fieldName: doc1.fieldName,
49
- });
50
- // if linking to same table can't emit twice
51
- if (doc1.tableId !== doc2.tableId) {
52
- // eslint-disable-next-line no-undef
53
- // @ts-ignore
54
- emit([doc2.tableId, doc2.rowId], {
55
- id: doc1.rowId,
56
- thisId: doc2.rowId,
57
- fieldName: doc2.fieldName,
58
- });
59
- }
60
- }
61
- }.toString(),
62
- };
63
- designDoc.views = Object.assign(Object.assign({}, designDoc.views), { [utils_1.ViewName.LINK]: view });
64
- yield db.put(designDoc);
65
- });
66
- }
67
- exports.createLinkView = createLinkView;
68
- function createRoutingView() {
69
- return __awaiter(this, void 0, void 0, function* () {
70
- const db = backend_core_1.context.getAppDB();
71
- const designDoc = yield db.get("_design/database");
72
- const view = {
73
- // if using variables in a map function need to inject them before use
74
- map: `function(doc) {
75
- if (doc._id.startsWith("${SCREEN_PREFIX}")) {
76
- emit(doc._id, {
77
- id: doc._id,
78
- routing: doc.routing,
79
- })
80
- }
81
- }`,
82
- };
83
- designDoc.views = Object.assign(Object.assign({}, designDoc.views), { [utils_1.ViewName.ROUTING]: view });
84
- yield db.put(designDoc);
85
- });
86
- }
87
- exports.createRoutingView = createRoutingView;
88
- function searchIndex(indexName, fnString) {
89
- return __awaiter(this, void 0, void 0, function* () {
90
- const db = backend_core_1.context.getAppDB();
91
- const designDoc = yield db.get("_design/database");
92
- designDoc.indexes = {
93
- [indexName]: {
94
- index: fnString,
95
- analyzer: "keyword",
96
- },
97
- };
98
- yield db.put(designDoc);
99
- });
100
- }
101
- function createAllSearchIndex() {
102
- return __awaiter(this, void 0, void 0, function* () {
103
- yield searchIndex(types_1.SearchIndex.ROWS, function (doc) {
104
- function idx(input, prev) {
105
- for (let key of Object.keys(input)) {
106
- let idxKey = prev != null ? `${prev}.${key}` : key;
107
- idxKey = idxKey.replace(/ /g, "_");
108
- if (Array.isArray(input[key])) {
109
- for (let val of input[key]) {
110
- if (typeof val !== "object") {
111
- // eslint-disable-next-line no-undef
112
- // @ts-ignore
113
- index(idxKey, val, { store: true });
114
- }
115
- }
116
- }
117
- else if (key === "_id" || key === "_rev" || input[key] == null) {
118
- continue;
119
- }
120
- if (typeof input[key] === "string") {
121
- // eslint-disable-next-line no-undef
122
- // @ts-ignore
123
- index(idxKey, input[key].toLowerCase(), { store: true });
124
- }
125
- else if (typeof input[key] !== "object") {
126
- // eslint-disable-next-line no-undef
127
- // @ts-ignore
128
- index(idxKey, input[key], { store: true });
129
- }
130
- else {
131
- idx(input[key], idxKey);
132
- }
133
- }
134
- }
135
- if (doc._id.startsWith("ro_")) {
136
- // eslint-disable-next-line no-undef
137
- // @ts-ignore
138
- index("default", doc._id);
139
- idx(doc);
140
- }
141
- }.toString());
142
- });
143
- }
144
- exports.createAllSearchIndex = createAllSearchIndex;
package/dist/ddApm.js DELETED
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const dd_trace_1 = __importDefault(require("dd-trace"));
7
- // enable APM if configured
8
- if (process.env.DD_APM_ENABLED) {
9
- console.log("Starting dd-trace");
10
- dd_trace_1.default.init();
11
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoopStepType = void 0;
4
- var LoopStepType;
5
- (function (LoopStepType) {
6
- LoopStepType["ARRAY"] = "Array";
7
- LoopStepType["STRING"] = "String";
8
- })(LoopStepType = exports.LoopStepType || (exports.LoopStepType = {}));
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /********************************************
3
- * This file contains structures which are *
4
- * internal to the server and don't need to *
5
- * be exposed for use by other services. *
6
- ********************************************/
7
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,6 +0,0 @@
1
- "use strict";
2
- /**
3
- * This file was auto-generated by openapi-typescript.
4
- * Do not make direct changes to the file.
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,109 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const path_1 = require("path");
4
- function isTest() {
5
- return isCypress() || isJest();
6
- }
7
- function isJest() {
8
- return (process.env.NODE_ENV === "jest" ||
9
- (process.env.JEST_WORKER_ID != null &&
10
- process.env.JEST_WORKER_ID !== "null"));
11
- }
12
- function isDev() {
13
- return process.env.NODE_ENV !== "production";
14
- }
15
- function isCypress() {
16
- return process.env.NODE_ENV === "cypress";
17
- }
18
- let LOADED = false;
19
- if (!LOADED && isDev() && !isTest()) {
20
- require("dotenv").config({
21
- path: (0, path_1.join)(__dirname, "..", ".env"),
22
- });
23
- LOADED = true;
24
- }
25
- function parseIntSafe(number) {
26
- if (number) {
27
- return parseInt(number);
28
- }
29
- }
30
- const environment = {
31
- // important - prefer app port to generic port
32
- PORT: process.env.APP_PORT || process.env.PORT,
33
- COUCH_DB_URL: process.env.COUCH_DB_URL,
34
- MINIO_URL: process.env.MINIO_URL,
35
- WORKER_URL: process.env.WORKER_URL,
36
- AWS_REGION: process.env.AWS_REGION,
37
- MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY,
38
- MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY,
39
- REDIS_URL: process.env.REDIS_URL,
40
- REDIS_PASSWORD: process.env.REDIS_PASSWORD,
41
- REDIS_CLUSTERED: process.env.REDIS_CLUSTERED,
42
- HTTP_MIGRATIONS: process.env.HTTP_MIGRATIONS,
43
- API_REQ_LIMIT_PER_SEC: process.env.API_REQ_LIMIT_PER_SEC,
44
- GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,
45
- GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET,
46
- // environment
47
- NODE_ENV: process.env.NODE_ENV,
48
- JEST_WORKER_ID: process.env.JEST_WORKER_ID,
49
- BUDIBASE_ENVIRONMENT: process.env.BUDIBASE_ENVIRONMENT,
50
- DISABLE_ACCOUNT_PORTAL: process.env.DISABLE_ACCOUNT_PORTAL,
51
- TEMPLATE_REPOSITORY: process.env.TEMPLATE_REPOSITORY || "app",
52
- DISABLE_AUTO_PROD_APP_SYNC: process.env.DISABLE_AUTO_PROD_APP_SYNC,
53
- SESSION_UPDATE_PERIOD: process.env.SESSION_UPDATE_PERIOD,
54
- // minor
55
- SALT_ROUNDS: process.env.SALT_ROUNDS,
56
- LOGGER: process.env.LOGGER,
57
- ACCOUNT_PORTAL_URL: process.env.ACCOUNT_PORTAL_URL,
58
- AUTOMATION_MAX_ITERATIONS: parseIntSafe(process.env.AUTOMATION_MAX_ITERATIONS) || 200,
59
- SENDGRID_API_KEY: process.env.SENDGRID_API_KEY,
60
- DYNAMO_ENDPOINT: process.env.DYNAMO_ENDPOINT,
61
- QUERY_THREAD_TIMEOUT: parseIntSafe(process.env.QUERY_THREAD_TIMEOUT),
62
- SQL_MAX_ROWS: process.env.SQL_MAX_ROWS,
63
- BB_ADMIN_USER_EMAIL: process.env.BB_ADMIN_USER_EMAIL,
64
- BB_ADMIN_USER_PASSWORD: process.env.BB_ADMIN_USER_PASSWORD,
65
- PLUGINS_DIR: process.env.PLUGINS_DIR || "/plugins",
66
- // flags
67
- ALLOW_DEV_AUTOMATIONS: process.env.ALLOW_DEV_AUTOMATIONS,
68
- DISABLE_THREADING: process.env.DISABLE_THREADING,
69
- DISABLE_AUTOMATION_LOGS: process.env.DISABLE_AUTOMATION_LOGS,
70
- MULTI_TENANCY: process.env.MULTI_TENANCY,
71
- ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS,
72
- SELF_HOSTED: process.env.SELF_HOSTED,
73
- HTTP_MB_LIMIT: process.env.HTTP_MB_LIMIT,
74
- // old
75
- CLIENT_ID: process.env.CLIENT_ID,
76
- _set(key, value) {
77
- process.env[key] = value;
78
- // @ts-ignore
79
- environment[key] = value;
80
- },
81
- isTest,
82
- isJest,
83
- isCypress,
84
- isDev,
85
- isProd: () => {
86
- return !isDev();
87
- },
88
- isInThread: () => {
89
- return process.env.FORKED_PROCESS;
90
- },
91
- };
92
- // threading can cause memory issues with node-ts in development
93
- if (isDev() && environment.DISABLE_THREADING == null) {
94
- environment._set("DISABLE_THREADING", "1");
95
- }
96
- // clean up any environment variable edge cases
97
- for (let [key, value] of Object.entries(environment)) {
98
- // handle the edge case of "0" to disable an environment variable
99
- if (value === "0") {
100
- // @ts-ignore
101
- environment[key] = 0;
102
- }
103
- // handle the edge case of "false" to disable an environment variable
104
- if (value === "false") {
105
- // @ts-ignore
106
- environment[key] = 0;
107
- }
108
- }
109
- exports.default = environment;
@@ -1,53 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const utils_1 = require("./utils");
7
- const index_1 = __importDefault(require("./index"));
8
- const environment_1 = __importDefault(require("../environment"));
9
- // max number of automations that can chain on top of each other
10
- // TODO: in future make this configurable at the automation level
11
- const MAX_AUTOMATION_CHAIN = environment_1.default.SELF_HOSTED ? 5 : 0;
12
- /**
13
- * Special emitter which takes the count of automation runs which have occurred and blocks an
14
- * automation from running if it has reached the maximum number of chained automations runs.
15
- * This essentially "fakes" the normal emitter to add some functionality in-between to stop automations
16
- * from getting stuck endlessly chaining.
17
- */
18
- class AutomationEmitter {
19
- constructor(chainCount) {
20
- this.chainCount = chainCount;
21
- this.metadata = {
22
- automationChainCount: chainCount,
23
- };
24
- }
25
- emitRow(eventName, appId, row, table) {
26
- // don't emit even if we've reached max automation chain
27
- if (this.chainCount >= MAX_AUTOMATION_CHAIN) {
28
- return;
29
- }
30
- (0, utils_1.rowEmission)({
31
- emitter: index_1.default,
32
- eventName,
33
- appId,
34
- row,
35
- table,
36
- metadata: this.metadata,
37
- });
38
- }
39
- emitTable(eventName, appId, table) {
40
- // don't emit even if we've reached max automation chain
41
- if (this.chainCount > MAX_AUTOMATION_CHAIN) {
42
- return;
43
- }
44
- (0, utils_1.tableEmission)({
45
- emitter: index_1.default,
46
- eventName,
47
- appId,
48
- table,
49
- metadata: this.metadata,
50
- });
51
- }
52
- }
53
- exports.default = AutomationEmitter;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const events_1 = require("events");
4
- const utils_1 = require("./utils");
5
- /**
6
- * keeping event emitter in one central location as it might be used for things other than
7
- * automations (what it was for originally) - having a central emitter will be useful in the
8
- * future.
9
- */
10
- /**
11
- * Extending the standard emitter to some syntactic sugar and standardisation to the emitted event.
12
- * This is specifically quite important for template strings used in automations.
13
- */
14
- class BudibaseEmitter extends events_1.EventEmitter {
15
- emitRow(eventName, appId, row, table) {
16
- (0, utils_1.rowEmission)({ emitter: this, eventName, appId, row, table });
17
- }
18
- emitTable(eventName, appId, table) {
19
- (0, utils_1.tableEmission)({ emitter: this, eventName, appId, table });
20
- }
21
- emitPort(portNumber) {
22
- this.emit("internal:port", portNumber);
23
- }
24
- }
25
- exports.default = BudibaseEmitter;
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./processors"), exports);
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.init = void 0;
7
- const syncUsers_1 = __importDefault(require("./syncUsers"));
8
- const backend_core_1 = require("@budibase/backend-core");
9
- let started = false;
10
- function init(updateCb) {
11
- if (started) {
12
- return;
13
- }
14
- const processors = [(0, syncUsers_1.default)(updateCb)];
15
- backend_core_1.docUpdates.init(processors);
16
- started = true;
17
- }
18
- exports.init = init;
@@ -1,49 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const backend_core_1 = require("@budibase/backend-core");
13
- const pro_1 = require("@budibase/pro");
14
- const types_1 = require("@budibase/types");
15
- const sync_1 = require("../../sdk/app/applications/sync");
16
- function process(updateCb) {
17
- const processor = (update) => __awaiter(this, void 0, void 0, function* () {
18
- var _a;
19
- try {
20
- const docId = update.id;
21
- const isGroup = docId.startsWith(backend_core_1.constants.DocumentType.GROUP);
22
- let userIds;
23
- if (isGroup) {
24
- const group = yield pro_1.sdk.groups.get(docId);
25
- userIds = ((_a = group.users) === null || _a === void 0 ? void 0 : _a.map(user => user._id)) || [];
26
- }
27
- else {
28
- userIds = [docId];
29
- }
30
- if (userIds.length > 0) {
31
- yield (0, sync_1.syncUsersToAllApps)(userIds);
32
- }
33
- if (updateCb) {
34
- updateCb(docId);
35
- }
36
- }
37
- catch (err) {
38
- // if something not found - no changes to perform
39
- if ((err === null || err === void 0 ? void 0 : err.status) === 404) {
40
- return;
41
- }
42
- else {
43
- backend_core_1.logging.logAlert("Failed to perform user/group app sync", err);
44
- }
45
- }
46
- });
47
- return { events: types_1.UserGroupSyncEvents, processor };
48
- }
49
- exports.default = process;
@@ -1,11 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.init = void 0;
7
- const BudibaseEmitter_1 = __importDefault(require("./BudibaseEmitter"));
8
- const emitter = new BudibaseEmitter_1.default();
9
- var docUpdates_1 = require("./docUpdates");
10
- Object.defineProperty(exports, "init", { enumerable: true, get: function () { return docUpdates_1.init; } });
11
- exports.default = emitter;
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.tableEmission = exports.rowEmission = void 0;
4
- function rowEmission({ emitter, eventName, appId, row, table, metadata, }) {
5
- let event = {
6
- row,
7
- appId,
8
- tableId: row === null || row === void 0 ? void 0 : row.tableId,
9
- };
10
- if (table) {
11
- event.table = table;
12
- }
13
- event.id = row === null || row === void 0 ? void 0 : row._id;
14
- if (row === null || row === void 0 ? void 0 : row._rev) {
15
- event.revision = row._rev;
16
- }
17
- if (metadata) {
18
- event.metadata = metadata;
19
- }
20
- emitter.emit(eventName, event);
21
- }
22
- exports.rowEmission = rowEmission;
23
- function tableEmission({ emitter, eventName, appId, table, metadata, }) {
24
- const tableId = table === null || table === void 0 ? void 0 : table._id;
25
- const inputTable = table;
26
- if (inputTable) {
27
- inputTable.tableId = tableId;
28
- }
29
- let event = {
30
- table: inputTable,
31
- appId,
32
- tableId: tableId,
33
- };
34
- event.id = tableId;
35
- if (table === null || table === void 0 ? void 0 : table._rev) {
36
- event.revision = table._rev;
37
- }
38
- if (metadata) {
39
- event.metadata = metadata;
40
- }
41
- emitter.emit(eventName, event);
42
- }
43
- exports.tableEmission = tableEmission;