Skip to content

Commit 5bc48df

Browse files
committed
Add base
1 parent 3f6a158 commit 5bc48df

File tree

17 files changed

+55
-17
lines changed

17 files changed

+55
-17
lines changed

coderd/apidoc/docs.go

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 4 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversions.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ UPDATE
9191
SET
9292
template_id = $2,
9393
updated_at = $3,
94-
name = $4
94+
name = $4,
95+
message = $5
9596
WHERE
9697
id = $1 RETURNING *;
9798

coderd/templateversions.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,12 +106,17 @@ func (api *API) patchTemplateVersion(rw http.ResponseWriter, r *http.Request) {
106106
TemplateID: templateVersion.TemplateID,
107107
UpdatedAt: database.Now(),
108108
Name: templateVersion.Name,
109+
Message: templateVersion.Message,
109110
}
110111

111112
if params.Name != "" {
112113
updateParams.Name = params.Name
113114
}
114115

116+
if params.Message != "" {
117+
updateParams.Message = params.Message
118+
}
119+
115120
errTemplateVersionNameConflict := xerrors.New("template version name must be unique for a template")
116121

117122
var updatedTemplateVersion database.TemplateVersion

codersdk/templateversions.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ type TemplateVersionVariable struct {
8787
}
8888

8989
type PatchTemplateVersionRequest struct {
90-
Name string `json:"name" validate:"omitempty,template_version_name"`
90+
Name string `json:"name" validate:"omitempty,template_version_name"`
91+
Message string `json:"message" validate:"omitempty"`
9192
}
9293

9394
// TemplateVersion returns a template version by ID.

docs/api/schemas.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,15 +3222,17 @@ AuthorizationObject can represent a "set" of objects, such as: all workspaces in
32223222

32233223
```json
32243224
{
3225+
"message": "string",
32253226
"name": "string"
32263227
}
32273228
```
32283229

32293230
### Properties
32303231

3231-
| Name | Type | Required | Restrictions | Description |
3232-
| ------ | ------ | -------- | ------------ | ----------- |
3233-
| `name` | string | false | | |
3232+
| Name | Type | Required | Restrictions | Description |
3233+
| --------- | ------ | -------- | ------------ | ----------- |
3234+
| `message` | string | false | | |
3235+
| `name` | string | false | | |
32343236

32353237
## codersdk.PatchWorkspaceProxy
32363238

docs/api/templates.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1249,6 +1249,7 @@ curl -X PATCH http://coder-server:8080/api/v2/templateversions/{templateversion}
12491249
12501250
```json
12511251
{
1252+
"message": "string",
12521253
"name": "string"
12531254
}
12541255
```

