@@ -1080,7 +1080,8 @@ func (api *API) resolveAutostart(rw http.ResponseWriter, r *http.Request) {
1080
1080
return
1081
1081
}
1082
1082
1083
- useActiveVersion := template .RequireActiveVersion || workspace .AutomaticUpdates == database .AutomaticUpdatesAlways
1083
+ templateAccessControl := (* (api .AccessControlStore .Load ())).GetTemplateAccessControl (template )
1084
+ useActiveVersion := templateAccessControl .RequireActiveVersion || workspace .AutomaticUpdates == database .AutomaticUpdatesAlways
1084
1085
if ! useActiveVersion {
1085
1086
httpapi .Write (ctx , rw , http .StatusOK , codersdk.ResolveAutostartResponse {})
1086
1087
return
@@ -1111,7 +1112,7 @@ func (api *API) resolveAutostart(rw http.ResponseWriter, r *http.Request) {
1111
1112
1112
1113
dbVersionParams , err := api .Database .GetTemplateVersionParameters (ctx , version .ID )
1113
1114
if err != nil {
1114
- httpapi .Write (ctx , rw , http .StatusBadRequest , codersdk.Response {
1115
+ httpapi .Write (ctx , rw , http .StatusInternalServerError , codersdk.Response {
1115
1116
Message : "Internal error fetching template version parameters." ,
1116
1117
Detail : err .Error (),
1117
1118
})
@@ -1141,13 +1142,16 @@ func (api *API) resolveAutostart(rw http.ResponseWriter, r *http.Request) {
1141
1142
}
1142
1143
1143
1144
var response codersdk.ResolveAutostartResponse
1144
- for i := 0 ; i < len ( versionParams ) && ! response . ParameterMismatch ; i ++ {
1145
- _ , err := resolver .ValidateResolve (versionParams [ i ] , nil )
1145
+ for _ , param := range versionParams {
1146
+ _ , err := resolver .ValidateResolve (param , nil )
1146
1147
// There's a parameter mismatch if we get an error back from the
1147
1148
// resolver.
1148
1149
response .ParameterMismatch = err != nil
1149
- }
1150
+ if response .ParameterMismatch {
1151
+ break
1152
+ }
1150
1153
1154
+ }
1151
1155
httpapi .Write (ctx , rw , http .StatusOK , response )
1152
1156
}
1153
1157
0 commit comments