8000 chore: join owner, template, and org in new workspace view (#15116) · coder/coder@343f8ec · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit 343f8ec

Browse files
authored
chore: join owner, template, and org in new workspace view (#15116)
Joins in fields like `username`, `avatar_url`, `organization_name`, `template_name` to `workspaces` via a **view**. The view must be maintained moving forward, but this prevents needing to add RBAC permissions to fetch related workspace fields.
1 parent 5076161 commit 343f8ec

File tree

81 files changed

+1060
-732
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1060
-732
lines changed

cli/agent_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ func TestWorkspaceAgent(t *testing.T) {
3535

3636
client, db := coderdtest.NewWithDatabase(t, nil)
3737
user := coderdtest.CreateFirstUser(t, client)
38-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
38+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
3939
OrganizationID: user.OrganizationID,
4040
OwnerID: user.UserID,
4141
}).
@@ -71,7 +71,7 @@ func TestWorkspaceAgent(t *testing.T) {
7171
AzureCertificates: certificates,
7272
})
7373
user := coderdtest.CreateFirstUser(t, client)
74-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
74+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
7575
OrganizationID: user.OrganizationID,
7676
OwnerID: user.UserID,
7777
}).WithAgent(func(agents []*proto.Agent) []*proto.Agent {
@@ -110,7 +110,7 @@ func TestWorkspaceAgent(t *testing.T) {
110110
AWSCertificates: certificates,
111111
})
112112
user := coderdtest.CreateFirstUser(t, client)
113-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
113+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
114114
OrganizationID: user.OrganizationID,
115115
OwnerID: user.UserID,
116116
}).WithAgent(func(agents []*proto.Agent) []*proto.Agent {
@@ -151,7 +151,7 @@ func TestWorkspaceAgent(t *testing.T) {
151151
})
152152
owner := coderdtest.CreateFirstUser(t, client)
153153
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
154-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
154+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
155155
OrganizationID: owner.OrganizationID,
156156
OwnerID: memberUser.ID,
157157
}).WithAgent(func(agents []*proto.Agent) []*proto.Agent {
@@ -205,7 +205,7 @@ func TestWorkspaceAgent(t *testing.T) {
205205

206206
client, db := coderdtest.NewWithDatabase(t, nil)
207207
user := coderdtest.CreateFirstUser(t, client)
208-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
208+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
209209
OrganizationID: user.OrganizationID,
210210
OwnerID: user.UserID,
211211
}).WithAgent().Do()
@@ -279,7 +279,7 @@ func TestWorkspaceAgent(t *testing.T) {
279279
}
280280
coderAPI.RootHandler.ServeHTTP(w, r)
281281
}))
282-
r := dbfake.WorkspaceBuild(t, coderAPI.Database, database.Workspace{
282+
r := dbfake.WorkspaceBuild(t, coderAPI.Database, database.WorkspaceTable{
283283
OrganizationID: memberUser.OrganizationIDs[0],
284284
OwnerID: memberUser.ID,
285285
}).WithAgent().Do()

cli/configssh_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ func TestConfigSSH(t *testing.T) {
8383
})
8484
owner := coderdtest.CreateFirstUser(t, client)
8585
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
86-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
86+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
8787
OrganizationID: owner.OrganizationID,
8888
OwnerID: memberUser.ID,
8989
}).WithAgent().Do()
@@ -647,7 +647,7 @@ func TestConfigSSH_FileWriteAndOptionsFlow(t *testing.T) {
647647
client, db := coderdtest.NewWithDatabase(t, nil)
648648
user := coderdtest.CreateFirstUser(t, client)
649649
if tt.hasAgent {
650-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
650+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
651651
OrganizationID: user.OrganizationID,
652652
OwnerID: user.UserID,
653653
}).WithAgent().Do()
@@ -767,7 +767,7 @@ func TestConfigSSH_Hostnames(t *testing.T) {
767767
owner := coderdtest.CreateFirstUser(t, client)
768768
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
769769

770-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
770+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
771771
OrganizationID: owner.OrganizationID,
772772
OwnerID: memberUser.ID,
773773
}).Resource(resources...).Do()

