@budibase/server 1.0.49-alpha.6 → 1.0.49
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/__mocks__/arangojs.ts +1 -1
- package/__mocks__/aws-sdk.ts +4 -4
- package/__mocks__/mongodb.ts +5 -4
- package/__mocks__/mssql.ts +3 -3
- package/__mocks__/node-fetch.ts +1 -2
- package/__mocks__/pg.ts +5 -3
- package/builder/assets/{index.1b905242.js → index.2c37968e.js} +231 -234
- package/builder/assets/index.39e01193.css +1 -0
- package/builder/assets/{vendor.d526bfe8.js → vendor.f9faf6ab.js} +12 -12
- package/builder/index.html +3 -3
- package/coverage/clover.xml +2816 -3119
- package/coverage/coverage-final.json +101 -106
- 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 +152 -257
- package/coverage/lcov-report/api/controllers/auth.js.html +13 -22
- package/coverage/lcov-report/api/controllers/automation.js.html +69 -39
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +11 -8
- package/coverage/lcov-report/api/controllers/component.js.html +16 -13
- package/coverage/lcov-report/api/controllers/datasource.js.html +51 -81
- package/coverage/lcov-report/api/controllers/dev.js.html +6 -6
- package/coverage/lcov-report/{utilities/usageQuota/usageQuoteReset.js.html → api/controllers/hosting.js.html} +48 -36
- package/coverage/lcov-report/api/controllers/index.html +76 -76
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +9 -9
- package/coverage/lcov-report/api/controllers/metadata.js.html +21 -6
- package/coverage/lcov-report/api/controllers/permission.js.html +19 -19
- package/coverage/lcov-report/api/controllers/query/index.html +10 -10
- package/coverage/lcov-report/api/controllers/query/index.js.html +35 -38
- package/coverage/lcov-report/api/controllers/query/validation.js.html +6 -6
- package/coverage/lcov-report/api/controllers/role.js.html +16 -16
- package/coverage/lcov-report/api/controllers/routing.js.html +10 -7
- package/coverage/lcov-report/api/controllers/row/external.js.html +27 -21
- package/coverage/lcov-report/api/controllers/row/index.html +34 -49
- package/coverage/lcov-report/api/controllers/row/index.js.html +26 -26
- package/coverage/lcov-report/api/controllers/row/internal.js.html +226 -118
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +34 -52
- package/coverage/lcov-report/api/controllers/row/utils.js.html +62 -47
- package/coverage/lcov-report/api/controllers/screen.js.html +21 -15
- package/coverage/lcov-report/api/controllers/script.js.html +4 -4
- package/coverage/lcov-report/api/controllers/table/external.js.html +34 -25
- package/coverage/lcov-report/api/controllers/table/index.html +43 -58
- package/coverage/lcov-report/api/controllers/table/index.js.html +82 -58
- package/coverage/lcov-report/api/controllers/table/internal.js.html +66 -81
- package/coverage/lcov-report/api/controllers/table/utils.js.html +110 -218
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +50 -47
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +4 -4
- package/coverage/lcov-report/api/controllers/view/index.html +16 -16
- package/coverage/lcov-report/api/controllers/view/index.js.html +33 -27
- package/coverage/lcov-report/api/controllers/view/utils.js.html +20 -35
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +7 -7
- package/coverage/lcov-report/api/controllers/webhook.js.html +28 -34
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +8 -8
- 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/{migrations.js.html → hosting.js.html} +14 -17
- package/coverage/lcov-report/api/routes/index.html +18 -18
- package/coverage/lcov-report/api/routes/index.js.html +3 -3
- 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 +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 +2 -17
- 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 +24 -24
- package/coverage/lcov-report/automations/automationUtils.js.html +10 -7
- package/coverage/lcov-report/automations/bullboard.js.html +16 -16
- package/coverage/lcov-report/automations/index.html +18 -18
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +6 -6
- package/coverage/lcov-report/automations/steps/createRow.js.html +22 -13
- package/coverage/lcov-report/automations/steps/delay.js.html +4 -4
- package/coverage/lcov-report/automations/steps/deleteRow.js.html +20 -11
- package/coverage/lcov-report/automations/steps/discord.js.html +7 -7
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +6 -6
- package/coverage/lcov-report/automations/steps/executeScript.js.html +6 -6
- package/coverage/lcov-report/automations/steps/filter.js.html +7 -7
- package/coverage/lcov-report/automations/steps/index.html +13 -13
- package/coverage/lcov-report/automations/steps/integromat.js.html +5 -5
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +8 -8
- package/coverage/lcov-report/automations/steps/queryRows.js.html +10 -10
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +5 -5
- package/coverage/lcov-report/automations/steps/serverLog.js.html +3 -3
- package/coverage/lcov-report/automations/steps/slack.js.html +5 -5
- package/coverage/lcov-report/automations/steps/updateRow.js.html +7 -7
- package/coverage/lcov-report/automations/steps/utils.js.html +3 -3
- package/coverage/lcov-report/automations/steps/zapier.js.html +5 -5
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +8 -8
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +2 -2
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +2 -2
- package/coverage/lcov-report/automations/triggers.js.html +55 -61
- package/coverage/lcov-report/automations/utils.js.html +42 -54
- package/coverage/lcov-report/constants/index.html +5 -5
- package/coverage/lcov-report/constants/index.js.html +26 -53
- package/coverage/lcov-report/constants/layouts.js.html +5 -5
- package/coverage/lcov-report/constants/screens.js.html +4 -4
- package/coverage/lcov-report/db/client.js.html +18 -18
- package/coverage/lcov-report/db/inMemoryView.js.html +7 -7
- package/coverage/lcov-report/db/index.html +15 -15
- package/coverage/lcov-report/db/index.js.html +3 -3
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +37 -25
- package/coverage/lcov-report/db/linkedRows/index.html +27 -27
- package/coverage/lcov-report/db/linkedRows/index.js.html +96 -51
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +42 -42
- package/coverage/lcov-report/db/newid.js.html +4 -4
- package/coverage/lcov-report/db/utils.js.html +87 -87
- 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 +5 -5
- package/coverage/lcov-report/events/utils.js.html +3 -3
- package/coverage/lcov-report/index.html +120 -135
- 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 +65 -173
- package/coverage/lcov-report/middleware/builder.js.html +10 -10
- package/coverage/lcov-report/middleware/currentapp.js.html +83 -95
- package/coverage/lcov-report/middleware/index.html +38 -38
- package/coverage/lcov-report/middleware/joi-validator.js.html +3 -3
- 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 +53 -281
- package/coverage/lcov-report/middleware/utils.js.html +2 -2
- package/coverage/lcov-report/threads/automation.js.html +24 -30
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/index.js.html +10 -10
- package/coverage/lcov-report/threads/query.js.html +26 -62
- package/coverage/lcov-report/threads/utils.js.html +14 -14
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +7 -7
- package/coverage/lcov-report/utilities/centralPath.js.html +4 -4
- package/coverage/lcov-report/utilities/csvParser.js.html +6 -6
- package/coverage/lcov-report/utilities/global.js.html +49 -58
- package/coverage/lcov-report/utilities/index.html +37 -37
- package/coverage/lcov-report/utilities/index.js.html +73 -43
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +8 -8
- 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 +7 -7
- package/coverage/lcov-report/utilities/rowProcessor/index.html +27 -27
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +103 -97
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +27 -75
- package/coverage/lcov-report/utilities/scriptRunner.js.html +5 -5
- package/coverage/lcov-report/utilities/security.js.html +8 -8
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +9 -9
- package/coverage/lcov-report/utilities/workerRequests.js.html +112 -43
- package/coverage/lcov.info +4423 -5022
- package/dist/api/controllers/application.js +60 -90
- package/dist/api/controllers/auth.js +5 -8
- package/dist/api/controllers/automation.js +19 -14
- package/dist/api/controllers/cloud.js +3 -2
- package/dist/api/controllers/component.js +4 -3
- package/dist/api/controllers/datasource.js +10 -20
- package/dist/api/controllers/deploy/Deployment.js +6 -3
- package/dist/api/controllers/deploy/index.js +13 -12
- package/dist/api/controllers/dev.js +5 -5
- package/dist/api/controllers/hosting.js +30 -0
- package/dist/api/controllers/layout.js +3 -3
- package/dist/api/controllers/metadata.js +4 -4
- package/dist/api/controllers/permission.js +4 -4
- package/dist/api/controllers/query/import/index.js +6 -4
- package/dist/api/controllers/query/index.js +10 -11
- package/dist/api/controllers/role.js +5 -5
- package/dist/api/controllers/routing.js +6 -5
- package/dist/api/controllers/row/ExternalRequest.js +63 -76
- package/dist/api/controllers/row/external.js +4 -4
- package/dist/api/controllers/row/internal.js +93 -55
- package/dist/api/controllers/row/internalSearch.js +17 -23
- package/dist/api/controllers/row/utils.js +14 -13
- package/dist/api/controllers/screen.js +7 -5
- package/dist/api/controllers/static/index.js +12 -61
- package/dist/api/controllers/table/external.js +10 -7
- package/dist/api/controllers/table/index.js +13 -16
- package/dist/api/controllers/table/internal.js +16 -22
- package/dist/api/controllers/table/utils.js +35 -62
- package/dist/api/controllers/user.js +20 -18
- package/dist/api/controllers/view/index.js +10 -8
- package/dist/api/controllers/view/utils.js +4 -9
- package/dist/api/controllers/webhook.js +8 -10
- package/dist/api/routes/hosting.js +11 -0
- package/dist/api/routes/index.js +2 -2
- package/dist/api/routes/static.js +1 -2
- package/dist/api/routes/tests/utilities/TestFunctions.js +17 -37
- package/dist/app.js +5 -35
- package/dist/automations/automationUtils.js +3 -2
- package/dist/automations/steps/createRow.js +5 -3
- package/dist/automations/steps/deleteRow.js +4 -1
- package/dist/automations/steps/updateRow.js +1 -1
- package/dist/automations/triggers.js +25 -27
- package/dist/automations/utils.js +5 -10
- package/dist/constants/index.js +0 -7
- package/dist/db/linkedRows/LinkController.js +7 -3
- package/dist/db/linkedRows/index.js +27 -16
- package/dist/db/linkedRows/linkUtils.js +6 -6
- package/dist/db/views/staticViews.js +10 -9
- package/dist/definitions/datasource.js +0 -1
- package/dist/environment.js +1 -4
- package/dist/integrations/base/sql.js +6 -13
- package/dist/integrations/index.js +0 -3
- package/dist/integrations/utils.js +9 -60
- package/dist/middleware/authorized.js +30 -57
- package/dist/middleware/builder.js +2 -2
- package/dist/middleware/currentapp.js +37 -41
- package/dist/middleware/usageQuota.js +15 -82
- package/dist/package.json +5 -8
- package/dist/tests/utilities/TestConfiguration.js +50 -80
- package/dist/threads/automation.js +11 -13
- package/dist/threads/query.js +13 -23
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +3 -4
- package/dist/utilities/global.js +12 -15
- package/dist/utilities/index.js +17 -7
- package/dist/utilities/routing/index.js +5 -5
- package/dist/utilities/rowProcessor/index.js +17 -23
- package/dist/utilities/rowProcessor/utils.js +4 -14
- package/dist/utilities/{usageQuota/index.js → usageQuota.js} +31 -45
- package/dist/utilities/users.js +3 -3
- package/dist/utilities/workerRequests.js +24 -4
- package/nodemon.json +1 -1
- package/package.json +6 -9
- package/scripts/likeCypress.ts +1 -1
- package/src/api/controllers/application.js +50 -85
- package/src/api/controllers/auth.js +5 -8
- package/src/api/controllers/automation.js +23 -13
- package/src/api/controllers/cloud.js +3 -2
- package/src/api/controllers/component.js +4 -3
- package/src/api/controllers/datasource.js +11 -21
- package/src/api/controllers/deploy/Deployment.js +7 -3
- package/src/api/controllers/deploy/index.js +13 -20
- package/src/api/controllers/dev.js +5 -5
- package/src/api/controllers/hosting.js +22 -0
- package/src/api/controllers/layout.js +3 -3
- package/src/api/controllers/metadata.js +9 -4
- package/src/api/controllers/permission.js +4 -4
- package/src/api/controllers/query/import/index.ts +6 -4
- package/src/api/controllers/query/import/tests/index.spec.js +1 -2
- package/src/api/controllers/query/index.js +10 -11
- package/src/api/controllers/role.js +5 -5
- package/src/api/controllers/routing.js +6 -5
- package/src/api/controllers/row/ExternalRequest.ts +42 -53
- package/src/api/controllers/row/external.js +6 -4
- package/src/api/controllers/row/internal.js +90 -54
- package/src/api/controllers/row/internalSearch.js +17 -23
- package/src/api/controllers/row/utils.js +18 -13
- package/src/api/controllers/screen.js +7 -5
- package/src/api/controllers/static/index.js +12 -65
- package/src/api/controllers/table/external.js +10 -7
- package/src/api/controllers/table/index.js +28 -20
- package/src/api/controllers/table/internal.js +19 -24
- package/src/api/controllers/table/utils.js +42 -78
- package/src/api/controllers/user.js +20 -19
- package/src/api/controllers/view/index.js +10 -8
- package/src/api/controllers/view/utils.js +4 -9
- package/src/api/controllers/webhook.js +8 -10
- package/src/api/routes/hosting.js +13 -0
- package/src/api/routes/index.js +2 -2
- package/src/api/routes/static.js +0 -5
- package/src/api/routes/tests/application.spec.js +2 -2
- package/src/api/routes/tests/auth.spec.js +2 -1
- package/src/api/routes/tests/automation.spec.js +0 -1
- package/src/api/routes/tests/hosting.spec.js +36 -0
- package/src/api/routes/tests/misc.spec.js +1 -0
- package/src/api/routes/tests/routing.spec.js +12 -21
- package/src/api/routes/tests/row.spec.js +4 -7
- package/src/api/routes/tests/utilities/TestFunctions.js +17 -39
- package/src/app.ts +5 -18
- package/src/automations/automationUtils.js +3 -2
- package/src/automations/steps/createRow.js +5 -2
- package/src/automations/steps/deleteRow.js +4 -1
- package/src/automations/steps/updateRow.js +1 -1
- package/src/automations/triggers.js +31 -33
- package/src/automations/utils.js +5 -9
- package/src/constants/index.js +0 -9
- package/src/db/linkedRows/LinkController.js +7 -3
- package/src/db/linkedRows/index.js +31 -16
- package/src/db/linkedRows/linkUtils.js +6 -6
- package/src/db/tests/linkController.spec.js +1 -0
- package/src/db/tests/linkTests.spec.js +6 -5
- package/src/db/views/staticViews.js +10 -8
- package/src/definitions/common.ts +0 -3
- package/src/definitions/datasource.ts +0 -3
- package/src/environment.js +1 -4
- package/src/integrations/base/sql.ts +7 -14
- package/src/integrations/index.ts +0 -3
- package/src/integrations/tests/sql.spec.js +0 -16
- package/src/integrations/utils.ts +12 -75
- package/src/middleware/authorized.js +30 -66
- package/src/middleware/builder.js +2 -2
- package/src/middleware/currentapp.js +46 -50
- package/src/middleware/tests/authorized.spec.js +6 -13
- package/src/middleware/tests/currentapp.spec.js +0 -6
- package/src/middleware/tests/usageQuota.spec.js +24 -18
- package/src/middleware/usageQuota.js +17 -93
- package/src/tests/utilities/TestConfiguration.js +55 -82
- package/src/threads/automation.js +15 -17
- package/src/threads/query.js +14 -26
- package/src/utilities/fileSystem/index.js +3 -4
- package/src/utilities/global.js +12 -15
- package/src/utilities/index.js +17 -7
- package/src/utilities/routing/index.js +5 -5
- package/src/utilities/rowProcessor/index.js +27 -25
- package/src/utilities/rowProcessor/utils.js +7 -23
- package/src/utilities/usageQuota.js +73 -0
- package/src/utilities/users.js +3 -3
- package/src/utilities/workerRequests.js +27 -4
- package/builder/assets/index.83c0944f.css +0 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +0 -119
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +0 -548
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +0 -599
- package/coverage/lcov-report/utilities/usageQuota/index.html +0 -141
- package/coverage/lcov-report/utilities/usageQuota/index.js.html +0 -359
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +0 -305
- package/dist/api/controllers/migrations.js +0 -21
- package/dist/api/controllers/row/staticFormula.js +0 -147
- package/dist/api/controllers/table/bulkFormula.js +0 -159
- package/dist/api/routes/migrations.js +0 -9
- package/dist/integrations/googlesheets.js +0 -340
- package/dist/migrations/functions/appUrls.js +0 -46
- package/dist/migrations/functions/quotas1.js +0 -50
- package/dist/migrations/functions/usageQuotas/index.js +0 -20
- package/dist/migrations/functions/usageQuotas/syncApps.js +0 -30
- package/dist/migrations/functions/usageQuotas/syncRows.js +0 -33
- package/dist/migrations/functions/userEmailViewCasing.js +0 -24
- package/dist/migrations/index.js +0 -62
- package/dist/utilities/usageQuota/rows.js +0 -78
- package/dist/utilities/usageQuota/usageQuoteReset.js +0 -16
- package/src/api/controllers/migrations.js +0 -13
- package/src/api/controllers/row/staticFormula.js +0 -156
- package/src/api/controllers/table/bulkFormula.js +0 -173
- package/src/api/routes/migrations.js +0 -14
- package/src/api/routes/tests/static.spec.js +0 -98
- package/src/integrations/googlesheets.ts +0 -353
- package/src/migrations/functions/appUrls.ts +0 -34
- package/src/migrations/functions/quotas1.ts +0 -20
- package/src/migrations/functions/tests/appUrls.spec.js +0 -29
- package/src/migrations/functions/tests/quotas1.spec.js +0 -27
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +0 -25
- package/src/migrations/functions/usageQuotas/index.ts +0 -8
- package/src/migrations/functions/usageQuotas/syncApps.ts +0 -19
- package/src/migrations/functions/usageQuotas/syncRows.ts +0 -22
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.js +0 -37
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.js +0 -43
- package/src/migrations/functions/userEmailViewCasing.ts +0 -13
- package/src/migrations/index.ts +0 -56
- package/src/utilities/tests/usageQuota/usageQuota.spec.js +0 -72
- package/src/utilities/usageQuota/index.js +0 -93
- package/src/utilities/usageQuota/rows.js +0 -75
- package/src/utilities/usageQuota/usageQuoteReset.js +0 -18
|
@@ -68,15 +68,15 @@
|
|
|
68
68
|
<a name='L9'></a><a href='#L9'>9</a>
|
|
69
69
|
<a name='L10'></a><a href='#L10'>10</a>
|
|
70
70
|
<a name='L11'></a><a href='#L11'>11</a>
|
|
71
|
-
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">
|
|
71
|
+
<a name='L12'></a><a href='#L12'>12</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
72
72
|
<span class="cline-any cline-neutral"> </span>
|
|
73
|
-
<span class="cline-any cline-yes">
|
|
73
|
+
<span class="cline-any cline-yes">34x</span>
|
|
74
74
|
<span class="cline-any cline-no"> </span>
|
|
75
75
|
<span class="cline-any cline-no"> </span>
|
|
76
76
|
<span class="cline-any cline-no"> </span>
|
|
77
77
|
<span class="cline-any cline-neutral"> </span>
|
|
78
78
|
<span class="cline-any cline-neutral"> </span>
|
|
79
|
-
<span class="cline-any cline-yes">
|
|
79
|
+
<span class="cline-any cline-yes">34x</span>
|
|
80
80
|
<span class="cline-any cline-no"> </span>
|
|
81
81
|
<span class="cline-any cline-neutral"> </span>
|
|
82
82
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const ScriptRunner = require("../../utilities/scriptRunner")
|
|
@@ -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 Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
103
103
|
<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">8.
|
|
26
|
+
<span class="strong">8.02% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>11/
|
|
28
|
+
<span class='fraction'>11/137</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">8.
|
|
47
|
+
<span class="strong">8.02% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>11/
|
|
49
|
+
<span class='fraction'>11/137</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -361,27 +361,30 @@
|
|
|
361
361
|
<a name='L302'></a><a href='#L302'>302</a>
|
|
362
362
|
<a name='L303'></a><a href='#L303'>303</a>
|
|
363
363
|
<a name='L304'></a><a href='#L304'>304</a>
|
|
364
|
-
<a name='L305'></a><a href='#L305'>305</a
|
|
364
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
365
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
366
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
367
|
+
<a name='L308'></a><a href='#L308'>308</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">34x</span>
|
|
365
368
|
<span class="cline-any cline-neutral"> </span>
|
|
366
369
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
-
<span class="cline-any cline-yes">39x</span>
|
|
368
370
|
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-yes">34x</span>
|
|
369
372
|
<span class="cline-any cline-neutral"> </span>
|
|
370
373
|
<span class="cline-any cline-neutral"> </span>
|
|
371
374
|
<span class="cline-any cline-neutral"> </span>
|
|
372
375
|
<span class="cline-any cline-neutral"> </span>
|
|
373
376
|
<span class="cline-any cline-neutral"> </span>
|
|
374
|
-
<span class="cline-any cline-yes">39x</span>
|
|
375
377
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-yes">34x</span>
|
|
376
379
|
<span class="cline-any cline-neutral"> </span>
|
|
377
380
|
<span class="cline-any cline-neutral"> </span>
|
|
378
381
|
<span class="cline-any cline-neutral"> </span>
|
|
379
|
-
<span class="cline-any cline-
|
|
380
|
-
<span class="cline-any cline-yes">
|
|
381
|
-
<span class="cline-any cline-yes">
|
|
382
|
-
<span class="cline-any cline-yes">
|
|
383
|
-
<span class="cline-any cline-yes">
|
|
384
|
-
<span class="cline-any cline-yes">
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-yes">34x</span>
|
|
384
|
+
<span class="cline-any cline-yes">34x</span>
|
|
385
|
+
<span class="cline-any cline-yes">34x</span>
|
|
386
|
+
<span class="cline-any cline-yes">34x</span>
|
|
387
|
+
<span class="cline-any cline-yes">34x</span>
|
|
385
388
|
<span class="cline-any cline-neutral"> </span>
|
|
386
389
|
<span class="cline-any cline-neutral"> </span>
|
|
387
390
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -521,7 +524,8 @@
|
|
|
521
524
|
<span class="cline-any cline-no"> </span>
|
|
522
525
|
<span class="cline-any cline-neutral"> </span>
|
|
523
526
|
<span class="cline-any cline-neutral"> </span>
|
|
524
|
-
<span class="cline-any cline-yes">
|
|
527
|
+
<span class="cline-any cline-yes">34x</span>
|
|
528
|
+
<span class="cline-any cline-no"> </span>
|
|
525
529
|
<span class="cline-any cline-no"> </span>
|
|
526
530
|
<span class="cline-any cline-neutral"> </span>
|
|
527
531
|
<span class="cline-any cline-no"> </span>
|
|
@@ -628,7 +632,8 @@
|
|
|
628
632
|
<span class="cline-any cline-no"> </span>
|
|
629
633
|
<span class="cline-any cline-neutral"> </span>
|
|
630
634
|
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">
|
|
635
|
+
<span class="cline-any cline-yes">34x</span>
|
|
636
|
+
<span class="cline-any cline-no"> </span>
|
|
632
637
|
<span class="cline-any cline-no"> </span>
|
|
633
638
|
<span class="cline-any cline-no"> </span>
|
|
634
639
|
<span class="cline-any cline-no"> </span>
|
|
@@ -650,7 +655,8 @@
|
|
|
650
655
|
<span class="cline-any cline-no"> </span>
|
|
651
656
|
<span class="cline-any cline-neutral"> </span>
|
|
652
657
|
<span class="cline-any cline-neutral"> </span>
|
|
653
|
-
<span class="cline-any cline-yes">
|
|
658
|
+
<span class="cline-any cline-yes">34x</span>
|
|
659
|
+
<span class="cline-any cline-no"> </span>
|
|
654
660
|
<span class="cline-any cline-no"> </span>
|
|
655
661
|
<span class="cline-any cline-no"> </span>
|
|
656
662
|
<span class="cline-any cline-no"> </span>
|
|
@@ -665,7 +671,8 @@
|
|
|
665
671
|
<span class="cline-any cline-neutral"> </span>
|
|
666
672
|
<span class="cline-any cline-no"> </span>
|
|
667
673
|
<span class="cline-any cline-neutral"> </span>
|
|
668
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const
|
|
674
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">const CouchDB = require("../../../db")
|
|
675
|
+
const {
|
|
669
676
|
buildExternalTableId,
|
|
670
677
|
breakExternalTableId,
|
|
671
678
|
} = require("../../../integrations/utils")
|
|
@@ -685,7 +692,6 @@ const { makeExternalQuery } = require("../../../integrations/base/utils")
|
|
|
685
692
|
const { cloneDeep } = require("lodash/fp")
|
|
686
693
|
const csvParser = require("../../../utilities/csvParser")
|
|
687
694
|
const { handleRequest } = require("../row/external")
|
|
688
|
-
const { getAppDB } = require("@budibase/backend-core/context")
|
|
689
695
|
|
|
690
696
|
async function <span class="fstat-no" title="function not covered" >makeTableRequest(</span>
|
|
691
697
|
datasource,
|
|
@@ -826,6 +832,7 @@ function <span class="fstat-no" title="function not covered" >isRelationshipSetu
|
|
|
826
832
|
}
|
|
827
833
|
|
|
828
834
|
exports.save = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
835
|
+
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
829
836
|
const table = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
830
837
|
// can't do this right now
|
|
831
838
|
<span class="cstat-no" title="statement not covered" > delete table.dataImport</span>
|
|
@@ -842,14 +849,14 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
842
849
|
|
|
843
850
|
let oldTable
|
|
844
851
|
<span class="cstat-no" title="statement not covered" > if (ctx.request.body && ctx.request.body._id) {</span>
|
|
845
|
-
<span class="cstat-no" title="statement not covered" > oldTable = await getTable(ctx.request.body._id)</span>
|
|
852
|
+
<span class="cstat-no" title="statement not covered" > oldTable = await getTable(appId, ctx.request.body._id)</span>
|
|
846
853
|
}
|
|
847
854
|
|
|
848
855
|
<span class="cstat-no" title="statement not covered" > if (hasTypeChanged(tableToSave, oldTable)) {</span>
|
|
849
856
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "A column type has changed.")</span>
|
|
850
857
|
}
|
|
851
858
|
|
|
852
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
859
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
853
860
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
854
861
|
const oldTables = <span class="cstat-no" title="statement not covered" >cloneDeep(datasource.entities)</span>
|
|
855
862
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
@@ -933,13 +940,14 @@ exports.save = <span class="fstat-no" title="function not covered" >as</span>ync
|
|
|
933
940
|
}
|
|
934
941
|
|
|
935
942
|
exports.destroy = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
936
|
-
const
|
|
943
|
+
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
944
|
+
const tableToDelete = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
|
|
937
945
|
<span class="cstat-no" title="statement not covered" > if (!tableToDelete || !tableToDelete.created) {</span>
|
|
938
946
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Cannot delete tables which weren't created in Budibase.")</span>
|
|
939
947
|
}
|
|
940
948
|
const datasourceId = <span class="cstat-no" title="statement not covered" >getDatasourceId(tableToDelete)</span>
|
|
941
949
|
|
|
942
|
-
const db = <span class="cstat-no" title="statement not covered" >
|
|
950
|
+
const db = <span class="cstat-no" title="statement not covered" >new CouchDB(appId)</span>
|
|
943
951
|
const datasource = <span class="cstat-no" title="statement not covered" >await db.get(datasourceId)</span>
|
|
944
952
|
const tables = <span class="cstat-no" title="statement not covered" >datasource.entities</span>
|
|
945
953
|
|
|
@@ -955,7 +963,8 @@ exports.destroy = <span class="fstat-no" title="function not covered" >as</span>
|
|
|
955
963
|
}
|
|
956
964
|
|
|
957
965
|
exports.bulkImport = <span class="fstat-no" title="function not covered" >as</span>ync function (ctx) {
|
|
958
|
-
const
|
|
966
|
+
const appId = <span class="cstat-no" title="statement not covered" >ctx.appId</span>
|
|
967
|
+
const table = <span class="cstat-no" title="statement not covered" >await getTable(appId, ctx.params.tableId)</span>
|
|
959
968
|
const { dataImport } = <span class="cstat-no" title="statement not covered" >ctx.request.body</span>
|
|
960
969
|
<span class="cstat-no" title="statement not covered" > if (!dataImport || !dataImport.schema || !dataImport.csvString) {</span>
|
|
961
970
|
<span class="cstat-no" title="statement not covered" > ctx.throw(400, "Provided data import information is invalid.")</span>
|
|
@@ -964,7 +973,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
964
973
|
...dataImport,
|
|
965
974
|
existingTable: table,
|
|
966
975
|
})
|
|
967
|
-
<span class="cstat-no" title="statement not covered" > await handleRequest(DataSourceOperation.BULK_CREATE, table._id, {</span>
|
|
976
|
+
<span class="cstat-no" title="statement not covered" > await handleRequest(appId, DataSourceOperation.BULK_CREATE, table._id, {</span>
|
|
968
977
|
rows,
|
|
969
978
|
})
|
|
970
979
|
<span class="cstat-no" title="statement not covered" > return table</span>
|
|
@@ -976,7 +985,7 @@ exports.bulkImport = <span class="fstat-no" title="function not covered" >as</sp
|
|
|
976
985
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
977
986
|
Code coverage generated by
|
|
978
987
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
979
|
-
at
|
|
988
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
980
989
|
</div>
|
|
981
990
|
</div>
|
|
982
991
|
<script src="../../../prettify.js"></script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">50.34% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>221/439</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">35.21% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>81/230</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">47.36% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>27/57</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">50.81% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>219/431</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -73,78 +73,63 @@
|
|
|
73
73
|
</tr>
|
|
74
74
|
</thead>
|
|
75
75
|
<tbody><tr>
|
|
76
|
-
<td class="file medium" data-value="bulkFormula.js"><a href="bulkFormula.js.html">bulkFormula.js</a></td>
|
|
77
|
-
<td data-value="69.23" class="pic medium">
|
|
78
|
-
<div class="chart"><div class="cover-fill" style="width: 69%"></div><div class="cover-empty" style="width: 31%"></div></div>
|
|
79
|
-
</td>
|
|
80
|
-
<td data-value="69.23" class="pct medium">69.23%</td>
|
|
81
|
-
<td data-value="78" class="abs medium">54/78</td>
|
|
82
|
-
<td data-value="43.63" class="pct low">43.63%</td>
|
|
83
|
-
<td data-value="55" class="abs low">24/55</td>
|
|
84
|
-
<td data-value="81.25" class="pct high">81.25%</td>
|
|
85
|
-
<td data-value="16" class="abs high">13/16</td>
|
|
86
|
-
<td data-value="69.33" class="pct medium">69.33%</td>
|
|
87
|
-
<td data-value="75" class="abs medium">52/75</td>
|
|
88
|
-
</tr>
|
|
89
|
-
|
|
90
|
-
<tr>
|
|
91
76
|
<td class="file low" data-value="external.js"><a href="external.js.html">external.js</a></td>
|
|
92
|
-
<td data-value="8.
|
|
77
|
+
<td data-value="8.02" class="pic low">
|
|
93
78
|
<div class="chart"><div class="cover-fill" style="width: 8%"></div><div class="cover-empty" style="width: 92%"></div></div>
|
|
94
79
|
</td>
|
|
95
|
-
<td data-value="8.
|
|
96
|
-
<td data-value="
|
|
80
|
+
<td data-value="8.02" class="pct low">8.02%</td>
|
|
81
|
+
<td data-value="137" class="abs low">11/137</td>
|
|
97
82
|
<td data-value="0" class="pct low">0%</td>
|
|
98
83
|
<td data-value="76" class="abs low">0/76</td>
|
|
99
84
|
<td data-value="0" class="pct low">0%</td>
|
|
100
85
|
<td data-value="14" class="abs low">0/14</td>
|
|
101
|
-
<td data-value="8.
|
|
102
|
-
<td data-value="
|
|
86
|
+
<td data-value="8.02" class="pct low">8.02%</td>
|
|
87
|
+
<td data-value="137" class="abs low">11/137</td>
|
|
103
88
|
</tr>
|
|
104
89
|
|
|
105
90
|
<tr>
|
|
106
|
-
<td class="file
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
91
|
+
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
|
|
92
|
+
<td data-value="81.81" class="pic high">
|
|
93
|
+
<div class="chart"><div class="cover-fill" style="width: 81%"></div><div class="cover-empty" style="width: 19%"></div></div>
|
|
109
94
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
95
|
+
<td data-value="81.81" class="pct high">81.81%</td>
|
|
96
|
+
<td data-value="55" class="abs high">45/55</td>
|
|
112
97
|
<td data-value="73.91" class="pct medium">73.91%</td>
|
|
113
98
|
<td data-value="23" class="abs medium">17/23</td>
|
|
114
|
-
<td data-value="
|
|
115
|
-
<td data-value="
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
99
|
+
<td data-value="70" class="pct medium">70%</td>
|
|
100
|
+
<td data-value="10" class="abs medium">7/10</td>
|
|
101
|
+
<td data-value="83.01" class="pct high">83.01%</td>
|
|
102
|
+
<td data-value="53" class="abs high">44/53</td>
|
|
118
103
|
</tr>
|
|
119
104
|
|
|
120
105
|
<tr>
|
|
121
106
|
<td class="file medium" data-value="internal.js"><a href="internal.js.html">internal.js</a></td>
|
|
122
|
-
<td data-value="
|
|
123
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="74.6" class="pic medium">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 74%"></div><div class="cover-empty" style="width: 26%"></div></div>
|
|
124
109
|
</td>
|
|
125
|
-
<td data-value="
|
|
126
|
-
<td data-value="
|
|
127
|
-
<td data-value="
|
|
128
|
-
<td data-value="
|
|
129
|
-
<td data-value="
|
|
130
|
-
<td data-value="5" class="abs
|
|
131
|
-
<td data-value="
|
|
132
|
-
<td data-value="
|
|
110
|
+
<td data-value="74.6" class="pct medium">74.6%</td>
|
|
111
|
+
<td data-value="63" class="abs medium">47/63</td>
|
|
112
|
+
<td data-value="71.87" class="pct medium">71.87%</td>
|
|
113
|
+
<td data-value="32" class="abs medium">23/32</td>
|
|
114
|
+
<td data-value="60" class="pct medium">60%</td>
|
|
115
|
+
<td data-value="5" class="abs medium">3/5</td>
|
|
116
|
+
<td data-value="78.33" class="pct medium">78.33%</td>
|
|
117
|
+
<td data-value="60" class="abs medium">47/60</td>
|
|
133
118
|
</tr>
|
|
134
119
|
|
|
135
120
|
<tr>
|
|
136
121
|
<td class="file medium" data-value="utils.js"><a href="utils.js.html">utils.js</a></td>
|
|
137
|
-
<td data-value="
|
|
138
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
122
|
+
<td data-value="64.13" class="pic medium">
|
|
123
|
+
<div class="chart"><div class="cover-fill" style="width: 64%"></div><div class="cover-empty" style="width: 36%"></div></div>
|
|
139
124
|
</td>
|
|
140
|
-
<td data-value="
|
|
141
|
-
<td data-value="
|
|
142
|
-
<td data-value="
|
|
143
|
-
<td data-value="
|
|
144
|
-
<td data-value="
|
|
145
|
-
<td data-value="
|
|
146
|
-
<td data-value="64.
|
|
147
|
-
<td data-value="
|
|
125
|
+
<td data-value="64.13" class="pct medium">64.13%</td>
|
|
126
|
+
<td data-value="184" class="abs medium">118/184</td>
|
|
127
|
+
<td data-value="41.41" class="pct low">41.41%</td>
|
|
128
|
+
<td data-value="99" class="abs low">41/99</td>
|
|
129
|
+
<td data-value="60.71" class="pct medium">60.71%</td>
|
|
130
|
+
<td data-value="28" class="abs medium">17/28</td>
|
|
131
|
+
<td data-value="64.64" class="pct medium">64.64%</td>
|
|
132
|
+
<td data-value="181" class="abs medium">117/181</td>
|
|
148
133
|
</tr>
|
|
149
134
|
|
|
150
135
|
</tbody>
|
|
@@ -155,7 +140,7 @@
|
|
|
155
140
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
141
|
Code coverage generated by
|
|
157
142
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at
|
|
143
|
+
at Fri Feb 04 2022 12:19:28 GMT+0000 (Coordinated Universal Time)
|
|
159
144
|
</div>
|
|
160
145
|
</div>
|
|
161
146
|
<script src="../../../prettify.js"></script>
|