@budibase/server 1.0.219-alpha.8 → 1.0.220-alpha.0

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