Skip to content

Commit c652969

Browse files
committed
vaguely like this
1 parent 995e940 commit c652969

File tree

22 files changed

+380
-285
lines changed

22 files changed

+380
-285
lines changed

coderd/database/dbauthz/dbauthz.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3966,9 +3966,9 @@ func (q *querier) UpdateTemplateScheduleByID(ctx context.Context, arg database.U
39663966
return update(q.log, q.auth, fetch, q.db.UpdateTemplateScheduleByID)(ctx, arg)
39673967
}
39683968

3969-
func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.UpdateTemplateVersionByIDParams) error {
3970-
// An actor is allowed to update the template version if they are authorized to update the template.
3971-
tv, err := q.db.GetTemplateVersionByID(ctx, arg.ID)
3969+
func (q *querier) UpdateTemplateVersionByCompletedJobID(ctx context.Context, arg database.UpdateTemplateVersionByCompletedJobIDParams) error {
3970+
// An actor is allowed to update the template version external auth providers if they are authorized to update the template.
3971+
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)
39723972
if err != nil {
39733973
return err
39743974
}
@@ -3985,12 +3985,12 @@ func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.Up
39853985
if err := q.authorizeContext(ctx, policy.ActionUpdate, obj); err != nil {
39863986
return err
39873987
}
3988-
return q.db.UpdateTemplateVersionByID(ctx, arg)
3988+
return q.db.UpdateTemplateVersionByCompletedJobID(ctx, arg)
39893989
}
39903990

