@@ -62,7 +62,19 @@ func (api *API) templateVersion(rw http.ResponseWriter, r *http.Request) {
6262return
6363}
6464
65- httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ))
65+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,job .ID )
66+ if errors .Is (err ,sql .ErrNoRows ) {
67+ err = nil
68+ }
69+ if err != nil {
70+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
71+ Message :"Internal error listing parameter schemas." ,
72+ Detail :err .Error (),
73+ })
74+ return
75+ }
76+
77+ httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ,schemas ))
6678}
6779
6880// @Summary Patch template version by ID
@@ -156,7 +168,19 @@ func (api *API) patchTemplateVersion(rw http.ResponseWriter, r *http.Request) {
156168return
157169}
158170
159- httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (updatedTemplateVersion ,convertProvisionerJob (job ),user ))
171+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,job .ID )
172+ if errors .Is (err ,sql .ErrNoRows ) {
173+ err = nil
174+ }
175+ if err != nil {
176+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
177+ Message :"Internal error listing parameter schemas." ,
178+ Detail :err .Error (),
179+ })
180+ return
181+ }
182+
183+ httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (updatedTemplateVersion ,convertProvisionerJob (job ),user ,schemas ))
160184}
161185
162186// @Summary Cancel template version by ID
@@ -887,7 +911,18 @@ func (api *API) templateVersionsByTemplate(rw http.ResponseWriter, r *http.Reque
887911})
888912return err
889913}
890- apiVersions = append (apiVersions ,convertTemplateVersion (version ,convertProvisionerJob (job ),user ))
914+ schemas ,err := store .GetParameterSchemasByJobID (ctx ,job .ID )
915+ if errors .Is (err ,sql .ErrNoRows ) {
916+ err = nil
917+ }
918+ if err != nil {
919+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
920+ Message :"Internal error listing parameter schemas." ,
921+ Detail :err .Error (),
922+ })
923+ return err
924+ }
925+ apiVersions = append (apiVersions ,convertTemplateVersion (version ,convertProvisionerJob (job ),user ,schemas ))
891926}
892927
893928return nil
@@ -951,7 +986,19 @@ func (api *API) templateVersionByName(rw http.ResponseWriter, r *http.Request) {
951986return
952987}
953988
954- httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ))
989+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,job .ID )
990+ if errors .Is (err ,sql .ErrNoRows ) {
991+ err = nil
992+ }
993+ if err != nil {
994+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
995+ Message :"Internal error listing parameter schemas." ,
996+ Detail :err .Error (),
997+ })
998+ return
999+ }
1000+
1001+ httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ,schemas ))
9551002}
9561003
9571004// @Summary Get template version by organization, template, and name
@@ -1025,7 +1072,19 @@ func (api *API) templateVersionByOrganizationTemplateAndName(rw http.ResponseWri
10251072return
10261073}
10271074
1028- httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ))
1075+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,job .ID )
1076+ if errors .Is (err ,sql .ErrNoRows ) {
1077+ err = nil
1078+ }
1079+ if err != nil {
1080+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
1081+ Message :"Internal error listing parameter schemas." ,
1082+ Detail :err .Error (),
1083+ })
1084+ return
1085+ }
1086+
1087+ httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (templateVersion ,convertProvisionerJob (job ),user ,schemas ))
10291088}
10301089
10311090// @Summary Get previous template version by organization, template, and name
@@ -1120,7 +1179,19 @@ func (api *API) previousTemplateVersionByOrganizationTemplateAndName(rw http.Res
11201179return
11211180}
11221181
1123- httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (previousTemplateVersion ,convertProvisionerJob (job ),user ))
1182+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,job .ID )
1183+ if errors .Is (err ,sql .ErrNoRows ) {
1184+ err = nil
1185+ }
1186+ if err != nil {
1187+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
1188+ Message :"Internal error listing parameter schemas." ,
1189+ Detail :err .Error (),
1190+ })
1191+ return
1192+ }
1193+
1194+ httpapi .Write (ctx ,rw ,http .StatusOK ,convertTemplateVersion (previousTemplateVersion ,convertProvisionerJob (job ),user ,schemas ))
11241195}
11251196
11261197// @Summary Update active template version by template ID
@@ -1494,7 +1565,19 @@ func (api *API) postTemplateVersionsByOrganization(rw http.ResponseWriter, r *ht
14941565return
14951566}
14961567
1497- httpapi .Write (ctx ,rw ,http .StatusCreated ,convertTemplateVersion (templateVersion ,convertProvisionerJob (provisionerJob ),user ))
1568+ schemas ,err := api .Database .GetParameterSchemasByJobID (ctx ,provisionerJob .ID )
1569+ if errors .Is (err ,sql .ErrNoRows ) {
1570+ err = nil
1571+ }
1572+ if err != nil {
1573+ httpapi .Write (ctx ,rw ,http .StatusInternalServerError , codersdk.Response {
1574+ Message :"Internal error listing parameter schemas." ,
1575+ Detail :err .Error (),
1576+ })
1577+ return
1578+ }
1579+
1580+ httpapi .Write (ctx ,rw ,http .StatusCreated ,convertTemplateVersion (templateVersion ,convertProvisionerJob (provisionerJob ),user ,schemas ))
14981581}
14991582
15001583// templateVersionResources returns the workspace agent resources associated
@@ -1561,7 +1644,7 @@ func (api *API) templateVersionLogs(rw http.ResponseWriter, r *http.Request) {
15611644api .provisionerJobLogs (rw ,r ,job )
15621645}
15631646
1564- func convertTemplateVersion (version database.TemplateVersion ,job codersdk.ProvisionerJob ,user database.User ) codersdk.TemplateVersion {
1647+ func convertTemplateVersion (version database.TemplateVersion ,job codersdk.ProvisionerJob ,user database.User , schemas []database. ParameterSchema ) codersdk.TemplateVersion {
15651648createdBy := codersdk.User {
15661649ID :user .ID ,
15671650Username :user .Username ,
@@ -1572,6 +1655,11 @@ func convertTemplateVersion(version database.TemplateVersion, job codersdk.Provi
15721655AvatarURL :user .AvatarURL .String ,
15731656}
15741657
1658+ var warnings []codersdk.TemplateVersionWarning
1659+ if len (schemas )> 0 {
1660+ warnings = append (warnings ,codersdk .TemplateVersionWarningDeprecatedParameters )
1661+ }
1662+
15751663return codersdk.TemplateVersion {
15761664ID :version .ID ,
15771665TemplateID :& version .TemplateID .UUID ,
@@ -1582,6 +1670,7 @@ func convertTemplateVersion(version database.TemplateVersion, job codersdk.Provi
15821670Job :job ,
15831671Readme :version .Readme ,
15841672CreatedBy :createdBy ,
1673+ Warnings :warnings ,
15851674}
15861675}
15871676