Skip to content

Commit 2e4e0b2

Browse files
authored
fix(scripts/apitypings): force health.Message and health.Severity to correct types (#11043)
* Force typegen types for some fields of derp health report * Explicitly allocate slices for RegionReport.{Errors,Warnings} to avoid nulls in API response
1 parent a235644 commit 2e4e0b2

File tree

5 files changed

+24
-18
lines changed

5 files changed

+24
-18
lines changed

coderd/healthcheck/workspaceproxy.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func (*AGPLWorkspaceProxiesFetchUpdater) Update(context.Context) error {
5454
func (r *WorkspaceProxyReport) Run(ctx context.Context, opts *WorkspaceProxyReportOptions) {
5555
r.Healthy = true
5656
r.Severity = health.SeverityOK
57-
r.Warnings = []health.Message{}
57+
r.Warnings = make([]health.Message, 0)
5858
r.Dismissed = opts.Dismissed
5959

6060
if opts.WorkspaceProxiesFetchUpdater == nil {

enterprise/coderd/workspaceproxy.go

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -945,6 +945,12 @@ func convertProxy(p database.WorkspaceProxy, status proxyhealth.ProxyStatus) cod
945945
if status.Status == "" {
946946
status.Status = proxyhealth.Unknown
947947
}
948+
if status.Report.Errors == nil {
949+
status.Report.Errors = make([]string, 0)
950+
}
951+
if status.Report.Warnings == nil {
952+
status.Report.Warnings = make([]string, 0)
953+
}
948954
return codersdk.WorkspaceProxy{
949955
Region: convertRegion(p, status),
950956
DerpEnabled: p.DerpEnabled,

scripts/apitypings/main.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -867,10 +867,14 @@ func (g *Generator) typescriptType(ty types.Type) (TypescriptType, error) {
867867
return TypescriptType{ValueType: "Record<string, string>"}, nil
868868
case "github.com/coder/coder/v2/cli/clibase.URL":
869869
return TypescriptType{ValueType: "string"}, nil
870-
// XXX: For some reason, the type generator generates this as `any`
870+
// XXX: For some reason, the type generator generates these as `any`
871871
// so explicitly specifying the correct generic TS type.
872872
case "github.com/coder/coder/v2/codersdk.RegionsResponse[github.com/coder/coder/v2/codersdk.WorkspaceProxy]":
873873
return TypescriptType{ValueType: "RegionsResponse<WorkspaceProxy>"}, nil
874+
case "github.com/coder/coder/v2/coderd/healthcheck/health.Message":
875+
return TypescriptType{ValueType: "HealthMessage"}, nil
876+
case "github.com/coder/coder/v2/coderd/healthcheck/health.Severity":
877+
return TypescriptType{ValueType: "HealthSeverity"}, nil
874878
}
875879

876880
// Some hard codes are a bit trickier.

site/src/api/typesGenerated.ts

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

site/src/pages/HealthPage/HealthPage.stories.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,12 @@ export const DERPWarnings: Story = {
131131
severity: "warning",
132132
derp: {
133133
...MockHealth.derp,
134-
warnings: ["foobar"],
134+
warnings: [
135+
{
136+
message: "derp derp derp",
137+
code: "EDERP01",
138+
},
139+
],
135140
},
136141
},
137142
},

0 commit comments

Comments
 (0)