fix(coderd/httpmw): reject inactive workspace agent owners

This commit is contained in:
Jon Ayers
2026-05-28 18:41:51 +00:00
parent abf867f637
commit 2ec8f1bda6
2 changed files with 8 additions and 2 deletions
+7 -1
View File
@@ -109,7 +109,7 @@ func ExtractWorkspaceAgentAndLatestBuild(opts ExtractWorkspaceAgentAndLatestBuil
return
}
subject, _, err := UserRBACSubject(
subject, userStatus, err := UserRBACSubject(
ctx,
opts.DB,
row.WorkspaceTable.OwnerID,
@@ -129,6 +129,12 @@ func ExtractWorkspaceAgentAndLatestBuild(opts ExtractWorkspaceAgentAndLatestBuil
})
return
}
if userStatus != database.UserStatusActive {
httpapi.Write(ctx, rw, http.StatusUnauthorized, codersdk.Response{
Message: fmt.Sprintf("User has status %q. Contact an admin to reactivate your account.", userStatus),
})
return
}
ctx = context.WithValue(ctx, workspaceAgentContextKey{}, row.WorkspaceAgent)
ctx = context.WithValue(ctx, latestBuildContextKey{}, row.WorkspaceBuild)
+1 -1
View File
@@ -102,7 +102,7 @@ func TestWorkspaceAgent(t *testing.T) {
err = json.NewDecoder(res.Body).Decode(&resp)
require.NoError(t, err)
require.Equal(t,
fmt.Sprintf("User is not active (status = %q). Contact an admin to reactivate your account.", status),
fmt.Sprintf("User has status %q. Contact an admin to reactivate your account.", status),
resp.Message,
)
})