@budibase/server 1.0.80 → 1.0.81-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 (322) hide show
  1. package/__mocks__/node-fetch.ts +1 -0
  2. package/builder/assets/{index.c8d1e8f0.css → index.8b1dc06c.css} +2 -2
  3. package/builder/assets/index.e4d4c510.js +1291 -0
  4. package/builder/assets/{vendor.20f80cec.js → vendor.a7c6ad0a.js} +190 -216
  5. package/builder/index.html +3 -3
  6. package/coverage/clover.xml +2531 -2440
  7. package/coverage/coverage-final.json +138 -137
  8. package/coverage/lcov-report/api/controllers/analytics.js.html +6 -6
  9. package/coverage/lcov-report/api/controllers/apikeys.js.html +6 -6
  10. package/coverage/lcov-report/api/controllers/application.js.html +152 -149
  11. package/coverage/lcov-report/api/controllers/auth.js.html +7 -7
  12. package/coverage/lcov-report/api/controllers/automation.js.html +21 -21
  13. package/coverage/lcov-report/api/controllers/backup.js.html +3 -3
  14. package/coverage/lcov-report/api/controllers/cloud.js.html +11 -11
  15. package/coverage/lcov-report/api/controllers/component.js.html +5 -5
  16. package/coverage/lcov-report/api/controllers/datasource.js.html +16 -16
  17. package/coverage/lcov-report/api/controllers/dev.js.html +19 -19
  18. package/coverage/lcov-report/api/controllers/index.html +16 -16
  19. package/coverage/lcov-report/api/controllers/integration.js.html +4 -4
  20. package/coverage/lcov-report/api/controllers/layout.js.html +6 -6
  21. package/coverage/lcov-report/api/controllers/metadata.js.html +9 -9
  22. package/coverage/lcov-report/api/controllers/migrations.js.html +4 -4
  23. package/coverage/lcov-report/api/controllers/permission.js.html +15 -15
  24. package/coverage/lcov-report/api/controllers/query/index.html +1 -1
  25. package/coverage/lcov-report/api/controllers/query/index.js.html +26 -26
  26. package/coverage/lcov-report/api/controllers/query/validation.js.html +10 -10
  27. package/coverage/lcov-report/api/controllers/role.js.html +9 -9
  28. package/coverage/lcov-report/api/controllers/routing.js.html +9 -9
  29. package/coverage/lcov-report/api/controllers/row/external.js.html +86 -23
  30. package/coverage/lcov-report/api/controllers/row/index.html +46 -46
  31. package/coverage/lcov-report/api/controllers/row/index.js.html +76 -49
  32. package/coverage/lcov-report/api/controllers/row/internal.js.html +144 -84
  33. package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +204 -204
  34. package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +24 -24
  35. package/coverage/lcov-report/api/controllers/row/utils.js.html +29 -29
  36. package/coverage/lcov-report/api/controllers/screen.js.html +7 -7
  37. package/coverage/lcov-report/api/controllers/script.js.html +4 -4
  38. package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +49 -49
  39. package/coverage/lcov-report/api/controllers/table/external.js.html +62 -20
  40. package/coverage/lcov-report/api/controllers/table/index.html +20 -20
  41. package/coverage/lcov-report/api/controllers/table/index.js.html +47 -44
  42. package/coverage/lcov-report/api/controllers/table/internal.js.html +50 -50
  43. package/coverage/lcov-report/api/controllers/table/utils.js.html +80 -80
  44. package/coverage/lcov-report/api/controllers/templates.js.html +5 -5
  45. package/coverage/lcov-report/api/controllers/user.js.html +19 -19
  46. package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
  47. package/coverage/lcov-report/api/controllers/view/index.html +1 -1
  48. package/coverage/lcov-report/api/controllers/view/index.js.html +14 -14
  49. package/coverage/lcov-report/api/controllers/view/utils.js.html +12 -12
  50. package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
  51. package/coverage/lcov-report/api/controllers/webhook.js.html +18 -27
  52. package/coverage/lcov-report/api/index.html +10 -10
  53. package/coverage/lcov-report/api/index.js.html +37 -28
  54. package/coverage/lcov-report/api/routes/analytics.js.html +6 -6
  55. package/coverage/lcov-report/api/routes/apikeys.js.html +8 -8
  56. package/coverage/lcov-report/api/routes/application.js.html +9 -9
  57. package/coverage/lcov-report/api/routes/auth.js.html +6 -6
  58. package/coverage/lcov-report/api/routes/automation.js.html +19 -109
  59. package/coverage/lcov-report/api/routes/backup.js.html +8 -8
  60. package/coverage/lcov-report/api/routes/cloud.js.html +8 -8
  61. package/coverage/lcov-report/api/routes/component.js.html +8 -8
  62. package/coverage/lcov-report/api/routes/datasource.js.html +18 -156
  63. package/coverage/lcov-report/api/routes/deploy.js.html +8 -8
  64. package/coverage/lcov-report/api/routes/dev.js.html +13 -13
  65. package/coverage/lcov-report/api/routes/index.html +35 -35
  66. package/coverage/lcov-report/api/routes/index.js.html +38 -32
  67. package/coverage/lcov-report/api/routes/integration.js.html +8 -8
  68. package/coverage/lcov-report/api/routes/layout.js.html +8 -8
  69. package/coverage/lcov-report/api/routes/metadata.js.html +9 -9
  70. package/coverage/lcov-report/api/routes/migrations.js.html +7 -7
  71. package/coverage/lcov-report/api/routes/permission.js.html +16 -58
  72. package/coverage/lcov-report/api/routes/query.js.html +10 -10
  73. package/coverage/lcov-report/api/routes/role.js.html +15 -78
  74. package/coverage/lcov-report/api/routes/routing.js.html +8 -8
  75. package/coverage/lcov-report/api/routes/row.js.html +80 -14
  76. package/coverage/lcov-report/api/routes/screen.js.html +14 -95
  77. package/coverage/lcov-report/api/routes/script.js.html +1 -1
  78. package/coverage/lcov-report/api/routes/static.js.html +13 -13
  79. package/coverage/lcov-report/api/routes/table.js.html +17 -62
  80. package/coverage/lcov-report/api/routes/templates.js.html +8 -8
  81. package/coverage/lcov-report/api/routes/user.js.html +8 -8
  82. package/coverage/lcov-report/api/routes/utils/index.html +111 -0
  83. package/coverage/lcov-report/api/routes/utils/validators.js.html +737 -0
  84. package/coverage/lcov-report/api/routes/view.js.html +10 -10
  85. package/coverage/lcov-report/api/routes/webhook.js.html +14 -62
  86. package/coverage/lcov-report/automations/actions.js.html +24 -24
  87. package/coverage/lcov-report/automations/automationUtils.js.html +5 -5
  88. package/coverage/lcov-report/automations/bullboard.js.html +16 -16
  89. package/coverage/lcov-report/automations/index.html +1 -1
  90. package/coverage/lcov-report/automations/index.js.html +7 -7
  91. package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
  92. package/coverage/lcov-report/automations/steps/createRow.js.html +7 -7
  93. package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
  94. package/coverage/lcov-report/automations/steps/deleteRow.js.html +7 -7
  95. package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
  96. package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
  97. package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
  98. package/coverage/lcov-report/automations/steps/filter.js.html +12 -9
  99. package/coverage/lcov-report/automations/steps/index.html +1 -1
  100. package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
  101. package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
  102. package/coverage/lcov-report/automations/steps/queryRows.js.html +11 -11
  103. package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
  104. package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
  105. package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
  106. package/coverage/lcov-report/automations/steps/updateRow.js.html +6 -6
  107. package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
  108. package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
  109. package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
  110. package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
  111. package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
  112. package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
  113. package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
  114. package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
  115. package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
  116. package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
  117. package/coverage/lcov-report/automations/triggers.js.html +26 -26
  118. package/coverage/lcov-report/automations/utils.js.html +35 -35
  119. package/coverage/lcov-report/constants/index.html +5 -5
  120. package/coverage/lcov-report/constants/index.js.html +40 -28
  121. package/coverage/lcov-report/constants/layouts.js.html +5 -5
  122. package/coverage/lcov-report/constants/screens.js.html +4 -4
  123. package/coverage/lcov-report/db/client.js.html +18 -18
  124. package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
  125. package/coverage/lcov-report/db/index.html +15 -15
  126. package/coverage/lcov-report/db/index.js.html +3 -3
  127. package/coverage/lcov-report/db/linkedRows/LinkController.js.html +21 -21
  128. package/coverage/lcov-report/db/linkedRows/index.html +1 -1
  129. package/coverage/lcov-report/db/linkedRows/index.js.html +36 -36
  130. package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +30 -30
  131. package/coverage/lcov-report/db/newid.js.html +4 -4
  132. package/coverage/lcov-report/db/utils.js.html +123 -87
  133. package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
  134. package/coverage/lcov-report/events/index.html +1 -1
  135. package/coverage/lcov-report/events/index.js.html +8 -8
  136. package/coverage/lcov-report/events/utils.js.html +18 -18
  137. package/coverage/lcov-report/index.html +91 -76
  138. package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
  139. package/coverage/lcov-report/integrations/tests/index.html +1 -1
  140. package/coverage/lcov-report/middleware/appInfo.js.html +5 -5
  141. package/coverage/lcov-report/middleware/authorized.js.html +29 -29
  142. package/coverage/lcov-report/middleware/builder.js.html +16 -16
  143. package/coverage/lcov-report/middleware/currentapp.js.html +44 -44
  144. package/coverage/lcov-report/middleware/index.html +1 -1
  145. package/coverage/lcov-report/middleware/joi-validator.js.html +14 -14
  146. package/coverage/lcov-report/middleware/resourceId.js.html +29 -29
  147. package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
  148. package/coverage/lcov-report/middleware/usageQuota.js.html +17 -17
  149. package/coverage/lcov-report/middleware/utils.js.html +4 -4
  150. package/coverage/lcov-report/threads/automation.js.html +1 -1
  151. package/coverage/lcov-report/threads/index.html +19 -19
  152. package/coverage/lcov-report/threads/index.js.html +10 -10
  153. package/coverage/lcov-report/threads/query.js.html +123 -39
  154. package/coverage/lcov-report/threads/utils.js.html +14 -14
  155. package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
  156. package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
  157. package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
  158. package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
  159. package/coverage/lcov-report/utilities/global.js.html +28 -28
  160. package/coverage/lcov-report/utilities/index.html +18 -18
  161. package/coverage/lcov-report/utilities/index.js.html +24 -24
  162. package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +9 -9
  163. package/coverage/lcov-report/utilities/queue/index.html +1 -1
  164. package/coverage/lcov-report/utilities/routing/index.html +1 -1
  165. package/coverage/lcov-report/utilities/routing/index.js.html +6 -6
  166. package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
  167. package/coverage/lcov-report/utilities/rowProcessor/index.js.html +60 -60
  168. package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +13 -13
  169. package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
  170. package/coverage/lcov-report/utilities/security.js.html +8 -8
  171. package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
  172. package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
  173. package/coverage/lcov-report/utilities/usageQuota/index.js.html +12 -12
  174. package/coverage/lcov-report/utilities/usageQuota/rows.js.html +8 -8
  175. package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
  176. package/coverage/lcov-report/utilities/users.js.html +5 -5
  177. package/coverage/lcov-report/utilities/workerRequests.js.html +200 -53
  178. package/coverage/lcov.info +3555 -3411
  179. package/dist/api/controllers/application.js +1 -0
  180. package/dist/api/controllers/public/applications.js +94 -0
  181. package/dist/api/controllers/public/mapping/applications.js +29 -0
  182. package/dist/api/controllers/public/mapping/index.js +11 -0
  183. package/dist/api/controllers/public/mapping/queries.js +36 -0
  184. package/dist/api/controllers/public/mapping/rows.js +24 -0
  185. package/dist/api/controllers/public/mapping/tables.js +23 -0
  186. package/dist/api/controllers/public/mapping/types.js +2 -0
  187. package/dist/api/controllers/public/mapping/users.js +29 -0
  188. package/dist/api/controllers/public/queries.js +38 -0
  189. package/dist/api/controllers/public/rows.js +97 -0
  190. package/dist/api/controllers/public/tables.js +75 -0
  191. package/dist/api/controllers/public/users.js +95 -0
  192. package/dist/api/controllers/public/utils.js +49 -0
  193. package/dist/api/controllers/row/external.js +18 -0
  194. package/dist/api/controllers/row/index.js +11 -0
  195. package/dist/api/controllers/row/internal.js +15 -1
  196. package/dist/api/controllers/table/external.js +8 -2
  197. package/dist/api/controllers/table/index.js +2 -1
  198. package/dist/api/controllers/webhook.js +3 -5
  199. package/dist/api/index.js +3 -1
  200. package/dist/api/routes/automation.js +3 -31
  201. package/dist/api/routes/datasource.js +3 -50
  202. package/dist/api/routes/index.js +2 -0
  203. package/dist/api/routes/permission.js +4 -14
  204. package/dist/api/routes/public/applications.js +141 -0
  205. package/dist/api/routes/public/index.js +101 -0
  206. package/dist/api/routes/public/middleware/mapper.js +94 -0
  207. package/dist/api/routes/public/queries.js +77 -0
  208. package/dist/api/routes/public/rows.js +229 -0
  209. package/dist/api/routes/public/tables.js +154 -0
  210. package/dist/api/routes/public/users.js +137 -0
  211. package/dist/api/routes/public/utils/Endpoint.js +36 -0
  212. package/dist/api/routes/role.js +3 -19
  213. package/dist/api/routes/row.js +18 -5
  214. package/dist/api/routes/screen.js +2 -23
  215. package/dist/api/routes/table.js +3 -17
  216. package/dist/api/routes/tests/utilities/index.js +23 -0
  217. package/dist/api/routes/utils/validators.js +200 -0
  218. package/dist/api/routes/webhook.js +2 -17
  219. package/dist/automations/steps/filter.js +2 -2
  220. package/dist/automations/steps/queryRows.js +1 -1
  221. package/dist/automations/utils.js +2 -2
  222. package/dist/constants/index.js +3 -0
  223. package/dist/db/utils.js +11 -0
  224. package/dist/definitions/openapi.js +6 -0
  225. package/dist/environment.js +1 -0
  226. package/dist/integrations/base/sql.js +16 -1
  227. package/dist/integrations/base/sqlTable.js +21 -9
  228. package/dist/integrations/googlesheets.js +3 -0
  229. package/dist/integrations/microsoftSqlServer.js +60 -43
  230. package/dist/integrations/mysql.js +3 -0
  231. package/dist/integrations/oracle.js +14 -19
  232. package/dist/integrations/postgres.js +34 -28
  233. package/dist/integrations/utils.js +32 -15
  234. package/dist/package.json +11 -7
  235. package/dist/tests/utilities/TestConfiguration.js +25 -8
  236. package/dist/threads/query.js +33 -8
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/dist/utilities/workerRequests.js +50 -15
  239. package/package.json +12 -8
  240. package/scripts/integrations/mssql/data/setup.sql +18 -1
  241. package/scripts/integrations/oracle/oracle.md +2 -2
  242. package/scripts/integrations/postgres/init.sql +11 -3
  243. package/scripts/likeCypress.ts +9 -6
  244. package/specs/generate.js +94 -0
  245. package/specs/openapi.json +2232 -0
  246. package/specs/openapi.yaml +1538 -0
  247. package/specs/parameters.js +59 -0
  248. package/specs/resources/application.js +101 -0
  249. package/specs/resources/index.js +24 -0
  250. package/specs/resources/misc.js +12 -0
  251. package/specs/resources/query.js +189 -0
  252. package/specs/resources/row.js +125 -0
  253. package/specs/resources/table.js +191 -0
  254. package/specs/resources/user.js +126 -0
  255. package/specs/resources/utils/Resource.js +26 -0
  256. package/specs/resources/utils/index.js +11 -0
  257. package/specs/security.js +7 -0
  258. package/src/api/controllers/application.js +1 -0
  259. package/src/api/controllers/public/applications.ts +74 -0
  260. package/src/api/controllers/public/mapping/applications.ts +32 -0
  261. package/src/api/controllers/public/mapping/index.ts +13 -0
  262. package/src/api/controllers/public/mapping/queries.ts +39 -0
  263. package/src/api/controllers/public/mapping/rows.ts +31 -0
  264. package/src/api/controllers/public/mapping/tables.ts +26 -0
  265. package/src/api/controllers/public/mapping/types.ts +13 -0
  266. package/src/api/controllers/public/mapping/users.ts +32 -0
  267. package/src/api/controllers/public/queries.ts +20 -0
  268. package/src/api/controllers/public/rows.ts +77 -0
  269. package/src/api/controllers/public/tables.ts +56 -0
  270. package/src/api/controllers/public/users.ts +82 -0
  271. package/src/api/controllers/public/utils.ts +38 -0
  272. package/src/api/controllers/row/ExternalRequest.ts +1 -1
  273. package/src/api/controllers/row/external.js +21 -0
  274. package/src/api/controllers/row/index.js +9 -0
  275. package/src/api/controllers/row/internal.js +20 -0
  276. package/src/api/controllers/table/external.js +16 -2
  277. package/src/api/controllers/table/index.js +2 -1
  278. package/src/api/controllers/webhook.js +3 -6
  279. package/src/api/index.js +4 -1
  280. package/src/api/routes/automation.js +3 -33
  281. package/src/api/routes/datasource.js +6 -52
  282. package/src/api/routes/index.js +2 -0
  283. package/src/api/routes/permission.js +4 -18
  284. package/src/api/routes/public/applications.ts +156 -0
  285. package/src/api/routes/public/index.ts +118 -0
  286. package/src/api/routes/public/middleware/mapper.ts +81 -0
  287. package/src/api/routes/public/queries.ts +81 -0
  288. package/src/api/routes/public/rows.ts +242 -0
  289. package/src/api/routes/public/tables.ts +169 -0
  290. package/src/api/routes/public/tests/compare.spec.js +184 -0
  291. package/src/api/routes/public/users.ts +144 -0
  292. package/src/api/routes/public/utils/Endpoint.ts +51 -0
  293. package/src/api/routes/role.js +3 -24
  294. package/src/api/routes/row.js +24 -2
  295. package/src/api/routes/screen.js +2 -29
  296. package/src/api/routes/table.js +4 -19
  297. package/src/api/routes/tests/utilities/index.js +24 -0
  298. package/src/api/routes/utils/validators.js +219 -0
  299. package/src/api/routes/webhook.js +2 -18
  300. package/src/automations/steps/filter.js +3 -2
  301. package/src/automations/steps/queryRows.js +1 -1
  302. package/src/automations/utils.js +2 -2
  303. package/src/constants/index.js +4 -0
  304. package/src/db/utils.js +12 -0
  305. package/src/definitions/common.ts +4 -0
  306. package/src/definitions/datasource.ts +7 -0
  307. package/src/definitions/openapi.ts +943 -0
  308. package/src/environment.js +1 -0
  309. package/src/integrations/base/datasourcePlus.ts +3 -0
  310. package/src/integrations/base/sql.ts +16 -1
  311. package/src/integrations/base/sqlTable.ts +35 -13
  312. package/src/integrations/googlesheets.ts +5 -2
  313. package/src/integrations/microsoftSqlServer.ts +86 -61
  314. package/src/integrations/mysql.ts +4 -0
  315. package/src/integrations/oracle.ts +27 -35
  316. package/src/integrations/postgres.ts +33 -26
  317. package/src/integrations/utils.ts +43 -15
  318. package/src/tests/utilities/TestConfiguration.js +23 -2
  319. package/src/threads/query.js +37 -9
  320. package/src/utilities/workerRequests.js +65 -16
  321. package/builder/assets/index.22a39cc9.js +0 -1352
  322. package/scripts/proxy/generateProxyConfig.js +0 -70
