@@ -26,6 +26,7 @@ import (
26
26
clitelemetry "github.com/coder/coder/v2/cli/telemetry"
27
27
"github.com/coder/coder/v2/coderd/database"
28
28
"github.com/coder/coder/v2/coderd/database/dbtime"
29
+ "github.com/coder/coder/v2/codersdk"
29
30
)
30
31
31
32
const (
@@ -663,6 +664,24 @@ func ConvertTemplate(dbTemplate database.Template) Template {
663
664
ActiveVersionID : dbTemplate .ActiveVersionID ,
664
665
Name : dbTemplate .Name ,
665
666
Description : dbTemplate .Description != "" ,
667
+
668
+ // Some of these fields are meant to be accessed using a specialized
669
+ // interface (for entitlement purposes), but for telemetry purposes
670
+ // there's minimal harm accessing them directly.
671
+ UseMaxTTL : dbTemplate .UseMaxTtl ,
672
+ MaxTTLMillis : time .Duration (dbTemplate .MaxTTL ).Milliseconds (),
673
+ DefaultTTLMillis : time .Duration (dbTemplate .DefaultTTL ).Milliseconds (),
674
+ AllowUserCancelWorkspaceJobs : dbTemplate .AllowUserCancelWorkspaceJobs ,
675
+ AllowUserAutostart : dbTemplate .AllowUserAutostart ,
676
+ AllowUserAutostop : dbTemplate .AllowUserAutostop ,
677
+ FailureTTLMillis : time .Duration (dbTemplate .FailureTTL ).Milliseconds (),
678
+ TimeTilDormantMillis : time .Duration (dbTemplate .TimeTilDormant ).Milliseconds (),
679
+ TimeTilDormantAutoDeleteMillis : time .Duration (dbTemplate .TimeTilDormantAutoDelete ).Milliseconds (),
680
+ AutostopRequirementDaysOfWeek : codersdk .BitmapToWeekdays (uint8 (dbTemplate .AutostopRequirementDaysOfWeek )),
681
+ AutostopRequirementWeeks : dbTemplate .AutostopRequirementWeeks ,
682
+ AutostartAllowedDays : codersdk .BitmapToWeekdays (dbTemplate .AutostartAllowedDays ()),
683
+ RequireActiveVersion : dbTemplate .RequireActiveVersion ,
684
+ Deprecated : dbTemplate .Deprecated != "" ,
666
685
}
667
686
}
668
687
@@ -883,6 +902,21 @@ type Template struct {
883
902
ActiveVersionID uuid.UUID `json:"active_version_id"`
884
903
Name string `json:"name"`
885
904
Description bool `json:"description"`
905
+
906
+ UseMaxTTL bool `json:"use_max_ttl"`
907
+ MaxTTLMillis int64 `json:"max_ttl_ms"`
908
+ DefaultTTLMillis int64 `json:"default_ttl_ms"`
909
+ AllowUserCancelWorkspaceJobs bool `json:"allow_user_cancel_workspace_jobs"`
910
+ AllowUserAutostart bool `json:"allow_user_autostart"`
911
+ AllowUserAutostop bool `json:"allow_user_autostop"`
912
+ FailureTTLMillis int64 `json:"failure_ttl_ms"`
913
+ TimeTilDormantMillis int64 `json:"time_til_dormant_ms"`
914
+ TimeTilDormantAutoDeleteMillis int64 `json:"time_til_dormant_auto_delete_ms"`
915
+ AutostopRequirementDaysOfWeek []string `json:"autostop_requirement_days_of_week"`
916
+ AutostopRequirementWeeks int64 `json:"autostop_requirement_weeks"`
917
+ AutostartAllowedDays []string `json:"autostart_allowed_days"`
918
+ RequireActiveVersion bool `json:"require_active_version"`
919
+ Deprecated bool `json:"deprecated"`
886
920
}
887
921
888
922
type TemplateVersion struct {
0 commit comments