3991-
func (q *querier) UpdateTemplateVersionDescriptionByJobID(ctx context.Context, arg database.UpdateTemplateVersionDescriptionByJobIDParams) error {
3992-
// An actor is allowed to update the template version description if they are authorized to update the template.
3993-
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)
3991+
func (q *querier) UpdateTemplateVersionByID(ctx context.Context, arg database.UpdateTemplateVersionByIDParams) error {
3992+
// An actor is allowed to update the template version if they are authorized to update the template.
3993+
tv, err := q.db.GetTemplateVersionByID(ctx, arg.ID)
39943994
if err != nil {
39953995
return err
39963996
}
@@ -4007,11 +4007,11 @@ func (q *querier) UpdateTemplateVersionDescriptionByJobID(ctx context.Context, a
40074007
if err := q.authorizeContext(ctx, policy.ActionUpdate, obj); err != nil {
40084008
return err
40094009
}
4010-
return q.db.UpdateTemplateVersionDescriptionByJobID(ctx, arg)
4010+
return q.db.UpdateTemplateVersionByID(ctx, arg)
40114011
}
40124012

4013-
func (q *querier) UpdateTemplateVersionExternalAuthProvidersByJobID(ctx context.Context, arg database.UpdateTemplateVersionExternalAuthProvidersByJobIDParams) error {
4014-
// An actor is allowed to update the template version external auth providers if they are authorized to update the template.
4013+
func (q *querier) UpdateTemplateVersionDescriptionByJobID(ctx context.Context, arg database.UpdateTemplateVersionDescriptionByJobIDParams) error {
4014+
// An actor is allowed to update the template version description if they are authorized to update the template.
40154015
tv, err := q.db.GetTemplateVersionByJobID(ctx, arg.JobID)
40164016
if err != nil {
40174017
return err
@@ -4029,7 +4029,7 @@ func (q *querier) UpdateTemplateVersionExternalAuthProvidersByJobID(ctx context.
40294029
if err := q.authorizeContext(ctx, policy.ActionUpdate, obj); err != nil {
40304030
return err
40314031
}
4032-
return q.db.UpdateTemplateVersionExternalAuthProvidersByJobID(ctx, arg)
4032+
return q.db.UpdateTemplateVersionDescriptionByJobID(ctx, arg)
40334033
}
40344034

40354035
func (q *querier) UpdateTemplateWorkspacesLastUsedAt(ctx context.Context, arg database.UpdateTemplateWorkspacesLastUsedAtParams) error {

coderd/database/dbauthz/dbauthz_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,7 +1364,7 @@ func (s *MethodTestSuite) TestTemplate() {
13641364
Readme: "foo",
13651365
}).Asserts(t1, policy.ActionUpdate).Returns()
13661366
}))
1367-
s.Run("UpdateTemplateVersionExternalAuthProvidersByJobID", s.Subtest(func(db database.Store, check *expects) {
1367+
s.Run("UpdateTemplateVersionByCompletedJobID", s.Subtest(func(db database.Store, check *expects) {
13681368
jobID := uuid.New()
13691369
u := dbgen.User(s.T(), db, database.User{})
13701370
o := dbgen.Organization(s.T(), db, database.Organization{})
@@ -1378,7 +1378,7 @@ func (s *MethodTestSuite) TestTemplate() {
13781378
OrganizationID: o.ID,
13791379
JobID: jobID,
13801380
})
1381-
check.Args(database.UpdateTemplateVersionExternalAuthProvidersByJobIDParams{
1381+
check.Args(database.UpdateTemplateVersionByCompletedJobIDParams{
13821382
JobID: jobID,
13831383
ExternalAuthProviders: json.RawMessage("{}"),
13841384
}).Asserts(t1, policy.ActionUpdate).Returns()

coderd/database/dbmem/dbmem.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10454,7 +10454,7 @@ func (q *FakeQuerier) UpdateTemplateScheduleByID(_ context.Context, arg database
1045410454
return sql.ErrNoRows
1045510455
}
1045610456

10457-
func (q *FakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.UpdateTemplateVersionByIDParams) error {
10457+
func (q *FakeQuerier) UpdateTemplateVersionByCompletedJobID(_ context.Context, arg database.UpdateTemplateVersionByCompletedJobIDParams) error {
1045810458
if err := validateDatabaseType(arg); err != nil {
1045910459
return err
1046010460
}
@@ -10463,20 +10463,19 @@ func (q *FakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.
1046310463
defer q.mutex.Unlock()
1046410464

1046510465
for index, templateVersion := range q.templateVersions {
10466-
if templateVersion.ID != arg.ID {
10466+
if templateVersion.JobID != arg.JobID {
1046710467
continue
1046810468
}
10469-
templateVersion.TemplateID = arg.TemplateID
10469+
templateVersion.ExternalAuthProviders = arg.ExternalAuthProviders
10470+
templateVersion.ImportGraph = arg.ImportGraph
1047010471
templateVersion.UpdatedAt = arg.UpdatedAt
10471-
templateVersion.Name = arg.Name
10472-
templateVersion.Message = arg.Message
1047310472
q.templateVersions[index] = templateVersion
1047410473
return nil
1047510474
}
1047610475
return sql.ErrNoRows
1047710476
}
1047810477

10479-
func (q *FakeQuerier) UpdateTemplateVersionDescriptionByJobID(_ context.Context, arg database.UpdateTemplateVersionDescriptionByJobIDParams) error {
10478+
func (q *FakeQuerier) UpdateTemplateVersionByID(_ context.Context, arg database.UpdateTemplateVersionByIDParams) error {
1048010479
if err := validateDatabaseType(arg); err != nil {
1048110480
return err
1048210481
}
@@ -10485,18 +10484,20 @@ func (q *FakeQuerier) UpdateTemplateVersionDescriptionByJobID(_ context.Context,
1048510484
defer q.mutex.Unlock()
1048610485

1048710486
for index, templateVersion := range q.templateVersions {
10488-
if templateVersion.JobID != arg.JobID {
10487+
if templateVersion.ID != arg.ID {
1048910488
continue
1049010489
}
10491-
templateVersion.Readme = arg.Readme
10490+
templateVersion.TemplateID = arg.TemplateID
1049210491
templateVersion.UpdatedAt = arg.UpdatedAt
10492+
templateVersion.Name = arg.Name
10493+
templateVersion.Message = arg.Message
1049310494
q.templateVersions[index] = templateVersion
1049410495
return nil
1049510496
}
1049610497
return sql.ErrNoRows
1049710498
}
1049810499

10499-
func (q *FakeQuerier) UpdateTemplateVersionExternalAuthProvidersByJobID(_ context.Context, arg database.UpdateTemplateVersionExternalAuthProvidersByJobIDParams) error {
10500+
func (q *FakeQuerier) UpdateTemplateVersionDescriptionByJobID(_ context.Context, arg database.UpdateTemplateVersionDescriptionByJobIDParams) error {
1050010501
if err := validateDatabaseType(arg); err != nil {
1050110502
return err
1050210503
}
@@ -10508,7 +10509,7 @@ func (q *FakeQuerier) UpdateTemplateVersionExternalAuthProvidersByJobID(_ contex
1050810509
if templateVersion.JobID != arg.JobID {
1050910510
continue
1051010511
}
10511-
templateVersion.ExternalAuthProviders = arg.ExternalAuthProviders
10512+
templateVersion.Readme = arg.Readme
1051210513
templateVersion.UpdatedAt = arg.UpdatedAt
1051310514
q.templateVersions[index] = templateVersion
1051410515
return nil

coderd/database/dbmetrics/querymetrics.go

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

coderd/database/dump.sql

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
-- Do the dance of dropping a view...
2+
DROP VIEW template_version_with_user;
3+
4+
-- ...removing the column we added to the table...
5+
alter table "template_versions" drop column "import_graph";
6+
7+
-- ...and finally recreating the view.
8+
CREATE VIEW
9+
template_version_with_user
10+
AS
11+
SELECT
12+
template_versions.*,
13+
coalesce(visible_users.avatar_url, '') AS created_by_avatar_url,
14+
coalesce(visible_users.username, '') AS created_by_username
15+
FROM
16+
template_versions
17+
LEFT JOIN
18+
visible_users
19+
ON
20+
template_versions.created_by = visible_users.id;
21+
22+
COMMENT ON VIEW template_version_with_user IS 'Joins in the username + avatar url of the created by user.';
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
-- Do the dance of dropping a view...
2+
DROP VIEW template_version_with_user;
3+
4+
-- ...adding the column we want to the table...
5+
alter table "template_versions" add column "import_graph" text not null default '';
6+
7+
8+
-- ...and finally recreating the view.
9+
CREATE VIEW
10+
template_version_with_user
11+
AS
12+
SELECT
13+
template_versions.*,
14+
coalesce(visible_users.avatar_url, '') AS created_by_avatar_url,
15+
coalesce(visible_users.username, '') AS created_by_username
16+
FROM
17+
template_versions
18+
LEFT JOIN
19+
visible_users
20+
ON
21+
template_versions.created_by = visible_users.id;
22+
23+
COMMENT ON VIEW template_version_with_user IS 'Joins in the username + avatar url of the created by user.';

coderd/database/models.go

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

0 commit comments

Comments
 (0)