@@ -0,0 +1,943 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+
6
+ export interface paths {
7
+ "/applications": {
8
+ post: {
9
+ parameters: {
10
+ header: {
11
+ /** The ID of the app which this request is targeting. */
12
+ "x-budibase-app-id": components["parameters"]["appId"]
13
+ }
14
+ }
15
+ responses: {
16
+ /** Returns the created application. */
17
+ 200: {
18
+ content: {
19
+ "application/json": components["schemas"]["applicationOutput"]
20
+ }
21
+ }
22
+ }
23
+ requestBody: {
24
+ content: {
25
+ "application/json": components["schemas"]["application"]
26
+ }
27
+ }
28
+ }
29
+ }
30
+ "/applications/{appId}": {
31
+ get: {
32
+ parameters: {
33
+ path: {
34
+ /** The ID of the app which this request is targeting. */
35
+ appId: components["parameters"]["appIdUrl"]
36
+ }
37
+ }
38
+ responses: {
39
+ /** Returns the retrieved application. */
40
+ 200: {
41
+ content: {
42
+ "application/json": components["schemas"]["applicationOutput"]
43
+ }
44
+ }
45
+ }
46
+ }
47
+ put: {
48
+ parameters: {
49
+ path: {
50
+ /** The ID of the app which this request is targeting. */
51
+ appId: components["parameters"]["appIdUrl"]
52
+ }
53
+ }
54
+ responses: {
55
+ /** Returns the updated application. */
56
+ 200: {
57
+ content: {
58
+ "application/json": components["schemas"]["applicationOutput"]
59
+ }
60
+ }
61
+ }
62
+ requestBody: {
63
+ content: {
64
+ "application/json": components["schemas"]["application"]
65
+ }
66
+ }
67
+ }
68
+ delete: {
69
+ parameters: {
70
+ path: {
71
+ /** The ID of the app which this request is targeting. */
72
+ appId: components["parameters"]["appIdUrl"]
73
+ }
74
+ }
75
+ responses: {
76
+ /** Returns the deleted application. */
77
+ 200: {
78
+ content: {
79
+ "application/json": components["schemas"]["applicationOutput"]
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ "/applications/search": {
86
+ /** Based on application properties (currently only name) search for applications. */
87
+ post: {
88
+ parameters: {
89
+ header: {
90
+ /** The ID of the app which this request is targeting. */
91
+ "x-budibase-app-id": components["parameters"]["appId"]
92
+ }
93
+ }
94
+ responses: {
95
+ /** Returns the applications that were found based on the search parameters. */
96
+ 200: {
97
+ content: {
98
+ "application/json": {
99
+ data: components["schemas"]["application"][]
100
+ }
101
+ }
102
+ }
103
+ }
104
+ requestBody: {
105
+ content: {
106
+ "application/json": components["schemas"]["nameSearch"]
107
+ }
108
+ }
109
+ }
110
+ }
111
+ "/queries/{queryId}": {
112
+ /** Queries which have been created within a Budibase app can be executed using this, */
113
+ post: {
114
+ parameters: {
115
+ path: {
116
+ /** The ID of the query which this request is targeting. */
117
+ queryId: components["parameters"]["queryId"]
118
+ }
119
+ header: {
120
+ /** The ID of the app which this request is targeting. */
121
+ "x-budibase-app-id": components["parameters"]["appId"]
122
+ }
123
+ }
124
+ responses: {
125
+ /** Returns the result of the query execution. */
126
+ 200: {
127
+ content: {
128
+ "application/json": components["schemas"]["executeQueryOutput"]
129
+ }
130
+ }
131
+ }
132
+ requestBody: {
133
+ content: {
134
+ "application/json": components["schemas"]["executeQuery"]
135
+ }
136
+ }
137
+ }
138
+ }
139
+ "/queries/search": {
140
+ /** Based on query properties (currently only name) search for queries. */
141
+ post: {
142
+ parameters: {
143
+ header: {
144
+ /** The ID of the app which this request is targeting. */
145
+ "x-budibase-app-id": components["parameters"]["appId"]
146
+ }
147
+ }
148
+ responses: {
149
+ /** Returns the queries found based on the search parameters. */
150
+ 200: {
151
+ content: {
152
+ "application/json": {
153
+ data: components["schemas"]["query"][]
154
+ }
155
+ }
156
+ }
157
+ }
158
+ requestBody: {
159
+ content: {
160
+ "application/json": components["schemas"]["nameSearch"]
161
+ }
162
+ }
163
+ }
164
+ }
165
+ "/tables/{tableId}/rows": {
166
+ /** Creates a row within the specified table. */
167
+ post: {
168
+ parameters: {
169
+ path: {
170
+ /** The ID of the table which this request is targeting. */
171
+ tableId: components["parameters"]["tableId"]
172
+ }
173
+ header: {
174
+ /** The ID of the app which this request is targeting. */
175
+ "x-budibase-app-id": components["parameters"]["appId"]
176
+ }
177
+ }
178
+ responses: {
179
+ /** Returns the created row, including the ID which has been generated for it. This can be found in the Budibase portal, viewed under the developer information. */
180
+ 200: {
181
+ content: {
182
+ "application/json": components["schemas"]["rowOutput"]
183
+ }
184
+ }
185
+ }
186
+ requestBody: {
187
+ content: {
188
+ "application/json": components["schemas"]["row"]
189
+ }
190
+ }
191
+ }
192
+ }
193
+ "/tables/{tableId}/rows/{rowId}": {
194
+ /** This gets a single row, it will be enriched with the full related rows, rather than the squashed "primaryDisplay" format returned by the search endpoint. */
195
+ get: {
196
+ parameters: {
197
+ path: {
198
+ /** The ID of the table which this request is targeting. */
199
+ tableId: components["parameters"]["tableId"]
200
+ /** The ID of the row which this request is targeting. */
201
+ rowId: components["parameters"]["rowId"]
202
+ }
203
+ header: {
204
+ /** The ID of the app which this request is targeting. */
205
+ "x-budibase-app-id": components["parameters"]["appId"]
206
+ }
207
+ }
208
+ responses: {
209
+ /** Returns the retrieved row. */
210
+ 200: {
211
+ content: {
212
+ "application/json": components["schemas"]["rowOutput"]
213
+ }
214
+ }
215
+ }
216
+ }
217
+ /** Updates a row within the specified table. */
218
+ put: {
219
+ parameters: {
220
+ path: {
221
+ /** The ID of the table which this request is targeting. */
222
+ tableId: components["parameters"]["tableId"]
223
+ /** The ID of the row which this request is targeting. */
224
+ rowId: components["parameters"]["rowId"]
225
+ }
226
+ header: {
227
+ /** The ID of the app which this request is targeting. */
228
+ "x-budibase-app-id": components["parameters"]["appId"]
229
+ }
230
+ }
231
+ responses: {
232
+ /** Returns the created row, including the ID which has been generated for it. */
233
+ 200: {
234
+ content: {
235
+ "application/json": components["schemas"]["rowOutput"]
236
+ }
237
+ }
238
+ }
239
+ requestBody: {
240
+ content: {
241
+ "application/json": components["schemas"]["row"]
242
+ }
243
+ }
244
+ }
245
+ /** Deletes a row within the specified table. */
246
+ delete: {
247
+ parameters: {
248
+ path: {
249
+ /** The ID of the table which this request is targeting. */
250
+ tableId: components["parameters"]["tableId"]
251
+ /** The ID of the row which this request is targeting. */
252
+ rowId: components["parameters"]["rowId"]
253
+ }
254
+ header: {
255
+ /** The ID of the app which this request is targeting. */
256
+ "x-budibase-app-id": components["parameters"]["appId"]
257
+ }
258
+ }
259
+ responses: {
260
+ /** Returns the deleted row, including the ID which has been generated for it. */
261
+ 200: {
262
+ content: {
263
+ "application/json": components["schemas"]["rowOutput"]
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
269
+ "/tables/{tableId}/rows/search": {
270
+ post: {
271
+ parameters: {
272
+ path: {
273
+ /** The ID of the table which this request is targeting. */
274
+ tableId: components["parameters"]["tableId"]
275
+ }
276
+ header: {
277
+ /** The ID of the app which this request is targeting. */
278
+ "x-budibase-app-id": components["parameters"]["appId"]
279
+ }
280
+ }
281
+ responses: {
282
+ /** The response will contain an array of rows that match the search parameters. */
283
+ 200: {
284
+ content: {
285
+ "application/json": components["schemas"]["searchOutput"]
286
+ }
287
+ }
288
+ }
289
+ requestBody: {
290
+ content: {
291
+ "application/json": {
292
+ query: {
293
+ /**
294
+ * @description A map of field name to the string to search for, this will look for rows that have a value starting with the string value.
295
+ * @example [object Object]
296
+ */
297
+ string?: { [key: string]: string }
298
+ /** @description A fuzzy search, only supported by internal tables. */
299
+ fuzzy?: { [key: string]: unknown }
300
+ /**
301
+ * @description Searches within a range, the format of this must be columnName -> [low, high].
302
+ * @example [object Object]
303
+ */
304
+ range?: { [key: string]: unknown }
305
+ /** @description Searches for rows that have a column value that is exactly the value set. */
306
+ equal?: { [key: string]: unknown }
307
+ /** @description Searches for any row which does not contain the specified column value. */
308
+ notEqual?: { [key: string]: unknown }
309
+ /**
310
+ * @description Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.
311
+ * @example [object Object]
312
+ */
313
+ empty?: { [key: string]: unknown }
314
+ /** @description Searches for rows which have the specified column. */
315
+ notEmpty?: { [key: string]: unknown }
316
+ /** @description Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2]. */
317
+ oneOf?: { [key: string]: unknown }
318
+ }
319
+ /** @description Enables pagination, by default this is disabled. */
320
+ paginate?: boolean
321
+ /** @description If retrieving another page, the bookmark from the previous request must be supplied. */
322
+ bookmark?: string | number
323
+ /** @description The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000. */
324
+ limit?: number
325
+ /** @description A set of parameters describing the sort behaviour of the search. */
326
+ sort?: {
327
+ /**
328
+ * @description The order of the sort, by default this is ascending.
329
+ * @enum {string}
330
+ */
331
+ order?: "ascending" | "descending"
332
+ /** @description The name of the column by which the rows will be sorted. */
333
+ column?: string
334
+ /**
335
+ * @description Defines whether the column should be treated as a string or as numbers when sorting.
336
+ * @enum {string}
337
+ */
338
+ type?: "string" | "number"
339
+ }
340
+ }
341
+ }
342
+ }
343
+ }
344
+ }
345
+ "/tables": {
346
+ /** Create a table, this could be internal or external. */
347
+ post: {
348
+ parameters: {
349
+ header: {
350
+ /** The ID of the app which this request is targeting. */
351
+ "x-budibase-app-id": components["parameters"]["appId"]
352
+ }
353
+ }
354
+ responses: {
355
+ /** Returns the created table, including the ID which has been generated for it. This can be internal or external data sources. */
356
+ 200: {
357
+ content: {
358
+ "application/json": components["schemas"]["tableOutput"]
359
+ }
360
+ }
361
+ }
362
+ requestBody: {
363
+ content: {
364
+ "application/json": components["schemas"]["table"]
365
+ }
366
+ }
367
+ }
368
+ }
369
+ "/tables/{tableId}": {
370
+ /** Lookup a table, this could be internal or external. */
371
+ get: {
372
+ parameters: {
373
+ path: {
374
+ /** The ID of the table which this request is targeting. */
375
+ tableId: components["parameters"]["tableId"]
376
+ }
377
+ header: {
378
+ /** The ID of the app which this request is targeting. */
379
+ "x-budibase-app-id": components["parameters"]["appId"]
380
+ }
381
+ }
382
+ responses: {
383
+ /** Returns the retrieved table. */
384
+ 200: {
385
+ content: {
386
+ "application/json": components["schemas"]["tableOutput"]
387
+ }
388
+ }
389
+ }
390
+ }
391
+ /** Update a table, this could be internal or external. */
392
+ put: {
393
+ parameters: {
394
+ path: {
395
+ /** The ID of the table which this request is targeting. */
396
+ tableId: components["parameters"]["tableId"]
397
+ }
398
+ header: {
399
+ /** The ID of the app which this request is targeting. */
400
+ "x-budibase-app-id": components["parameters"]["appId"]
401
+ }
402
+ }
403
+ responses: {
404
+ /** Returns the updated table. */
405
+ 200: {
406
+ content: {
407
+ "application/json": components["schemas"]["tableOutput"]
408
+ }
409
+ }
410
+ }
411
+ requestBody: {
412
+ content: {
413
+ "application/json": components["schemas"]["table"]
414
+ }
415
+ }
416
+ }
417
+ /** Delete a table, this could be internal or external. */
418
+ delete: {
419
+ parameters: {
420
+ path: {
421
+ /** The ID of the table which this request is targeting. */
422
+ tableId: components["parameters"]["tableId"]
423
+ }
424
+ header: {
425
+ /** The ID of the app which this request is targeting. */
426
+ "x-budibase-app-id": components["parameters"]["appId"]
427
+ }
428
+ }
429
+ responses: {
430
+ /** Returns the deleted table. */
431
+ 200: {
432
+ content: {
433
+ "application/json": components["schemas"]["tableOutput"]
434
+ }
435
+ }
436
+ }
437
+ }
438
+ }
439
+ "/tables/search": {
440
+ /** Based on table properties (currently only name) search for tables. This could be an internal or an external table. */
441
+ post: {
442
+ parameters: {
443
+ header: {
444
+ /** The ID of the app which this request is targeting. */
445
+ "x-budibase-app-id": components["parameters"]["appId"]
446
+ }
447
+ }
448
+ responses: {
449
+ /** Returns the found tables, based on the search parameters. */
450
+ 200: {
451
+ content: {
452
+ "application/json": {
453
+ data: components["schemas"]["table"][]
454
+ }
455
+ }
456
+ }
457
+ }
458
+ requestBody: {
459
+ content: {
460
+ "application/json": components["schemas"]["nameSearch"]
461
+ }
462
+ }
463
+ }
464
+ }
465
+ "/users": {
466
+ post: {
467
+ responses: {
468
+ /** Returns the created user. */
469
+ 200: {
470
+ content: {
471
+ "application/json": components["schemas"]["userOutput"]
472
+ }
473
+ }
474
+ }
475
+ requestBody: {
476
+ content: {
477
+ "application/json": components["schemas"]["user"]
478
+ }
479
+ }
480
+ }
481
+ }
482
+ "/users/{userId}": {
483
+ get: {
484
+ parameters: {
485
+ path: {
486
+ /** The ID of the user which this request is targeting. */
487
+ userId: components["parameters"]["userId"]
488
+ }
489
+ }
490
+ responses: {
491
+ /** Returns the retrieved user. */
492
+ 200: {
493
+ content: {
494
+ "application/json": components["schemas"]["userOutput"]
495
+ }
496
+ }
497
+ }
498
+ }
499
+ put: {
500
+ parameters: {
501
+ path: {
502
+ /** The ID of the user which this request is targeting. */
503
+ userId: components["parameters"]["userId"]
504
+ }
505
+ }
506
+ responses: {
507
+ /** Returns the updated user. */
508
+ 200: {
509
+ content: {
510
+ "application/json": components["schemas"]["userOutput"]
511
+ }
512
+ }
513
+ }
514
+ requestBody: {
515
+ content: {
516
+ "application/json": components["schemas"]["user"]
517
+ }
518
+ }
519
+ }
520
+ delete: {
521
+ parameters: {
522
+ path: {
523
+ /** The ID of the user which this request is targeting. */
524
+ userId: components["parameters"]["userId"]
525
+ }
526
+ }
527
+ responses: {
528
+ /** Returns the deleted user. */
529
+ 200: {
530
+ content: {
531
+ "application/json": components["schemas"]["userOutput"]
532
+ }
533
+ }
534
+ }
535
+ }
536
+ }
537
+ "/users/search": {
538
+ /** Based on user properties (currently only name) search for users. */
539
+ post: {
540
+ responses: {
541
+ /** Returns the found users based on search parameters. */
542
+ 200: {
543
+ content: {
544
+ "application/json": {
545
+ data: components["schemas"]["user"][]
546
+ }
547
+ }
548
+ }
549
+ }
550
+ requestBody: {
551
+ content: {
552
+ "application/json": components["schemas"]["nameSearch"]
553
+ }
554
+ }
555
+ }
556
+ }
557
+ }
558
+
559
+ export interface components {
560
+ schemas: {
561
+ application: {
562
+ /** @description The name of the app. */
563
+ name: string
564
+ /** @description The URL by which the app is accessed, this must be URL encoded. */
565
+ url: string
566
+ }
567
+ applicationOutput: {
568
+ data: {
569
+ /** @description The name of the app. */
570
+ name: string
571
+ /** @description The URL by which the app is accessed, this must be URL encoded. */
572
+ url: string
573
+ /** @description The ID of the app. */
574
+ _id: string
575
+ /**
576
+ * @description The status of the app, stating it if is the development or published version.
577
+ * @enum {string}
578
+ */
579
+ status: "development" | "published"
580
+ /** @description States when the app was created, will be constant. Stored in ISO format. */
581
+ createdAt: string
582
+ /** @description States the last time the app was updated - stored in ISO format. */
583
+ updatedAt: string
584
+ /** @description States the version of the Budibase client this app is currently based on. */
585
+ version: string
586
+ /** @description In a multi-tenant environment this will state the tenant this app is within. */
587
+ tenantId?: string
588
+ /** @description The user this app is currently being built by. */
589
+ lockedBy?: { [key: string]: unknown }
590
+ }
591
+ }
592
+ /** @description The row to be created/updated, based on the table schema. */
593
+ row: { [key: string]: unknown }
594
+ searchOutput: {
595
+ /** @description An array of rows, these will each contain an _id field which can be used to update or delete them. */
596
+ data: { [key: string]: unknown }[]
597
+ /** @description If pagination in use, this should be provided. */
598
+ bookmark?: string | number
599
+ /** @description If pagination in use, this will determine if there is another page to fetch. */
600
+ hasNextPage?: boolean
601
+ }
602
+ rowOutput: {
603
+ /** @description The row to be created/updated, based on the table schema. */
604
+ data: {
605
+ /** @description The ID of the row. */
606
+ _id: string
607
+ /** @description The ID of the table this row comes from. */
608
+ tableId: string
609
+ } & { [key: string]: unknown }
610
+ }
611
+ /** @description The table to be created/updated. */
612
+ table: {
613
+ /** @description The name of the table. */
614
+ name: string
615
+ /** @description The name of the column which should be used in relationship tags when relating to this table. */
616
+ primaryDisplay?: string
617
+ schema: {
618
+ [key: string]:
619
+ | {
620
+ /**
621
+ * @description A relationship column.
622
+ * @enum {string}
623
+ */
624
+ type?: "link"
625
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
626
+ constraints?: {
627
+ /** @enum {string} */
628
+ type?: "string" | "number" | "object" | "boolean"
629
+ /** @description Defines whether the column is required or not. */
630
+ presence?: boolean
631
+ }
632
+ /** @description The name of the column. */
633
+ name?: string
634
+ /** @description Defines whether the column is automatically generated. */
635
+ autocolumn?: boolean
636
+ /** @description The name of the column which a relationship column is related to in another table. */
637
+ fieldName?: string
638
+ /** @description The ID of the table which a relationship column is related to. */
639
+ tableId?: string
640
+ /**
641
+ * @description Defines the type of relationship that this column will be used for.
642
+ * @enum {string}
643
+ */
644
+ relationshipType?: "one-to-many" | "many-to-one" | "many-to-many"
645
+ /** @description When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. */
646
+ through?: string
647
+ /** @description When using a SQL table that contains a one to many relationship this defines the foreign key. */
648
+ foreignKey?: string
649
+ /** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. */
650
+ throughFrom?: string
651
+ /** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. */
652
+ throughTo?: string
653
+ }
654
+ | {
655
+ /**
656
+ * @description A formula column.
657
+ * @enum {string}
658
+ */
659
+ type?: "formula"
660
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
661
+ constraints?: {
662
+ /** @enum {string} */
663
+ type?: "string" | "number" | "object" | "boolean"
664
+ /** @description Defines whether the column is required or not. */
665
+ presence?: boolean
666
+ }
667
+ /** @description The name of the column. */
668
+ name?: string
669
+ /** @description Defines whether the column is automatically generated. */
670
+ autocolumn?: boolean
671
+ /** @description Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. */
672
+ formula?: string
673
+ /**
674
+ * @description Defines whether this is a static or dynamic formula.
675
+ * @enum {string}
676
+ */
677
+ formulaType?: "static" | "dynamic"
678
+ }
679
+ | {
680
+ /**
681
+ * @description Defines the type of the column, most explain themselves, a link column is a relationship.
682
+ * @enum {string}
683
+ */
684
+ type?:
685
+ | "string"
686
+ | "longform"
687
+ | "options"
688
+ | "number"
689
+ | "boolean"
690
+ | "array"
691
+ | "datetime"
692
+ | "attachment"
693
+ | "link"
694
+ | "formula"
695
+ | "auto"
696
+ | "json"
697
+ | "internal"
698
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
699
+ constraints?: {
700
+ /** @enum {string} */
701
+ type?: "string" | "number" | "object" | "boolean"
702
+ /** @description Defines whether the column is required or not. */
703
+ presence?: boolean
704
+ }
705
+ /** @description The name of the column. */
706
+ name?: string
707
+ /** @description Defines whether the column is automatically generated. */
708
+ autocolumn?: boolean
709
+ }
710
+ }
711
+ }
712
+ tableOutput: {
713
+ /** @description The table to be created/updated. */
714
+ data: {
715
+ /** @description The name of the table. */
716
+ name: string
717
+ /** @description The name of the column which should be used in relationship tags when relating to this table. */
718
+ primaryDisplay?: string
719
+ schema: {
720
+ [key: string]:
721
+ | {
722
+ /**
723
+ * @description A relationship column.
724
+ * @enum {string}
725
+ */
726
+ type?: "link"
727
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
728
+ constraints?: {
729
+ /** @enum {string} */
730
+ type?: "string" | "number" | "object" | "boolean"
731
+ /** @description Defines whether the column is required or not. */
732
+ presence?: boolean
733
+ }
734
+ /** @description The name of the column. */
735
+ name?: string
736
+ /** @description Defines whether the column is automatically generated. */
737
+ autocolumn?: boolean
738
+ /** @description The name of the column which a relationship column is related to in another table. */
739
+ fieldName?: string
740
+ /** @description The ID of the table which a relationship column is related to. */
741
+ tableId?: string
742
+ /**
743
+ * @description Defines the type of relationship that this column will be used for.
744
+ * @enum {string}
745
+ */
746
+ relationshipType?:
747
+ | "one-to-many"
748
+ | "many-to-one"
749
+ | "many-to-many"
750
+ /** @description When using a SQL table that contains many to many relationships this defines the table the relationships are linked through. */
751
+ through?: string
752
+ /** @description When using a SQL table that contains a one to many relationship this defines the foreign key. */
753
+ foreignKey?: string
754
+ /** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for this table. */
755
+ throughFrom?: string
756
+ /** @description When using a SQL table that utilises a through table, this defines the primary key in the through table for the related table. */
757
+ throughTo?: string
758
+ }
759
+ | {
760
+ /**
761
+ * @description A formula column.
762
+ * @enum {string}
763
+ */
764
+ type?: "formula"
765
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
766
+ constraints?: {
767
+ /** @enum {string} */
768
+ type?: "string" | "number" | "object" | "boolean"
769
+ /** @description Defines whether the column is required or not. */
770
+ presence?: boolean
771
+ }
772
+ /** @description The name of the column. */
773
+ name?: string
774
+ /** @description Defines whether the column is automatically generated. */
775
+ autocolumn?: boolean
776
+ /** @description Defines a Handlebars or JavaScript formula to use, note that Javascript formulas are expected to be provided in the base64 format. */
777
+ formula?: string
778
+ /**
779
+ * @description Defines whether this is a static or dynamic formula.
780
+ * @enum {string}
781
+ */
782
+ formulaType?: "static" | "dynamic"
783
+ }
784
+ | {
785
+ /**
786
+ * @description Defines the type of the column, most explain themselves, a link column is a relationship.
787
+ * @enum {string}
788
+ */
789
+ type?:
790
+ | "string"
791
+ | "longform"
792
+ | "options"
793
+ | "number"
794
+ | "boolean"
795
+ | "array"
796
+ | "datetime"
797
+ | "attachment"
798
+ | "link"
799
+ | "formula"
800
+ | "auto"
801
+ | "json"
802
+ | "internal"
803
+ /** @description A constraint can be applied to the column which will be validated against when a row is saved. */
804
+ constraints?: {
805
+ /** @enum {string} */
806
+ type?: "string" | "number" | "object" | "boolean"
807
+ /** @description Defines whether the column is required or not. */
808
+ presence?: boolean
809
+ }
810
+ /** @description The name of the column. */
811
+ name?: string
812
+ /** @description Defines whether the column is automatically generated. */
813
+ autocolumn?: boolean
814
+ }
815
+ }
816
+ /** @description The ID of the table. */
817
+ _id: string
818
+ }
819
+ }
820
+ /** @description The query body must contain the required parameters for the query, this depends on query type, setup and bindings. */
821
+ executeQuery: { [key: string]: unknown }
822
+ executeQueryOutput: {
823
+ /** @description The data response from the query. */
824
+ data: { [key: string]: unknown }[]
825
+ /** @description Extra information that is not part of the main data, e.g. headers. */
826
+ extra?: {
827
+ /** @description If carrying out a REST request, this will contain the response headers. */
828
+ headers?: { [key: string]: unknown }
829
+ /** @description The raw query response, as a string. */
830
+ raw?: string
831
+ }
832
+ /** @description If pagination is supported, this will contain the bookmark/anchor information for it. */
833
+ pagination?: { [key: string]: unknown }
834
+ }
835
+ query: {
836
+ /** @description The ID of the query. */
837
+ _id: string
838
+ /** @description The ID of the data source the query belongs to. */
839
+ datasourceId?: string
840
+ /** @description The bindings which are required to perform this query. */
841
+ parameters?: string[]
842
+ /** @description The fields that are used to perform this query, e.g. the sql statement */
843
+ fields?: { [key: string]: unknown }
844
+ /**
845
+ * @description The verb that describes this query.
846
+ * @enum {undefined}
847
+ */
848
+ queryVerb?: "create" | "read" | "update" | "delete"
849
+ /** @description The name of the query. */
850
+ name: string
851
+ /** @description The schema of the data returned when the query is executed. */
852
+ schema: { [key: string]: unknown }
853
+ /** @description The JavaScript transformer function, applied after the query responds with data. */
854
+ transformer?: string
855
+ /** @description Whether the query has readable data. */
856
+ readable?: boolean
857
+ }
858
+ user: {
859
+ /** @description The email address of the user, this must be unique. */
860
+ email: string
861
+ /** @description The password of the user if using password based login - this will never be returned. This can be left out of subsequent requests (updates) and will be enriched back into the user structure. */
862
+ password?: string
863
+ /**
864
+ * @description The status of the user, if they are active.
865
+ * @enum {string}
866
+ */
867
+ status?: "active"
868
+ /** @description The first name of the user */
869
+ firstName?: string
870
+ /** @description The last name of the user */
871
+ lastName?: string
872
+ /** @description If set to true forces the user to reset their password on first login. */
873
+ forceResetPassword?: boolean
874
+ /** @description Describes if the user is a builder user or not. */
875
+ builder?: {
876
+ /** @description If set to true the user will be able to build any app in the system. */
877
+ global?: boolean
878
+ }
879
+ /** @description Describes if the user is an admin user or not. */
880
+ admin?: {
881
+ /** @description If set to true the user will be able to administrate the system. */
882
+ global?: boolean
883
+ }
884
+ /** @description Contains the roles of the user per app (assuming they are not a builder user). */
885
+ roles: { [key: string]: string }
886
+ }
887
+ userOutput: {
888
+ data: {
889
+ /** @description The email address of the user, this must be unique. */
890
+ email: string
891
+ /** @description The password of the user if using password based login - this will never be returned. This can be left out of subsequent requests (updates) and will be enriched back into the user structure. */
892
+ password?: string
893
+ /**
894
+ * @description The status of the user, if they are active.
895
+ * @enum {string}
896
+ */
897
+ status?: "active"
898
+ /** @description The first name of the user */
899
+ firstName?: string
900
+ /** @description The last name of the user */
901
+ lastName?: string
902
+ /** @description If set to true forces the user to reset their password on first login. */
903
+ forceResetPassword?: boolean
904
+ /** @description Describes if the user is a builder user or not. */
905
+ builder?: {
906
+ /** @description If set to true the user will be able to build any app in the system. */
907
+ global?: boolean
908
+ }
909
+ /** @description Describes if the user is an admin user or not. */
910
+ admin?: {
911
+ /** @description If set to true the user will be able to administrate the system. */
912
+ global?: boolean
913
+ }
914
+ /** @description Contains the roles of the user per app (assuming they are not a builder user). */
915
+ roles: { [key: string]: string }
916
+ /** @description The ID of the user. */
917
+ _id: string
918
+ }
919
+ }
920
+ nameSearch: {
921
+ /** @description The name to be used when searching - this will be used in a case insensitive starts with match. */
922
+ name: string
923
+ }
924
+ }
925
+ parameters: {
926
+ /** @description The ID of the table which this request is targeting. */
927
+ tableId: string
928
+ /** @description The ID of the row which this request is targeting. */
929
+ rowId: string
930
+ /** @description The ID of the app which this request is targeting. */
931
+ appId: string
932
+ /** @description The ID of the app which this request is targeting. */
933
+ appIdUrl: string
934
+ /** @description The ID of the query which this request is targeting. */
935
+ queryId: string
936
+ /** @description The ID of the user which this request is targeting. */
937
+ userId: string
938
+ }
939
+ }
940
+
941
+ export interface operations {}
942
+
943
+ export interface external {}