site/src/api/typesGenerated.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,7 @@ export interface PatchGroupRequest {
644644
// From codersdk/templateversions.go
645645
export interface PatchTemplateVersionRequest {
646646
readonly name: string
647+
readonly message: string
647648
}
648649

649650
// From codersdk/workspaceproxy.go

site/src/components/TemplateVersionEditor/PublishTemplateVersionDialog.tsx

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,12 @@ export const PublishTemplateVersionDialog: FC<
3232
const form = useFormik({
3333
initialValues: {
3434
name: defaultName,
35+
message: "",
3536
isActiveVersion: false,
3637
},
3738
validationSchema: Yup.object({
3839
name: Yup.string().required(),
40+
message: Yup.string(),
3941
isActiveVersion: Yup.boolean(),
4042
}),
4143
onSubmit: onConfirm,
@@ -70,6 +72,16 @@ export const PublishTemplateVersionDialog: FC<
7072
disabled={isPublishing}
7173
/>
7274

75+
<TextField
76+
{...getFieldHelpers("message")}
77+
label="Message"
78+
placeholder="Write a short message about the changes you made..."
79+
autoFocus
80+
disabled={isPublishing}
81+
multiline
82+
rows={5}
83+
/>
84+
7385
<FormControlLabel
7486
label="Promote to default version"
7587
control={

site/src/components/Tooltips/OutdatedHelpTooltip.tsx renamed to site/src/components/Tooltips/WorkspaceOutdatedTooltip.tsx

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,9 @@ interface TooltipProps {
2323
ariaLabel?: string
2424
}
2525

26-
export const OutdatedHelpTooltip: FC<React.PropsWithChildren<TooltipProps>> = ({
27-
onUpdateVersion,
28-
ariaLabel,
29-
}) => {
26+
export const WorkspaceOutdatedTooltip: FC<
27+
React.PropsWithChildren<TooltipProps>
28+
> = ({ onUpdateVersion, ariaLabel }) => {
3029
const styles = useStyles()
3130

3231
return (

site/src/components/Tooltips/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
export { AuditHelpTooltip } from "./AuditHelpTooltip"
2-
export { OutdatedHelpTooltip } from "./OutdatedHelpTooltip"
2+
export { WorkspaceOutdatedTooltip } from "./WorkspaceOutdatedTooltip"
33
export { UserRoleHelpTooltip } from "./UserRoleHelpTooltip"
44
export { WorkspaceHelpTooltip } from "./WorkspaceHelpTooltip"

site/src/components/WorkspaceStats/WorkspaceStats.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import Link from "@mui/material/Link"
2-
import { OutdatedHelpTooltip } from "components/Tooltips"
2+
import { WorkspaceOutdatedTooltip } from "components/Tooltips"
33
import { FC, useRef, useState } from "react"
44
import { Link as RouterLink } from "react-router-dom"
55
import { createDayString } from "utils/createDayString"
@@ -101,7 +101,7 @@ export const WorkspaceStats: FC<WorkspaceStatsProps> = ({
101101
</Link>
102102

103103
{workspace.outdated && (
104-
<OutdatedHelpTooltip
104+
<WorkspaceOutdatedTooltip
105105
onUpdateVersion={handleUpdate}
106106
ariaLabel="update version"
107107
/>

site/src/components/WorkspacesTable/WorkspacesRow.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { useNavigate } from "react-router-dom"
99
import { getDisplayWorkspaceTemplateName } from "utils/workspace"
1010
import { LastUsed } from "../LastUsed/LastUsed"
1111
import { Workspace } from "api/typesGenerated"
12-
import { OutdatedHelpTooltip } from "components/Tooltips/OutdatedHelpTooltip"
12+
import { WorkspaceOutdatedTooltip } from "components/Tooltips/WorkspaceOutdatedTooltip"
1313
import { Avatar } from "components/Avatar/Avatar"
1414
import { Stack } from "components/Stack/Stack"
1515
import { useClickableTableRow } from "hooks/useClickableTableRow"
@@ -34,7 +34,7 @@ export const WorkspacesRow: FC<{
3434
<Stack direction="row" spacing={0} alignItems="center">
3535
{workspace.name}
3636
{workspace.outdated && (
37-
<OutdatedHelpTooltip
37+
<WorkspaceOutdatedTooltip
3838
onUpdateVersion={() => {
3939
onUpdateWorkspace(workspace)
4040
}}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
export type PublishVersionData = {
22
name: string
3+
message: string
34
isActiveVersion: boolean
45
}

site/src/pages/TemplateVersionPage/TemplateVersionPageView.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { Margins } from "components/Margins/Margins"
66
import {
77
PageHeader,
88
PageHeaderCaption,
9+
PageHeaderSubtitle,
910
PageHeaderTitle,
1011
} from "components/PageHeader/PageHeader"
1112
import { Stack } from "components/Stack/Stack"
@@ -52,6 +53,11 @@ export const TemplateVersionPageView: FC<TemplateVersionPageViewProps> = ({
5253
>
5354
<PageHeaderCaption>{t("header.caption")}</PageHeaderCaption>
5455
<PageHeaderTitle>{versionName}</PageHeaderTitle>
56+
{currentVersion &&
57+
currentVersion.message &&
58+
currentVersion.message !== "" && (
59+
<PageHeaderSubtitle>{currentVersion.message}</PageHeaderSubtitle>
60+
)}
5561
</PageHeader>
5662

5763
{!currentFiles && !error && <Loader />}

site/src/xServices/templateVersionEditor/templateVersionEditorXService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,7 @@ export const templateVersionEditorMachine = createMachine(
387387
},
388388
publishingVersion: async (
389389
{ version, templateId },
390-
{ name, isActiveVersion },
390+
{ name, message, isActiveVersion },
391391
) => {
392392
if (!version) {
393393
throw new Error("Version is not set")
@@ -398,7 +398,7 @@ export const templateVersionEditorMachine = createMachine(
398398
await Promise.all([
399399
// Only do a patch if the name is different
400400
name !== version.name
401-
? API.patchTemplateVersion(version.id, { name })
401+
? API.patchTemplateVersion(version.id, { name, message })
402402
: Promise.resolve(),
403403
isActiveVersion
404404
? API.updateActiveTemplateVersion(templateId, {

0 commit comments

Comments
 (0)