@budibase/server 0.9.190-alpha.7 → 1.0.1
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.
- package/builder/assets/{index.59c6065f.js → index.e95b024a.js} +140 -140
- package/builder/index.html +1 -1
- package/coverage/clover.xml +42 -45
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/application.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/hosting.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +14 -14
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/internal.js.html +8 -20
- package/coverage/lcov-report/api/controllers/table/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/application.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/hosting.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/row.js.html +536 -2
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/static.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +436 -7
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +1 -1
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +1 -1
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/createRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/automations/utils.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/client.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +13 -13
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/authorized.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/usageQuota.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +1 -1
- package/coverage/lcov-report/threads/index.html +1 -1
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +63 -70
- package/dist/api/controllers/row/ExternalRequest.js +5 -2
- package/dist/api/controllers/table/internal.js +0 -4
- package/dist/api/routes/row.js +178 -0
- package/dist/api/routes/table.js +148 -5
- package/dist/definitions/datasource.js +12 -1
- package/dist/integrations/base/sql.js +1 -4
- package/dist/integrations/oracle.js +42 -22
- package/dist/package.json +10 -6
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -7
- package/scripts/docs/README.md +31 -0
- package/scripts/docs/generate.js +74 -0
- package/scripts/docs/toSwagger.js +320 -0
- package/scripts/integrations/oracle/docker-compose.yml +1 -1
- package/src/api/controllers/row/ExternalRequest.ts +8 -2
- package/src/api/controllers/table/internal.js +0 -4
- package/src/api/routes/row.js +178 -0
- package/src/api/routes/table.js +148 -5
- package/src/definitions/datasource.ts +11 -0
- package/src/integrations/base/sql.ts +1 -3
- package/src/integrations/oracle.ts +41 -35
|
@@ -133,7 +133,185 @@
|
|
|
133
133
|
<a name='L74'></a><a href='#L74'>74</a>
|
|
134
134
|
<a name='L75'></a><a href='#L75'>75</a>
|
|
135
135
|
<a name='L76'></a><a href='#L76'>76</a>
|
|
136
|
-
<a name='L77'></a><a href='#L77'>77</a
|
|
136
|
+
<a name='L77'></a><a href='#L77'>77</a>
|
|
137
|
+
<a name='L78'></a><a href='#L78'>78</a>
|
|
138
|
+
<a name='L79'></a><a href='#L79'>79</a>
|
|
139
|
+
<a name='L80'></a><a href='#L80'>80</a>
|
|
140
|
+
<a name='L81'></a><a href='#L81'>81</a>
|
|
141
|
+
<a name='L82'></a><a href='#L82'>82</a>
|
|
142
|
+
<a name='L83'></a><a href='#L83'>83</a>
|
|
143
|
+
<a name='L84'></a><a href='#L84'>84</a>
|
|
144
|
+
<a name='L85'></a><a href='#L85'>85</a>
|
|
145
|
+
<a name='L86'></a><a href='#L86'>86</a>
|
|
146
|
+
<a name='L87'></a><a href='#L87'>87</a>
|
|
147
|
+
<a name='L88'></a><a href='#L88'>88</a>
|
|
148
|
+
<a name='L89'></a><a href='#L89'>89</a>
|
|
149
|
+
<a name='L90'></a><a href='#L90'>90</a>
|
|
150
|
+
<a name='L91'></a><a href='#L91'>91</a>
|
|
151
|
+
<a name='L92'></a><a href='#L92'>92</a>
|
|
152
|
+
<a name='L93'></a><a href='#L93'>93</a>
|
|
153
|
+
<a name='L94'></a><a href='#L94'>94</a>
|
|
154
|
+
<a name='L95'></a><a href='#L95'>95</a>
|
|
155
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
156
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
157
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
158
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
159
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
160
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
161
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
162
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
163
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
164
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
165
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
166
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
167
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
168
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
|
+
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
|
+
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
175
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
182
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
183
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
184
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
189
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
190
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
191
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
192
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
193
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
194
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
225
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
226
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
227
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
228
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
232
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
233
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
234
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
235
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
236
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
237
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
238
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
239
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
240
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
241
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
242
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
243
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
244
|
+
<a name='L185'></a><a href='#L185'>185</a>
|
|
245
|
+
<a name='L186'></a><a href='#L186'>186</a>
|
|
246
|
+
<a name='L187'></a><a href='#L187'>187</a>
|
|
247
|
+
<a name='L188'></a><a href='#L188'>188</a>
|
|
248
|
+
<a name='L189'></a><a href='#L189'>189</a>
|
|
249
|
+
<a name='L190'></a><a href='#L190'>190</a>
|
|
250
|
+
<a name='L191'></a><a href='#L191'>191</a>
|
|
251
|
+
<a name='L192'></a><a href='#L192'>192</a>
|
|
252
|
+
<a name='L193'></a><a href='#L193'>193</a>
|
|
253
|
+
<a name='L194'></a><a href='#L194'>194</a>
|
|
254
|
+
<a name='L195'></a><a href='#L195'>195</a>
|
|
255
|
+
<a name='L196'></a><a href='#L196'>196</a>
|
|
256
|
+
<a name='L197'></a><a href='#L197'>197</a>
|
|
257
|
+
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
|
+
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
|
+
<a name='L200'></a><a href='#L200'>200</a>
|
|
260
|
+
<a name='L201'></a><a href='#L201'>201</a>
|
|
261
|
+
<a name='L202'></a><a href='#L202'>202</a>
|
|
262
|
+
<a name='L203'></a><a href='#L203'>203</a>
|
|
263
|
+
<a name='L204'></a><a href='#L204'>204</a>
|
|
264
|
+
<a name='L205'></a><a href='#L205'>205</a>
|
|
265
|
+
<a name='L206'></a><a href='#L206'>206</a>
|
|
266
|
+
<a name='L207'></a><a href='#L207'>207</a>
|
|
267
|
+
<a name='L208'></a><a href='#L208'>208</a>
|
|
268
|
+
<a name='L209'></a><a href='#L209'>209</a>
|
|
269
|
+
<a name='L210'></a><a href='#L210'>210</a>
|
|
270
|
+
<a name='L211'></a><a href='#L211'>211</a>
|
|
271
|
+
<a name='L212'></a><a href='#L212'>212</a>
|
|
272
|
+
<a name='L213'></a><a href='#L213'>213</a>
|
|
273
|
+
<a name='L214'></a><a href='#L214'>214</a>
|
|
274
|
+
<a name='L215'></a><a href='#L215'>215</a>
|
|
275
|
+
<a name='L216'></a><a href='#L216'>216</a>
|
|
276
|
+
<a name='L217'></a><a href='#L217'>217</a>
|
|
277
|
+
<a name='L218'></a><a href='#L218'>218</a>
|
|
278
|
+
<a name='L219'></a><a href='#L219'>219</a>
|
|
279
|
+
<a name='L220'></a><a href='#L220'>220</a>
|
|
280
|
+
<a name='L221'></a><a href='#L221'>221</a>
|
|
281
|
+
<a name='L222'></a><a href='#L222'>222</a>
|
|
282
|
+
<a name='L223'></a><a href='#L223'>223</a>
|
|
283
|
+
<a name='L224'></a><a href='#L224'>224</a>
|
|
284
|
+
<a name='L225'></a><a href='#L225'>225</a>
|
|
285
|
+
<a name='L226'></a><a href='#L226'>226</a>
|
|
286
|
+
<a name='L227'></a><a href='#L227'>227</a>
|
|
287
|
+
<a name='L228'></a><a href='#L228'>228</a>
|
|
288
|
+
<a name='L229'></a><a href='#L229'>229</a>
|
|
289
|
+
<a name='L230'></a><a href='#L230'>230</a>
|
|
290
|
+
<a name='L231'></a><a href='#L231'>231</a>
|
|
291
|
+
<a name='L232'></a><a href='#L232'>232</a>
|
|
292
|
+
<a name='L233'></a><a href='#L233'>233</a>
|
|
293
|
+
<a name='L234'></a><a href='#L234'>234</a>
|
|
294
|
+
<a name='L235'></a><a href='#L235'>235</a>
|
|
295
|
+
<a name='L236'></a><a href='#L236'>236</a>
|
|
296
|
+
<a name='L237'></a><a href='#L237'>237</a>
|
|
297
|
+
<a name='L238'></a><a href='#L238'>238</a>
|
|
298
|
+
<a name='L239'></a><a href='#L239'>239</a>
|
|
299
|
+
<a name='L240'></a><a href='#L240'>240</a>
|
|
300
|
+
<a name='L241'></a><a href='#L241'>241</a>
|
|
301
|
+
<a name='L242'></a><a href='#L242'>242</a>
|
|
302
|
+
<a name='L243'></a><a href='#L243'>243</a>
|
|
303
|
+
<a name='L244'></a><a href='#L244'>244</a>
|
|
304
|
+
<a name='L245'></a><a href='#L245'>245</a>
|
|
305
|
+
<a name='L246'></a><a href='#L246'>246</a>
|
|
306
|
+
<a name='L247'></a><a href='#L247'>247</a>
|
|
307
|
+
<a name='L248'></a><a href='#L248'>248</a>
|
|
308
|
+
<a name='L249'></a><a href='#L249'>249</a>
|
|
309
|
+
<a name='L250'></a><a href='#L250'>250</a>
|
|
310
|
+
<a name='L251'></a><a href='#L251'>251</a>
|
|
311
|
+
<a name='L252'></a><a href='#L252'>252</a>
|
|
312
|
+
<a name='L253'></a><a href='#L253'>253</a>
|
|
313
|
+
<a name='L254'></a><a href='#L254'>254</a>
|
|
314
|
+
<a name='L255'></a><a href='#L255'>255</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">23x</span>
|
|
137
315
|
<span class="cline-any cline-yes">23x</span>
|
|
138
316
|
<span class="cline-any cline-yes">23x</span>
|
|
139
317
|
<span class="cline-any cline-yes">23x</span>
|
|
@@ -208,6 +386,184 @@
|
|
|
208
386
|
<span class="cline-any cline-neutral"> </span>
|
|
209
387
|
<span class="cline-any cline-neutral"> </span>
|
|
210
388
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-neutral"> </span>
|
|
391
|
+
<span class="cline-any cline-neutral"> </span>
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-neutral"> </span>
|
|
396
|
+
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-neutral"> </span>
|
|
398
|
+
<span class="cline-any cline-neutral"> </span>
|
|
399
|
+
<span class="cline-any cline-neutral"> </span>
|
|
400
|
+
<span class="cline-any cline-neutral"> </span>
|
|
401
|
+
<span class="cline-any cline-neutral"> </span>
|
|
402
|
+
<span class="cline-any cline-neutral"> </span>
|
|
403
|
+
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-neutral"> </span>
|
|
405
|
+
<span class="cline-any cline-neutral"> </span>
|
|
406
|
+
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-neutral"> </span>
|
|
408
|
+
<span class="cline-any cline-neutral"> </span>
|
|
409
|
+
<span class="cline-any cline-neutral"> </span>
|
|
410
|
+
<span class="cline-any cline-neutral"> </span>
|
|
411
|
+
<span class="cline-any cline-neutral"> </span>
|
|
412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
413
|
+
<span class="cline-any cline-neutral"> </span>
|
|
414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
|
+
<span class="cline-any cline-neutral"> </span>
|
|
417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
420
|
+
<span class="cline-any cline-neutral"> </span>
|
|
421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-neutral"> </span>
|
|
423
|
+
<span class="cline-any cline-neutral"> </span>
|
|
424
|
+
<span class="cline-any cline-neutral"> </span>
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-neutral"> </span>
|
|
427
|
+
<span class="cline-any cline-neutral"> </span>
|
|
428
|
+
<span class="cline-any cline-neutral"> </span>
|
|
429
|
+
<span class="cline-any cline-neutral"> </span>
|
|
430
|
+
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
436
|
+
<span class="cline-any cline-neutral"> </span>
|
|
437
|
+
<span class="cline-any cline-neutral"> </span>
|
|
438
|
+
<span class="cline-any cline-neutral"> </span>
|
|
439
|
+
<span class="cline-any cline-neutral"> </span>
|
|
440
|
+
<span class="cline-any cline-neutral"> </span>
|
|
441
|
+
<span class="cline-any cline-neutral"> </span>
|
|
442
|
+
<span class="cline-any cline-neutral"> </span>
|
|
443
|
+
<span class="cline-any cline-neutral"> </span>
|
|
444
|
+
<span class="cline-any cline-neutral"> </span>
|
|
445
|
+
<span class="cline-any cline-neutral"> </span>
|
|
446
|
+
<span class="cline-any cline-neutral"> </span>
|
|
447
|
+
<span class="cline-any cline-neutral"> </span>
|
|
448
|
+
<span class="cline-any cline-neutral"> </span>
|
|
449
|
+
<span class="cline-any cline-neutral"> </span>
|
|
450
|
+
<span class="cline-any cline-neutral"> </span>
|
|
451
|
+
<span class="cline-any cline-neutral"> </span>
|
|
452
|
+
<span class="cline-any cline-neutral"> </span>
|
|
453
|
+
<span class="cline-any cline-neutral"> </span>
|
|
454
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
|
+
<span class="cline-any cline-neutral"> </span>
|
|
456
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
|
+
<span class="cline-any cline-neutral"> </span>
|
|
458
|
+
<span class="cline-any cline-neutral"> </span>
|
|
459
|
+
<span class="cline-any cline-neutral"> </span>
|
|
460
|
+
<span class="cline-any cline-neutral"> </span>
|
|
461
|
+
<span class="cline-any cline-neutral"> </span>
|
|
462
|
+
<span class="cline-any cline-neutral"> </span>
|
|
463
|
+
<span class="cline-any cline-neutral"> </span>
|
|
464
|
+
<span class="cline-any cline-neutral"> </span>
|
|
465
|
+
<span class="cline-any cline-neutral"> </span>
|
|
466
|
+
<span class="cline-any cline-neutral"> </span>
|
|
467
|
+
<span class="cline-any cline-neutral"> </span>
|
|
468
|
+
<span class="cline-any cline-neutral"> </span>
|
|
469
|
+
<span class="cline-any cline-neutral"> </span>
|
|
470
|
+
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-neutral"> </span>
|
|
472
|
+
<span class="cline-any cline-neutral"> </span>
|
|
473
|
+
<span class="cline-any cline-neutral"> </span>
|
|
474
|
+
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
486
|
+
<span class="cline-any cline-neutral"> </span>
|
|
487
|
+
<span class="cline-any cline-neutral"> </span>
|
|
488
|
+
<span class="cline-any cline-neutral"> </span>
|
|
489
|
+
<span class="cline-any cline-neutral"> </span>
|
|
490
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
|
+
<span class="cline-any cline-neutral"> </span>
|
|
492
|
+
<span class="cline-any cline-neutral"> </span>
|
|
493
|
+
<span class="cline-any cline-neutral"> </span>
|
|
494
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
504
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
|
+
<span class="cline-any cline-neutral"> </span>
|
|
506
|
+
<span class="cline-any cline-neutral"> </span>
|
|
507
|
+
<span class="cline-any cline-neutral"> </span>
|
|
508
|
+
<span class="cline-any cline-neutral"> </span>
|
|
509
|
+
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
512
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
|
+
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-neutral"> </span>
|
|
520
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
|
+
<span class="cline-any cline-neutral"> </span>
|
|
523
|
+
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
526
|
+
<span class="cline-any cline-neutral"> </span>
|
|
527
|
+
<span class="cline-any cline-neutral"> </span>
|
|
528
|
+
<span class="cline-any cline-neutral"> </span>
|
|
529
|
+
<span class="cline-any cline-neutral"> </span>
|
|
530
|
+
<span class="cline-any cline-neutral"> </span>
|
|
531
|
+
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-neutral"> </span>
|
|
533
|
+
<span class="cline-any cline-neutral"> </span>
|
|
534
|
+
<span class="cline-any cline-neutral"> </span>
|
|
535
|
+
<span class="cline-any cline-neutral"> </span>
|
|
536
|
+
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-neutral"> </span>
|
|
538
|
+
<span class="cline-any cline-neutral"> </span>
|
|
539
|
+
<span class="cline-any cline-neutral"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
545
|
+
<span class="cline-any cline-neutral"> </span>
|
|
546
|
+
<span class="cline-any cline-neutral"> </span>
|
|
547
|
+
<span class="cline-any cline-neutral"> </span>
|
|
548
|
+
<span class="cline-any cline-neutral"> </span>
|
|
549
|
+
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
551
|
+
<span class="cline-any cline-neutral"> </span>
|
|
552
|
+
<span class="cline-any cline-neutral"> </span>
|
|
553
|
+
<span class="cline-any cline-neutral"> </span>
|
|
554
|
+
<span class="cline-any cline-neutral"> </span>
|
|
555
|
+
<span class="cline-any cline-neutral"> </span>
|
|
556
|
+
<span class="cline-any cline-neutral"> </span>
|
|
557
|
+
<span class="cline-any cline-neutral"> </span>
|
|
558
|
+
<span class="cline-any cline-neutral"> </span>
|
|
559
|
+
<span class="cline-any cline-neutral"> </span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
562
|
+
<span class="cline-any cline-neutral"> </span>
|
|
563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
564
|
+
<span class="cline-any cline-neutral"> </span>
|
|
565
|
+
<span class="cline-any cline-neutral"> </span>
|
|
566
|
+
<span class="cline-any cline-neutral"> </span>
|
|
211
567
|
<span class="cline-any cline-yes">23x</span>
|
|
212
568
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const Router = require("@koa/router")
|
|
213
569
|
const rowController = require("../controllers/row")
|
|
@@ -225,24 +581,130 @@ const {
|
|
|
225
581
|
const router = Router()
|
|
226
582
|
|
|
227
583
|
router
|
|
584
|
+
/**
|
|
585
|
+
* @api {get} /api/:tableId/:rowId/enrich Get an enriched row
|
|
586
|
+
* @apiName Get an enriched row
|
|
587
|
+
* @apiGroup rows
|
|
588
|
+
* @apiPermission table read access
|
|
589
|
+
* @apiDescription This API is only useful when dealing with rows that have relationships.
|
|
590
|
+
* Normally when a row is a returned from the API relationships will only have the structure
|
|
591
|
+
* `{ primaryDisplay: "name", _id: ... }` but this call will return the full related rows
|
|
592
|
+
* for each relationship instead.
|
|
593
|
+
*
|
|
594
|
+
* @apiParam {string} rowId The ID of the row which is to be retrieved and enriched.
|
|
595
|
+
*
|
|
596
|
+
* @apiSuccess {object} row The response body will be the enriched row.
|
|
597
|
+
*/
|
|
228
598
|
.get(
|
|
229
599
|
"/api/:tableId/:rowId/enrich",
|
|
230
600
|
paramSubResource("tableId", "rowId"),
|
|
231
601
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
232
602
|
rowController.fetchEnrichedRow
|
|
233
603
|
)
|
|
604
|
+
/**
|
|
605
|
+
* @api {get} /api/:tableId/rows Get all rows in a table
|
|
606
|
+
* @apiName Get all rows in a table
|
|
607
|
+
* @apiGroup rows
|
|
608
|
+
* @apiPermission table read access
|
|
609
|
+
* @apiDescription This is a deprecated endpoint that should not be used anymore, instead use the search endpoint.
|
|
610
|
+
* This endpoint gets all of the rows within the specified table - it is not heavily used
|
|
611
|
+
* due to its lack of support for pagination. With SQL tables this will retrieve up to a limit and then
|
|
612
|
+
* will simply stop.
|
|
613
|
+
*
|
|
614
|
+
* @apiParam {string} tableId The ID of the table to retrieve all rows within.
|
|
615
|
+
*
|
|
616
|
+
* @apiSuccess {object[]} rows The response body will be an array of all rows found.
|
|
617
|
+
*/
|
|
234
618
|
.get(
|
|
235
619
|
"/api/:tableId/rows",
|
|
236
620
|
paramResource("tableId"),
|
|
237
621
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
238
622
|
rowController.fetch
|
|
239
623
|
)
|
|
624
|
+
/**
|
|
625
|
+
* @api {get} /api/:tableId/rows/:rowId Retrieve a single row
|
|
626
|
+
* @apiName Retrieve a single row
|
|
627
|
+
* @apiGroup rows
|
|
628
|
+
* @apiPermission table read access
|
|
629
|
+
* @apiDescription This endpoint retrieves only the specified row. If you wish to retrieve
|
|
630
|
+
* a row by anything other than its _id field, use the search endpoint.
|
|
631
|
+
*
|
|
632
|
+
* @apiParam {string} tableId The ID of the table to retrieve a row from.
|
|
633
|
+
* @apiParam {string} rowId The ID of the row to retrieve.
|
|
634
|
+
*
|
|
635
|
+
* @apiSuccess {object} body The response body will be the row that was found.
|
|
636
|
+
*/
|
|
240
637
|
.get(
|
|
241
638
|
"/api/:tableId/rows/:rowId",
|
|
242
639
|
paramSubResource("tableId", "rowId"),
|
|
243
640
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
244
641
|
rowController.find
|
|
245
642
|
)
|
|
643
|
+
/**
|
|
644
|
+
* @api {post} /api/:tableId/search Search for rows in a table
|
|
645
|
+
* @apiName Search for rows in a table
|
|
646
|
+
* @apiGroup rows
|
|
647
|
+
* @apiPermission table read access
|
|
648
|
+
* @apiDescription This is the primary method of accessing rows in Budibase, the data provider
|
|
649
|
+
* and data UI in the builder are built atop this. All filtering, sorting and pagination is
|
|
650
|
+
* handled through this, for internal and external (datasource plus, e.g. SQL) tables.
|
|
651
|
+
*
|
|
652
|
+
* @apiParam {string} tableId The ID of the table to retrieve rows from.
|
|
653
|
+
*
|
|
654
|
+
* @apiParam (Body) {boolean} [paginate] If pagination is required then this should be set to true,
|
|
655
|
+
* defaults to false.
|
|
656
|
+
* @apiParam (Body) {object} [query] This contains a set of filters which should be applied, if none
|
|
657
|
+
* specified then the request will be unfiltered. An example with all of the possible query
|
|
658
|
+
* options has been supplied below.
|
|
659
|
+
* @apiParam (Body) {number} [limit] This sets a limit for the number of rows that will be returned,
|
|
660
|
+
* this will be implemented at the database level if supported for performance reasons. This
|
|
661
|
+
* is useful when paginating to set exactly how many rows per page.
|
|
662
|
+
* @apiParam (Body) {string} [bookmark] If pagination is enabled then a bookmark will be returned
|
|
663
|
+
* with each successful search request, this should be supplied back to get the next page.
|
|
664
|
+
* @apiParam (Body) {object} [sort] If sort is desired this should contain the name of the column to
|
|
665
|
+
* sort on.
|
|
666
|
+
* @apiParam (Body) {string} [sortOrder] If sort is enabled then this can be either "descending" or
|
|
667
|
+
* "ascending" as required.
|
|
668
|
+
* @apiParam (Body) {string} [sortType] If sort is enabled then you must specify the type of search
|
|
669
|
+
* being used, either "string" or "number". This is only used for internal tables.
|
|
670
|
+
*
|
|
671
|
+
* @apiParamExample {json} Example:
|
|
672
|
+
* {
|
|
673
|
+
* "tableId": "ta_70260ff0b85c467ca74364aefc46f26d",
|
|
674
|
+
* "query": {
|
|
675
|
+
* "string": {},
|
|
676
|
+
* "fuzzy": {},
|
|
677
|
+
* "range": {
|
|
678
|
+
* "columnName": {
|
|
679
|
+
* "high": 20,
|
|
680
|
+
* "low": 10,
|
|
681
|
+
* }
|
|
682
|
+
* },
|
|
683
|
+
* "equal": {
|
|
684
|
+
* "columnName": "someValue"
|
|
685
|
+
* },
|
|
686
|
+
* "notEqual": {},
|
|
687
|
+
* "empty": {},
|
|
688
|
+
* "notEmpty": {},
|
|
689
|
+
* "contains": {},
|
|
690
|
+
* "notContains": {}
|
|
691
|
+
* "oneOf": {
|
|
692
|
+
* "columnName": ["value"]
|
|
693
|
+
* }
|
|
694
|
+
* },
|
|
695
|
+
* "limit": 10,
|
|
696
|
+
* "sort": "name",
|
|
697
|
+
* "sortOrder": "descending",
|
|
698
|
+
* "sortType": "string",
|
|
699
|
+
* "paginate": true
|
|
700
|
+
* }
|
|
701
|
+
*
|
|
702
|
+
* @apiSuccess {object[]} rows An array of rows that was found based on the supplied parameters.
|
|
703
|
+
* @apiSuccess {boolean} hasNextPage If pagination was enabled then this specifies whether or
|
|
704
|
+
* not there is another page after this request.
|
|
705
|
+
* @apiSuccess {string} bookmark The bookmark to be sent with the next request to get the next
|
|
706
|
+
* page.
|
|
707
|
+
*/
|
|
246
708
|
.post(
|
|
247
709
|
"/api/:tableId/search",
|
|
248
710
|
paramResource("tableId"),
|
|
@@ -257,6 +719,30 @@ router
|
|
|
257
719
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
258
720
|
rowController.search
|
|
259
721
|
)
|
|
722
|
+
/**
|
|
723
|
+
* @api {post} /api/:tableId/rows Creates a new row
|
|
724
|
+
* @apiName Creates a new row
|
|
725
|
+
* @apiGroup rows
|
|
726
|
+
* @apiPermission table write access
|
|
727
|
+
* @apiDescription This API will create a new row based on the supplied body. If the
|
|
728
|
+
* body includes an "_id" field then it will update an existing row if the field
|
|
729
|
+
* links to one. Please note that "_id", "_rev" and "tableId" are fields that are
|
|
730
|
+
* already used by Budibase tables and cannot be used for columns.
|
|
731
|
+
*
|
|
732
|
+
* @apiParam {string} tableId The ID of the table to save a row to.
|
|
733
|
+
*
|
|
734
|
+
* @apiParam (Body) {string} [_id] If the row exists already then an ID for the row must be provided.
|
|
735
|
+
* @apiParam (Body) {string} [_rev] If working with an existing row for an internal table its revision
|
|
736
|
+
* must also be provided.
|
|
737
|
+
* @apiParam (Body) {string} tableId The ID of the table should also be specified in the row body itself.
|
|
738
|
+
* @apiParam (Body) {any} [any] Any field supplied in the body will be assessed to see if it matches
|
|
739
|
+
* a column in the specified table. All other fields will be dropped and not stored.
|
|
740
|
+
*
|
|
741
|
+
* @apiSuccess {string} _id The ID of the row that was just saved, if it was just created this
|
|
742
|
+
* is the rows new ID.
|
|
743
|
+
* @apiSuccess {string} [_rev] If saving to an internal table a revision will also be returned.
|
|
744
|
+
* @apiSuccess {object} body The contents of the row that was saved will be returned as well.
|
|
745
|
+
*/
|
|
260
746
|
.post(
|
|
261
747
|
"/api/:tableId/rows",
|
|
262
748
|
paramResource("tableId"),
|
|
@@ -264,18 +750,66 @@ router
|
|
|
264
750
|
usage,
|
|
265
751
|
rowController.save
|
|
266
752
|
)
|
|
753
|
+
/**
|
|
754
|
+
* @api {patch} /api/:tableId/rows Updates a row
|
|
755
|
+
* @apiName Update a row
|
|
756
|
+
* @apiGroup rows
|
|
757
|
+
* @apiPermission table write access
|
|
758
|
+
* @apiDescription This endpoint is identical to the row creation endpoint but instead it will
|
|
759
|
+
* error if an _id isn't provided, it will only function for existing rows.
|
|
760
|
+
*/
|
|
267
761
|
.patch(
|
|
268
762
|
"/api/:tableId/rows",
|
|
269
763
|
paramResource("tableId"),
|
|
270
764
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
|
271
765
|
rowController.patch
|
|
272
766
|
)
|
|
767
|
+
/**
|
|
768
|
+
* @api {post} /api/:tableId/rows/validate Validate inputs for a row
|
|
769
|
+
* @apiName Validate inputs for a row
|
|
770
|
+
* @apiGroup rows
|
|
771
|
+
* @apiPermission table write access
|
|
772
|
+
* @apiDescription When attempting to save a row you may want to check if the row is valid
|
|
773
|
+
* given the table schema, this will iterate through all the constraints on the table and
|
|
774
|
+
* check if the request body is valid.
|
|
775
|
+
*
|
|
776
|
+
* @apiParam {string} tableId The ID of the table the row is to be validated for.
|
|
777
|
+
*
|
|
778
|
+
* @apiParam (Body) {any} [any] Any fields provided in the request body will be tested
|
|
779
|
+
* against the table schema and constraints.
|
|
780
|
+
*
|
|
781
|
+
* @apiSuccess {boolean} valid If inputs provided are acceptable within the table schema this
|
|
782
|
+
* will be true, if it is not then then errors property will be populated.
|
|
783
|
+
* @apiSuccess {object} [errors] A key value map of information about fields on the input
|
|
784
|
+
* which do not match the table schema. The key name will be the column names that have breached
|
|
785
|
+
* the schema.
|
|
786
|
+
*/
|
|
273
787
|
.post(
|
|
274
788
|
"/api/:tableId/rows/validate",
|
|
275
789
|
paramResource("tableId"),
|
|
276
790
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
|
277
791
|
rowController.validate
|
|
278
792
|
)
|
|
793
|
+
/**
|
|
794
|
+
* @api {delete} /api/:tableId/rows Delete rows
|
|
795
|
+
* @apiName Delete rows
|
|
796
|
+
* @apiGroup rows
|
|
797
|
+
* @apiPermission table write access
|
|
798
|
+
* @apiDescription This endpoint can delete a single row, or delete them in a bulk
|
|
799
|
+
* fashion.
|
|
800
|
+
*
|
|
801
|
+
* @apiParam {string} tableId The ID of the table the row is to be deleted from.
|
|
802
|
+
*
|
|
803
|
+
* @apiParam (Body) {object[]} [rows] If bulk deletion is desired then provide the rows in this
|
|
804
|
+
* key of the request body that are to be deleted.
|
|
805
|
+
* @apiParam (Body) {string} [_id] If deleting a single row then provide its ID in this field.
|
|
806
|
+
* @apiParam (Body) {string} [_rev] If deleting a single row from an internal table then provide its
|
|
807
|
+
* revision here.
|
|
808
|
+
*
|
|
809
|
+
* @apiSuccess {object[]|object} body If deleting bulk then the response body will be an array
|
|
810
|
+
* of the deleted rows, if deleting a single row then the body will contain a "row" property which
|
|
811
|
+
* is the deleted row.
|
|
812
|
+
*/
|
|
279
813
|
.delete(
|
|
280
814
|
"/api/:tableId/rows",
|
|
281
815
|
paramResource("tableId"),
|
|
@@ -292,7 +826,7 @@ module.exports = router
|
|
|
292
826
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
293
827
|
Code coverage generated by
|
|
294
828
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
295
|
-
at
|
|
829
|
+
at Tue Nov 30 2021 15:42:17 GMT+0000 (Coordinated Universal Time)
|
|
296
830
|
</div>
|
|
297
831
|
</div>
|
|
298
832
|
<script src="../../prettify.js"></script>
|
|
@@ -199,7 +199,7 @@ module.exports = router
|
|
|
199
199
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
200
200
|
Code coverage generated by
|
|
201
201
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
202
|
-
at
|
|
202
|
+
at Tue Nov 30 2021 15:42:17 GMT+0000 (Coordinated Universal Time)
|
|
203
203
|
</div>
|
|
204
204
|
</div>
|
|
205
205
|
<script src="../../prettify.js"></script>
|
|
@@ -94,7 +94,7 @@ const router = <span class="cstat-no" title="statement not covered" >Router()</s
|
|
|
94
94
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
95
95
|
Code coverage generated by
|
|
96
96
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
97
|
-
at
|
|
97
|
+
at Tue Nov 30 2021 15:42:17 GMT+0000 (Coordinated Universal Time)
|
|
98
98
|
</div>
|
|
99
99
|
</div>
|
|
100
100
|
<script src="../../prettify.js"></script>
|
|
@@ -214,7 +214,7 @@ module.exports = router
|
|
|
214
214
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
215
215
|
Code coverage generated by
|
|
216
216
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
217
|
-
at
|
|
217
|
+
at Tue Nov 30 2021 15:42:17 GMT+0000 (Coordinated Universal Time)
|
|
218
218
|
</div>
|
|
219
219
|
</div>
|
|
220
220
|
<script src="../../prettify.js"></script>
|