@budibase/server 1.0.49-alpha.7 → 1.0.50-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.
- package/builder/assets/{index.83c0944f.css → index.c0cc369d.css} +6 -1
- package/builder/assets/{index.b7cd931c.js → index.ff2bad21.js} +190 -190
- package/builder/assets/{vendor.d526bfe8.js → vendor.5ad9695a.js} +202 -106
- package/builder/index.html +3 -3
- package/coverage/clover.xml +195 -207
- package/coverage/coverage-final.json +4 -4
- 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 +4 -4
- 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/index.html +14 -14
- 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/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.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 +29 -116
- package/coverage/lcov-report/api/controllers/row/index.html +11 -11
- 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/staticFormula.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/bulkFormula.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 +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/internal.js.html +1 -1
- 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 +41 -35
- 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/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/migrations.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 +1 -1
- 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 +1 -1
- 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 +28 -28
- 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 +14 -14
- package/coverage/lcov-report/threads/index.js.html +1 -1
- package/coverage/lcov-report/threads/query.js.html +10 -31
- package/coverage/lcov-report/threads/utils.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/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.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 +314 -328
- package/dist/api/controllers/row/ExternalRequest.js +14 -4
- package/dist/api/controllers/row/external.js +10 -18
- package/dist/api/controllers/static/index.js +4 -7
- package/dist/api/controllers/user.js +27 -25
- package/dist/integrations/base/sql.js +49 -15
- package/dist/package.json +4 -4
- package/dist/threads/query.js +2 -8
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/scripts/integrations/mssql/data/Dockerfile +1 -1
- package/scripts/integrations/mssql/data/setup.sql +17 -4
- package/scripts/integrations/postgres/init.sql +11 -6
- package/src/api/controllers/row/ExternalRequest.ts +14 -1
- package/src/api/controllers/row/external.js +23 -52
- package/src/api/controllers/static/index.js +4 -6
- package/src/api/controllers/user.js +29 -27
- package/src/integrations/base/sql.ts +61 -22
- package/src/threads/query.js +2 -9
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">16.12% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>15/
|
|
28
|
+
<span class='fraction'>15/93</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">16.48% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>15/
|
|
49
|
+
<span class='fraction'>15/91</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -257,36 +257,7 @@
|
|
|
257
257
|
<a name='L198'></a><a href='#L198'>198</a>
|
|
258
258
|
<a name='L199'></a><a href='#L199'>199</a>
|
|
259
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<a name='L201'></a><a href='#L201'>201</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
290
261
|
<span class="cline-any cline-neutral"> </span>
|
|
291
262
|
<span class="cline-any cline-neutral"> </span>
|
|
292
263
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -322,7 +293,6 @@
|
|
|
322
293
|
<span class="cline-any cline-no"> </span>
|
|
323
294
|
<span class="cline-any cline-no"> </span>
|
|
324
295
|
<span class="cline-any cline-no"> </span>
|
|
325
|
-
<span class="cline-any cline-no"> </span>
|
|
326
296
|
<span class="cline-any cline-neutral"> </span>
|
|
327
297
|
<span class="cline-any cline-no"> </span>
|
|
328
298
|
<span class="cline-any cline-no"> </span>
|
|
@@ -335,7 +305,6 @@
|
|
|
335
305
|
<span class="cline-any cline-no"> </span>
|
|
336
306
|
<span class="cline-any cline-no"> </span>
|
|
337
307
|
<span class="cline-any cline-no"> </span>
|
|
338
|
-
<span class="cline-any cline-no"> </span>
|
|
339
308
|
<span class="cline-any cline-neutral"> </span>
|
|
340
309
|
<span class="cline-any cline-neutral"> </span>
|
|
341
310
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -351,19 +320,12 @@
|
|
|
351
320
|
<span class="cline-any cline-yes">39x</span>
|
|
352
321
|
<span class="cline-any cline-no"> </span>
|
|
353
322
|
<span class="cline-any cline-no"> </span>
|
|
354
|
-
<span class="cline-any cline-no"> </span>
|
|
355
323
|
<span class="cline-any cline-neutral"> </span>
|
|
356
324
|
<span class="cline-any cline-neutral"> </span>
|
|
357
325
|
<span class="cline-any cline-yes">39x</span>
|
|
358
326
|
<span class="cline-any cline-no"> </span>
|
|
359
327
|
<span class="cline-any cline-no"> </span>
|
|
360
328
|
<span class="cline-any cline-no"> </span>
|
|
361
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
-
<span class="cline-any cline-neutral"> </span>
|
|
363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-neutral"> </span>
|
|
366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
367
329
|
<span class="cline-any cline-neutral"> </span>
|
|
368
330
|
<span class="cline-any cline-neutral"> </span>
|
|
369
331
|
<span class="cline-any cline-no"> </span>
|
|
@@ -373,12 +335,6 @@
|
|
|
373
335
|
<span class="cline-any cline-no"> </span>
|
|
374
336
|
<span class="cline-any cline-no"> </span>
|
|
375
337
|
<span class="cline-any cline-no"> </span>
|
|
376
|
-
<span class="cline-any cline-no"> </span>
|
|
377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
379
|
-
<span class="cline-any cline-neutral"> </span>
|
|
380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
382
338
|
<span class="cline-any cline-neutral"> </span>
|
|
383
339
|
<span class="cline-any cline-neutral"> </span>
|
|
384
340
|
<span class="cline-any cline-no"> </span>
|
|
@@ -390,7 +346,6 @@
|
|
|
390
346
|
<span class="cline-any cline-no"> </span>
|
|
391
347
|
<span class="cline-any cline-no"> </span>
|
|
392
348
|
<span class="cline-any cline-no"> </span>
|
|
393
|
-
<span class="cline-any cline-no"> </span>
|
|
394
349
|
<span class="cline-any cline-neutral"> </span>
|
|
395
350
|
<span class="cline-any cline-neutral"> </span>
|
|
396
351
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -406,7 +361,6 @@
|
|
|
406
361
|
<span class="cline-any cline-no"> </span>
|
|
407
362
|
<span class="cline-any cline-no"> </span>
|
|
408
363
|
<span class="cline-any cline-no"> </span>
|
|
409
|
-
<span class="cline-any cline-no"> </span>
|
|
410
364
|
<span class="cline-any cline-neutral"> </span>
|
|
411
365
|
<span class="cline-any cline-no"> </span>
|
|
412
366
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -446,11 +400,6 @@
|
|
|
446
400
|
<span class="cline-any cline-neutral"> </span>
|
|
447
401
|
<span class="cline-any cline-neutral"> </span>
|
|
448
402
|
<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
403
|
<span class="cline-any cline-no"> </span>
|
|
455
404
|
<span class="cline-any cline-neutral"> </span>
|
|
456
405
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -470,18 +419,12 @@
|
|
|
470
419
|
<span class="cline-any cline-no"> </span>
|
|
471
420
|
<span class="cline-any cline-no"> </span>
|
|
472
421
|
<span class="cline-any cline-no"> </span>
|
|
473
|
-
<span class="cline-any cline-no"> </span>
|
|
474
422
|
<span class="cline-any cline-neutral"> </span>
|
|
475
423
|
<span class="cline-any cline-no"> </span>
|
|
476
424
|
<span class="cline-any cline-no"> </span>
|
|
477
425
|
<span class="cline-any cline-neutral"> </span>
|
|
478
426
|
<span class="cline-any cline-neutral"> </span>
|
|
479
427
|
<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
428
|
<span class="cline-any cline-no"> </span>
|
|
486
429
|
<span class="cline-any cline-no"> </span>
|
|
487
430
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -512,7 +455,6 @@
|
|
|
512
455
|
<span class="cline-any cline-neutral"> </span>
|
|
513
456
|
<span class="cline-any cline-neutral"> </span>
|
|
514
457
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-neutral"> </span>
|
|
516
458
|
<span class="cline-any cline-no"> </span>
|
|
517
459
|
<span class="cline-any cline-neutral"> </span>
|
|
518
460
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const {
|
|
@@ -548,23 +490,21 @@ async function <span class="fstat-no" title="function not covered" >handleReques
|
|
|
548
490
|
exports.handleRequest = handleRequest
|
|
549
491
|
|
|
550
492
|
exports.patch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
551
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
552
493
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
553
494
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
554
495
|
const id = <span class="cstat-no" title="statement not covered" >breakRowIdField(inputs._id)</span>
|
|
555
496
|
// don't save the ID to db
|
|
556
497
|
<span class="cstat-no" title="statement not covered" > delete inputs._id</span>
|
|
557
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
498
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.UPDATE, tableId, {</span>
|
|
558
499
|
id,
|
|
559
500
|
row: inputs,
|
|
560
501
|
})
|
|
561
502
|
}
|
|
562
503
|
|
|
563
504
|
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
564
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
565
505
|
const inputs = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
566
506
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
567
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
507
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.CREATE, tableId, {</span>
|
|
568
508
|
row: inputs,
|
|
569
509
|
})
|
|
570
510
|
}
|
|
@@ -578,49 +518,35 @@ exports.fetchView = <span class="fstat-no" title="function not covered" >as</spa
|
|
|
578
518
|
}
|
|
579
519
|
|
|
580
520
|
exports.fetch = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
581
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
582
521
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
583
|
-
<span class="cstat-no" title="statement not covered" > return handleRequest(
|
|
522
|
+
<span class="cstat-no" title="statement not covered" > return handleRequest(DataSourceOperation.READ, tableId)</span>
|
|
584
523
|
}
|
|
585
524
|
|
|
586
525
|
exports.find = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
587
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
588
526
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
589
527
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
590
|
-
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
tableId,
|
|
594
|
-
{
|
|
595
|
-
id,
|
|
596
|
-
}
|
|
597
|
-
)
|
|
528
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
529
|
+
id,
|
|
530
|
+
})
|
|
598
531
|
<span class="cstat-no" title="statement not covered" > return response ? response[0] : response</span>
|
|
599
532
|
}
|
|
600
533
|
|
|
601
534
|
exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
602
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
603
535
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
604
536
|
const id = <span class="cstat-no" title="statement not covered" >ctx.request.body._id</span>
|
|
605
|
-
const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
tableId,
|
|
609
|
-
{
|
|
610
|
-
id,
|
|
611
|
-
}
|
|
612
|
-
)
|
|
537
|
+
const { row } = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.DELETE, tableId, {</span>
|
|
538
|
+
id,
|
|
539
|
+
})
|
|
613
540
|
<span class="cstat-no" title="statement not covered" > return { response: { ok: true }, row }</span>
|
|
614
541
|
}
|
|
615
542
|
|
|
616
543
|
exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
617
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
618
544
|
const { rows } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
619
545
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
620
546
|
let promises = <span class="cstat-no" title="statement not covered" >[]</span>
|
|
621
547
|
<span class="cstat-no" title="statement not covered" > for (let row of rows) {</span>
|
|
622
548
|
<span class="cstat-no" title="statement not covered" > promises.push(</span>
|
|
623
|
-
handleRequest(
|
|
549
|
+
handleRequest(DataSourceOperation.DELETE, tableId, {
|
|
624
550
|
id: breakRowIdField(row._id),
|
|
625
551
|
})
|
|
626
552
|
)
|
|
@@ -630,7 +556,6 @@ exports.bulkDestroy = <span class="fstat-no" title="function not covered" >as</s
|
|
|
630
556
|
}
|
|
631
557
|
|
|
632
558
|
exports.search = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
633
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
634
559
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
635
560
|
const { paginate, query, ...params } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
636
561
|
let { bookmark, limit } = <span class="cstat-no" title="statement not covered" >params</span>
|
|
@@ -660,26 +585,21 @@ exports.search = <span class="fstat-no" title="function not covered" >as</span>y
|
|
|
660
585
|
[params.sort]: direction,
|
|
661
586
|
}
|
|
662
587
|
}
|
|
663
|
-
const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(
|
|
588
|
+
const rows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
664
589
|
filters: query,
|
|
665
590
|
sort,
|
|
666
591
|
paginate: paginateObj,
|
|
667
592
|
})
|
|
668
593
|
let hasNextPage = <span class="cstat-no" title="statement not covered" >false</span>
|
|
669
594
|
<span class="cstat-no" title="statement not covered" > if (paginate && rows.length === limit) {</span>
|
|
670
|
-
const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
limit: 1,
|
|
679
|
-
page: bookmark * limit + 1,
|
|
680
|
-
},
|
|
681
|
-
}
|
|
682
|
-
)
|
|
595
|
+
const nextRows = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
596
|
+
filters: query,
|
|
597
|
+
sort,
|
|
598
|
+
paginate: {
|
|
599
|
+
limit: 1,
|
|
600
|
+
page: bookmark * limit + 1,
|
|
601
|
+
},
|
|
602
|
+
})
|
|
683
603
|
<span class="cstat-no" title="statement not covered" > hasNextPage = nextRows.length > 0</span>
|
|
684
604
|
}
|
|
685
605
|
// need wrapper object for bookmarks etc when paginating
|
|
@@ -692,7 +612,6 @@ exports.validate = <span class="fstat-no" title="function not covered" >as</span
|
|
|
692
612
|
}
|
|
693
613
|
|
|
694
614
|
exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >as</span>ync ctx => {
|
|
695
|
-
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
696
615
|
const id = <span class="cstat-no" title="statement not covered" >ctx.params.rowId</span>
|
|
697
616
|
const tableId = <span class="cstat-no" title="statement not covered" >ctx.params.tableId</span>
|
|
698
617
|
const { datasourceId, tableName } = <span class="cstat-no" title="statement not covered" >breakExternalTableId(tableId)</span>
|
|
@@ -702,15 +621,10 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
702
621
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Datasource has not been configured for plus API.")</span>
|
|
703
622
|
}
|
|
704
623
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
705
|
-
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(</span>
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
{
|
|
710
|
-
id,
|
|
711
|
-
datasource,
|
|
712
|
-
}
|
|
713
|
-
)
|
|
624
|
+
const response = <span class="cstat-no" title="statement not covered" >await handleRequest(DataSourceOperation.READ, tableId, {</span>
|
|
625
|
+
id,
|
|
626
|
+
datasource,
|
|
627
|
+
})
|
|
714
628
|
const table = <span class="cstat-no" title="statement not covered" >tables[tableName]</span>
|
|
715
629
|
const row = <span class="cstat-no" title="statement not covered" >response[0]</span>
|
|
716
630
|
// this seems like a lot of work, but basically we need to dig deeper for the enrich
|
|
@@ -729,7 +643,6 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
729
643
|
// don't support composite keys right now
|
|
730
644
|
const linkedIds = <span class="cstat-no" title="statement not covered" >links.map(<span class="fstat-no" title="function not covered" >li</span>nk => <span class="cstat-no" title="statement not covered" >breakRowIdField(link._id)[0])</span></span>
|
|
731
645
|
<span class="cstat-no" title="statement not covered" > row[fieldName] = await handleRequest(</span>
|
|
732
|
-
appId,
|
|
733
646
|
DataSourceOperation.READ,
|
|
734
647
|
linkedTableId,
|
|
735
648
|
{
|
|
@@ -751,7 +664,7 @@ exports.fetchEnrichedRow = <span class="fstat-no" title="function not covered" >
|
|
|
751
664
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
752
665
|
Code coverage generated by
|
|
753
666
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
754
|
-
at
|
|
667
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
755
668
|
</div>
|
|
756
669
|
</div>
|
|
757
670
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">51.15% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>332/
|
|
28
|
+
<span class='fraction'>332/649</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">51.25% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>326/
|
|
49
|
+
<span class='fraction'>326/636</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -74,17 +74,17 @@
|
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
76
|
<td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
|
|
77
|
-
<td data-value="
|
|
78
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
77
|
+
<td data-value="16.12" class="pic low">
|
|
78
|
+
<div class="chart"><div class="cover-fill" style="width: 16%"></div><div class="cover-empty" style="width: 84%"></div></div>
|
|
79
79
|
</td>
|
|
80
|
-
<td data-value="
|
|
81
|
-
<td data-value="
|
|
80
|
+
<td data-value="16.12" class="pct low">16.12%</td>
|
|
81
|
+
<td data-value="93" class="abs low">15/93</td>
|
|
82
82
|
<td data-value="0" class="pct low">0%</td>
|
|
83
83
|
<td data-value="42" class="abs low">0/42</td>
|
|
84
84
|
<td data-value="0" class="pct low">0%</td>
|
|
85
85
|
<td data-value="13" class="abs low">0/13</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
86
|
+
<td data-value="16.48" class="pct low">16.48%</td>
|
|
87
|
+
<td data-value="91" class="abs low">15/91</td>
|
|
88
88
|
</tr>
|
|
89
89
|
|
|
90
90
|
<tr>
|
|
@@ -170,7 +170,7 @@
|
|
|
170
170
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
171
171
|
Code coverage generated by
|
|
172
172
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
173
|
-
at
|
|
173
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
174
174
|
</div>
|
|
175
175
|
</div>
|
|
176
176
|
<script src="../../../prettify.js"></script>
|
|
@@ -481,7 +481,7 @@ exports.fetchEnrichedRow = async function (ctx) {
|
|
|
481
481
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
482
482
|
Code coverage generated by
|
|
483
483
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
484
|
-
at
|
|
484
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
485
485
|
</div>
|
|
486
486
|
</div>
|
|
487
487
|
<script src="../../../prettify.js"></script>
|
|
@@ -1324,7 +1324,7 @@ exports.fetchEnrichedRow = async ctx => {
|
|
|
1324
1324
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1325
1325
|
Code coverage generated by
|
|
1326
1326
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1327
|
-
at
|
|
1327
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
1328
1328
|
</div>
|
|
1329
1329
|
</div>
|
|
1330
1330
|
<script src="../../../prettify.js"></script>
|
|
@@ -1249,7 +1249,7 @@ exports.fullSearch = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
1249
1249
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1250
1250
|
Code coverage generated by
|
|
1251
1251
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1252
|
-
at
|
|
1252
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
1253
1253
|
</div>
|
|
1254
1254
|
</div>
|
|
1255
1255
|
<script src="../../../prettify.js"></script>
|
|
@@ -532,7 +532,7 @@ exports.finaliseRow = async (
|
|
|
532
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
533
|
Code coverage generated by
|
|
534
534
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
535
|
-
at
|
|
535
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
536
536
|
</div>
|
|
537
537
|
</div>
|
|
538
538
|
<script src="../../../prettify.js"></script>
|
|
@@ -337,7 +337,7 @@ exports.validate = async ({ tableId, row, table }) => {
|
|
|
337
337
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
338
338
|
Code coverage generated by
|
|
339
339
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
340
|
-
at
|
|
340
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
341
341
|
</div>
|
|
342
342
|
</div>
|
|
343
343
|
<script src="../../../prettify.js"></script>
|
|
@@ -202,7 +202,7 @@ exports.destroy = async ctx => {
|
|
|
202
202
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
203
203
|
Code coverage generated by
|
|
204
204
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
205
|
-
at
|
|
205
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
206
206
|
</div>
|
|
207
207
|
</div>
|
|
208
208
|
<script src="../../prettify.js"></script>
|
|
@@ -97,7 +97,7 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
97
97
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
98
98
|
Code coverage generated by
|
|
99
99
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
100
|
-
at
|
|
100
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
103
|
<script src="../../prettify.js"></script>
|
|
@@ -583,7 +583,7 @@ exports.runStaticFormulaChecks = async (table, { oldTable, deletion }) => {
|
|
|
583
583
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
584
584
|
Code coverage generated by
|
|
585
585
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
586
|
-
at
|
|
586
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
587
587
|
</div>
|
|
588
588
|
</div>
|
|
589
589
|
<script src="../../../prettify.js"></script>
|
|
@@ -976,7 +976,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
976
976
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
977
977
|
Code coverage generated by
|
|
978
978
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
979
|
-
at
|
|
979
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
980
980
|
</div>
|
|
981
981
|
</div>
|
|
982
982
|
<script src="../../../prettify.js"></script>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at
|
|
158
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="../../../prettify.js"></script>
|
|
@@ -358,7 +358,7 @@ exports.validateCSVSchema = async function (ctx) {
|
|
|
358
358
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
359
359
|
Code coverage generated by
|
|
360
360
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
361
|
-
at
|
|
361
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
362
362
|
</div>
|
|
363
363
|
</div>
|
|
364
364
|
<script src="../../../prettify.js"></script>
|
|
@@ -532,7 +532,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
532
532
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
533
533
|
Code coverage generated by
|
|
534
534
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
535
|
-
at
|
|
535
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
536
536
|
</div>
|
|
537
537
|
</div>
|
|
538
538
|
<script src="../../../prettify.js"></script>
|
|
@@ -1315,7 +1315,7 @@ exports.TableSaveFunctions = TableSaveFunctions
|
|
|
1315
1315
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1316
1316
|
Code coverage generated by
|
|
1317
1317
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1318
|
-
at
|
|
1318
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
1319
1319
|
</div>
|
|
1320
1320
|
</div>
|
|
1321
1321
|
<script src="../../../prettify.js"></script>
|
|
@@ -181,7 +181,7 @@ exports.downloadTemplate = async function (ctx) {
|
|
|
181
181
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
182
182
|
Code coverage generated by
|
|
183
183
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
184
|
-
at
|
|
184
|
+
at Mon Feb 07 2022 20:42:11 GMT+0000 (Coordinated Universal Time)
|
|
185
185
|
</div>
|
|
186
186
|
</div>
|
|
187
187
|
<script src="../../prettify.js"></script>
|