tenseleyflow/shithub / 0eeff49

Browse files

Tighten org overview caching

Authored by espadonne
SHA
0eeff4977be7dd14f9bcfeebc85ead602cba0efc
Parents
30664c2
Tree
c93baf3

1 changed file

StatusFile+-
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
9090
 
9191
 	repos := h.orgProfileRepos(ctx, org.ID, viewer)
9292
 	people := h.orgProfilePeople(ctx, q, org.ID)
93
-	memberCount := h.orgMemberCount(ctx, org.ID)
93
+	memberCount := int64(len(people))
9494
 	viewAs := "Public"
95
-	if isOwner {
95
+	if !viewer.IsAnonymous() && viewer.IsSiteAdmin {
96
+		viewAs = "Site admin"
97
+	} else if isOwner {
9698
 		viewAs = "Owner"
9799
 	} else if isMember {
98100
 		viewAs = "Member"
@@ -119,7 +121,7 @@ func (h *Handlers) serveOrgProfile(w http.ResponseWriter, r *http.Request, orgID
119121
 		"IsMember":      isMember,
120122
 		"CanCreateRepo": isOwner || (isMember && org.AllowMemberRepoCreate),
121123
 	}
122
-	if isMember {
124
+	if !viewer.IsAnonymous() {
123125
 		w.Header().Set("Cache-Control", "no-cache, private")
124126
 	} else {
125127
 		w.Header().Set("Cache-Control", "max-age=120")
@@ -197,12 +199,6 @@ func (h *Handlers) orgProfilePeople(ctx context.Context, q *orgsdb.Queries, orgI
197199
 	return out
198200
 }
199201
 
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
-
206202
 func limitOrgRepos(repos []orgProfileRepo, limit int) []orgProfileRepo {
207203
 	if len(repos) <= limit {
208204
 		return repos