Skip to content

Commit fc715fd

Browse files
committed
prune template versions
1 parent 46551e6 commit fc715fd

File tree

13 files changed

+301
-127
lines changed

13 files changed

+301
-127
lines changed

coderd/database/dbauthz/dbauthz.go

+11
Original file line numberDiff line numberDiff line change
@@ -2242,6 +2242,17 @@ func (q *querier) InsertWorkspaceResourceMetadata(ctx context.Context, arg datab
22422242
return q.db.InsertWorkspaceResourceMetadata(ctx, arg)
22432243
}
22442244

2245+
func (q *querier) PruneUnusedTemplateVersions(ctx context.Context, arg database.PruneUnusedTemplateVersionsParams) error {
2246+
tpl, err := q.db.GetTemplateByID(ctx, arg.TemplateID)
2247+
if err != nil {
2248+
return err
2249+
}
2250+
if err := q.authorizeContext(ctx, rbac.ActionUpdate, tpl); err != nil {
2251+
return err
2252+
}
2253+
return q.db.PruneUnusedTemplateVersions(ctx, arg)
2254+
}
2255+
22452256
func (q *querier) RegisterWorkspaceProxy(ctx context.Context, arg database.RegisterWorkspaceProxyParams) (database.WorkspaceProxy, error) {
22462257
fetch := func(ctx context.Context, arg database.RegisterWorkspaceProxyParams) (database.WorkspaceProxy, error) {
22472258
return q.db.GetWorkspaceProxyByID(ctx, arg.ID)

coderd/database/dbfake/dbfake.go

+9
Original file line numberDiff line numberDiff line change
@@ -5175,6 +5175,15 @@ func (q *FakeQuerier) InsertWorkspaceResourceMetadata(_ context.Context, arg dat
51755175
return metadata, nil
51765176
}
51775177

5178+
func (q *FakeQuerier) PruneUnusedTemplateVersions(ctx context.Context, arg database.PruneUnusedTemplateVersionsParams) error {
5179+
err := validateDatabaseType(arg)
5180+
if err != nil {
5181+
return err
5182+
}
5183+
5184+
panic("not implemented")
5185+
}
5186+
51785187
func (q *FakeQuerier) RegisterWorkspaceProxy(_ context.Context, arg database.RegisterWorkspaceProxyParams) (database.WorkspaceProxy, error) {
51795188
q.mutex.Lock()
51805189
defer q.mutex.Unlock()

coderd/database/dbmetrics/dbmetrics.go

+7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dbmock/dbmock.go

+14
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/dump.sql

+3-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/migrations/000160_delete_template_versions.down.sql

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
BEGIN;
2+
3+
-- The view will be rebuilt with the new column
4+
DROP VIEW template_version_with_user;
5+
6+
-- Hard deleting can cause reference issues with audit logs,
7+
-- so we only support soft deleting this resource at this time.
8+
ALTER TABLE template_versions
9+
ADD COLUMN deleted BOOLEAN NOT NULL DEFAULT FALSE;
10+
11+
-- Restore the old version of the template_version_with_user view.
12+
CREATE VIEW
13+
template_version_with_user
14+
AS
15+
SELECT
16+
template_versions.*,
17+
coalesce(visible_users.avatar_url, '') AS created_by_avatar_url,
18+
coalesce(visible_users.username, '') AS created_by_username
19+
FROM
20+
template_versions
21+
LEFT JOIN
22+
visible_users
23+
ON
24+
template_versions.created_by = visible_users.id;
25+
26+
COMMENT ON VIEW template_version_with_user IS 'Joins in the username + avatar url of the created by user.';
27+
28+
COMMIT;

coderd/database/models.go

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

coderd/database/querier.go

+6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)