feat!: patchTemplateMeta to use optional fields (#24984)

Closes https://github.com/coder/coder/issues/13112

**Breaking Change**: Removed status code `StatusNotModified` when no
diffs occur in a patch. Now the patch is always applied and a template
is always returned.
This commit is contained in:
Steven Masley
2026-05-11 12:43:52 -05:00
committed by GitHub
parent 3986aa8a51
commit 19573e8aee
18 changed files with 1028 additions and 356 deletions
+8 -8
View File
@@ -784,7 +784,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
}).Do().Template
template := coderdtest.UpdateTemplateMeta(t, client, tpl.ID, codersdk.UpdateTemplateMeta{
TimeTilDormantMillis: inactiveTTL.Milliseconds(),
TimeTilDormantMillis: ptr.Ref(inactiveTTL.Milliseconds()),
})
resp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
@@ -1260,7 +1260,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
require.Len(t, stats.Transitions, 0)
_, err = anotherClient.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
TimeTilDormantAutoDeleteMillis: dormantTTL.Milliseconds(),
TimeTilDormantAutoDeleteMillis: ptr.Ref(dormantTTL.Milliseconds()),
})
require.NoError(t, err)
@@ -1334,7 +1334,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
// Now that we've validated that the workspace is eligible for autostart
// lets cause it to become dormant.
_, err = client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
TimeTilDormantMillis: inactiveTTL.Milliseconds(),
TimeTilDormantMillis: ptr.Ref(inactiveTTL.Milliseconds()),
})
require.NoError(t, err)
@@ -1433,7 +1433,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
// Enable auto-deletion for the template.
_, err = templateAdmin.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
TimeTilDormantAutoDeleteMillis: transitionTTL.Milliseconds(),
TimeTilDormantAutoDeleteMillis: ptr.Ref(transitionTTL.Milliseconds()),
})
require.NoError(t, err)
@@ -1538,8 +1538,8 @@ func TestWorkspaceAutobuild(t *testing.T) {
// Update the template to require the promoted version.
_, err = client.UpdateTemplateMeta(ctx, template.ID, codersdk.UpdateTemplateMeta{
RequireActiveVersion: true,
AllowUserAutostart: true,
RequireActiveVersion: ptr.Ref(true),
AllowUserAutostart: ptr.Ref(true),
})
require.NoError(t, err)
@@ -1832,7 +1832,7 @@ func TestTemplateDoesNotAllowUserAutostop(t *testing.T) {
templateTTL = 72 * time.Hour.Milliseconds()
ctx := testutil.Context(t, testutil.WaitShort)
template = coderdtest.UpdateTemplateMeta(t, client, template.ID, codersdk.UpdateTemplateMeta{
DefaultTTLMillis: templateTTL,
DefaultTTLMillis: ptr.Ref(templateTTL),
})
workspace, err := client.Workspace(ctx, workspace.ID)
require.NoError(t, err)
@@ -4068,7 +4068,7 @@ func TestResolveAutostart(t *testing.T) {
defer cancel()
_, err := ownerClient.UpdateTemplateMeta(ctx, version1.Template.ID, codersdk.UpdateTemplateMeta{
RequireActiveVersion: true,
RequireActiveVersion: ptr.Ref(true),
})
require.NoError(t, err)