Tighten org overview caching
- SHA
0eeff4977be7dd14f9bcfeebc85ead602cba0efc- Parents
-
30664c2 - Tree
c93baf3
0eeff49
0eeff4977be7dd14f9bcfeebc85ead602cba0efc30664c2
c93baf3| Status | File | + | - |
|---|---|---|---|
| M |
internal/web/handlers/profile/org_profile.go
|
5 | 9 |
internal/web/handlers/profile/org_profile.gomodified@@ -90,9 +90,11 @@ func (h *Handlers) serveOrgProfile(w http.ResponseWriter, r *http.Request, orgID | ||
| 90 | 90 | |
| 91 | 91 | repos := h.orgProfileRepos(ctx, org.ID, viewer) |
| 92 | 92 | people := h.orgProfilePeople(ctx, q, org.ID) |
| 93 | - memberCount := h.orgMemberCount(ctx, org.ID) | |
| 93 | + memberCount := int64(len(people)) | |
| 94 | 94 | viewAs := "Public" |
| 95 | - if isOwner { | |
| 95 | + if !viewer.IsAnonymous() && viewer.IsSiteAdmin { | |
| 96 | + viewAs = "Site admin" | |
| 97 | + } else if isOwner { | |
| 96 | 98 | viewAs = "Owner" |
| 97 | 99 | } else if isMember { |
| 98 | 100 | viewAs = "Member" |
@@ -119,7 +121,7 @@ func (h *Handlers) serveOrgProfile(w http.ResponseWriter, r *http.Request, orgID | ||
| 119 | 121 | "IsMember": isMember, |
| 120 | 122 | "CanCreateRepo": isOwner || (isMember && org.AllowMemberRepoCreate), |
| 121 | 123 | } |
| 122 | - if isMember { | |
| 124 | + if !viewer.IsAnonymous() { | |
| 123 | 125 | w.Header().Set("Cache-Control", "no-cache, private") |
| 124 | 126 | } else { |
| 125 | 127 | w.Header().Set("Cache-Control", "max-age=120") |
@@ -197,12 +199,6 @@ func (h *Handlers) orgProfilePeople(ctx context.Context, q *orgsdb.Queries, orgI | ||
| 197 | 199 | return out |
| 198 | 200 | } |
| 199 | 201 | |
| 200 | -func (h *Handlers) orgMemberCount(ctx context.Context, orgID int64) int64 { | |
| 201 | - var n int64 | |
| 202 | - _ = h.d.Pool.QueryRow(ctx, `SELECT count(*) FROM org_members WHERE org_id = $1`, orgID).Scan(&n) | |
| 203 | - return n | |
| 204 | -} | |
| 205 | - | |
| 206 | 202 | func limitOrgRepos(repos []orgProfileRepo, limit int) []orgProfileRepo { |
| 207 | 203 | if len(repos) <= limit { |
| 208 | 204 | return repos |