cli/favorite_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ func TestFavoriteUnfavorite(t *testing.T) {
1919
client, db = coderdtest.NewWithDatabase(t, nil)
2020
owner = coderdtest.CreateFirstUser(t, client)
2121
memberClient, member = coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
22-
ws = dbfake.WorkspaceBuild(t, db, database.Workspace{OwnerID: member.ID, OrganizationID: owner.OrganizationID}).Do()
22+
ws = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{OwnerID: member.ID, OrganizationID: owner.OrganizationID}).Do()
2323
)
2424

2525
inv, root := clitest.New(t, "favorite", ws.Workspace.Name)

cli/gitssh_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ func prepareTestGitSSH(ctx context.Context, t *testing.T) (*agentsdk.Client, str
4848
require.NoError(t, err)
4949

5050
// setup template
51-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
51+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5252
OrganizationID: user.OrganizationID,
5353
OwnerID: user.UserID,
5454
}).WithAgent().Do()

cli/list_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ func TestList(t *testing.T) {
2626
owner := coderdtest.CreateFirstUser(t, client)
2727
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
2828
// setup template
29-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
29+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
3030
OrganizationID: owner.OrganizationID,
3131
OwnerID: memberUser.ID,
3232
}).WithAgent().Do()
@@ -54,7 +54,7 @@ func TestList(t *testing.T) {
5454
client, db := coderdtest.NewWithDatabase(t, nil)
5555
owner := coderdtest.CreateFirstUser(t, client)
5656
member, memberUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
57-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
57+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5858
OrganizationID: owner.OrganizationID,
5959
OwnerID: memberUser.ID,
6060
}).WithAgent().Do()

cli/portforward_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,12 +290,12 @@ func TestPortForward(t *testing.T) {
290290
// runAgent creates a fake workspace and starts an agent locally for that
291291
// workspace. The agent will be cleaned up on test completion.
292292
// nolint:unused
293-
func runAgent(t *testing.T, client *codersdk.Client, owner uuid.UUID, db database.Store) database.Workspace {
293+
func runAgent(t *testing.T, client *codersdk.Client, owner uuid.UUID, db database.Store) database.WorkspaceTable {
294294
user, err := client.User(context.Background(), codersdk.Me)
295295
require.NoError(t, err, "specified user does not exist")
296296
require.Greater(t, len(user.OrganizationIDs), 0, "user has no organizations")
297297
orgID := user.OrganizationIDs[0]
298-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
298+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
299299
OrganizationID: orgID,
300300
OwnerID: owner,
301301
}).WithAgent().Do()

cli/schedule_test.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,27 +38,27 @@ func setupTestSchedule(t *testing.T, sched *cron.Schedule) (ownerClient, memberC
3838
memberClient, memberUser := coderdtest.CreateAnotherUserMutators(t, ownerClient, owner.OrganizationID, nil, func(r *codersdk.CreateUserRequestWithOrgs) {
3939
r.Username = "testuser2" // ensure deterministic ordering
4040
})
41-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
41+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
4242
Name: "a-owner",
4343
OwnerID: owner.UserID,
4444
OrganizationID: owner.OrganizationID,
4545
AutostartSchedule: sql.NullString{String: sched.String(), Valid: true},
4646
Ttl: sql.NullInt64{Int64: 8 * time.Hour.Nanoseconds(), Valid: true},
4747
}).WithAgent().Do()
4848

49-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
49+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5050
Name: "b-owner",
5151
OwnerID: owner.UserID,
5252
OrganizationID: owner.OrganizationID,
5353
AutostartSchedule: sql.NullString{String: sched.String(), Valid: true},
5454
}).WithAgent().Do()
55-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
55+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
5656
Name: "c-member",
5757
OwnerID: memberUser.ID,
5858
OrganizationID: owner.OrganizationID,
5959
Ttl: sql.NullInt64{Int64: 8 * time.Hour.Nanoseconds(), Valid: true},
6060
}).WithAgent().Do()
61-
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
61+
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
6262
Name: "d-member",
6363
OwnerID: memberUser.ID,
6464
OrganizationID: owner.OrganizationID,

cli/ssh_test.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,14 @@ import (
5353
"github.com/coder/coder/v2/testutil"
5454
)
5555

