feat: add `template_active_version_id` to workspaces (#9226)

* feat: add `template_active_version_id` to workspaces

This reduces a fetch in the VS Code extension when getting the
active version update message!

* Fix entities.ts

* Fix golden gen
This commit is contained in:
Kyle Carberry 2023-08-27 11:26:20 -05:00 committed by GitHub
parent 54032ccfe8
commit c3ac55ff42
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 21 additions and 0 deletions

View File

@ -11,6 +11,7 @@
"template_display_name": "",
"template_icon": "",
"template_allow_user_cancel_workspace_jobs": false,
"template_active_version_id": "[version ID]",
"latest_build": {
"id": "[workspace build ID]",
"created_at": "[timestamp]",

4
coderd/apidoc/docs.go generated
View File

@ -10555,6 +10555,10 @@ const docTemplate = `{
"owner_name": {
"type": "string"
},
"template_active_version_id": {
"type": "string",
"format": "uuid"
},
"template_allow_user_cancel_workspace_jobs": {
"type": "boolean"
},

View File

@ -9557,6 +9557,10 @@
"owner_name": {
"type": "string"
},
"template_active_version_id": {
"type": "string",
"format": "uuid"
},
"template_allow_user_cancel_workspace_jobs": {
"type": "boolean"
},

View File

@ -1187,6 +1187,7 @@ func convertWorkspace(
TemplateIcon: template.Icon,
TemplateDisplayName: template.DisplayName,
TemplateAllowUserCancelWorkspaceJobs: template.AllowUserCancelWorkspaceJobs,
TemplateActiveVersionID: template.ActiveVersionID,
Outdated: workspaceBuild.TemplateVersionID.String() != template.ActiveVersionID.String(),
Name: workspace.Name,
AutostartSchedule: autostartSchedule,

View File

@ -28,6 +28,7 @@ type Workspace struct {
TemplateDisplayName string `json:"template_display_name"`
TemplateIcon string `json:"template_icon"`
TemplateAllowUserCancelWorkspaceJobs bool `json:"template_allow_user_cancel_workspace_jobs"`
TemplateActiveVersionID uuid.UUID `json:"template_active_version_id" format:"uuid"`
LatestBuild WorkspaceBuild `json:"latest_build"`
Outdated bool `json:"outdated"`
Name string `json:"name"`

3
docs/api/schemas.md generated
View File

@ -5497,6 +5497,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
@ -5524,6 +5525,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
| `outdated` | boolean | false | | |
| `owner_id` | string | false | | |
| `owner_name` | string | false | | |
| `template_active_version_id` | string | false | | |
| `template_allow_user_cancel_workspace_jobs` | boolean | false | | |
| `template_display_name` | string | false | | |
| `template_icon` | string | false | | |
@ -6629,6 +6631,7 @@ If the schedule is empty, the user will be updated to use the default schedule.|
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",

View File

@ -188,6 +188,7 @@ curl -X POST http://coder-server:8080/api/v2/organizations/{organization}/member
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
@ -376,6 +377,7 @@ curl -X GET http://coder-server:8080/api/v2/users/{user}/workspace/{workspacenam
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
@ -563,6 +565,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces \
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
@ -752,6 +755,7 @@ curl -X GET http://coder-server:8080/api/v2/workspaces/{workspace} \
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",
@ -1020,6 +1024,7 @@ curl -X PUT http://coder-server:8080/api/v2/workspaces/{workspace}/dormant \
"outdated": true,
"owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05",
"owner_name": "string",
"template_active_version_id": "b0da9c29-67d8-4c87-888c-bafe356f7f3c",
"template_allow_user_cancel_workspace_jobs": true,
"template_display_name": "string",
"template_icon": "string",

View File

@ -1303,6 +1303,7 @@ export interface Workspace {
readonly template_display_name: string
readonly template_icon: string
readonly template_allow_user_cancel_workspace_jobs: boolean
readonly template_active_version_id: string
readonly latest_build: WorkspaceBuild
readonly outdated: boolean
readonly name: string

View File

@ -848,6 +848,7 @@ export const MockWorkspace: TypesGen.Workspace = {
template_display_name: MockTemplate.display_name,
template_allow_user_cancel_workspace_jobs:
MockTemplate.allow_user_cancel_workspace_jobs,
template_active_version_id: MockTemplate.active_version_id,
outdated: false,
owner_id: MockUser.id,
organization_id: MockOrganization.id,