2023-02-28 19:10:56 +01:00
|
|
|
import userResource from "./user"
|
|
|
|
import { object } from "./utils"
|
|
|
|
import Resource from "./utils/Resource"
|
2022-02-22 16:06:08 +01:00
|
|
|
|
|
|
|
const application = {
|
|
|
|
_id: "app_metadata",
|
|
|
|
appId: "app_dev_957b12f943d348faa61db7e18e088d0f",
|
|
|
|
version: "1.0.58-alpha.0",
|
|
|
|
name: "App name",
|
|
|
|
url: "/app-url",
|
|
|
|
tenantId: "default",
|
|
|
|
updatedAt: "2022-02-22T13:00:54.035Z",
|
|
|
|
createdAt: "2022-02-11T18:02:26.961Z",
|
|
|
|
status: "development",
|
|
|
|
lockedBy: userResource.getExamples().user.value.user,
|
|
|
|
}
|
|
|
|
|
2023-03-06 16:55:55 +01:00
|
|
|
const deployment = {
|
|
|
|
_id: "ef12381f934b4f129675cdbb76eff3c2",
|
|
|
|
status: "SUCCESS",
|
|
|
|
appUrl: "/app-url",
|
|
|
|
}
|
|
|
|
|
2022-02-28 12:29:48 +01:00
|
|
|
const base = {
|
|
|
|
name: {
|
|
|
|
description: "The name of the app.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
url: {
|
|
|
|
description:
|
|
|
|
"The URL by which the app is accessed, this must be URL encoded.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
2022-03-10 16:53:23 +01:00
|
|
|
const applicationSchema = object(base, { required: ["name"] })
|
2022-02-28 12:29:48 +01:00
|
|
|
|
2022-03-01 19:35:08 +01:00
|
|
|
const applicationOutputSchema = object(
|
2022-02-24 19:15:13 +01:00
|
|
|
{
|
2022-02-28 12:29:48 +01:00
|
|
|
...base,
|
2022-03-01 19:35:08 +01:00
|
|
|
_id: {
|
|
|
|
description: "The ID of the app.",
|
|
|
|
type: "string",
|
|
|
|
},
|
2022-02-28 12:29:48 +01:00
|
|
|
status: {
|
|
|
|
description:
|
|
|
|
"The status of the app, stating it if is the development or published version.",
|
|
|
|
type: "string",
|
|
|
|
enum: ["development", "published"],
|
|
|
|
},
|
|
|
|
createdAt: {
|
|
|
|
description:
|
|
|
|
"States when the app was created, will be constant. Stored in ISO format.",
|
2022-02-24 19:15:13 +01:00
|
|
|
type: "string",
|
|
|
|
},
|
2022-02-28 12:29:48 +01:00
|
|
|
updatedAt: {
|
|
|
|
description:
|
|
|
|
"States the last time the app was updated - stored in ISO format.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
version: {
|
|
|
|
description:
|
|
|
|
"States the version of the Budibase client this app is currently based on.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
tenantId: {
|
|
|
|
description:
|
|
|
|
"In a multi-tenant environment this will state the tenant this app is within.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
lockedBy: {
|
|
|
|
description: "The user this app is currently being built by.",
|
|
|
|
type: "object",
|
|
|
|
},
|
2022-02-24 16:13:14 +01:00
|
|
|
},
|
2022-02-28 12:29:48 +01:00
|
|
|
{
|
|
|
|
required: [
|
2022-03-01 19:35:08 +01:00
|
|
|
"_id",
|
2022-02-28 12:29:48 +01:00
|
|
|
"name",
|
|
|
|
"url",
|
|
|
|
"status",
|
|
|
|
"createdAt",
|
|
|
|
"updatedAt",
|
|
|
|
"version",
|
|
|
|
],
|
|
|
|
}
|
2022-02-24 19:15:13 +01:00
|
|
|
)
|
2022-02-22 16:06:08 +01:00
|
|
|
|
fixes for google sheets, admin checklist, and deleting an app from API (#8846)
* fixes for google sheets, admin checklist, and deleting an app from API
* code review
* splitting unpublish endpoint, moving deploy endpoint to applications controller. Still to do public API work and move deployment controller into application controller
* updating REST method for unpublish in API test
* unpublish and publish endpoint on public API, delete endpoint unpublishes and deletes app
* removing skip_setup from prodAppDb call
* removing commented code
* unit tests and open API spec updates
* unpublish, publish unit tests - delete still in progress
* remove line updating app name in API test
* unit tests
* v2.1.46
* Update pro version to 2.1.46
* v2.2.0
* Update pro version to 2.2.0
* Fix for budibase plugin skeleton, which utilises the old import style.
* Fix side nav styles
* v2.2.1
* Update pro version to 2.2.1
* using dist folder to allow importing constants for openAPI specs
* v2.2.2
* Update pro version to 2.2.2
* Fix for user enrichment call (updating to @budibase/nano fork) (#9038)
* Fix for #9029 - this should fix the issue users have been experiencing with user enrichment calls in apps, essentially it utilises a fork of the nano library we use to interact with CouchDB, which has been updated to use a POST request rather than a GET request as it supports a larger set of data being sent as query parameters.
* Incrementing Nano version to attempt to fix yarn registry issues.
* v2.2.3
* Update pro version to 2.2.3
* Fix SQL table `_id` filtering (#9030)
* Re-add support for filtering on _id using external SQL tables and fix filter key prefixes not working with _id field
* Remove like operator from internal tables and only allow basic operators on SQL table _id column
* Update data section filtering to respect new rules
* Update automation section filtering to respect new rules
* Update dynamic filter component to respect new rules
* v2.2.4
* Update pro version to 2.2.4
* lock changes (#9047)
* v2.2.5
* Update pro version to 2.2.5
* Make looping arrow point in right direction (#9053)
* v2.2.6
* Update pro version to 2.2.6
* Types/attaching license to account (#9065)
* adding license type to account
* removing planDuration
* v2.2.7
* Update pro version to 2.2.7
* Environment variable type coercion fix (#9074)
* Environment variable type coercion fix
* Update .gitignore
* v2.2.8
* Update pro version to 2.2.8
* tests passing
* all tests passing, updates to public API response
* update unpublish call to return 204, openAPI spec and unit
* fixing API tests
Co-authored-by: Budibase Release Bot <>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
Co-authored-by: melohagan <101575380+melohagan@users.noreply.github.com>
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2022-12-19 14:18:00 +01:00
|
|
|
const deploymentOutputSchema = object({
|
|
|
|
_id: {
|
|
|
|
description: "The ID of the app.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
status: {
|
|
|
|
description: "Status of the deployment, whether it succeeded or failed",
|
|
|
|
type: "string",
|
|
|
|
enum: ["SUCCESS", "FAILURE"],
|
|
|
|
},
|
|
|
|
appUrl: {
|
|
|
|
description: "The URL of the published app",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
})
|
|
|
|
|
2023-02-28 19:10:56 +01:00
|
|
|
export default new Resource()
|
2022-02-22 16:06:08 +01:00
|
|
|
.setExamples({
|
|
|
|
application: {
|
|
|
|
value: {
|
2022-03-01 15:37:35 +01:00
|
|
|
data: application,
|
2022-02-22 16:06:08 +01:00
|
|
|
},
|
|
|
|
},
|
|
|
|
applications: {
|
|
|
|
value: {
|
2022-03-01 15:37:35 +01:00
|
|
|
data: [application],
|
2022-02-22 16:06:08 +01:00
|
|
|
},
|
|
|
|
},
|
2023-03-06 16:55:55 +01:00
|
|
|
deploymentOutput: {
|
|
|
|
value: {
|
|
|
|
data: deployment,
|
|
|
|
},
|
|
|
|
},
|
2022-02-22 16:06:08 +01:00
|
|
|
})
|
|
|
|
.setSchemas({
|
|
|
|
application: applicationSchema,
|
|
|
|
applicationOutput: object({
|
2022-03-01 19:35:08 +01:00
|
|
|
data: applicationOutputSchema,
|
2022-02-22 16:06:08 +01:00
|
|
|
}),
|
2022-03-08 18:42:26 +01:00
|
|
|
applicationSearch: object({
|
|
|
|
data: {
|
|
|
|
type: "array",
|
|
|
|
items: applicationOutputSchema,
|
|
|
|
},
|
|
|
|
}),
|
fixes for google sheets, admin checklist, and deleting an app from API (#8846)
* fixes for google sheets, admin checklist, and deleting an app from API
* code review
* splitting unpublish endpoint, moving deploy endpoint to applications controller. Still to do public API work and move deployment controller into application controller
* updating REST method for unpublish in API test
* unpublish and publish endpoint on public API, delete endpoint unpublishes and deletes app
* removing skip_setup from prodAppDb call
* removing commented code
* unit tests and open API spec updates
* unpublish, publish unit tests - delete still in progress
* remove line updating app name in API test
* unit tests
* v2.1.46
* Update pro version to 2.1.46
* v2.2.0
* Update pro version to 2.2.0
* Fix for budibase plugin skeleton, which utilises the old import style.
* Fix side nav styles
* v2.2.1
* Update pro version to 2.2.1
* using dist folder to allow importing constants for openAPI specs
* v2.2.2
* Update pro version to 2.2.2
* Fix for user enrichment call (updating to @budibase/nano fork) (#9038)
* Fix for #9029 - this should fix the issue users have been experiencing with user enrichment calls in apps, essentially it utilises a fork of the nano library we use to interact with CouchDB, which has been updated to use a POST request rather than a GET request as it supports a larger set of data being sent as query parameters.
* Incrementing Nano version to attempt to fix yarn registry issues.
* v2.2.3
* Update pro version to 2.2.3
* Fix SQL table `_id` filtering (#9030)
* Re-add support for filtering on _id using external SQL tables and fix filter key prefixes not working with _id field
* Remove like operator from internal tables and only allow basic operators on SQL table _id column
* Update data section filtering to respect new rules
* Update automation section filtering to respect new rules
* Update dynamic filter component to respect new rules
* v2.2.4
* Update pro version to 2.2.4
* lock changes (#9047)
* v2.2.5
* Update pro version to 2.2.5
* Make looping arrow point in right direction (#9053)
* v2.2.6
* Update pro version to 2.2.6
* Types/attaching license to account (#9065)
* adding license type to account
* removing planDuration
* v2.2.7
* Update pro version to 2.2.7
* Environment variable type coercion fix (#9074)
* Environment variable type coercion fix
* Update .gitignore
* v2.2.8
* Update pro version to 2.2.8
* tests passing
* all tests passing, updates to public API response
* update unpublish call to return 204, openAPI spec and unit
* fixing API tests
Co-authored-by: Budibase Release Bot <>
Co-authored-by: mike12345567 <me@michaeldrury.co.uk>
Co-authored-by: Andrew Kingston <andrew@kingston.dev>
Co-authored-by: melohagan <101575380+melohagan@users.noreply.github.com>
Co-authored-by: Rory Powell <rory.codes@gmail.com>
2022-12-19 14:18:00 +01:00
|
|
|
deploymentOutput: object({
|
|
|
|
data: deploymentOutputSchema,
|
|
|
|
}),
|
2023-09-22 14:29:16 +02:00
|
|
|
appExport: object({
|
|
|
|
encryptPassword: {
|
|
|
|
description: "An optional password used to encrypt the export.",
|
|
|
|
type: "string",
|
|
|
|
},
|
|
|
|
excludeRows: {
|
|
|
|
description:
|
|
|
|
"Set whether the internal table rows should be excluded from the export.",
|
|
|
|
type: "boolean",
|
|
|
|
},
|
|
|
|
}),
|
2022-02-22 16:06:08 +01:00
|
|
|
})
|