56-
func setupWorkspaceForAgent(t *testing.T, mutations ...func([]*proto.Agent) []*proto.Agent) (*codersdk.Client, database.Workspace, string) {
56+
func setupWorkspaceForAgent(t *testing.T, mutations ...func([]*proto.Agent) []*proto.Agent) (*codersdk.Client, database.WorkspaceTable, string) {
5757
t.Helper()
5858

5959
client, store := coderdtest.NewWithDatabase(t, nil)
6060
client.SetLogger(slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug))
6161
first := coderdtest.CreateFirstUser(t, client)
6262
userClient, user := coderdtest.CreateAnotherUser(t, client, first.OrganizationID)
63-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
63+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
6464
OrganizationID: first.OrganizationID,
6565
OwnerID: user.ID,
6666
}).WithAgent(mutations...).Do()
@@ -260,7 +260,7 @@ func TestSSH(t *testing.T) {
260260
client.SetLogger(slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug))
261261
first := coderdtest.CreateFirstUser(t, client)
262262
userClient, user := coderdtest.CreateAnotherUser(t, client, first.OrganizationID)
263-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
263+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
264264
OrganizationID: first.OrganizationID,
265265
OwnerID: user.ID,
266266
}).WithAgent().Do()
@@ -763,7 +763,7 @@ func TestSSH(t *testing.T) {
763763
client.SetLogger(slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug))
764764
first := coderdtest.CreateFirstUser(t, client)
765765
userClient, user := coderdtest.CreateAnotherUser(t, client, first.OrganizationID)
766-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
766+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
767767
OrganizationID: first.OrganizationID,
768768
OwnerID: user.ID,
769769
}).WithAgent().Do()
@@ -1370,7 +1370,7 @@ func TestSSH(t *testing.T) {
13701370
admin.SetLogger(slogtest.Make(t, nil).Named("client").Leveled(slog.LevelDebug))
13711371
first := coderdtest.CreateFirstUser(t, admin)
13721372
client, user := coder 97AE dtest.CreateAnotherUser(t, admin, first.OrganizationID)
1373-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
1373+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
13741374
OrganizationID: first.OrganizationID,
13751375
OwnerID: user.ID,
13761376
}).WithAgent().Do()

cli/start_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,7 @@ func TestStart_AlreadyRunning(t *testing.T) {
390390
client, db := coderdtest.NewWithDatabase(t, nil)
391391
owner := coderdtest.CreateFirstUser(t, client)
392392
memberClient, member := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
393-
r := dbfake.WorkspaceBuild(t, db, database.Workspace{
393+
r := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
394394
OwnerID: member.ID,
395395
OrganizationID: owner.OrganizationID,
396396
}).Do()
@@ -417,7 +417,7 @@ func TestStart_Starting(t *testing.T) {
417417
client := coderdtest.New(t, &coderdtest.Options{Pubsub: ps, Database: store})
418418
owner := coderdtest.CreateFirstUser(t, client)
419419
memberClient, member := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID)
420-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
420+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
421421
OwnerID: member.ID,
422422
OrganizationID: owner.OrganizationID,
423423
}).

cli/state_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ func TestStatePull(t *testing.T) {
2828
owner := coderdtest.CreateFirstUser(t, client)
2929
templateAdmin, taUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
3030
wantState := []byte("some state")
31-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
31+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
3232
OrganizationID: owner.OrganizationID,
3333
OwnerID: taUser.ID,
3434
}).
@@ -49,7 +49,7 @@ func TestStatePull(t *testing.T) {
4949
owner := coderdtest.CreateFirstUser(t, client)
5050
templateAdmin, taUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
5151
wantState := []byte("some state")
52-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
52+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
5353
OrganizationID: owner.OrganizationID,
5454
OwnerID: taUser.ID,
5555
}).
@@ -69,7 +69,7 @@ func TestStatePull(t *testing.T) {
6969
owner := coderdtest.CreateFirstUser(t, client)
7070
_, taUser := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID, rbac.RoleTemplateAdmin())
7171
wantState := []byte("some state")
72-
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
72+
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
7373
OrganizationID: owner.OrganizationID,
7474
OwnerID: taUser.ID,
7575
}).

0 commit comments

Comments
 (0)
0