mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
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.
This commit is contained in:
@@ -148,7 +148,7 @@ func TestAnnouncementBanners(t *testing.T) {
|
||||
err := client.UpdateAppearance(ctx, cfg)
|
||||
require.NoError(t, err)
|
||||
|
||||
r := dbfake.WorkspaceBuild(t, store, database.Workspace{
|
||||
r := dbfake.WorkspaceBuild(t, store, database.WorkspaceTable{
|
||||
OrganizationID: user.OrganizationID,
|
||||
OwnerID: user.UserID,
|
||||
}).WithAgent().Do()
|
||||
|
||||
@@ -29,7 +29,7 @@ func TestJFrogXrayScan(t *testing.T) {
|
||||
|
||||
tac, ta := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID, rbac.RoleTemplateAdmin())
|
||||
|
||||
wsResp := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
wsResp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OrganizationID: owner.OrganizationID,
|
||||
OwnerID: ta.ID,
|
||||
}).WithAgent().Do()
|
||||
@@ -85,7 +85,7 @@ func TestJFrogXrayScan(t *testing.T) {
|
||||
|
||||
memberClient, member := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID)
|
||||
|
||||
wsResp := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
wsResp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OrganizationID: owner.OrganizationID,
|
||||
OwnerID: member.ID,
|
||||
}).WithAgent().Do()
|
||||
|
||||
@@ -136,7 +136,7 @@ func (s *EnterpriseTemplateScheduleStore) Set(ctx context.Context, db database.S
|
||||
|
||||
var (
|
||||
template database.Template
|
||||
markedForDeletion []database.Workspace
|
||||
markedForDeletion []database.WorkspaceTable
|
||||
)
|
||||
err = db.InTx(func(tx database.Store) error {
|
||||
ctx, span := tracing.StartSpanWithName(ctx, "(*schedule.EnterpriseTemplateScheduleStore).Set()-InTx()")
|
||||
@@ -296,7 +296,7 @@ func (s *EnterpriseTemplateScheduleStore) updateWorkspaceBuild(ctx context.Conte
|
||||
UserQuietHoursScheduleStore: *s.UserQuietHoursScheduleStore.Load(),
|
||||
// Use the job completion time as the time we calculate autostop from.
|
||||
Now: job.CompletedAt.Time,
|
||||
Workspace: workspace,
|
||||
Workspace: workspace.WorkspaceTable(),
|
||||
WorkspaceAutostart: workspace.AutostartSchedule.String,
|
||||
})
|
||||
if err != nil {
|
||||
|
||||
@@ -211,7 +211,7 @@ func TestTemplateUpdateBuildDeadlines(t *testing.T) {
|
||||
ActiveVersionID: templateVersion.ID,
|
||||
CreatedBy: user.ID,
|
||||
})
|
||||
ws = dbgen.Workspace(t, db, database.Workspace{
|
||||
ws = dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OrganizationID: organizationID,
|
||||
OwnerID: user.ID,
|
||||
TemplateID: template.ID,
|
||||
@@ -357,7 +357,7 @@ func TestTemplateUpdateBuildDeadlinesSkip(t *testing.T) {
|
||||
)
|
||||
|
||||
// Create a workspace that will be shared by two builds.
|
||||
ws := dbgen.Workspace(t, db, database.Workspace{
|
||||
ws := dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OwnerID: user.ID,
|
||||
TemplateID: template.ID,
|
||||
OrganizationID: templateJob.OrganizationID,
|
||||
@@ -474,7 +474,7 @@ func TestTemplateUpdateBuildDeadlinesSkip(t *testing.T) {
|
||||
for i, b := range builds {
|
||||
wsID := b.workspaceID
|
||||
if wsID == uuid.Nil {
|
||||
ws := dbgen.Workspace(t, db, database.Workspace{
|
||||
ws := dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OwnerID: user.ID,
|
||||
TemplateID: b.templateID,
|
||||
OrganizationID: templateJob.OrganizationID,
|
||||
@@ -642,21 +642,21 @@ func TestNotifications(t *testing.T) {
|
||||
)
|
||||
|
||||
// Add two dormant workspaces and one active workspace.
|
||||
dormantWorkspaces := []database.Workspace{
|
||||
dbgen.Workspace(t, db, database.Workspace{
|
||||
dormantWorkspaces := []database.WorkspaceTable{
|
||||
dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OwnerID: user.ID,
|
||||
TemplateID: template.ID,
|
||||
OrganizationID: templateJob.OrganizationID,
|
||||
LastUsedAt: time.Now().Add(-time.Hour),
|
||||
}),
|
||||
dbgen.Workspace(t, db, database.Workspace{
|
||||
dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OwnerID: user.ID,
|
||||
TemplateID: template.ID,
|
||||
OrganizationID: templateJob.OrganizationID,
|
||||
LastUsedAt: time.Now().Add(-time.Hour),
|
||||
}),
|
||||
}
|
||||
dbgen.Workspace(t, db, database.Workspace{
|
||||
dbgen.Workspace(t, db, database.WorkspaceTable{
|
||||
OwnerID: user.ID,
|
||||
TemplateID: template.ID,
|
||||
OrganizationID: templateJob.OrganizationID,
|
||||
|
||||
@@ -449,7 +449,7 @@ func TestWorkspaceAutobuild(t *testing.T) {
|
||||
TimeTilDormantMillis: inactiveTTL.Milliseconds(),
|
||||
})
|
||||
|
||||
resp := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
resp := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OrganizationID: user.OrganizationID,
|
||||
OwnerID: user.UserID,
|
||||
TemplateID: template.ID,
|
||||
@@ -1260,18 +1260,18 @@ func TestWorkspacesFiltering(t *testing.T) {
|
||||
CreatedBy: owner.UserID,
|
||||
}).Do()
|
||||
|
||||
dormantWS1 := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
dormantWS1 := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OwnerID: templateAdmin.ID,
|
||||
OrganizationID: owner.OrganizationID,
|
||||
}).Do().Workspace
|
||||
|
||||
dormantWS2 := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
dormantWS2 := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OwnerID: templateAdmin.ID,
|
||||
OrganizationID: owner.OrganizationID,
|
||||
TemplateID: resp.Template.ID,
|
||||
}).Do().Workspace
|
||||
|
||||
_ = dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
_ = dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OwnerID: templateAdmin.ID,
|
||||
OrganizationID: owner.OrganizationID,
|
||||
TemplateID: resp.Template.ID,
|
||||
@@ -1448,7 +1448,7 @@ func TestResolveAutostart(t *testing.T) {
|
||||
|
||||
client, member := coderdtest.CreateAnotherUser(t, ownerClient, owner.OrganizationID)
|
||||
|
||||
workspace := dbfake.WorkspaceBuild(t, db, database.Workspace{
|
||||
workspace := dbfake.WorkspaceBuild(t, db, database.WorkspaceTable{
|
||||
OwnerID: member.ID,
|
||||
OrganizationID: owner.OrganizationID,
|
||||
TemplateID: version1.Template.ID,
|
||||
|
||||
Reference in New Issue
Block a user