Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 913e461

Browse files
authored
Don't override 0 ttl with template default (#5151)
1 parent 5935543 commit 913e461

File tree

2 files changed

+9
-10
lines changed

2 files changed

+9
-10
lines changed

coderd/workspaces.go

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -670,15 +670,8 @@ func (api *API) putWorkspaceTTL(rw http.ResponseWriter, r *http.Request) {
670670
var dbTTL sql.NullInt64
671671

672672
err := api.Database.InTx(func(s database.Store) error {
673-
template, err := s.GetTemplateByID(ctx, workspace.TemplateID)
674-
if err != nil {
675-
httpapi.Write(ctx, rw, http.StatusInternalServerError, codersdk.Response{
676-
Message: "Error fetching workspace template!",
677-
})
678-
return xerrors.Errorf("fetch workspace template: %w", err)
679-
}
680-
681-
dbTTL, err = validWorkspaceTTLMillis(req.TTLMillis, template.DefaultTTL)
673+
// don't override 0 ttl with template default here because it indicates disabled auto-stop
674+
dbTTL, err := validWorkspaceTTLMillis(req.TTLMillis, 0)
682675
if err != nil {
683676
return codersdk.ValidationError{Field: "ttl_ms", Detail: err.Error()}
684677
}

coderd/workspaces_test.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ func TestPostWorkspacesByOrganization(t *testing.T) {
302302
template := coderdtest.CreateTemplate(t, client, user.OrganizationID, version.ID, func(ctr *codersdk.CreateTemplateRequest) {
303303
ctr.DefaultTTLMillis = ptr.Ref(int64(0))
304304
})
305-
// Given: the template has no max TTL set
305+
// Given: the template has no default TTL set
306306
require.Zero(t, template.DefaultTTLMillis)
307307
coderdtest.AwaitTemplateVersionJob(t, client, version.ID)
308308

@@ -1178,11 +1178,17 @@ func TestWorkspaceUpdateTTL(t *testing.T) {
11781178
name: "disable ttl",
11791179
ttlMillis: nil,
11801180
expectedError: "",
1181+
modifyTemplate: func(ctr *codersdk.CreateTemplateRequest) {
1182+
ctr.DefaultTTLMillis = ptr.Ref((8 * time.Hour).Milliseconds())
1183+
},
11811184
},
11821185
{
11831186
name: "update ttl",
11841187
ttlMillis: ptr.Ref(12 * time.Hour.Milliseconds()),
11851188
expectedError: "",
1189+
modifyTemplate: func(ctr *codersdk.CreateTemplateRequest) {
1190+
ctr.DefaultTTLMillis = ptr.Ref((8 * time.Hour).Milliseconds())
1191+
},
11861192
},
11871193
{
11881194
name: "below minimum ttl",

0 commit comments

Comments
 (0)