@budibase/server 0.0.32 → 0.0.999-alpha.30
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/.dockerignore +6 -0
- package/.yarnrc +1 -0
- package/Dockerfile +41 -0
- package/LICENSE +391 -377
- package/__mocks__/@elastic/elasticsearch.ts +24 -0
- package/__mocks__/@google-cloud/firestore.ts +36 -0
- package/__mocks__/@sendgrid/mail.ts +22 -0
- package/__mocks__/airtable.ts +8 -0
- package/__mocks__/arangojs.ts +24 -0
- package/__mocks__/aws-sdk.ts +80 -0
- package/__mocks__/mongodb.ts +39 -0
- package/__mocks__/mssql.ts +24 -0
- package/__mocks__/mysql2/promise.ts +17 -0
- package/__mocks__/mysql2.ts +14 -0
- package/__mocks__/node-fetch.ts +201 -0
- package/__mocks__/oracledb.ts +31 -0
- package/__mocks__/pg.ts +30 -0
- package/babel.config.js +3 -0
- package/build/entitlements.mac.plist +14 -0
- package/build/icon.icns +0 -0
- package/build/icon.png +0 -0
- package/build/icons/512x512.png +0 -0
- package/build/pouchdb.js +9 -0
- package/builder/assets/auth0-logo.6fa5973f.png +0 -0
- package/builder/assets/backups-default.8c011f1b.png +0 -0
- package/builder/assets/bb-emblem.05f7ae7a.svg +80 -0
- package/builder/assets/bb-space-man.5be51a45.svg +290 -0
- package/builder/assets/bb-spaceship.8f6e81e1.svg +227 -0
- package/builder/assets/bg.29e85dd5.png +0 -0
- package/builder/assets/blankScreenPreview.72634dd1.png +0 -0
- package/builder/assets/bulgaria.bd68393d.png +0 -0
- package/builder/assets/covanta.72c46c1e.png +0 -0
- package/builder/assets/discord.c14881e9.svg +10 -0
- package/builder/assets/google-logo.c16467b8.png +0 -0
- package/builder/assets/index.c0265b74.css +6 -0
- package/builder/assets/index.c977bf31.js +1776 -0
- package/builder/assets/integromat.42212f11.png +0 -0
- package/builder/assets/listScreenPreview.599c0aae.png +0 -0
- package/builder/assets/microsoft-logo.07033b2a.png +0 -0
- package/builder/assets/oidc-logo.cb2fff74.png +0 -0
- package/builder/assets/okta-logo.61437d3d.png +0 -0
- package/builder/assets/onelogin-logo.181cc193.png +0 -0
- package/builder/assets/oracle.66592424.png +0 -0
- package/builder/assets/remixicon.0ac8bc3c.ttf +0 -0
- package/builder/assets/remixicon.64bb3a0f.eot +0 -0
- package/builder/assets/remixicon.a10268fe.svg +6835 -0
- package/builder/assets/remixicon.c2dacfbc.woff +0 -0
- package/builder/assets/remixicon.e61f0d10.woff2 +0 -0
- package/builder/assets/schnellecke.cf1837a8.png +0 -0
- package/builder/assets/slack.1e1f7cfb.svg +33 -0
- package/builder/assets/zapier.3fbd8f5c.png +0 -0
- package/builder/index.html +10 -13
- package/dist/api/controllers/analytics.js +46 -0
- package/dist/api/controllers/apikeys.js +72 -0
- package/dist/api/controllers/application.js +575 -0
- package/dist/api/controllers/auth.js +80 -0
- package/dist/api/controllers/automation.js +303 -0
- package/dist/api/controllers/backup.js +37 -0
- package/dist/api/controllers/cloud.js +130 -0
- package/dist/api/controllers/component.js +59 -0
- package/dist/api/controllers/datasource.js +306 -0
- package/dist/api/controllers/deploy/Deployment.js +53 -0
- package/dist/api/controllers/deploy/index.js +198 -0
- package/dist/api/controllers/dev.js +146 -0
- package/dist/api/controllers/integration.js +28 -0
- package/dist/api/controllers/layout.js +49 -0
- package/dist/api/controllers/metadata.js +63 -0
- package/dist/api/controllers/migrations.js +29 -0
- package/dist/api/controllers/ops.js +40 -0
- package/dist/api/controllers/permission.js +162 -0
- package/dist/api/controllers/plugin/file.js +24 -0
- package/dist/api/controllers/plugin/github.js +69 -0
- package/dist/api/controllers/plugin/index.js +112 -0
- package/dist/api/controllers/plugin/npm.js +58 -0
- package/dist/api/controllers/plugin/uploaders.js +11 -0
- package/dist/api/controllers/plugin/url.js +24 -0
- package/dist/api/controllers/plugin/utils.js +27 -0
- package/dist/api/controllers/public/applications.js +146 -0
- package/dist/api/controllers/public/mapping/applications.js +29 -0
- package/dist/api/controllers/public/mapping/index.js +11 -0
- package/dist/api/controllers/public/mapping/queries.js +36 -0
- package/dist/api/controllers/public/mapping/rows.js +24 -0
- package/dist/api/controllers/public/mapping/tables.js +23 -0
- package/dist/api/controllers/public/mapping/types.js +2 -0
- package/dist/api/controllers/public/mapping/users.js +29 -0
- package/dist/api/controllers/public/metrics.js +113 -0
- package/dist/api/controllers/public/queries.js +58 -0
- package/dist/api/controllers/public/rows.js +120 -0
- package/dist/api/controllers/public/tables.js +95 -0
- package/dist/api/controllers/public/users.js +93 -0
- package/dist/api/controllers/public/utils.js +56 -0
- package/dist/api/controllers/query/import/index.js +87 -0
- package/dist/api/controllers/query/import/sources/base/index.js +75 -0
- package/dist/api/controllers/query/import/sources/base/openapi.js +42 -0
- package/dist/api/controllers/query/import/sources/curl.js +99 -0
- package/dist/api/controllers/query/import/sources/openapi2.js +145 -0
- package/dist/api/controllers/query/import/sources/openapi3.js +177 -0
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
- package/dist/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
- package/dist/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.json +253 -0
- package/dist/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.json +1225 -0
- package/dist/api/controllers/query/index.js +299 -0
- package/dist/api/controllers/query/validation.js +53 -0
- package/dist/api/controllers/role.js +109 -0
- package/dist/api/controllers/routing.js +105 -0
- package/dist/api/controllers/row/ExternalRequest.js +676 -0
- package/dist/api/controllers/row/external.js +339 -0
- package/dist/api/controllers/row/index.js +203 -0
- package/dist/api/controllers/row/internal.js +502 -0
- package/dist/api/controllers/row/internalSearch.js +28 -0
- package/dist/api/controllers/row/staticFormula.js +165 -0
- package/dist/api/controllers/row/utils.js +183 -0
- package/dist/api/controllers/screen.js +110 -0
- package/dist/api/controllers/script.js +30 -0
- package/dist/api/controllers/static/index.js +268 -0
- package/dist/api/controllers/static/templates/BudibaseApp.svelte +135 -0
- package/dist/api/controllers/static/templates/app.hbs +13 -0
- package/dist/api/controllers/static/templates/preview.hbs +117 -0
- package/dist/api/controllers/table/bulkFormula.js +173 -0
- package/dist/api/controllers/table/external.js +279 -0
- package/dist/api/controllers/table/index.js +179 -0
- package/dist/api/controllers/table/internal.js +194 -0
- package/dist/api/controllers/table/utils.js +374 -0
- package/dist/api/controllers/templates.js +56 -0
- package/dist/api/controllers/user.js +124 -0
- package/dist/api/controllers/view/exporters.js +44 -0
- package/dist/api/controllers/view/index.js +193 -0
- package/dist/api/controllers/view/utils.js +177 -0
- package/dist/api/controllers/view/viewBuilder.js +158 -0
- package/dist/api/controllers/webhook.js +134 -0
- package/dist/api/index.js +56 -0
- package/dist/api/routes/analytics.js +34 -0
- package/dist/api/routes/apikeys.js +37 -0
- package/dist/api/routes/application.js +48 -0
- package/dist/api/routes/auth.js +33 -0
- package/dist/api/routes/automation.js +50 -0
- package/dist/api/routes/backup.js +35 -0
- package/dist/api/routes/cloud.js +39 -0
- package/dist/api/routes/component.js +35 -0
- package/dist/api/routes/datasource.js +43 -0
- package/dist/api/routes/deploy.js +37 -0
- package/dist/api/routes/dev.js +49 -0
- package/dist/api/routes/index.js +77 -0
- package/dist/api/routes/integration.js +37 -0
- package/dist/api/routes/layout.js +37 -0
- package/dist/api/routes/metadata.js +40 -0
- package/dist/api/routes/migrations.js +36 -0
- package/dist/api/routes/ops.js +52 -0
- package/dist/api/routes/permission.js +44 -0
- package/dist/api/routes/plugin.js +39 -0
- package/dist/api/routes/public/applications.js +174 -0
- package/dist/api/routes/public/index.js +131 -0
- package/dist/api/routes/public/metrics.js +30 -0
- package/dist/api/routes/public/middleware/mapper.js +97 -0
- package/dist/api/routes/public/queries.js +72 -0
- package/dist/api/routes/public/rows.js +158 -0
- package/dist/api/routes/public/tables.js +152 -0
- package/dist/api/routes/public/users.js +135 -0
- package/dist/api/routes/public/utils/Endpoint.js +36 -0
- package/dist/api/routes/query.js +47 -0
- package/dist/api/routes/role.js +40 -0
- package/dist/api/routes/routing.js +39 -0
- package/dist/api/routes/row.js +239 -0
- package/dist/api/routes/screen.js +39 -0
- package/dist/api/routes/script.js +35 -0
- package/dist/api/routes/static.js +80 -0
- package/dist/api/routes/table.js +163 -0
- package/dist/api/routes/templates.js +37 -0
- package/dist/api/routes/user.js +43 -0
- package/dist/api/routes/utils/validators.js +238 -0
- package/dist/api/routes/view.js +42 -0
- package/dist/api/routes/webhook.js +43 -0
- package/dist/app.js +132 -0
- package/dist/automations/actions.js +137 -0
- package/dist/automations/automationUtils.js +173 -0
- package/dist/automations/bullboard.js +71 -0
- package/dist/automations/index.js +43 -0
- package/dist/automations/logging/index.js +53 -0
- package/dist/automations/steps/bash.js +111 -0
- package/dist/automations/steps/createRow.js +108 -0
- package/dist/automations/steps/delay.js +53 -0
- package/dist/automations/steps/deleteRow.js +96 -0
- package/dist/automations/steps/discord.js +116 -0
- package/dist/automations/steps/executeQuery.js +134 -0
- package/dist/automations/steps/executeScript.js +106 -0
- package/dist/automations/steps/filter.js +112 -0
- package/dist/automations/steps/integromat.js +119 -0
- package/dist/automations/steps/loop.js +54 -0
- package/dist/automations/steps/outgoingWebhook.js +166 -0
- package/dist/automations/steps/queryRows.js +216 -0
- package/dist/automations/steps/sendSmtpEmail.js +115 -0
- package/dist/automations/steps/serverLog.js +65 -0
- package/dist/automations/steps/slack.js +98 -0
- package/dist/automations/steps/updateRow.js +144 -0
- package/dist/automations/steps/utils.js +56 -0
- package/dist/automations/steps/zapier.js +117 -0
- package/dist/automations/triggerInfo/app.js +36 -0
- package/dist/automations/triggerInfo/cron.js +35 -0
- package/dist/automations/triggerInfo/index.js +40 -0
- package/dist/automations/triggerInfo/rowDeleted.js +36 -0
- package/dist/automations/triggerInfo/rowSaved.js +44 -0
- package/dist/automations/triggerInfo/rowUpdated.js +44 -0
- package/dist/automations/triggerInfo/webhook.js +40 -0
- package/dist/automations/triggers.js +180 -0
- package/dist/automations/utils.js +264 -0
- package/dist/constants/definitions.js +2 -0
- package/dist/constants/index.js +181 -0
- package/dist/constants/layouts.js +148 -0
- package/dist/constants/screens.js +51 -0
- package/dist/db/defaultData/datasource_bb_default.js +574 -0
- package/dist/db/defaultData/employeeImport.js +155 -0
- package/dist/db/defaultData/expensesImport.js +117 -0
- package/dist/db/defaultData/inventoryImport.js +109 -0
- package/dist/db/defaultData/jobsImport.js +152 -0
- package/dist/db/dynamoClient.js +124 -0
- package/dist/db/inMemoryView.js +62 -0
- package/dist/db/index.js +43 -0
- package/dist/db/linkedRows/LinkController.js +392 -0
- package/dist/db/linkedRows/LinkDocument.js +33 -0
- package/dist/db/linkedRows/index.js +206 -0
- package/dist/db/linkedRows/linkUtils.js +131 -0
- package/dist/db/newid.js +7 -0
- package/dist/db/utils.js +247 -0
- package/dist/db/views/staticViews.js +144 -0
- package/dist/ddApm.js +11 -0
- package/dist/definitions/automations.js +8 -0
- package/dist/definitions/common.js +2 -0
- package/dist/definitions/datasource.js +7 -0
- package/dist/definitions/openapi.js +6 -0
- package/dist/environment.js +113 -0
- package/dist/events/AutomationEmitter.js +53 -0
- package/dist/events/BudibaseEmitter.js +25 -0
- package/dist/events/docUpdates/index.js +17 -0
- package/dist/events/docUpdates/processors.js +18 -0
- package/dist/events/docUpdates/syncUsers.js +49 -0
- package/dist/events/index.js +11 -0
- package/dist/events/utils.js +43 -0
- package/dist/index.js +16 -0
- package/dist/integrations/airtable.js +147 -0
- package/dist/integrations/arangodb.js +103 -0
- package/dist/integrations/base/query.js +32 -0
- package/dist/integrations/base/sql.js +600 -0
- package/dist/integrations/base/sqlTable.js +160 -0
- package/dist/integrations/base/types.js +2 -0
- package/dist/integrations/couchdb.js +125 -0
- package/dist/integrations/dynamodb.js +194 -0
- package/dist/integrations/elasticsearch.js +186 -0
- package/dist/integrations/firebase.js +174 -0
- package/dist/integrations/googlesheets.js +455 -0
- package/dist/integrations/index.js +135 -0
- package/dist/integrations/microsoftSqlServer.js +273 -0
- package/dist/integrations/mongodb.js +614 -0
- package/dist/integrations/mysql.js +256 -0
- package/dist/integrations/oracle.js +375 -0
- package/dist/integrations/postgres.js +300 -0
- package/dist/integrations/queries/sql.js +84 -0
- package/dist/integrations/redis.js +168 -0
- package/dist/integrations/rest.js +400 -0
- package/dist/integrations/s3.js +237 -0
- package/dist/integrations/snowflake.js +99 -0
- package/dist/integrations/utils.js +295 -0
- package/dist/middleware/appInfo.js +22 -0
- package/dist/middleware/authorized.js +112 -0
- package/dist/middleware/builder.js +93 -0
- package/dist/middleware/currentapp.js +103 -0
- package/dist/middleware/joi-validator.js +43 -0
- package/dist/middleware/publicApi.js +25 -0
- package/dist/middleware/resourceId.js +59 -0
- package/dist/middleware/selfhost.js +24 -0
- package/dist/middleware/utils.js +8 -0
- package/dist/migrations/functions/appUrls.js +42 -0
- package/dist/migrations/functions/backfill/app/automations.js +31 -0
- package/dist/migrations/functions/backfill/app/datasources.js +28 -0
- package/dist/migrations/functions/backfill/app/layouts.js +33 -0
- package/dist/migrations/functions/backfill/app/queries.js +50 -0
- package/dist/migrations/functions/backfill/app/roles.js +28 -0
- package/dist/migrations/functions/backfill/app/screens.js +28 -0
- package/dist/migrations/functions/backfill/app/tables.js +37 -0
- package/dist/migrations/functions/backfill/app.js +176 -0
- package/dist/migrations/functions/backfill/global/configs.js +67 -0
- package/dist/migrations/functions/backfill/global/quotas.js +60 -0
- package/dist/migrations/functions/backfill/global/users.js +50 -0
- package/dist/migrations/functions/backfill/global.js +205 -0
- package/dist/migrations/functions/backfill/index.js +32 -0
- package/dist/migrations/functions/backfill/installation.js +80 -0
- package/dist/migrations/functions/syncQuotas.js +50 -0
- package/dist/migrations/functions/tableSettings.js +130 -0
- package/dist/migrations/functions/usageQuotas/index.js +16 -0
- package/dist/migrations/functions/usageQuotas/syncApps.js +25 -0
- package/dist/migrations/functions/usageQuotas/syncPlugins.js +23 -0
- package/dist/migrations/functions/usageQuotas/syncRows.js +33 -0
- package/dist/migrations/functions/userEmailViewCasing.js +24 -0
- package/dist/migrations/index.js +111 -0
- package/dist/migrations/tests/helpers.js +72 -0
- package/dist/migrations/tests/structures.js +37 -0
- package/dist/package.json +180 -0
- package/dist/sdk/app/applications/index.js +28 -0
- package/dist/sdk/app/applications/sync.js +164 -0
- package/dist/sdk/app/applications/utils.js +21 -0
- package/dist/sdk/app/automations/index.js +29 -0
- package/dist/sdk/app/automations/webhook.js +54 -0
- package/dist/sdk/app/backups/constants.js +6 -0
- package/dist/sdk/app/backups/exports.js +184 -0
- package/dist/sdk/app/backups/imports.js +170 -0
- package/dist/sdk/app/backups/index.js +29 -0
- package/dist/sdk/app/backups/statistics.js +73 -0
- package/dist/sdk/app/datasources/datasources.js +166 -0
- package/dist/sdk/app/datasources/index.js +27 -0
- package/dist/sdk/app/queries/index.js +27 -0
- package/dist/sdk/app/queries/queries.js +60 -0
- package/dist/sdk/app/rows/attachments.js +61 -0
- package/dist/sdk/app/rows/index.js +28 -0
- package/dist/sdk/app/rows/rows.js +30 -0
- package/dist/sdk/app/tables/index.js +65 -0
- package/dist/sdk/index.js +27 -0
- package/dist/sdk/plugins/index.js +27 -0
- package/dist/sdk/plugins/plugins.js +53 -0
- package/dist/sdk/users/index.js +27 -0
- package/dist/sdk/users/utils.js +87 -0
- package/dist/sdk/utils/index.js +29 -0
- package/dist/startup.js +158 -0
- package/dist/threads/automation.js +449 -0
- package/dist/threads/definitions.js +2 -0
- package/dist/threads/index.js +137 -0
- package/dist/threads/query.js +265 -0
- package/dist/threads/utils.js +122 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -0
- package/dist/utilities/appDirectoryTemplate/package.json +10 -0
- package/dist/utilities/budibaseDir.js +5 -0
- package/dist/utilities/centralPath.js +27 -0
- package/dist/utilities/fileSystem/app.js +88 -0
- package/dist/utilities/fileSystem/clientLibrary.js +138 -0
- package/dist/utilities/fileSystem/filesystem.js +180 -0
- package/dist/utilities/fileSystem/index.js +21 -0
- package/dist/utilities/fileSystem/plugin.js +76 -0
- package/dist/utilities/fileSystem/processor.js +34 -0
- package/dist/utilities/fileSystem/template.js +47 -0
- package/dist/utilities/global.js +149 -0
- package/dist/utilities/index.js +143 -0
- package/dist/utilities/redis.js +117 -0
- package/dist/utilities/retry.js +30 -0
- package/dist/utilities/routing/index.js +39 -0
- package/dist/utilities/rowProcessor/index.js +284 -0
- package/dist/utilities/rowProcessor/map.js +99 -0
- package/dist/utilities/rowProcessor/utils.js +88 -0
- package/dist/utilities/schema.js +108 -0
- package/dist/utilities/scriptRunner.js +26 -0
- package/dist/utilities/security.js +57 -0
- package/dist/utilities/statusCodes.js +9 -0
- package/dist/utilities/usageQuota/rows.js +88 -0
- package/dist/utilities/usageQuota/usageQuoteReset.js +16 -0
- package/dist/utilities/users.js +57 -0
- package/dist/utilities/workerRequests.js +171 -0
- package/dist/watch.js +53 -0
- package/dist/websockets/client.js +14 -0
- package/dist/websockets/grid.js +60 -0
- package/dist/websockets/index.js +17 -0
- package/dist/websockets/websocket.js +78 -0
- package/docker_run.sh +7 -0
- package/jest-testcontainers-config.js +8 -0
- package/jest.config.ts +52 -0
- package/nodemon.json +10 -0
- package/package.json +166 -31
- package/pm2.config.js +9 -0
- package/scripts/account.js +8 -0
- package/scripts/dev/manage.js +119 -0
- package/scripts/docs/README.md +31 -0
- package/scripts/docs/generate.js +74 -0
- package/scripts/docs/toSwagger.js +320 -0
- package/scripts/exportAppTemplate.js +64 -0
- package/scripts/integrations/customer-categories/docker-compose.yml +28 -0
- package/scripts/integrations/customer-categories/init.sql +41 -0
- package/scripts/integrations/customer-categories/reset.sh +3 -0
- package/scripts/integrations/mssql/data/Dockerfile +9 -0
- package/scripts/integrations/mssql/data/entrypoint.sh +25 -0
- package/scripts/integrations/mssql/data/setup.sql +80 -0
- package/scripts/integrations/mssql/docker-compose.yaml +12 -0
- package/scripts/integrations/mssql/reset.sh +3 -0
- package/scripts/integrations/mysql/docker-compose.yaml +21 -0
- package/scripts/integrations/mysql/init.sql +32 -0
- package/scripts/integrations/mysql/reset.sh +3 -0
- package/scripts/integrations/oracle/docker-compose.yml +19 -0
- package/scripts/integrations/oracle/instantclient/linux/arm64/basiclite-19.10.zip +0 -0
- package/scripts/integrations/oracle/instantclient/linux/arm64/install.sh +23 -0
- package/scripts/integrations/oracle/instantclient/linux/install.sh +10 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/basiclite-21.4.zip +0 -0
- package/scripts/integrations/oracle/instantclient/linux/x86-64/install.sh +23 -0
- package/scripts/integrations/oracle/oracle.md +90 -0
- package/scripts/integrations/pg-json/docker-compose.yml +28 -0
- package/scripts/integrations/pg-json/init.sql +22 -0
- package/scripts/integrations/pg-json/reset.sh +3 -0
- package/scripts/integrations/postgres/docker-compose.yml +28 -0
- package/scripts/integrations/postgres/emp-skill.sql +46 -0
- package/scripts/integrations/postgres/emp-territory.sql +32 -0
- package/scripts/integrations/postgres/init.sql +57 -0
- package/scripts/integrations/postgres/reset.sh +3 -0
- package/scripts/integrations/service-vehicles/docker-compose.yml +28 -0
- package/scripts/integrations/service-vehicles/init.sql +52 -0
- package/scripts/integrations/service-vehicles/reset.sh +3 -0
- package/scripts/load/create-many-apps.js +24 -0
- package/scripts/load/create-many-rows.js +30 -0
- package/scripts/load/utils.js +66 -0
- package/scripts/localdomain.js +52 -0
- package/scripts/multiTenancy.js +8 -0
- package/scripts/selfhost.js +8 -0
- package/scripts/test.sh +14 -0
- package/scripts/watchtower-hooks/post-check.sh +1 -0
- package/scripts/watchtower-hooks/post-update.sh +1 -0
- package/scripts/watchtower-hooks/pre-check.sh +1 -0
- package/scripts/watchtower-hooks/pre-update.sh +1 -0
- package/specs/generate.ts +92 -0
- package/specs/openapi.json +2782 -0
- package/specs/openapi.yaml +2111 -0
- package/specs/parameters.ts +59 -0
- package/specs/resources/application.ts +137 -0
- package/specs/resources/index.ts +26 -0
- package/specs/resources/metrics.ts +81 -0
- package/specs/resources/misc.ts +128 -0
- package/specs/resources/query.ts +217 -0
- package/specs/resources/row.ts +124 -0
- package/specs/resources/table.ts +197 -0
- package/specs/resources/user.ts +132 -0
- package/specs/resources/utils/Resource.ts +39 -0
- package/specs/resources/utils/index.ts +11 -0
- package/specs/security.ts +7 -0
- package/src/api/controllers/analytics.ts +35 -0
- package/src/api/controllers/apikeys.ts +54 -0
- package/src/api/controllers/application.ts +633 -0
- package/src/api/controllers/auth.ts +72 -0
- package/src/api/controllers/automation.ts +302 -0
- package/src/api/controllers/backup.ts +21 -0
- package/src/api/controllers/cloud.ts +119 -0
- package/src/api/controllers/component.ts +58 -0
- package/src/api/controllers/datasource.ts +351 -0
- package/src/api/controllers/deploy/Deployment.ts +59 -0
- package/src/api/controllers/deploy/index.ts +203 -0
- package/src/api/controllers/dev.ts +129 -0
- package/src/api/controllers/integration.ts +13 -0
- package/src/api/controllers/layout.ts +47 -0
- package/src/api/controllers/metadata.ts +42 -0
- package/src/api/controllers/migrations.ts +14 -0
- package/src/api/controllers/ops.ts +32 -0
- package/src/api/controllers/permission.ts +178 -0
- package/src/api/controllers/plugin/file.ts +15 -0
- package/src/api/controllers/plugin/github.ts +75 -0
- package/src/api/controllers/plugin/index.ts +101 -0
- package/src/api/controllers/plugin/npm.ts +56 -0
- package/src/api/controllers/plugin/uploaders.ts +4 -0
- package/src/api/controllers/plugin/url.ts +12 -0
- package/src/api/controllers/plugin/utils.ts +17 -0
- package/src/api/controllers/public/applications.ts +100 -0
- package/src/api/controllers/public/mapping/applications.ts +32 -0
- package/src/api/controllers/public/mapping/index.ts +13 -0
- package/src/api/controllers/public/mapping/queries.ts +39 -0
- package/src/api/controllers/public/mapping/rows.ts +31 -0
- package/src/api/controllers/public/mapping/tables.ts +26 -0
- package/src/api/controllers/public/mapping/types.ts +21 -0
- package/src/api/controllers/public/mapping/users.ts +32 -0
- package/src/api/controllers/public/metrics.ts +251 -0
- package/src/api/controllers/public/queries.ts +20 -0
- package/src/api/controllers/public/rows.ts +81 -0
- package/src/api/controllers/public/tables.ts +56 -0
- package/src/api/controllers/public/users.ts +80 -0
- package/src/api/controllers/public/utils.ts +45 -0
- package/src/api/controllers/query/import/index.ts +96 -0
- package/src/api/controllers/query/import/sources/base/index.ts +98 -0
- package/src/api/controllers/query/import/sources/base/openapi.ts +24 -0
- package/src/api/controllers/query/import/sources/curl.ts +106 -0
- package/src/api/controllers/query/import/sources/openapi2.ts +167 -0
- package/src/api/controllers/query/import/sources/openapi3.ts +209 -0
- package/src/api/controllers/query/import/sources/tests/curl/curl.spec.js +103 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/delete.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/empty-body.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/get.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/headers.txt +3 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/patch.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/path.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/post.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/put.txt +2 -0
- package/src/api/controllers/query/import/sources/tests/curl/data/query.txt +1 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.json +253 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/crud/crud.yaml +160 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.json +1054 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/data/petstore/petstore.yaml +711 -0
- package/src/api/controllers/query/import/sources/tests/openapi2/openapi2.spec.js +238 -0
- package/src/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.json +253 -0
- package/src/api/controllers/query/import/sources/tests/openapi3/data/crud/crud.yaml +153 -0
- package/src/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.json +1225 -0
- package/src/api/controllers/query/import/sources/tests/openapi3/data/petstore/petstore.yaml +804 -0
- package/src/api/controllers/query/import/sources/tests/openapi3/openapi3.spec.js +240 -0
- package/src/api/controllers/query/import/tests/index.spec.js +162 -0
- package/src/api/controllers/query/index.ts +307 -0
- package/src/api/controllers/query/validation.ts +50 -0
- package/src/api/controllers/role.ts +104 -0
- package/src/api/controllers/routing.ts +95 -0
- package/src/api/controllers/row/ExternalRequest.ts +821 -0
- package/src/api/controllers/row/external.ts +304 -0
- package/src/api/controllers/row/index.ts +162 -0
- package/src/api/controllers/row/internal.ts +500 -0
- package/src/api/controllers/row/internalSearch.ts +18 -0
- package/src/api/controllers/row/staticFormula.ts +170 -0
- package/src/api/controllers/row/utils.ts +156 -0
- package/src/api/controllers/screen.ts +126 -0
- package/src/api/controllers/script.ts +12 -0
- package/src/api/controllers/static/index.ts +241 -0
- package/src/api/controllers/static/templates/BudibaseApp.svelte +135 -0
- package/src/api/controllers/static/templates/app.hbs +13 -0
- package/src/api/controllers/static/templates/preview.hbs +117 -0
- package/src/api/controllers/table/bulkFormula.ts +188 -0
- package/src/api/controllers/table/external.ts +364 -0
- package/src/api/controllers/table/index.ts +143 -0
- package/src/api/controllers/table/internal.ts +191 -0
- package/src/api/controllers/table/tests/utils.spec.ts +97 -0
- package/src/api/controllers/table/utils.ts +422 -0
- package/src/api/controllers/templates.ts +43 -0
- package/src/api/controllers/user.ts +97 -0
- package/src/api/controllers/view/exporters.ts +43 -0
- package/src/api/controllers/view/index.ts +192 -0
- package/src/api/controllers/view/tests/__snapshots__/viewBuilder.spec.js.snap +147 -0
- package/src/api/controllers/view/tests/viewBuilder.spec.js +65 -0
- package/src/api/controllers/view/utils.ts +165 -0
- package/src/api/controllers/view/viewBuilder.ts +203 -0
- package/src/api/controllers/webhook.ts +100 -0
- package/src/api/index.ts +63 -0
- package/src/api/routes/analytics.ts +9 -0
- package/src/api/routes/apikeys.ts +12 -0
- package/src/api/routes/application.ts +57 -0
- package/src/api/routes/auth.ts +8 -0
- package/src/api/routes/automation.ts +87 -0
- package/src/api/routes/backup.ts +14 -0
- package/src/api/routes/cloud.ts +18 -0
- package/src/api/routes/component.ts +14 -0
- package/src/api/routes/datasource.ts +60 -0
- package/src/api/routes/deploy.ts +20 -0
- package/src/api/routes/dev.ts +38 -0
- package/src/api/routes/index.ts +73 -0
- package/src/api/routes/integration.ts +16 -0
- package/src/api/routes/layout.ts +16 -0
- package/src/api/routes/metadata.ts +38 -0
- package/src/api/routes/migrations.ts +14 -0
- package/src/api/routes/ops.ts +30 -0
- package/src/api/routes/permission.ts +41 -0
- package/src/api/routes/plugin.ts +22 -0
- package/src/api/routes/public/applications.ts +195 -0
- package/src/api/routes/public/index.ts +145 -0
- package/src/api/routes/public/metrics.ts +28 -0
- package/src/api/routes/public/middleware/mapper.ts +85 -0
- package/src/api/routes/public/queries.ts +76 -0
- package/src/api/routes/public/rows.ts +171 -0
- package/src/api/routes/public/tables.ts +167 -0
- package/src/api/routes/public/tests/compare.spec.ts +185 -0
- package/src/api/routes/public/tests/metrics.spec.js +34 -0
- package/src/api/routes/public/tests/users.spec.js +38 -0
- package/src/api/routes/public/tests/utils.ts +45 -0
- package/src/api/routes/public/users.ts +142 -0
- package/src/api/routes/public/utils/Endpoint.ts +51 -0
- package/src/api/routes/query.ts +61 -0
- package/src/api/routes/role.ts +24 -0
- package/src/api/routes/routing.ts +14 -0
- package/src/api/routes/row.ts +266 -0
- package/src/api/routes/screen.ts +23 -0
- package/src/api/routes/script.ts +10 -0
- package/src/api/routes/static.ts +65 -0
- package/src/api/routes/table.ts +170 -0
- package/src/api/routes/templates.ts +16 -0
- package/src/api/routes/tests/__snapshots__/datasource.spec.ts.snap +93 -0
- package/src/api/routes/tests/__snapshots__/view.spec.js.snap +38 -0
- package/src/api/routes/tests/analytics.spec.js +62 -0
- package/src/api/routes/tests/apikeys.spec.js +59 -0
- package/src/api/routes/tests/appSync.spec.ts +31 -0
- package/src/api/routes/tests/application.spec.ts +327 -0
- package/src/api/routes/tests/auth.spec.js +24 -0
- package/src/api/routes/tests/automation.spec.js +349 -0
- package/src/api/routes/tests/backup.spec.ts +45 -0
- package/src/api/routes/tests/cloud.spec.ts +54 -0
- package/src/api/routes/tests/component.spec.js +32 -0
- package/src/api/routes/tests/data/budibase-component-1.0.1.tgz +0 -0
- package/src/api/routes/tests/data/comment-box-1.0.2.tar.gz +0 -0
- package/src/api/routes/tests/data/export-test.tar.gz +0 -0
- package/src/api/routes/tests/data/export.txt +1 -0
- package/src/api/routes/tests/data/old-app.txt +3 -0
- package/src/api/routes/tests/datasource.spec.ts +238 -0
- package/src/api/routes/tests/dev.spec.js +40 -0
- package/src/api/routes/tests/environmentVariables.spec.ts +144 -0
- package/src/api/routes/tests/integration.spec.js +52 -0
- package/src/api/routes/tests/internalSearch.spec.js +197 -0
- package/src/api/routes/tests/layout.spec.js +59 -0
- package/src/api/routes/tests/metadata.spec.js +65 -0
- package/src/api/routes/tests/misc.spec.js +91 -0
- package/src/api/routes/tests/permissions.spec.js +133 -0
- package/src/api/routes/tests/plugin.spec.ts +179 -0
- package/src/api/routes/tests/query.seq.spec.js +538 -0
- package/src/api/routes/tests/role.spec.js +131 -0
- package/src/api/routes/tests/routing.spec.js +116 -0
- package/src/api/routes/tests/row.spec.js +573 -0
- package/src/api/routes/tests/screen.spec.js +103 -0
- package/src/api/routes/tests/static.spec.js +140 -0
- package/src/api/routes/tests/table.spec.js +302 -0
- package/src/api/routes/tests/templates.spec.js +24 -0
- package/src/api/routes/tests/user.spec.js +208 -0
- package/src/api/routes/tests/utilities/TestFunctions.ts +177 -0
- package/src/api/routes/tests/utilities/index.ts +96 -0
- package/src/api/routes/tests/view.spec.js +419 -0
- package/src/api/routes/tests/webhook.spec.js +134 -0
- package/src/api/routes/user.ts +46 -0
- package/src/api/routes/utils/validators.ts +240 -0
- package/src/api/routes/view.ts +34 -0
- package/src/api/routes/webhook.ts +27 -0
- package/src/app.ts +114 -0
- package/src/automations/actions.ts +109 -0
- package/src/automations/automationUtils.ts +163 -0
- package/src/automations/bullboard.ts +38 -0
- package/src/automations/index.ts +26 -0
- package/src/automations/logging/index.ts +38 -0
- package/src/automations/steps/bash.ts +81 -0
- package/src/automations/steps/createRow.ts +102 -0
- package/src/automations/steps/delay.ts +46 -0
- package/src/automations/steps/deleteRow.ts +91 -0
- package/src/automations/steps/discord.ts +106 -0
- package/src/automations/steps/executeQuery.ts +98 -0
- package/src/automations/steps/executeScript.ts +83 -0
- package/src/automations/steps/filter.ts +105 -0
- package/src/automations/steps/integromat.ts +110 -0
- package/src/automations/steps/loop.ts +58 -0
- package/src/automations/steps/outgoingWebhook.ts +141 -0
- package/src/automations/steps/queryRows.ts +196 -0
- package/src/automations/steps/sendSmtpEmail.ts +92 -0
- package/src/automations/steps/serverLog.ts +59 -0
- package/src/automations/steps/slack.ts +87 -0
- package/src/automations/steps/updateRow.ts +121 -0
- package/src/automations/steps/utils.ts +46 -0
- package/src/automations/steps/zapier.ts +108 -0
- package/src/automations/tests/automation.spec.ts +99 -0
- package/src/automations/tests/bash.spec.js +34 -0
- package/src/automations/tests/createRow.spec.ts +46 -0
- package/src/automations/tests/delay.spec.js +16 -0
- package/src/automations/tests/deleteRow.spec.ts +55 -0
- package/src/automations/tests/discord.spec.js +27 -0
- package/src/automations/tests/executeQuery.spec.js +48 -0
- package/src/automations/tests/executeScript.spec.js +48 -0
- package/src/automations/tests/filter.spec.js +49 -0
- package/src/automations/tests/loop.spec.ts +45 -0
- package/src/automations/tests/outgoingWebhook.spec.js +39 -0
- package/src/automations/tests/queryRows.spec.js +117 -0
- package/src/automations/tests/sendSmtpEmail.spec.js +71 -0
- package/src/automations/tests/serverLog.spec.js +22 -0
- package/src/automations/tests/updateRow.spec.js +44 -0
- package/src/automations/tests/utilities/index.ts +60 -0
- package/src/automations/tests/zapier.spec.js +27 -0
- package/src/automations/triggerInfo/app.ts +40 -0
- package/src/automations/triggerInfo/cron.ts +39 -0
- package/src/automations/triggerInfo/index.ts +15 -0
- package/src/automations/triggerInfo/rowDeleted.ts +40 -0
- package/src/automations/triggerInfo/rowSaved.ts +48 -0
- package/src/automations/triggerInfo/rowUpdated.ts +48 -0
- package/src/automations/triggerInfo/webhook.ts +44 -0
- package/src/automations/triggers.ts +156 -0
- package/src/automations/unitTests/automationUtils.spec.ts +133 -0
- package/src/automations/utils.ts +267 -0
- package/src/constants/definitions.ts +42 -0
- package/src/constants/index.ts +183 -0
- package/src/constants/layouts.ts +147 -0
- package/src/constants/screens.ts +48 -0
- package/src/db/defaultData/datasource_bb_default.ts +654 -0
- package/src/db/defaultData/employeeImport.ts +152 -0
- package/src/db/defaultData/expensesImport.ts +114 -0
- package/src/db/defaultData/inventoryImport.ts +106 -0
- package/src/db/defaultData/jobsImport.ts +158 -0
- package/src/db/dynamoClient.ts +147 -0
- package/src/db/inMemoryView.ts +55 -0
- package/src/db/index.ts +16 -0
- package/src/db/linkedRows/LinkController.ts +445 -0
- package/src/db/linkedRows/LinkDocument.ts +60 -0
- package/src/db/linkedRows/index.ts +217 -0
- package/src/db/linkedRows/linkUtils.ts +125 -0
- package/src/db/newid.ts +5 -0
- package/src/db/tests/linkController.spec.js +236 -0
- package/src/db/tests/linkTests.spec.js +65 -0
- package/src/db/utils.ts +272 -0
- package/src/db/views/staticViews.ts +132 -0
- package/src/ddApm.ts +7 -0
- package/src/definitions/automations.ts +33 -0
- package/src/definitions/common.ts +54 -0
- package/src/definitions/datasource.ts +9 -0
- package/src/definitions/openapi.ts +1233 -0
- package/src/environment.ts +125 -0
- package/src/events/AutomationEmitter.ts +58 -0
- package/src/events/BudibaseEmitter.ts +29 -0
- package/src/events/docUpdates/index.ts +1 -0
- package/src/events/docUpdates/processors.ts +14 -0
- package/src/events/docUpdates/syncUsers.ts +35 -0
- package/src/events/index.ts +6 -0
- package/src/events/utils.ts +78 -0
- package/src/index.ts +16 -0
- package/src/integration-test/postgres.spec.ts +1026 -0
- package/src/integrations/airtable.ts +148 -0
- package/src/integrations/arangodb.ts +110 -0
- package/src/integrations/base/query.ts +18 -0
- package/src/integrations/base/sql.ts +651 -0
- package/src/integrations/base/sqlTable.ts +202 -0
- package/src/integrations/base/types.ts +134 -0
- package/src/integrations/couchdb.ts +133 -0
- package/src/integrations/dynamodb.ts +220 -0
- package/src/integrations/elasticsearch.ts +187 -0
- package/src/integrations/firebase.ts +187 -0
- package/src/integrations/googlesheets.ts +511 -0
- package/src/integrations/index.ts +125 -0
- package/src/integrations/microsoftSqlServer.ts +312 -0
- package/src/integrations/mongodb.ts +638 -0
- package/src/integrations/mysql.ts +300 -0
- package/src/integrations/oracle.ts +435 -0
- package/src/integrations/postgres.ts +336 -0
- package/src/integrations/queries/sql.ts +81 -0
- package/src/integrations/redis.ts +163 -0
- package/src/integrations/rest.ts +436 -0
- package/src/integrations/s3.ts +260 -0
- package/src/integrations/snowflake.ts +97 -0
- package/src/integrations/tests/TestConfiguration.js +0 -0
- package/src/integrations/tests/airtable.spec.ts +75 -0
- package/src/integrations/tests/arangodb.spec.ts +38 -0
- package/src/integrations/tests/couchdb.spec.ts +86 -0
- package/src/integrations/tests/dynamodb.spec.ts +155 -0
- package/src/integrations/tests/elasticsearch.spec.ts +82 -0
- package/src/integrations/tests/firebase.spec.ts +97 -0
- package/src/integrations/tests/googlesheets.spec.ts +126 -0
- package/src/integrations/tests/microsoftSqlServer.spec.ts +56 -0
- package/src/integrations/tests/mongo.spec.ts +334 -0
- package/src/integrations/tests/mysql.spec.ts +133 -0
- package/src/integrations/tests/oracle.spec.ts +96 -0
- package/src/integrations/tests/postgres.spec.ts +81 -0
- package/src/integrations/tests/redis.spec.ts +88 -0
- package/src/integrations/tests/rest.spec.ts +595 -0
- package/src/integrations/tests/s3.spec.ts +112 -0
- package/src/integrations/tests/sql.spec.ts +639 -0
- package/src/integrations/utils.ts +330 -0
- package/src/middleware/appInfo.ts +20 -0
- package/src/middleware/authorized.ts +131 -0
- package/src/middleware/builder.ts +97 -0
- package/src/middleware/currentapp.ts +112 -0
- package/src/middleware/joi-validator.ts +40 -0
- package/src/middleware/publicApi.ts +21 -0
- package/src/middleware/resourceId.ts +66 -0
- package/src/middleware/selfhost.ts +12 -0
- package/src/middleware/tests/authorized.spec.js +163 -0
- package/src/middleware/tests/currentapp.spec.js +207 -0
- package/src/middleware/tests/resourceId.spec.js +105 -0
- package/src/middleware/tests/selfhost.spec.js +43 -0
- package/src/middleware/utils.ts +9 -0
- package/src/migrations/functions/appUrls.ts +27 -0
- package/src/migrations/functions/backfill/app/automations.ts +26 -0
- package/src/migrations/functions/backfill/app/datasources.ts +22 -0
- package/src/migrations/functions/backfill/app/layouts.ts +29 -0
- package/src/migrations/functions/backfill/app/queries.ts +47 -0
- package/src/migrations/functions/backfill/app/roles.ts +22 -0
- package/src/migrations/functions/backfill/app/screens.ts +22 -0
- package/src/migrations/functions/backfill/app/tables.ts +27 -0
- package/src/migrations/functions/backfill/app.ts +149 -0
- package/src/migrations/functions/backfill/global/configs.ts +73 -0
- package/src/migrations/functions/backfill/global/quotas.ts +60 -0
- package/src/migrations/functions/backfill/global/users.ts +49 -0
- package/src/migrations/functions/backfill/global.ts +213 -0
- package/src/migrations/functions/backfill/index.ts +7 -0
- package/src/migrations/functions/backfill/installation.ts +50 -0
- package/src/migrations/functions/syncQuotas.ts +15 -0
- package/src/migrations/functions/tableSettings.ts +145 -0
- package/src/migrations/functions/tests/appUrls.spec.js +26 -0
- package/src/migrations/functions/tests/syncQuotas.spec.js +26 -0
- package/src/migrations/functions/tests/tableSettings.spec.ts +144 -0
- package/src/migrations/functions/tests/userEmailViewCasing.spec.js +34 -0
- package/src/migrations/functions/usageQuotas/index.ts +3 -0
- package/src/migrations/functions/usageQuotas/syncApps.ts +14 -0
- package/src/migrations/functions/usageQuotas/syncPlugins.ts +10 -0
- package/src/migrations/functions/usageQuotas/syncRows.ts +27 -0
- package/src/migrations/functions/usageQuotas/tests/syncApps.spec.ts +35 -0
- package/src/migrations/functions/usageQuotas/tests/syncRows.spec.ts +53 -0
- package/src/migrations/functions/userEmailViewCasing.ts +13 -0
- package/src/migrations/index.ts +115 -0
- package/src/migrations/tests/helpers.ts +40 -0
- package/src/migrations/tests/index.spec.ts +142 -0
- package/src/migrations/tests/structures.ts +67 -0
- package/src/sdk/app/applications/index.ts +7 -0
- package/src/sdk/app/applications/sync.ts +168 -0
- package/src/sdk/app/applications/tests/sync.spec.ts +137 -0
- package/src/sdk/app/applications/utils.ts +17 -0
- package/src/sdk/app/automations/index.ts +5 -0
- package/src/sdk/app/automations/webhook.ts +43 -0
- package/src/sdk/app/backups/constants.ts +3 -0
- package/src/sdk/app/backups/exports.ts +195 -0
- package/src/sdk/app/backups/imports.ts +185 -0
- package/src/sdk/app/backups/index.ts +9 -0
- package/src/sdk/app/backups/statistics.ts +69 -0
- package/src/sdk/app/datasources/datasources.ts +162 -0
- package/src/sdk/app/datasources/index.ts +5 -0
- package/src/sdk/app/queries/index.ts +5 -0
- package/src/sdk/app/queries/queries.ts +50 -0
- package/src/sdk/app/rows/attachments.ts +60 -0
- package/src/sdk/app/rows/index.ts +7 -0
- package/src/sdk/app/rows/rows.ts +18 -0
- package/src/sdk/app/tables/index.ts +63 -0
- package/src/sdk/index.ts +24 -0
- package/src/sdk/plugins/index.ts +5 -0
- package/src/sdk/plugins/plugins.ts +41 -0
- package/src/sdk/tests/attachments.spec.ts +76 -0
- package/src/sdk/users/index.ts +5 -0
- package/src/sdk/users/tests/utils.spec.ts +128 -0
- package/src/sdk/users/utils.ts +93 -0
- package/src/sdk/utils/index.ts +16 -0
- package/src/startup.ts +138 -0
- package/src/tests/jestEnv.ts +11 -0
- package/src/tests/jestSetup.ts +22 -0
- package/src/tests/utilities/TestConfiguration.ts +768 -0
- package/src/tests/utilities/controllers.ts +14 -0
- package/src/tests/utilities/index.ts +11 -0
- package/src/tests/utilities/structures.ts +289 -0
- package/src/threads/automation.ts +502 -0
- package/src/threads/definitions.ts +21 -0
- package/src/threads/index.ts +111 -0
- package/src/threads/query.ts +305 -0
- package/src/threads/utils.ts +96 -0
- package/src/utilities/appDirectoryTemplate/package.json +10 -0
- package/src/utilities/budibaseDir.ts +3 -0
- package/src/utilities/centralPath.ts +22 -0
- package/src/utilities/fileSystem/app.ts +79 -0
- package/src/utilities/fileSystem/clientLibrary.ts +154 -0
- package/src/utilities/fileSystem/filesystem.ts +168 -0
- package/src/utilities/fileSystem/index.ts +5 -0
- package/src/utilities/fileSystem/plugin.ts +73 -0
- package/src/utilities/fileSystem/processor.ts +19 -0
- package/src/utilities/fileSystem/template.ts +36 -0
- package/src/utilities/global.ts +153 -0
- package/src/utilities/index.ts +134 -0
- package/src/utilities/redis.ts +88 -0
- package/src/utilities/retry.ts +18 -0
- package/src/utilities/routing/index.ts +32 -0
- package/src/utilities/rowProcessor/index.ts +279 -0
- package/src/utilities/rowProcessor/map.ts +96 -0
- package/src/utilities/rowProcessor/tests/utils.spec.ts +57 -0
- package/src/utilities/rowProcessor/utils.ts +96 -0
- package/src/utilities/schema.ts +141 -0
- package/src/utilities/scriptRunner.ts +28 -0
- package/src/utilities/security.ts +65 -0
- package/{utilities/statusCodes.js → src/utilities/statusCodes.ts} +1 -1
- package/src/utilities/tests/test.csv +4 -0
- package/src/utilities/usageQuota/rows.ts +80 -0
- package/src/utilities/usageQuota/usageQuoteReset.ts +18 -0
- package/src/utilities/users.ts +49 -0
- package/src/utilities/workerRequests.ts +188 -0
- package/src/watch.ts +37 -0
- package/src/websockets/client.ts +11 -0
- package/src/websockets/grid.ts +55 -0
- package/src/websockets/index.ts +14 -0
- package/src/websockets/websocket.ts +83 -0
- package/tsconfig.build.json +28 -0
- package/tsconfig.json +22 -0
- package/app.js +0 -20
- package/appPackages/_master/access_levels.json +0 -175
- package/appPackages/_master/appDefinition.json +0 -527
- package/appPackages/_master/main.js +0 -125
- package/appPackages/_master/node_modules/.yarn-integrity +0 -20
- package/appPackages/_master/node_modules/@budibase/materialdesign-components/README.md +0 -33
- package/appPackages/_master/node_modules/@budibase/materialdesign-components/components.json +0 -249
- package/appPackages/_master/node_modules/@budibase/materialdesign-components/dist/index.js +0 -11282
- package/appPackages/_master/node_modules/@budibase/materialdesign-components/dist/index.js.map +0 -1
- package/appPackages/_master/node_modules/@budibase/materialdesign-components/package.json +0 -50
- package/appPackages/_master/node_modules/@budibase/standard-components/README.md +0 -33
- package/appPackages/_master/node_modules/@budibase/standard-components/components.json +0 -239
- package/appPackages/_master/node_modules/@budibase/standard-components/dist/generators.js +0 -198
- package/appPackages/_master/node_modules/@budibase/standard-components/dist/index.js +0 -3460
- package/appPackages/_master/node_modules/@budibase/standard-components/dist/index.js.map +0 -1
- package/appPackages/_master/node_modules/@budibase/standard-components/package.json +0 -38
- package/appPackages/_master/package-lock.json +0 -247
- package/appPackages/_master/package.json +0 -14
- package/appPackages/_master/pages/main/page.json +0 -199
- package/appPackages/_master/pages/main/screens/Apps List.json +0 -131
- package/appPackages/_master/pages/main/screens/Manage App.json +0 -292
- package/appPackages/_master/pages/main/screens/New App.json +0 -410
- package/appPackages/_master/pages/main/screens/New Instance.json +0 -227
- package/appPackages/_master/pages/unauthenticated/page.json +0 -83
- package/appPackages/_master/plugins.js +0 -3
- package/appPackages/_master/public/_shared/budibase-logo.png +0 -0
- package/appPackages/_master/public/main/budibase-client.js +0 -25115
- package/appPackages/_master/public/main/budibase-client.js.map +0 -1
- package/appPackages/_master/public/main/index.html +0 -48
- package/appPackages/_master/public/main/index.js +0 -3397
- package/appPackages/_master/public/main/index.js.map +0 -1
- package/appPackages/_master/public/unauthenticated/budibase-client.js +0 -25115
- package/appPackages/_master/public/unauthenticated/budibase-client.js.map +0 -1
- package/appPackages/_master/public/unauthenticated/index.html +0 -40
- package/appPackages/_master/public/unauthenticated/index.js +0 -3397
- package/appPackages/_master/public/unauthenticated/index.js.map +0 -1
- package/appPackages/_master/yarn.lock +0 -13
- package/builder/__app.html +0 -22
- package/builder/assets/budibase-emblem-white.svg +0 -29
- package/builder/assets/budibase-logo-only.png +0 -0
- package/builder/assets/budibase-logo-white.png +0 -0
- package/builder/assets/budibase-logo.png +0 -0
- package/builder/assets/javascript-logo.svg +0 -1
- package/builder/assets/roboto-v20-latin-ext_latin-300.woff +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-300.woff2 +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-500.woff +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-500.woff2 +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-700.woff +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-700.woff2 +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-900.woff +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-900.woff2 +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-regular.woff +0 -0
- package/builder/assets/roboto-v20-latin-ext_latin-regular.woff2 +0 -0
- package/builder/budibase-client.esm.mjs +0 -24948
- package/builder/budibase.css +0 -120
- package/builder/bundle.css +0 -70
- package/builder/bundle.css.map +0 -146
- package/builder/bundle.js +0 -99294
- package/builder/bundle.js.map +0 -1
- package/builder/codemirror.css +0 -349
- package/builder/favicon.png +0 -0
- package/builder/flatpickr.css +0 -784
- package/builder/fonts.css +0 -47
- package/builder/global.css +0 -111
- package/builder/monokai.css +0 -41
- package/builder/uikit.min.css +0 -1
- package/config.contributors.js +0 -13
- package/config.dev.js +0 -13
- package/config.sample.js +0 -33
- package/index.js +0 -24
- package/initialise/buildAppContext.js +0 -11
- package/initialise/createInstanceDb.js +0 -37
- package/initialise/createMasterDb.js +0 -34
- package/initialise/initialiseBudibase.js +0 -1
- package/initialise/initialiseRuntimePackages.js +0 -42
- package/middleware/routeHandlers/aggregatesPost.js +0 -12
- package/middleware/routeHandlers/appDefault.js +0 -21
- package/middleware/routeHandlers/authenticate.js +0 -15
- package/middleware/routeHandlers/changeMyPassword.js +0 -9
- package/middleware/routeHandlers/createTemporaryAccess.js +0 -17
- package/middleware/routeHandlers/createUser.js +0 -10
- package/middleware/routeHandlers/deleteRecord.js +0 -9
- package/middleware/routeHandlers/disableUser.js +0 -11
- package/middleware/routeHandlers/enableUser.js +0 -6
- package/middleware/routeHandlers/executeAction.js +0 -9
- package/middleware/routeHandlers/getAccessLevels.js +0 -6
- package/middleware/routeHandlers/getRecord.js +0 -15
- package/middleware/routeHandlers/getUsers.js +0 -6
- package/middleware/routeHandlers/helpers.js +0 -15
- package/middleware/routeHandlers/index.js +0 -45
- package/middleware/routeHandlers/listRecordsGet.js +0 -8
- package/middleware/routeHandlers/listRecordsPost.js +0 -12
- package/middleware/routeHandlers/lookupField.js +0 -14
- package/middleware/routeHandlers/postFiles.js +0 -13
- package/middleware/routeHandlers/saveAppHierarchy.js +0 -6
- package/middleware/routeHandlers/saveRecord.js +0 -6
- package/middleware/routeHandlers/setPasswordFromTemporaryCode.js +0 -20
- package/middleware/routeHandlers/upgradeData.js +0 -11
- package/middleware/routers.js +0 -330
- package/middleware/session.js +0 -24
- package/utilities/budibaseApi.js +0 -84
- package/utilities/builder/buildPage.js +0 -164
- package/utilities/builder/componentLibraryInfo.js +0 -77
- package/utilities/builder/convertCssToFiles.js +0 -43
- package/utilities/builder/deleteCodeMeta.js +0 -9
- package/utilities/builder/getPages.js +0 -20
- package/utilities/builder/index.js +0 -165
- package/utilities/builder/index.template.html +0 -44
- package/utilities/builder/listScreens.js +0 -48
- package/utilities/builder/publicPath.js +0 -3
- package/utilities/builder/saveBackend.js +0 -28
- package/utilities/constructHierarchy.js +0 -8
- package/utilities/createAppPackage.js +0 -101
- package/utilities/databaseManager.js +0 -4
- package/utilities/datastore.js +0 -2
- package/utilities/exceptions.js +0 -16
- package/utilities/injectedPlugins/createUser.js +0 -19
- package/utilities/injectedPlugins/disableUser.js +0 -3
- package/utilities/injectedPlugins/enableUser.js +0 -3
- package/utilities/injectedPlugins/index.js +0 -76
- package/utilities/masterAppInternal.js +0 -384
- package/utilities/runtimePackages.js +0 -34
- package/utilities/targzAppPackage.js +0 -119
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const tableId = {
|
|
2
|
+
in: "path",
|
|
3
|
+
name: "tableId",
|
|
4
|
+
required: true,
|
|
5
|
+
description: "The ID of the table which this request is targeting.",
|
|
6
|
+
schema: {
|
|
7
|
+
type: "string",
|
|
8
|
+
},
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export const rowId = {
|
|
12
|
+
in: "path",
|
|
13
|
+
name: "rowId",
|
|
14
|
+
required: true,
|
|
15
|
+
description: "The ID of the row which this request is targeting.",
|
|
16
|
+
schema: {
|
|
17
|
+
type: "string",
|
|
18
|
+
},
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const appId = {
|
|
22
|
+
in: "header",
|
|
23
|
+
name: "x-budibase-app-id",
|
|
24
|
+
required: true,
|
|
25
|
+
description: "The ID of the app which this request is targeting.",
|
|
26
|
+
schema: {
|
|
27
|
+
type: "string",
|
|
28
|
+
},
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export const appIdUrl = {
|
|
32
|
+
in: "path",
|
|
33
|
+
name: "appId",
|
|
34
|
+
required: true,
|
|
35
|
+
description: "The ID of the app which this request is targeting.",
|
|
36
|
+
schema: {
|
|
37
|
+
type: "string",
|
|
38
|
+
},
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const queryId = {
|
|
42
|
+
in: "path",
|
|
43
|
+
name: "queryId",
|
|
44
|
+
required: true,
|
|
45
|
+
description: "The ID of the query which this request is targeting.",
|
|
46
|
+
schema: {
|
|
47
|
+
type: "string",
|
|
48
|
+
},
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const userId = {
|
|
52
|
+
in: "path",
|
|
53
|
+
name: "userId",
|
|
54
|
+
required: true,
|
|
55
|
+
description: "The ID of the user which this request is targeting.",
|
|
56
|
+
schema: {
|
|
57
|
+
type: "string",
|
|
58
|
+
},
|
|
59
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
import userResource from "./user"
|
|
2
|
+
import { object } from "./utils"
|
|
3
|
+
import Resource from "./utils/Resource"
|
|
4
|
+
|
|
5
|
+
const application = {
|
|
6
|
+
_id: "app_metadata",
|
|
7
|
+
appId: "app_dev_957b12f943d348faa61db7e18e088d0f",
|
|
8
|
+
version: "1.0.58-alpha.0",
|
|
9
|
+
name: "App name",
|
|
10
|
+
url: "/app-url",
|
|
11
|
+
tenantId: "default",
|
|
12
|
+
updatedAt: "2022-02-22T13:00:54.035Z",
|
|
13
|
+
createdAt: "2022-02-11T18:02:26.961Z",
|
|
14
|
+
status: "development",
|
|
15
|
+
lockedBy: userResource.getExamples().user.value.user,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const deployment = {
|
|
19
|
+
_id: "ef12381f934b4f129675cdbb76eff3c2",
|
|
20
|
+
status: "SUCCESS",
|
|
21
|
+
appUrl: "/app-url",
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const base = {
|
|
25
|
+
name: {
|
|
26
|
+
description: "The name of the app.",
|
|
27
|
+
type: "string",
|
|
28
|
+
},
|
|
29
|
+
url: {
|
|
30
|
+
description:
|
|
31
|
+
"The URL by which the app is accessed, this must be URL encoded.",
|
|
32
|
+
type: "string",
|
|
33
|
+
},
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
const applicationSchema = object(base, { required: ["name"] })
|
|
37
|
+
|
|
38
|
+
const applicationOutputSchema = object(
|
|
39
|
+
{
|
|
40
|
+
...base,
|
|
41
|
+
_id: {
|
|
42
|
+
description: "The ID of the app.",
|
|
43
|
+
type: "string",
|
|
44
|
+
},
|
|
45
|
+
status: {
|
|
46
|
+
description:
|
|
47
|
+
"The status of the app, stating it if is the development or published version.",
|
|
48
|
+
type: "string",
|
|
49
|
+
enum: ["development", "published"],
|
|
50
|
+
},
|
|
51
|
+
createdAt: {
|
|
52
|
+
description:
|
|
53
|
+
"States when the app was created, will be constant. Stored in ISO format.",
|
|
54
|
+
type: "string",
|
|
55
|
+
},
|
|
56
|
+
updatedAt: {
|
|
57
|
+
description:
|
|
58
|
+
"States the last time the app was updated - stored in ISO format.",
|
|
59
|
+
type: "string",
|
|
60
|
+
},
|
|
61
|
+
version: {
|
|
62
|
+
description:
|
|
63
|
+
"States the version of the Budibase client this app is currently based on.",
|
|
64
|
+
type: "string",
|
|
65
|
+
},
|
|
66
|
+
tenantId: {
|
|
67
|
+
description:
|
|
68
|
+
"In a multi-tenant environment this will state the tenant this app is within.",
|
|
69
|
+
type: "string",
|
|
70
|
+
},
|
|
71
|
+
lockedBy: {
|
|
72
|
+
description: "The user this app is currently being built by.",
|
|
73
|
+
type: "object",
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
required: [
|
|
78
|
+
"_id",
|
|
79
|
+
"name",
|
|
80
|
+
"url",
|
|
81
|
+
"status",
|
|
82
|
+
"createdAt",
|
|
83
|
+
"updatedAt",
|
|
84
|
+
"version",
|
|
85
|
+
],
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
|
|
89
|
+
const deploymentOutputSchema = object({
|
|
90
|
+
_id: {
|
|
91
|
+
description: "The ID of the app.",
|
|
92
|
+
type: "string",
|
|
93
|
+
},
|
|
94
|
+
status: {
|
|
95
|
+
description: "Status of the deployment, whether it succeeded or failed",
|
|
96
|
+
type: "string",
|
|
97
|
+
enum: ["SUCCESS", "FAILURE"],
|
|
98
|
+
},
|
|
99
|
+
appUrl: {
|
|
100
|
+
description: "The URL of the published app",
|
|
101
|
+
type: "string",
|
|
102
|
+
},
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
export default new Resource()
|
|
106
|
+
.setExamples({
|
|
107
|
+
application: {
|
|
108
|
+
value: {
|
|
109
|
+
data: application,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
applications: {
|
|
113
|
+
value: {
|
|
114
|
+
data: [application],
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
deploymentOutput: {
|
|
118
|
+
value: {
|
|
119
|
+
data: deployment,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
})
|
|
123
|
+
.setSchemas({
|
|
124
|
+
application: applicationSchema,
|
|
125
|
+
applicationOutput: object({
|
|
126
|
+
data: applicationOutputSchema,
|
|
127
|
+
}),
|
|
128
|
+
applicationSearch: object({
|
|
129
|
+
data: {
|
|
130
|
+
type: "array",
|
|
131
|
+
items: applicationOutputSchema,
|
|
132
|
+
},
|
|
133
|
+
}),
|
|
134
|
+
deploymentOutput: object({
|
|
135
|
+
data: deploymentOutputSchema,
|
|
136
|
+
}),
|
|
137
|
+
})
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import application from "./application"
|
|
2
|
+
import row from "./row"
|
|
3
|
+
import table from "./table"
|
|
4
|
+
import query from "./query"
|
|
5
|
+
import user from "./user"
|
|
6
|
+
import metrics from "./metrics"
|
|
7
|
+
import misc from "./misc"
|
|
8
|
+
|
|
9
|
+
export const examples = {
|
|
10
|
+
...application.getExamples(),
|
|
11
|
+
...row.getExamples(),
|
|
12
|
+
...table.getExamples(),
|
|
13
|
+
...query.getExamples(),
|
|
14
|
+
...user.getExamples(),
|
|
15
|
+
...misc.getExamples(),
|
|
16
|
+
...metrics.getExamples(),
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const schemas = {
|
|
20
|
+
...application.getSchemas(),
|
|
21
|
+
...row.getSchemas(),
|
|
22
|
+
...table.getSchemas(),
|
|
23
|
+
...query.getSchemas(),
|
|
24
|
+
...user.getSchemas(),
|
|
25
|
+
...misc.getSchemas(),
|
|
26
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import Resource from "./utils/Resource"
|
|
2
|
+
|
|
3
|
+
const metricsResponse =
|
|
4
|
+
"# HELP budibase_os_uptime Time in seconds that the host operating system has been up.\n" +
|
|
5
|
+
"# TYPE budibase_os_uptime counter\n" +
|
|
6
|
+
"budibase_os_uptime 54958\n" +
|
|
7
|
+
"# HELP budibase_os_free_mem Bytes of memory free for usage on the host operating system.\n" +
|
|
8
|
+
"# TYPE budibase_os_free_mem gauge\n" +
|
|
9
|
+
"budibase_os_free_mem 804507648\n" +
|
|
10
|
+
"# HELP budibase_os_total_mem Total bytes of memory on the host operating system.\n" +
|
|
11
|
+
"# TYPE budibase_os_total_mem gauge\n" +
|
|
12
|
+
"budibase_os_total_mem 16742404096\n" +
|
|
13
|
+
"# HELP budibase_os_used_mem Total bytes of memory in use on the host operating system.\n" +
|
|
14
|
+
"# TYPE budibase_os_used_mem gauge\n" +
|
|
15
|
+
"budibase_os_used_mem 15937896448\n" +
|
|
16
|
+
"# HELP budibase_os_load1 Host operating system load average.\n" +
|
|
17
|
+
"# TYPE budibase_os_load1 gauge\n" +
|
|
18
|
+
"budibase_os_load1 1.91\n" +
|
|
19
|
+
"# HELP budibase_os_load5 Host operating system load average.\n" +
|
|
20
|
+
"# TYPE budibase_os_load5 gauge\n" +
|
|
21
|
+
"budibase_os_load5 1.75\n" +
|
|
22
|
+
"# HELP budibase_os_load15 Host operating system load average.\n" +
|
|
23
|
+
"# TYPE budibase_os_load15 gauge\n" +
|
|
24
|
+
"budibase_os_load15 1.56\n" +
|
|
25
|
+
"# HELP budibase_tenant_user_count The number of users created.\n" +
|
|
26
|
+
"# TYPE budibase_tenant_user_count gauge\n" +
|
|
27
|
+
"budibase_tenant_user_count 1\n" +
|
|
28
|
+
"# HELP budibase_tenant_app_count The number of apps created by a user.\n" +
|
|
29
|
+
"# TYPE budibase_tenant_app_count gauge\n" +
|
|
30
|
+
"budibase_tenant_app_count 2\n" +
|
|
31
|
+
"# HELP budibase_tenant_production_app_count The number of apps a user has published.\n" +
|
|
32
|
+
"# TYPE budibase_tenant_production_app_count gauge\n" +
|
|
33
|
+
"budibase_tenant_production_app_count 1\n" +
|
|
34
|
+
"# HELP budibase_tenant_dev_app_count The number of apps a user has unpublished in development.\n" +
|
|
35
|
+
"# TYPE budibase_tenant_dev_app_count gauge\n" +
|
|
36
|
+
"budibase_tenant_dev_app_count 1\n" +
|
|
37
|
+
"# HELP budibase_tenant_db_count The number of couchdb databases including global tables such as _users.\n" +
|
|
38
|
+
"# TYPE budibase_tenant_db_count gauge\n" +
|
|
39
|
+
"budibase_tenant_db_count 3\n" +
|
|
40
|
+
"# HELP budibase_quota_usage_apps The number of apps created.\n" +
|
|
41
|
+
"# TYPE budibase_quota_usage_apps gauge\n" +
|
|
42
|
+
"budibase_quota_usage_apps 1\n" +
|
|
43
|
+
"# HELP budibase_quota_limit_apps The limit on the number of apps that can be created.\n" +
|
|
44
|
+
"# TYPE budibase_quota_limit_apps gauge\n" +
|
|
45
|
+
"budibase_quota_limit_apps 9007199254740991\n" +
|
|
46
|
+
"# HELP budibase_quota_usage_rows The number of database rows used from the quota.\n" +
|
|
47
|
+
"# TYPE budibase_quota_usage_rows gauge\n" +
|
|
48
|
+
"budibase_quota_usage_rows 0\n" +
|
|
49
|
+
"# HELP budibase_quota_limit_rows The limit on the number of rows that can be created.\n" +
|
|
50
|
+
"# TYPE budibase_quota_limit_rows gauge\n" +
|
|
51
|
+
"budibase_quota_limit_rows 9007199254740991\n" +
|
|
52
|
+
"# HELP budibase_quota_usage_plugins The number of plugins in use.\n" +
|
|
53
|
+
"# TYPE budibase_quota_usage_plugins gauge\n" +
|
|
54
|
+
"budibase_quota_usage_plugins 0\n" +
|
|
55
|
+
"# HELP budibase_quota_limit_plugins The limit on the number of plugins that can be created.\n" +
|
|
56
|
+
"# TYPE budibase_quota_limit_plugins gauge\n" +
|
|
57
|
+
"budibase_quota_limit_plugins 9007199254740991\n" +
|
|
58
|
+
"# HELP budibase_quota_usage_user_groups The number of user groups created.\n" +
|
|
59
|
+
"# TYPE budibase_quota_usage_user_groups gauge\n" +
|
|
60
|
+
"budibase_quota_usage_user_groups 0\n" +
|
|
61
|
+
"# HELP budibase_quota_limit_user_groups The limit on the number of user groups that can be created.\n" +
|
|
62
|
+
"# TYPE budibase_quota_limit_user_groups gauge\n" +
|
|
63
|
+
"budibase_quota_limit_user_groups 9007199254740991\n" +
|
|
64
|
+
"# HELP budibase_quota_usage_queries The number of queries used in the current month.\n" +
|
|
65
|
+
"# TYPE budibase_quota_usage_queries gauge\n" +
|
|
66
|
+
"budibase_quota_usage_queries 0\n" +
|
|
67
|
+
"# HELP budibase_quota_limit_queries The limit on the number of queries for the current month.\n" +
|
|
68
|
+
"# TYPE budibase_quota_limit_queries gauge\n" +
|
|
69
|
+
"budibase_quota_limit_queries 9007199254740991\n" +
|
|
70
|
+
"# HELP budibase_quota_usage_automations The number of automations used in the current month.\n" +
|
|
71
|
+
"# TYPE budibase_quota_usage_automations gauge\n" +
|
|
72
|
+
"budibase_quota_usage_automations 0\n" +
|
|
73
|
+
"# HELP budibase_quota_limit_automations The limit on the number of automations that can be created.\n" +
|
|
74
|
+
"# TYPE budibase_quota_limit_automations gauge\n" +
|
|
75
|
+
"budibase_quota_limit_automations 9007199254740991\n"
|
|
76
|
+
|
|
77
|
+
export default new Resource().setExamples({
|
|
78
|
+
metrics: {
|
|
79
|
+
value: metricsResponse,
|
|
80
|
+
},
|
|
81
|
+
})
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { object } from "./utils"
|
|
2
|
+
import Resource from "./utils/Resource"
|
|
3
|
+
|
|
4
|
+
export default new Resource().setSchemas({
|
|
5
|
+
rowSearch: object(
|
|
6
|
+
{
|
|
7
|
+
query: {
|
|
8
|
+
type: "object",
|
|
9
|
+
properties: {
|
|
10
|
+
allOr: {
|
|
11
|
+
type: "boolean",
|
|
12
|
+
description:
|
|
13
|
+
"Specifies that a row should be returned if it satisfies any of the specified options, rather than requiring it to fulfill all the search parameters. This defaults to false, meaning AND logic will be used.",
|
|
14
|
+
},
|
|
15
|
+
string: {
|
|
16
|
+
type: "object",
|
|
17
|
+
example: {
|
|
18
|
+
columnName1: "value",
|
|
19
|
+
columnName2: "value",
|
|
20
|
+
},
|
|
21
|
+
description:
|
|
22
|
+
"A map of field name to the string to search for, this will look for rows that have a value starting with the string value.",
|
|
23
|
+
additionalProperties: {
|
|
24
|
+
type: "string",
|
|
25
|
+
description: "The value to search for in the column.",
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
fuzzy: {
|
|
29
|
+
type: "object",
|
|
30
|
+
description: "A fuzzy search, only supported by internal tables.",
|
|
31
|
+
},
|
|
32
|
+
range: {
|
|
33
|
+
type: "object",
|
|
34
|
+
description:
|
|
35
|
+
'Searches within a range, the format of this must be in the format of an object with a "low" and "high" property.',
|
|
36
|
+
example: {
|
|
37
|
+
columnName1: {
|
|
38
|
+
low: 10,
|
|
39
|
+
high: 20,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
equal: {
|
|
44
|
+
type: "object",
|
|
45
|
+
description:
|
|
46
|
+
"Searches for rows that have a column value that is exactly the value set.",
|
|
47
|
+
},
|
|
48
|
+
notEqual: {
|
|
49
|
+
type: "object",
|
|
50
|
+
description:
|
|
51
|
+
"Searches for any row which does not contain the specified column value.",
|
|
52
|
+
},
|
|
53
|
+
empty: {
|
|
54
|
+
type: "object",
|
|
55
|
+
description:
|
|
56
|
+
"Searches for rows which do not contain the specified column. The object should simply contain keys of the column names, these can map to any value.",
|
|
57
|
+
example: {
|
|
58
|
+
columnName1: "",
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
notEmpty: {
|
|
62
|
+
type: "object",
|
|
63
|
+
description: "Searches for rows which have the specified column.",
|
|
64
|
+
},
|
|
65
|
+
oneOf: {
|
|
66
|
+
type: "object",
|
|
67
|
+
description:
|
|
68
|
+
"Searches for rows which have a column value that is any of the specified values. The format of this must be columnName -> [value1, value2].",
|
|
69
|
+
},
|
|
70
|
+
},
|
|
71
|
+
},
|
|
72
|
+
paginate: {
|
|
73
|
+
type: "boolean",
|
|
74
|
+
description: "Enables pagination, by default this is disabled.",
|
|
75
|
+
},
|
|
76
|
+
bookmark: {
|
|
77
|
+
oneOf: [
|
|
78
|
+
{
|
|
79
|
+
type: "string",
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: "integer",
|
|
83
|
+
},
|
|
84
|
+
],
|
|
85
|
+
description:
|
|
86
|
+
"If retrieving another page, the bookmark from the previous request must be supplied.",
|
|
87
|
+
},
|
|
88
|
+
limit: {
|
|
89
|
+
type: "integer",
|
|
90
|
+
description:
|
|
91
|
+
"The maximum number of rows to return, useful when paginating, for internal tables this will be limited to 1000, for SQL tables it will be 5000.",
|
|
92
|
+
},
|
|
93
|
+
sort: {
|
|
94
|
+
type: "object",
|
|
95
|
+
description:
|
|
96
|
+
"A set of parameters describing the sort behaviour of the search.",
|
|
97
|
+
properties: {
|
|
98
|
+
order: {
|
|
99
|
+
type: "string",
|
|
100
|
+
enum: ["ascending", "descending"],
|
|
101
|
+
description: "The order of the sort, by default this is ascending.",
|
|
102
|
+
},
|
|
103
|
+
column: {
|
|
104
|
+
type: "string",
|
|
105
|
+
description:
|
|
106
|
+
"The name of the column by which the rows will be sorted.",
|
|
107
|
+
},
|
|
108
|
+
type: {
|
|
109
|
+
type: "string",
|
|
110
|
+
enum: ["string", "number"],
|
|
111
|
+
description:
|
|
112
|
+
"Defines whether the column should be treated as a string or as numbers when sorting.",
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
required: ["query"],
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
nameSearch: object({
|
|
122
|
+
name: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description:
|
|
125
|
+
"The name to be used when searching - this will be used in a case insensitive starts with match.",
|
|
126
|
+
},
|
|
127
|
+
}),
|
|
128
|
+
})
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
import Resource from "./utils/Resource"
|
|
2
|
+
import { object } from "./utils"
|
|
3
|
+
import { BaseQueryVerbs } from "../../src/constants"
|
|
4
|
+
|
|
5
|
+
const query = {
|
|
6
|
+
_id: "query_datasource_plus_4d8be0c506b9465daf4bf84d890fdab6_454854487c574d45bc4029b1e153219e",
|
|
7
|
+
datasourceId: "datasource_plus_4d8be0c506b9465daf4bf84d890fdab6",
|
|
8
|
+
parameters: [],
|
|
9
|
+
fields: {
|
|
10
|
+
sql: "select * from persons",
|
|
11
|
+
},
|
|
12
|
+
queryVerb: "read",
|
|
13
|
+
name: "Help",
|
|
14
|
+
schema: {
|
|
15
|
+
personid: {
|
|
16
|
+
name: "personid",
|
|
17
|
+
type: "string",
|
|
18
|
+
},
|
|
19
|
+
lastname: {
|
|
20
|
+
name: "lastname",
|
|
21
|
+
type: "string",
|
|
22
|
+
},
|
|
23
|
+
firstname: {
|
|
24
|
+
name: "firstname",
|
|
25
|
+
type: "string",
|
|
26
|
+
},
|
|
27
|
+
address: {
|
|
28
|
+
name: "address",
|
|
29
|
+
type: "string",
|
|
30
|
+
},
|
|
31
|
+
city: {
|
|
32
|
+
name: "city",
|
|
33
|
+
type: "string",
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
transformer: "return data",
|
|
37
|
+
readable: true,
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
const restResponse = {
|
|
41
|
+
value: {
|
|
42
|
+
data: [
|
|
43
|
+
{
|
|
44
|
+
value: "<html lang='en-GB'></html>",
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
pagination: {
|
|
48
|
+
cursor: "2",
|
|
49
|
+
},
|
|
50
|
+
raw: "<html lang='en-GB'></html>",
|
|
51
|
+
headers: {
|
|
52
|
+
"content-type": "text/html; charset=ISO-8859-1",
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
const sqlResponse = {
|
|
58
|
+
value: {
|
|
59
|
+
data: [
|
|
60
|
+
{
|
|
61
|
+
personid: 1,
|
|
62
|
+
lastname: "Hughes",
|
|
63
|
+
firstname: "Mike",
|
|
64
|
+
address: "123 Fake Street",
|
|
65
|
+
city: "Belfast",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
personid: 2,
|
|
69
|
+
lastname: "Smith",
|
|
70
|
+
firstname: "John",
|
|
71
|
+
address: "64 Updown Road",
|
|
72
|
+
city: "Dublin",
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
},
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
const querySchema = object(
|
|
79
|
+
{
|
|
80
|
+
_id: {
|
|
81
|
+
description: "The ID of the query.",
|
|
82
|
+
type: "string",
|
|
83
|
+
},
|
|
84
|
+
datasourceId: {
|
|
85
|
+
description: "The ID of the datasource the query belongs to.",
|
|
86
|
+
type: "string",
|
|
87
|
+
},
|
|
88
|
+
parameters: {
|
|
89
|
+
description: "The bindings which are required to perform this query.",
|
|
90
|
+
type: "array",
|
|
91
|
+
items: {
|
|
92
|
+
type: "string",
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
fields: {
|
|
96
|
+
description:
|
|
97
|
+
"The fields that are used to perform this query, e.g. the sql statement",
|
|
98
|
+
type: "object",
|
|
99
|
+
},
|
|
100
|
+
queryVerb: {
|
|
101
|
+
description: "The verb that describes this query.",
|
|
102
|
+
enum: Object.values(BaseQueryVerbs),
|
|
103
|
+
},
|
|
104
|
+
name: {
|
|
105
|
+
description: "The name of the query.",
|
|
106
|
+
type: "string",
|
|
107
|
+
},
|
|
108
|
+
schema: {
|
|
109
|
+
description:
|
|
110
|
+
"The schema of the data returned when the query is executed.",
|
|
111
|
+
type: "object",
|
|
112
|
+
},
|
|
113
|
+
transformer: {
|
|
114
|
+
description:
|
|
115
|
+
"The JavaScript transformer function, applied after the query responds with data.",
|
|
116
|
+
type: "string",
|
|
117
|
+
},
|
|
118
|
+
readable: {
|
|
119
|
+
description: "Whether the query has readable data.",
|
|
120
|
+
type: "boolean",
|
|
121
|
+
},
|
|
122
|
+
},
|
|
123
|
+
{ required: ["name", "schema", "_id"] }
|
|
124
|
+
)
|
|
125
|
+
|
|
126
|
+
const executeQuerySchema = {
|
|
127
|
+
description: "The parameters required for executing a query.",
|
|
128
|
+
type: "object",
|
|
129
|
+
properties: {
|
|
130
|
+
parameters: {
|
|
131
|
+
type: "object",
|
|
132
|
+
description:
|
|
133
|
+
"This contains the required parameters for the query, this depends on query type, setup and bindings.",
|
|
134
|
+
additionalProperties: {
|
|
135
|
+
description:
|
|
136
|
+
"Key value properties of any type, depending on the query output schema.",
|
|
137
|
+
},
|
|
138
|
+
},
|
|
139
|
+
pagination: {
|
|
140
|
+
type: "object",
|
|
141
|
+
description:
|
|
142
|
+
"For supported query types (currently on REST) pagination can be performed using these properties.",
|
|
143
|
+
properties: {
|
|
144
|
+
page: {
|
|
145
|
+
type: "string",
|
|
146
|
+
description:
|
|
147
|
+
"The page which has been returned from a previous query.",
|
|
148
|
+
},
|
|
149
|
+
limit: {
|
|
150
|
+
type: "number",
|
|
151
|
+
description: "The number of rows to return per page.",
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
const executeQueryOutputSchema = object(
|
|
159
|
+
{
|
|
160
|
+
data: {
|
|
161
|
+
description: "The data response from the query.",
|
|
162
|
+
type: "array",
|
|
163
|
+
items: {
|
|
164
|
+
type: "object",
|
|
165
|
+
},
|
|
166
|
+
},
|
|
167
|
+
extra: {
|
|
168
|
+
description:
|
|
169
|
+
"Extra information that is not part of the main data, e.g. headers.",
|
|
170
|
+
type: "object",
|
|
171
|
+
properties: {
|
|
172
|
+
headers: {
|
|
173
|
+
description:
|
|
174
|
+
"If carrying out a REST request, this will contain the response headers.",
|
|
175
|
+
type: "object",
|
|
176
|
+
},
|
|
177
|
+
raw: {
|
|
178
|
+
description: "The raw query response, as a string.",
|
|
179
|
+
type: "string",
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
pagination: {
|
|
184
|
+
description:
|
|
185
|
+
"If pagination is supported, this will contain the bookmark/anchor information for it.",
|
|
186
|
+
type: "object",
|
|
187
|
+
},
|
|
188
|
+
},
|
|
189
|
+
{ required: ["data"] }
|
|
190
|
+
)
|
|
191
|
+
|
|
192
|
+
export default new Resource()
|
|
193
|
+
.setExamples({
|
|
194
|
+
query: {
|
|
195
|
+
value: {
|
|
196
|
+
data: query,
|
|
197
|
+
},
|
|
198
|
+
},
|
|
199
|
+
queries: {
|
|
200
|
+
value: {
|
|
201
|
+
data: [query],
|
|
202
|
+
},
|
|
203
|
+
},
|
|
204
|
+
restResponse,
|
|
205
|
+
sqlResponse,
|
|
206
|
+
})
|
|
207
|
+
.setSchemas({
|
|
208
|
+
executeQuery: executeQuerySchema,
|
|
209
|
+
executeQueryOutput: executeQueryOutputSchema,
|
|
210
|
+
query: querySchema,
|
|
211
|
+
querySearch: object({
|
|
212
|
+
data: {
|
|
213
|
+
type: "array",
|
|
214
|
+
items: querySchema,
|
|
215
|
+
},
|
|
216
|
+
}),
|
|
217
|
+
})
|