Skip to content

Commit 8857971

Browse files
feat(coder): Add PATCH /templateversions/:templateversion endpoint (#6698)
1 parent ed9a3b9 commit 8857971

File tree

16 files changed

+391
-19
lines changed

16 files changed

+391
-19
lines changed

coderd/apidoc/docs.go

Lines changed: 53 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/apidoc/swagger.json

Lines changed: 47 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/coderd.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -500,6 +500,7 @@ func New(options *Options) *API {
500500
httpmw.ExtractTemplateVersionParam(options.Database),
501501
)
502502
r.Get("/", api.templateVersion)
503+
r.Patch("/", api.patchTemplateVersion)
503504
r.Patch("/cancel", api.patchCancelTemplateVersion)
504505
r.Get("/schema", api.templateVersionSchema)
505506
r.Get("/parameters", api.templateVersionParameters)

coderd/database/dbauthz/querier.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -850,13 +850,13 @@ func (q *querier) UpdateTemplateScheduleByID(ctx context.Context, arg database.U
850850
return updateWithReturn(q.log, q.auth, fetch, q.db.UpdateTemplateScheduleByID)(ctx, arg)
851851
}
852852

853-
func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.UpdateTemplateVersionByIDParams) error {
853+
func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.UpdateTemplateVersionByIDParams) (database.TemplateVersion, error) {
854854
template, err := q.db.GetTemplateByID(ctx, arg.TemplateID.UUID)
855855
if err != nil {
856-
return err
856+
return database.TemplateVersion{}, err
857857
}
858858
if err := q.authorizeContext(ctx, rbac.ActionUpdate, template); err != nil {
859-
return err
859+
return database.TemplateVersion{}, err
860860
}
861861
return q.db.UpdateTemplateVersionByID(ctx, arg)
862862
}

coderd/database/dbauthz/querier_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,9 @@ func (s *MethodTestSuite) TestTemplate() {
721721
check.Args(database.UpdateTemplateVersionByIDParams{
722722
ID: tv.ID,
723723
TemplateID: uuid.NullUUID{UUID: t1.ID, Valid: true},
724-
}).Asserts(t1, rbac.ActionUpdate).Returns()
724+
Name: tv.Name,
725+
UpdatedAt: tv.UpdatedAt,
726+
}).Asserts(t1, rbac.ActionUpdate).Returns(tv)
725727
}))
726728
s.Run("UpdateTemplateVersionDescriptionByJobID", s.Subtest(func(db database.Store, check *expects) {
727729
jobID := uuid.New()

coderd/database/dbfake/databasefake.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3413,9 +3413,9 @@ func (q *fakeQuerier) UpdateTemplateACLByID(_ context.Context, arg database.Upda
34133413
return database.Template{}, sql.ErrNoRows
34143414
}
34153415

3416-
func (q *fakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.UpdateTemplateVersionByIDParams) error {
3416+
func (q *fakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.UpdateTemplateVersionByIDParams) (database.TemplateVersion, error) {
34173417
if err := validateDatabaseType(arg); err != nil {
3418-
return err
3418+
return database.TemplateVersion{}, err
34193419
}
34203420

34213421
q.mutex.Lock()
@@ -3427,10 +3427,11 @@ func (q *fakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.
34273427
}
34283428
templateVersion.TemplateID = arg.TemplateID
34293429
templateVersion.UpdatedAt = arg.UpdatedAt
3430+
templateVersion.Name = arg.Name
34303431
q.templateVersions[index] = templateVersion
3431-
return nil
3432+
return templateVersion, nil
34323433
}
3433-
return sql.ErrNoRows
3434+
return database.TemplateVersion{}, sql.ErrNoRows
34343435
}
34353436

34363437
func (q *fakeQuerier) UpdateTemplateVersionDescriptionByJobID(_ context.Context, arg database.UpdateTemplateVersionDescriptionByJobIDParams) error {

coderd/database/querier.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries.sql.go

Lines changed: 26 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/queries/templateversions.sql

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,14 +84,15 @@ INSERT INTO
8484
VALUES
8585
($1, $2, $3, $4, $5, $6, $7, $8, $9) RETURNING *;
8686

87-
-- name: UpdateTemplateVersionByID :exec
87+
-- name: UpdateTemplateVersionByID :one
8888
UPDATE
8989
template_versions
9090
SET
9191
template_id = $2,
92-
updated_at = $3
92+
updated_at = $3,
93+
name = $4
9394
WHERE
94-
id = $1;
95+
id = $1 RETURNING *;
9596

9697
-- name: UpdateTemplateVersionDescriptionByJobID :exec
9798
UPDATE

coderd/templates.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,13 +269,14 @@ func (api *API) postTemplateByOrganization(rw http.ResponseWriter, r *http.Reque
269269

270270
templateAudit.New = dbTemplate
271271

272-
err = tx.UpdateTemplateVersionByID(ctx, database.UpdateTemplateVersionByIDParams{
272+
_, err = tx.UpdateTemplateVersionByID(ctx, database.UpdateTemplateVersionByIDParams{
273273
ID: templateVersion.ID,
274274
TemplateID: uuid.NullUUID{
275275
UUID: dbTemplate.ID,
276276
Valid: true,
277277
},
278278
UpdatedAt: database.Now(),
279+
Name: templateVersion.Name,
279280
})
280281
if err != nil {
281282
return xerrors.Errorf("insert template version: %s", err)

0 commit comments

Comments
 (0)