Skip to content

Commit 3f2a8dd

Browse files
committed
chore: Refactor template sql queries to use new view
1 parent 229d770 commit 3f2a8dd

File tree

16 files changed

+197
-197
lines changed

16 files changed

+197
-197
lines changed

coderd/audit/diff.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
// AuditableResources, then add it to this interface.
1010
type Auditable interface {
1111
database.APIKey |
12-
database.Template |
12+
database.TemplateWithUser |
1313
database.TemplateVersion |
1414
database.User |
1515
database.Workspace |

coderd/database/dbauthz/dbauthz.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1157,11 +1157,11 @@ func (q *querier) GetTemplateAverageBuildTime(ctx context.Context, arg database.
11571157
return q.db.GetTemplateAverageBuildTime(ctx, arg)
11581158
}
11591159

1160-
func (q *querier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.Template, error) {
1160+
func (q *querier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.TemplateWithUser, error) {
11611161
return fetch(q.log, q.auth, q.db.GetTemplateByID)(ctx, id)
11621162
}
11631163

1164-
func (q *querier) GetTemplateByOrganizationAndName(ctx context.Context, arg database.GetTemplateByOrganizationAndNameParams) (database.Template, error) {
1164+
func (q *querier) GetTemplateByOrganizationAndName(ctx context.Context, arg database.GetTemplateByOrganizationAndNameParams) (database.TemplateWithUser, error) {
11651165
return fetch(q.log, q.auth, q.db.GetTemplateByOrganizationAndName)(ctx, arg)
11661166
}
11671167

@@ -1302,14 +1302,14 @@ func (q *querier) GetTemplateVersionsCreatedAfter(ctx context.Context, createdAt
13021302
return q.db.GetTemplateVersionsCreatedAfter(ctx, createdAt)
13031303
}
13041304

1305-
func (q *querier) GetTemplates(ctx context.Context) ([]database.Template, error) {
1305+
func (q *querier) GetTemplates(ctx context.Context) ([]database.TemplateWithUser, error) {
13061306
if err := q.authorizeContext(ctx, rbac.ActionRead, rbac.ResourceSystem); err != nil {
13071307
return nil, err
13081308
}
13091309
return q.db.GetTemplates(ctx)
13101310
}
13111311

1312-
func (q *querier) GetTemplatesWithFilter(ctx context.Context, arg database.GetTemplatesWithFilterParams) ([]database.Template, error) {
1312+
func (q *querier) GetTemplatesWithFilter(ctx context.Context, arg database.GetTemplatesWithFilterParams) ([]database.TemplateWithUser, error) {
13131313
prep, err := prepareSQLFilter(ctx, q.auth, rbac.ActionRead, rbac.ResourceTemplate.Type)
13141314
if err != nil {
13151315
return nil, xerrors.Errorf("(dev error) prepare sql filter: %w", err)
@@ -1808,7 +1808,7 @@ func (q *querier) InsertReplica(ctx context.Context, arg database.InsertReplicaP
18081808
return q.db.InsertReplica(ctx, arg)
18091809
}
18101810

1811-
func (q *querier) InsertTemplate(ctx context.Context, arg database.InsertTemplateParams) (database.Template, error) {
1811+
func (q *querier) InsertTemplate(ctx context.Context, arg database.InsertTemplateParams) (error, error) {
18121812
obj := rbac.ResourceTemplate.InOrg(arg.OrganizationID)
18131813
return insert(q.log, q.auth, obj, q.db.InsertTemplate)(ctx, arg)
18141814
}
@@ -2134,7 +2134,7 @@ func (q *querier) UpdateReplica(ctx context.Context, arg database.UpdateReplicaP
21342134
return q.db.UpdateReplica(ctx, arg)
21352135
}
21362136

2137-
func (q *querier) UpdateTemplateACLByID(ctx context.Context, arg database.UpdateTemplateACLByIDParams) (database.Template, error) {
2137+
func (q *querier) UpdateTemplateACLByID(ctx context.Context, arg database.UpdateTemplateACLByIDParams) (error, error) {
21382138
// UpdateTemplateACL uses the ActionCreate action. Only users that can create the template
21392139
// may update the ACL.
21402140
fetch := func(ctx context.Context, arg database.UpdateTemplateACLByIDParams) (database.Template, error) {
@@ -2155,14 +2155,14 @@ func (q *querier) UpdateTemplateDeletedByID(ctx context.Context, arg database.Up
21552155
return q.SoftDeleteTemplateByID(ctx, arg.ID)
21562156
}
21572157

2158-
func (q *querier) UpdateTemplateMetaByID(ctx context.Context, arg database.UpdateTemplateMetaByIDParams) (database.Template, error) {
2158+
func (q *querier) UpdateTemplateMetaByID(ctx context.Context, arg database.UpdateTemplateMetaByIDParams) (error, error) {
21592159
fetch := func(ctx context.Context, arg database.UpdateTemplateMetaByIDParams) (database.Template, error) {
21602160
return q.db.GetTemplateByID(ctx, arg.ID)
21612161
}
21622162
return updateWithReturn(q.log, q.auth, fetch, q.db.UpdateTemplateMetaByID)(ctx, arg)
21632163
}
21642164

2165-
func (q *querier) UpdateTemplateScheduleByID(ctx context.Context, arg database.UpdateTemplateScheduleByIDParams) (database.Template, error) {
2165+
func (q *querier) UpdateTemplateScheduleByID(ctx context.Context, arg database.UpdateTemplateScheduleByIDParams) (error, error) {
21662166
fetch := func(ctx context.Context, arg database.UpdateTemplateScheduleByIDParams) (database.Template, error) {
21672167
return q.db.GetTemplateByID(ctx, arg.ID)
21682168
}

coderd/database/dbfake/dbfake.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1844,14 +1844,14 @@ func (q *FakeQuerier) GetTemplateAverageBuildTime(ctx context.Context, arg datab
18441844
return row, nil
18451845
}
18461846

1847-
func (q *FakeQuerier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.Template, error) {
1847+
func (q *FakeQuerier) GetTemplateByID(ctx context.Context, id uuid.UUID) (database.TemplateWithUser, error) {
18481848
q.mutex.RLock()
18491849
defer q.mutex.RUnlock()
18501850

18511851
return q.getTemplateByIDNoLock(ctx, id)
18521852
}
18531853

1854-
func (q *FakeQuerier) GetTemplateByOrganizationAndName(_ context.Context, arg database.GetTemplateByOrganizationAndNameParams) (database.Template, error) {
1854+
func (q *FakeQuerier) GetTemplateByOrganizationAndName(_ context.Context, arg database.GetTemplateByOrganizationAndNameParams) (database.TemplateWithUser, error) {
18551855
if err := validateDatabaseType(arg); err != nil {
18561856
return database.Template{}, err
18571857
}
@@ -2087,7 +2087,7 @@ func (q *FakeQuerier) GetTemplateVersionsCreatedAfter(_ context.Context, after t
20872087
return versions, nil
20882088
}
20892089

2090-
func (q *FakeQuerier) GetTemplates(_ context.Context) ([]database.Template, error) {
2090+
func (q *FakeQuerier) GetTemplates(_ context.Context) ([]database.TemplateWithUser, error) {
20912091
q.mutex.RLock()
20922092
defer q.mutex.RUnlock()
20932093

@@ -2105,7 +2105,7 @@ func (q *FakeQuerier) GetTemplates(_ context.Context) ([]database.Template, erro
21052105
return templates, nil
21062106
}
21072107

2108-
func (q *FakeQuerier) GetTemplatesWithFilter(ctx context.Context, arg database.GetTemplatesWithFilterParams) ([]database.Template, error) {
2108+
func (q *FakeQuerier) GetTemplatesWithFilter(ctx context.Context, arg database.GetTemplatesWithFilterParams) ([]database.TemplateWithUser, error) {
21092109
if err := validateDatabaseType(arg); err != nil {
21102110
return nil, err
21112111
}
@@ -3436,7 +3436,7 @@ func (q *FakeQuerier) InsertReplica(_ context.Context, arg database.InsertReplic
34363436
return replica, nil
34373437
}
34383438

3439-
func (q *FakeQuerier) InsertTemplate(_ context.Context, arg database.InsertTemplateParams) (database.Template, error) {
3439+
func (q *FakeQuerier) InsertTemplate(_ context.Context, arg database.InsertTemplateParams) (error, error) {
34403440
if err := validateDatabaseType(arg); err != nil {
34413441
return database.Template{}, err
34423442
}
@@ -4172,7 +4172,7 @@ func (q *FakeQuerier) UpdateReplica(_ context.Context, arg database.UpdateReplic
41724172
return database.Replica{}, sql.ErrNoRows
41734173
}
41744174

4175-
func (q *FakeQuerier) UpdateTemplateACLByID(_ context.Context, arg database.UpdateTemplateACLByIDParams) (database.Template, error) {
4175+
func (q *FakeQuerier) UpdateTemplateACLByID(_ context.Context, arg database.UpdateTemplateACLByIDParams) (error, error) {
41764176
if err := validateDatabaseType(arg); err != nil {
41774177
return database.Template{}, err
41784178
}
@@ -4233,7 +4233,7 @@ func (q *FakeQuerier) UpdateTemplateDeletedByID(_ context.Context, arg database.
42334233
return sql.ErrNoRows
42344234
}
42354235

4236-
func (q *FakeQuerier) UpdateTemplateMetaByID(_ context.Context, arg database.UpdateTemplateMetaByIDParams) (database.Template, error) {
4236+
func (q *FakeQuerier) UpdateTemplateMetaByID(_ context.Context, arg database.UpdateTemplateMetaByIDParams) (error, error) {
42374237
if err := validateDatabaseType(arg); err != nil {
42384238
return database.Template{}, err
42394239
}
@@ -4257,7 +4257,7 @@ func (q *FakeQuerier) UpdateTemplateMetaByID(_ context.Context, arg database.Upd
42574257
return database.Template{}, sql.ErrNoRows
42584258
}
42594259

4260-
func (q *FakeQuerier) UpdateTemplateScheduleByID(_ context.Context, arg database.UpdateTemplateScheduleByIDParams) (database.Template, error) {
4260+
func (q *FakeQuerier) UpdateTemplateScheduleByID(_ context.Context, arg database.UpdateTemplateScheduleByIDParams) (error, error) {
42614261
if err := validateDatabaseType(arg); err != nil {
42624262
return database.Template{}, err
42634263
}

coderd/database/dbmetrics/dbmetrics.go

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

coderd/database/migrations/000138_join_users.up.sql

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ CREATE VIEW
1515
AS
1616
SELECT
1717
templates.*,
18-
visible_users.username AS created_by_username,
19-
visible_users.avatar_url AS created_by_avatar_url
18+
coalesce(visible_users.avatar_url, '') AS created_by_avatar_url,
19+
coalesce(visible_users.username, '') AS created_by_username
2020
FROM
2121
templates
2222
LEFT JOIN

coderd/database/modelmethods.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,13 @@ func (t Template) RBACObject() rbac.Object {
109109
WithGroupACL(t.GroupACL)
110110
}
111111

112+
func (t TemplateWithUser) RBACObject() rbac.Object {
113+
return rbac.ResourceTemplate.WithID(t.ID).
114+
InOrg(t.OrganizationID).
115+
WithACLUserList(t.UserACL).
116+
WithGroupACL(t.GroupACL)
117+
}
118+
112119
func (t GetFileTemplatesRow) RBACObject() rbac.Object {
113120
return rbac.ResourceTemplate.WithID(t.TemplateID).
114121
InOrg(t.TemplateOrganizationID).

coderd/database/models.go

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

0 commit comments

Comments
 (0)