@budibase/server 2.6.19-alpha.2 → 2.6.19-alpha.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (387) hide show
  1. package/.dockerignore +7 -6
  2. package/Dockerfile +16 -8
  3. package/builder/assets/{index.6c1171e2.js → index.47cc7efc.js} +343 -334
  4. package/builder/assets/{index.07382a47.css → index.ffb6a106.css} +2 -2
  5. package/builder/index.html +2 -2
  6. package/client/manifest.json +5229 -0
  7. package/dist/automation.js +32364 -0
  8. package/dist/automation.js.map +7 -0
  9. package/dist/index.js +44582 -13
  10. package/dist/index.js.map +7 -0
  11. package/dist/query.js +24345 -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 +30 -13
  16. package/pm2.config.js +1 -1
  17. package/scripts/build.js +48 -0
  18. package/src/api/controllers/automation.ts +37 -9
  19. package/src/api/controllers/datasource.ts +16 -0
  20. package/src/api/controllers/row/internal.ts +1 -1
  21. package/src/api/controllers/static/index.ts +3 -3
  22. package/src/api/controllers/table/internal.ts +2 -6
  23. package/src/api/controllers/table/utils.ts +32 -1
  24. package/src/api/controllers/webhook.ts +33 -9
  25. package/src/api/routes/automation.ts +0 -1
  26. package/src/api/routes/datasource.ts +5 -0
  27. package/src/api/routes/static.ts +3 -1
  28. package/src/api/routes/tests/{automation.spec.js → automation.spec.ts} +106 -31
  29. package/src/api/routes/tests/datasource.spec.ts +1 -1
  30. package/src/api/routes/tests/{webhook.spec.js → webhook.spec.ts} +33 -11
  31. package/src/automations/actions.ts +8 -0
  32. package/src/automations/steps/bash.ts +4 -0
  33. package/src/automations/steps/collect.ts +58 -0
  34. package/src/automations/steps/createRow.ts +4 -0
  35. package/src/automations/steps/delay.ts +1 -0
  36. package/src/automations/steps/deleteRow.ts +4 -0
  37. package/src/automations/steps/discord.ts +4 -0
  38. package/src/automations/steps/executeQuery.ts +4 -0
  39. package/src/automations/steps/executeScript.ts +4 -0
  40. package/src/automations/steps/filter.ts +1 -0
  41. package/src/automations/steps/loop.ts +1 -0
  42. package/src/automations/steps/make.ts +4 -0
  43. package/src/automations/steps/openai.ts +106 -0
  44. package/src/automations/steps/outgoingWebhook.ts +4 -0
  45. package/src/automations/steps/queryRows.ts +4 -0
  46. package/src/automations/steps/sendSmtpEmail.ts +4 -0
  47. package/src/automations/steps/serverLog.ts +4 -0
  48. package/src/automations/steps/slack.ts +4 -0
  49. package/src/automations/steps/updateRow.ts +4 -0
  50. package/src/automations/steps/zapier.ts +4 -0
  51. package/src/automations/tests/openai.spec.ts +86 -0
  52. package/src/automations/triggers.ts +3 -2
  53. package/src/constants/index.ts +17 -16
  54. package/src/db/inMemoryView.ts +1 -0
  55. package/src/environment.ts +2 -0
  56. package/src/integration-test/postgres.spec.ts +47 -4
  57. package/src/integrations/airtable.ts +3 -1
  58. package/src/integrations/arangodb.ts +3 -1
  59. package/src/integrations/base/sqlTable.ts +0 -1
  60. package/src/integrations/couchdb.ts +3 -1
  61. package/src/integrations/dynamodb.ts +3 -1
  62. package/src/integrations/elasticsearch.ts +3 -1
  63. package/src/integrations/firebase.ts +3 -1
  64. package/src/integrations/googlesheets.ts +11 -3
  65. package/src/integrations/microsoftSqlServer.ts +18 -2
  66. package/src/integrations/mongodb.ts +3 -1
  67. package/src/integrations/mysql.ts +27 -11
  68. package/src/integrations/oracle.ts +11 -1
  69. package/src/integrations/postgres.ts +27 -10
  70. package/src/integrations/redis.ts +3 -1
  71. package/src/integrations/s3.ts +3 -1
  72. package/src/integrations/snowflake.ts +3 -1
  73. package/src/integrations/tests/googlesheets.spec.ts +41 -9
  74. package/src/sdk/app/automations/index.ts +2 -0
  75. package/src/sdk/app/automations/utils.ts +7 -0
  76. package/src/tests/utilities/TestConfiguration.ts +4 -2
  77. package/src/tests/utilities/structures.ts +42 -0
  78. package/src/threads/automation.ts +39 -0
  79. package/src/utilities/fileSystem/app.ts +1 -1
  80. package/src/utilities/fileSystem/clientLibrary.ts +8 -3
  81. package/src/utilities/fileSystem/filesystem.ts +3 -1
  82. package/tsconfig.build.json +9 -1
  83. package/tsconfig.json +1 -14
  84. package/dist/api/controllers/analytics.js +0 -46
  85. package/dist/api/controllers/apikeys.js +0 -72
  86. package/dist/api/controllers/application.js +0 -574
  87. package/dist/api/controllers/auth.js +0 -80
  88. package/dist/api/controllers/automation.js +0 -303
  89. package/dist/api/controllers/backup.js +0 -37
  90. package/dist/api/controllers/component.js +0 -59
  91. package/dist/api/controllers/datasource.js +0 -337
  92. package/dist/api/controllers/deploy/Deployment.js +0 -53
  93. package/dist/api/controllers/deploy/index.js +0 -198
  94. package/dist/api/controllers/dev.js +0 -146
  95. package/dist/api/controllers/integration.js +0 -28
  96. package/dist/api/controllers/layout.js +0 -49
  97. package/dist/api/controllers/metadata.js +0 -63
  98. package/dist/api/controllers/migrations.js +0 -29
  99. package/dist/api/controllers/ops.js +0 -40
  100. package/dist/api/controllers/permission.js +0 -162
  101. package/dist/api/controllers/plugin/file.js +0 -24
  102. package/dist/api/controllers/plugin/github.js +0 -69
  103. package/dist/api/controllers/plugin/index.js +0 -112
  104. package/dist/api/controllers/plugin/npm.js +0 -58
  105. package/dist/api/controllers/plugin/uploaders.js +0 -11
  106. package/dist/api/controllers/plugin/url.js +0 -24
  107. package/dist/api/controllers/plugin/utils.js +0 -27
  108. package/dist/api/controllers/public/applications.js +0 -146
  109. package/dist/api/controllers/public/mapping/applications.js +0 -29
  110. package/dist/api/controllers/public/mapping/index.js +0 -11
  111. package/dist/api/controllers/public/mapping/queries.js +0 -36
  112. package/dist/api/controllers/public/mapping/rows.js +0 -24
  113. package/dist/api/controllers/public/mapping/tables.js +0 -23
  114. package/dist/api/controllers/public/mapping/types.js +0 -2
  115. package/dist/api/controllers/public/mapping/users.js +0 -29
  116. package/dist/api/controllers/public/metrics.js +0 -113
  117. package/dist/api/controllers/public/queries.js +0 -58
  118. package/dist/api/controllers/public/rows.js +0 -120
  119. package/dist/api/controllers/public/tables.js +0 -95
  120. package/dist/api/controllers/public/users.js +0 -93
  121. package/dist/api/controllers/public/utils.js +0 -56
  122. package/dist/api/controllers/query/import/index.js +0 -87
  123. package/dist/api/controllers/query/import/sources/base/index.js +0 -75
  124. package/dist/api/controllers/query/import/sources/base/openapi.js +0 -42
  125. package/dist/api/controllers/query/import/sources/curl.js +0 -99
  126. package/dist/api/controllers/query/import/sources/openapi2.js +0 -145
  127. package/dist/api/controllers/query/import/sources/openapi3.js +0 -177
  128. package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +0 -253
  129. package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +0 -1054
  130. package/dist/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.json +0 -253
  131. package/dist/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.json +0 -1225
  132. package/dist/api/controllers/query/index.js +0 -299
  133. package/dist/api/controllers/query/validation.js +0 -53
  134. package/dist/api/controllers/role.js +0 -109
  135. package/dist/api/controllers/routing.js +0 -105
  136. package/dist/api/controllers/row/ExternalRequest.js +0 -683
  137. package/dist/api/controllers/row/external.js +0 -339
  138. package/dist/api/controllers/row/index.js +0 -203
  139. package/dist/api/controllers/row/internal.js +0 -509
  140. package/dist/api/controllers/row/internalSearch.js +0 -28
  141. package/dist/api/controllers/row/staticFormula.js +0 -165
  142. package/dist/api/controllers/row/utils.js +0 -183
  143. package/dist/api/controllers/screen.js +0 -110
  144. package/dist/api/controllers/script.js +0 -30
  145. package/dist/api/controllers/static/index.js +0 -268
  146. package/dist/api/controllers/table/bulkFormula.js +0 -173
  147. package/dist/api/controllers/table/external.js +0 -279
  148. package/dist/api/controllers/table/index.js +0 -179
  149. package/dist/api/controllers/table/internal.js +0 -197
  150. package/dist/api/controllers/table/utils.js +0 -379
  151. package/dist/api/controllers/templates.js +0 -56
  152. package/dist/api/controllers/user.js +0 -124
  153. package/dist/api/controllers/view/exporters.js +0 -46
  154. package/dist/api/controllers/view/index.js +0 -193
  155. package/dist/api/controllers/view/utils.js +0 -177
  156. package/dist/api/controllers/view/viewBuilder.js +0 -158
  157. package/dist/api/controllers/webhook.js +0 -134
  158. package/dist/api/index.js +0 -55
  159. package/dist/api/routes/analytics.js +0 -34
  160. package/dist/api/routes/apikeys.js +0 -37
  161. package/dist/api/routes/application.js +0 -48
  162. package/dist/api/routes/auth.js +0 -33
  163. package/dist/api/routes/automation.js +0 -50
  164. package/dist/api/routes/backup.js +0 -35
  165. package/dist/api/routes/component.js +0 -35
  166. package/dist/api/routes/datasource.js +0 -44
  167. package/dist/api/routes/deploy.js +0 -37
  168. package/dist/api/routes/dev.js +0 -49
  169. package/dist/api/routes/index.js +0 -75
  170. package/dist/api/routes/integration.js +0 -37
  171. package/dist/api/routes/layout.js +0 -37
  172. package/dist/api/routes/metadata.js +0 -40
  173. package/dist/api/routes/migrations.js +0 -36
  174. package/dist/api/routes/ops.js +0 -52
  175. package/dist/api/routes/permission.js +0 -44
  176. package/dist/api/routes/plugin.js +0 -39
  177. package/dist/api/routes/public/applications.js +0 -174
  178. package/dist/api/routes/public/index.js +0 -140
  179. package/dist/api/routes/public/metrics.js +0 -30
  180. package/dist/api/routes/public/middleware/mapper.js +0 -97
  181. package/dist/api/routes/public/queries.js +0 -72
  182. package/dist/api/routes/public/rows.js +0 -158
  183. package/dist/api/routes/public/tables.js +0 -152
  184. package/dist/api/routes/public/users.js +0 -135
  185. package/dist/api/routes/public/utils/Endpoint.js +0 -36
  186. package/dist/api/routes/query.js +0 -47
  187. package/dist/api/routes/role.js +0 -40
  188. package/dist/api/routes/routing.js +0 -39
  189. package/dist/api/routes/row.js +0 -239
  190. package/dist/api/routes/screen.js +0 -39
  191. package/dist/api/routes/script.js +0 -35
  192. package/dist/api/routes/static.js +0 -80
  193. package/dist/api/routes/table.js +0 -163
  194. package/dist/api/routes/templates.js +0 -37
  195. package/dist/api/routes/user.js +0 -43
  196. package/dist/api/routes/utils/validators.js +0 -238
  197. package/dist/api/routes/view.js +0 -42
  198. package/dist/api/routes/webhook.js +0 -43
  199. package/dist/app.js +0 -132
  200. package/dist/automations/actions.js +0 -137
  201. package/dist/automations/automationUtils.js +0 -173
  202. package/dist/automations/bullboard.js +0 -71
  203. package/dist/automations/index.js +0 -43
  204. package/dist/automations/logging/index.js +0 -53
  205. package/dist/automations/steps/bash.js +0 -111
  206. package/dist/automations/steps/createRow.js +0 -108
  207. package/dist/automations/steps/delay.js +0 -53
  208. package/dist/automations/steps/deleteRow.js +0 -96
  209. package/dist/automations/steps/discord.js +0 -116
  210. package/dist/automations/steps/executeQuery.js +0 -134
  211. package/dist/automations/steps/executeScript.js +0 -106
  212. package/dist/automations/steps/filter.js +0 -112
  213. package/dist/automations/steps/loop.js +0 -54
  214. package/dist/automations/steps/make.js +0 -134
  215. package/dist/automations/steps/outgoingWebhook.js +0 -166
  216. package/dist/automations/steps/queryRows.js +0 -216
  217. package/dist/automations/steps/sendSmtpEmail.js +0 -115
  218. package/dist/automations/steps/serverLog.js +0 -65
  219. package/dist/automations/steps/slack.js +0 -98
  220. package/dist/automations/steps/updateRow.js +0 -144
  221. package/dist/automations/steps/utils.js +0 -56
  222. package/dist/automations/steps/zapier.js +0 -130
  223. package/dist/automations/triggerInfo/app.js +0 -36
  224. package/dist/automations/triggerInfo/cron.js +0 -35
  225. package/dist/automations/triggerInfo/index.js +0 -40
  226. package/dist/automations/triggerInfo/rowDeleted.js +0 -36
  227. package/dist/automations/triggerInfo/rowSaved.js +0 -44
  228. package/dist/automations/triggerInfo/rowUpdated.js +0 -44
  229. package/dist/automations/triggerInfo/webhook.js +0 -40
  230. package/dist/automations/triggers.js +0 -181
  231. package/dist/automations/utils.js +0 -275
  232. package/dist/constants/definitions.js +0 -2
  233. package/dist/constants/index.js +0 -181
  234. package/dist/constants/layouts.js +0 -148
  235. package/dist/constants/screens.js +0 -51
  236. package/dist/db/defaultData/datasource_bb_default.js +0 -574
  237. package/dist/db/defaultData/employeeImport.js +0 -155
  238. package/dist/db/defaultData/expensesImport.js +0 -117
  239. package/dist/db/defaultData/inventoryImport.js +0 -109
  240. package/dist/db/defaultData/jobsImport.js +0 -152
  241. package/dist/db/dynamoClient.js +0 -124
  242. package/dist/db/inMemoryView.js +0 -62
  243. package/dist/db/index.js +0 -43
  244. package/dist/db/linkedRows/LinkController.js +0 -392
  245. package/dist/db/linkedRows/LinkDocument.js +0 -33
  246. package/dist/db/linkedRows/index.js +0 -206
  247. package/dist/db/linkedRows/linkUtils.js +0 -131
  248. package/dist/db/newid.js +0 -7
  249. package/dist/db/utils.js +0 -248
  250. package/dist/db/views/staticViews.js +0 -144
  251. package/dist/ddApm.js +0 -11
  252. package/dist/definitions/automations.js +0 -8
  253. package/dist/definitions/common.js +0 -2
  254. package/dist/definitions/datasource.js +0 -7
  255. package/dist/definitions/openapi.js +0 -6
  256. package/dist/environment.js +0 -109
  257. package/dist/events/AutomationEmitter.js +0 -53
  258. package/dist/events/BudibaseEmitter.js +0 -25
  259. package/dist/events/docUpdates/index.js +0 -17
  260. package/dist/events/docUpdates/processors.js +0 -18
  261. package/dist/events/docUpdates/syncUsers.js +0 -49
  262. package/dist/events/index.js +0 -11
  263. package/dist/events/utils.js +0 -43
  264. package/dist/integrations/airtable.js +0 -173
  265. package/dist/integrations/arangodb.js +0 -119
  266. package/dist/integrations/base/query.js +0 -32
  267. package/dist/integrations/base/sql.js +0 -600
  268. package/dist/integrations/base/sqlTable.js +0 -167
  269. package/dist/integrations/base/types.js +0 -2
  270. package/dist/integrations/couchdb.js +0 -140
  271. package/dist/integrations/dynamodb.js +0 -210
  272. package/dist/integrations/elasticsearch.js +0 -201
  273. package/dist/integrations/firebase.js +0 -189
  274. package/dist/integrations/googlesheets.js +0 -484
  275. package/dist/integrations/index.js +0 -138
  276. package/dist/integrations/microsoftSqlServer.js +0 -289
  277. package/dist/integrations/mongodb.js +0 -630
  278. package/dist/integrations/mysql.js +0 -272
  279. package/dist/integrations/oracle.js +0 -404
  280. package/dist/integrations/postgres.js +0 -319
  281. package/dist/integrations/queries/sql.js +0 -84
  282. package/dist/integrations/redis.js +0 -187
  283. package/dist/integrations/rest.js +0 -400
  284. package/dist/integrations/s3.js +0 -256
  285. package/dist/integrations/snowflake.js +0 -114
  286. package/dist/integrations/utils.js +0 -295
  287. package/dist/middleware/appInfo.js +0 -22
  288. package/dist/middleware/authorized.js +0 -112
  289. package/dist/middleware/builder.js +0 -93
  290. package/dist/middleware/currentapp.js +0 -103
  291. package/dist/middleware/joi-validator.js +0 -43
  292. package/dist/middleware/publicApi.js +0 -25
  293. package/dist/middleware/resourceId.js +0 -59
  294. package/dist/middleware/selfhost.js +0 -24
  295. package/dist/middleware/utils.js +0 -8
  296. package/dist/migrations/functions/appUrls.js +0 -42
  297. package/dist/migrations/functions/backfill/app/automations.js +0 -31
  298. package/dist/migrations/functions/backfill/app/datasources.js +0 -28
  299. package/dist/migrations/functions/backfill/app/layouts.js +0 -33
  300. package/dist/migrations/functions/backfill/app/queries.js +0 -49
  301. package/dist/migrations/functions/backfill/app/roles.js +0 -28
  302. package/dist/migrations/functions/backfill/app/screens.js +0 -28
  303. package/dist/migrations/functions/backfill/app/tables.js +0 -37
  304. package/dist/migrations/functions/backfill/app.js +0 -176
  305. package/dist/migrations/functions/backfill/global/configs.js +0 -67
  306. package/dist/migrations/functions/backfill/global/quotas.js +0 -60
  307. package/dist/migrations/functions/backfill/global/users.js +0 -50
  308. package/dist/migrations/functions/backfill/global.js +0 -205
  309. package/dist/migrations/functions/backfill/index.js +0 -32
  310. package/dist/migrations/functions/backfill/installation.js +0 -80
  311. package/dist/migrations/functions/syncQuotas.js +0 -52
  312. package/dist/migrations/functions/tableSettings.js +0 -130
  313. package/dist/migrations/functions/usageQuotas/index.js +0 -16
  314. package/dist/migrations/functions/usageQuotas/syncApps.js +0 -24
  315. package/dist/migrations/functions/usageQuotas/syncPlugins.js +0 -23
  316. package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
  317. package/dist/migrations/functions/usageQuotas/syncUsers.js +0 -21
  318. package/dist/migrations/functions/userEmailViewCasing.js +0 -24
  319. package/dist/migrations/index.js +0 -111
  320. package/dist/migrations/tests/helpers.js +0 -72
  321. package/dist/migrations/tests/structures.js +0 -37
  322. package/dist/sdk/app/applications/index.js +0 -28
  323. package/dist/sdk/app/applications/sync.js +0 -164
  324. package/dist/sdk/app/applications/utils.js +0 -21
  325. package/dist/sdk/app/automations/index.js +0 -29
  326. package/dist/sdk/app/automations/webhook.js +0 -54
  327. package/dist/sdk/app/backups/constants.js +0 -6
  328. package/dist/sdk/app/backups/exports.js +0 -160
  329. package/dist/sdk/app/backups/imports.js +0 -170
  330. package/dist/sdk/app/backups/index.js +0 -29
  331. package/dist/sdk/app/backups/statistics.js +0 -73
  332. package/dist/sdk/app/datasources/datasources.js +0 -173
  333. package/dist/sdk/app/datasources/index.js +0 -27
  334. package/dist/sdk/app/queries/index.js +0 -27
  335. package/dist/sdk/app/queries/queries.js +0 -60
  336. package/dist/sdk/app/rows/attachments.js +0 -61
  337. package/dist/sdk/app/rows/index.js +0 -28
  338. package/dist/sdk/app/rows/rows.js +0 -30
  339. package/dist/sdk/app/tables/index.js +0 -65
  340. package/dist/sdk/index.js +0 -27
  341. package/dist/sdk/plugins/index.js +0 -27
  342. package/dist/sdk/plugins/plugins.js +0 -53
  343. package/dist/sdk/users/index.js +0 -27
  344. package/dist/sdk/users/utils.js +0 -87
  345. package/dist/sdk/utils/index.js +0 -29
  346. package/dist/startup.js +0 -158
  347. package/dist/threads/automation.js +0 -450
  348. package/dist/threads/definitions.js +0 -2
  349. package/dist/threads/index.js +0 -140
  350. package/dist/threads/query.js +0 -265
  351. package/dist/threads/utils.js +0 -120
  352. package/dist/tsconfig.build.tsbuildinfo +0 -1
  353. package/dist/utilities/appDirectoryTemplate/package.json +0 -10
  354. package/dist/utilities/budibaseDir.js +0 -5
  355. package/dist/utilities/centralPath.js +0 -27
  356. package/dist/utilities/csv.js +0 -33
  357. package/dist/utilities/fileSystem/app.js +0 -88
  358. package/dist/utilities/fileSystem/clientLibrary.js +0 -138
  359. package/dist/utilities/fileSystem/filesystem.js +0 -180
  360. package/dist/utilities/fileSystem/index.js +0 -21
  361. package/dist/utilities/fileSystem/plugin.js +0 -76
  362. package/dist/utilities/fileSystem/processor.js +0 -34
  363. package/dist/utilities/fileSystem/template.js +0 -47
  364. package/dist/utilities/global.js +0 -149
  365. package/dist/utilities/index.js +0 -143
  366. package/dist/utilities/redis.js +0 -117
  367. package/dist/utilities/retry.js +0 -30
  368. package/dist/utilities/routing/index.js +0 -39
  369. package/dist/utilities/rowProcessor/index.js +0 -282
  370. package/dist/utilities/rowProcessor/map.js +0 -116
  371. package/dist/utilities/rowProcessor/utils.js +0 -87
  372. package/dist/utilities/schema.js +0 -112
  373. package/dist/utilities/scriptRunner.js +0 -26
  374. package/dist/utilities/security.js +0 -57
  375. package/dist/utilities/statusCodes.js +0 -9
  376. package/dist/utilities/usageQuota/rows.js +0 -88
  377. package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
  378. package/dist/utilities/users.js +0 -57
  379. package/dist/utilities/workerRequests.js +0 -171
  380. package/dist/watch.js +0 -53
  381. package/dist/websockets/client.js +0 -14
  382. package/dist/websockets/grid.js +0 -60
  383. package/dist/websockets/index.js +0 -17
  384. package/dist/websockets/websocket.js +0 -78
  385. /package/dist/{api/controllers/static/templates/BudibaseApp.svelte → BudibaseApp-Y5NZEDTC.svelte} +0 -0
  386. /package/dist/{api/controllers/static/templates/app.hbs → app.hbs} +0 -0
  387. /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;