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:
@@ -12,7 +12,7 @@ type Auditable interface {
|
||||
database.Template |
|
||||
database.TemplateVersion |
|
||||
database.User |
|
||||
database.Workspace |
|
||||
database.WorkspaceTable |
|
||||
database.GitSSHKey |
|
||||
database.WorkspaceBuild |
|
||||
database.AuditableGroup |
|
||||
|
||||
@@ -82,7 +82,7 @@ func ResourceTarget[T Auditable](tgt T) string {
|
||||
return typed.Name
|
||||
case database.User:
|
||||
return typed.Username
|
||||
case database.Workspace:
|
||||
case database.WorkspaceTable:
|
||||
return typed.Name
|
||||
case database.WorkspaceBuild:
|
||||
// this isn't used
|
||||
@@ -133,7 +133,7 @@ func ResourceID[T Auditable](tgt T) uuid.UUID {
|
||||
return typed.ID
|
||||
case database.User:
|
||||
return typed.ID
|
||||
case database.Workspace:
|
||||
case database.WorkspaceTable:
|
||||
return typed.ID
|
||||
case database.WorkspaceBuild:
|
||||
return typed.ID
|
||||
@@ -181,7 +181,7 @@ func ResourceType[T Auditable](tgt T) database.ResourceType {
|
||||
return database.ResourceTypeTemplateVersion
|
||||
case database.User:
|
||||
return database.ResourceTypeUser
|
||||
case database.Workspace:
|
||||
case database.WorkspaceTable:
|
||||
return database.ResourceTypeWorkspace
|
||||
case database.WorkspaceBuild:
|
||||
return database.ResourceTypeWorkspaceBuild
|
||||
@@ -225,7 +225,7 @@ func ResourceRequiresOrgID[T Auditable]() bool {
|
||||
switch any(tgt).(type) {
|
||||
case database.Template, database.TemplateVersion:
|
||||
return true
|
||||
case database.Workspace, database.WorkspaceBuild:
|
||||
case database.WorkspaceTable, database.WorkspaceBuild:
|
||||
return true
|
||||
case database.AuditableGroup:
|
||||
return true
|
||||
|
||||
Reference in New Issue
Block a user