Skip to content

Commit 33dd778

Browse files
committed
Merge UpdateTemplateVersionAITaskByJobID and UpdateTemplateVersionExternalAgentByJobID into one query
1 parent c2588ea commit 33dd778

File tree

13 files changed

+59
-141
lines changed

13 files changed

+59
-141
lines changed

coderd/apidoc/docs.go

Lines changed: 5 additions & 3 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: 5 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbauthz/dbauthz.go

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4640,8 +4640,8 @@ func (q *querier) UpdateTemplateScheduleByID(ctx context.Context, arg database.U
46404640
return update(q.log, q.auth, fetch, q.db.UpdateTemplateScheduleByID)(ctx, arg)
46414641
}
46424642

4643-
func (q *querier) UpdateTemplateVersionAITaskByJobID(ctx context.Context, arg database.UpdateTemplateVersionAITaskByJobIDParams) error {
4644-
// An actor is allowed to update the template version AI task flag if they are authorized to update the template.
4643+
func (q *querier) UpdateTemplateVersionAITaskAndExternalAgentByJobID(ctx context.Context, arg database.UpdateTemplateVersionAITaskAndExternalAgentByJobIDParams) error {
4644+
// An actor is allowed to update the template version ai task and external agent flag if they are authorized to update the template.
46454645
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)
46464646
if err != nil {
46474647
return err
@@ -4659,7 +4659,7 @@ func (q *querier) UpdateTemplateVersionAITaskByJobID(ctx context.Context, arg da
46594659
if err := q.authorizeContext(ctx, policy.ActionUpdate, obj); err != nil {
46604660
return err
46614661
}
4662-
return q.db.UpdateTemplateVersionAITaskByJobID(ctx, arg)
4662+
return q.db.UpdateTemplateVersionAITaskAndExternalAgentByJobID(ctx, arg)
46634663
}
46644664

46654665
func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.UpdateTemplateVersionByIDParams) error {
@@ -4706,28 +4706,6 @@ func (q *querier) UpdateTemplateVersionDescriptionByJobID(ctx context.Context, a
47064706
return q.db.UpdateTemplateVersionDescriptionByJobID(ctx, arg)
47074707
}
47084708

4709-
func (q *querier) UpdateTemplateVersionExternalAgentByJobID(ctx context.Context, arg database.UpdateTemplateVersionExternalAgentByJobIDParams) error {
4710-
// An actor is allowed to update the template version external agent flag if they are authorized to update the template.
4711-
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)
4712-
if err != nil {
4713-
return err
4714-
}
4715-
var obj rbac.Objecter
4716-
if !tv.TemplateID.Valid {
4717-
obj = rbac.ResourceTemplate.InOrg(tv.OrganizationID)
4718-
} else {
4719-
tpl, err := q.db.GetTemplateByID(ctx, tv.TemplateID.UUID)
4720-
if err != nil {
4721-
return err
4722-
}
4723-
obj = tpl
4724-
}
4725-
if err := q.authorizeContext(ctx, policy.ActionUpdate, obj); err != nil {
4726-
return err
4727-
}
4728-
return q.db.UpdateTemplateVersionExternalAgentByJobID(ctx, arg)
4729-
}
4730-
47314709
func (q *querier) UpdateTemplateVersionExternalAuthProvidersByJobID(ctx context.Context, arg database.UpdateTemplateVersionExternalAuthProvidersByJobIDParams) error {
47324710
// An actor is allowed to update the template version external auth providers if they are authorized to update the template.
47334711
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1516,7 +1516,7 @@ func (s *MethodTestSuite) TestTemplate() {
15161516
ID: t1.ID,
15171517
}).Asserts(t1, policy.ActionUpdate)
15181518
}))
1519-
s.Run("UpdateTemplateVersionAITaskByJobID", s.Subtest(func(db database.Store, check *expects) {
1519+
s.Run("UpdateTemplateVersionAITaskAndExternalAgentByJobID", s.Subtest(func(db database.Store, check *expects) {
15201520
dbtestutil.DisableForeignKeysAndTriggers(s.T(), db)
15211521
o := dbgen.Organization(s.T(), db, database.Organization{})
15221522
u := dbgen.User(s.T(), db, database.User{})
@@ -1529,9 +1529,10 @@ func (s *MethodTestSuite) TestTemplate() {
15291529
JobID: job.ID,
15301530
TemplateID: uuid.NullUUID{UUID: t.ID, Valid: true},
15311531
})
1532-
check.Args(database.UpdateTemplateVersionAITaskByJobIDParams{
1533-
JobID: job.ID,
1534-
HasAITask: sql.NullBool{Bool: true, Valid: true},
1532+
check.Args(database.UpdateTemplateVersionAITaskAndExternalAgentByJobIDParams{
1533+
JobID: job.ID,
1534+
HasAITask: sql.NullBool{Bool: true, Valid: true},
1535+
HasExternalAgent: sql.NullBool{Bool: true, Valid: true},
15351536
}).Asserts(t, policy.ActionUpdate)
15361537
}))
15371538
s.Run("UpdateTemplateWorkspacesLastUsedAt", s.Subtest(func(db database.Store, check *expects) {

coderd/database/dbgen/dbgen.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,17 +1058,10 @@ func TemplateVersion(t testing.TB, db database.Store, orig database.TemplateVers
10581058
return err
10591059
}
10601060

1061-
if hasAITask.Valid {
1062-
require.NoError(t, db.UpdateTemplateVersionAITaskByJobID(genCtx, database.UpdateTemplateVersionAITaskByJobIDParams{
1063-
JobID: jobID,
1064-
HasAITask: hasAITask,
1065-
UpdatedAt: dbtime.Now(),
1066-
}))
1067-
}
1068-
1069-
if hasExternalAgent.Valid {
1070-
require.NoError(t, db.UpdateTemplateVersionExternalAgentByJobID(genCtx, database.UpdateTemplateVersionExternalAgentByJobIDParams{
1061+
if hasAITask.Valid && hasExternalAgent.Valid {
1062+
require.NoError(t, db.UpdateTemplateVersionAITaskAndExternalAgentByJobID(genCtx, database.UpdateTemplateVersionAITaskAndExternalAgentByJobIDParams{
10711063
JobID: jobID,
1064+
HasAITask: hasAITask,
10721065
HasExternalAgent: hasExternalAgent,
10731066
UpdatedAt: dbtime.Now(),
10741067
}))

coderd/database/dbmetrics/querymetrics.go

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

coderd/database/dbmock/dbmock.go

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

coderd/database/querier.go

Lines changed: 1 addition & 2 deletions
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: 15 additions & 29 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 & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -122,15 +122,6 @@ SET
122122
WHERE
123123
job_id = $1;
124124

125-
-- name: UpdateTemplateVersionAITaskByJobID :exec
126-
UPDATE
127-
template_versions
128-
SET
129-
has_ai_task = $2,
130-
updated_at = $3
131-
WHERE
132-
job_id = $1;
133-
134125
-- name: GetPreviousTemplateVersion :one
135126
SELECT
136127
*
@@ -235,11 +226,12 @@ WHERE
235226
template_versions.id IN (archived_versions.id)
236227
RETURNING template_versions.id;
237228

238-
-- name: UpdateTemplateVersionExternalAgentByJobID :exec
229+
-- name: UpdateTemplateVersionAITaskAndExternalAgentByJobID :exec
239230
UPDATE
240231
template_versions
241232
SET
242-
has_external_agent = $2,
243-
updated_at = $3
233+
has_ai_task = $2,
234+
has_external_agent = $3,
235+
updated_at = $4
244236
WHERE
245237
job_id = $1;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy