From 5d00c3f6ce81f4a981dd6eb694bf9c9ff9dd7007 Mon Sep 17 00:00:00 2001 From: Brad Rydzewski Date: Sun, 13 Jul 2014 15:45:01 -0700 Subject: [PATCH] fixed bugs with global commit feed not sending events --- server/database/perm.go | 4 ++++ server/handler/ws.go | 2 +- shared/model/perm.go | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/server/database/perm.go b/server/database/perm.go index 375f50c65..1e741d761 100644 --- a/server/database/perm.go +++ b/server/database/perm.go @@ -101,11 +101,13 @@ func (db *permManager) Find(u *model.User, r *model.Repo) *model.Perm { switch { case u == nil && r.Private: return &model.Perm{ + Guest: true, Read: false, Write: false, Admin: false} case u == nil && !r.Private: return &model.Perm{ + Guest: true, Read: true, Write: false, Admin: false} @@ -124,10 +126,12 @@ func (db *permManager) Find(u *model.User, r *model.Repo) *model.Perm { perm.Read = true perm.Write = true perm.Admin = true + perm.Guest = true // if the repo is public, grant read access only. case r.Private == false: perm.Read = true + perm.Guest = true } return perm diff --git a/server/handler/ws.go b/server/handler/ws.go index fc83933c4..29312151d 100644 --- a/server/handler/ws.go +++ b/server/handler/ws.go @@ -78,7 +78,7 @@ func (h *WsHandler) WsUser(w http.ResponseWriter, r *http.Request) error { // user must have read access to the repository // in order to pass this message along - if role := h.perms.Find(user, work.Repo); role.Read { + if role := h.perms.Find(user, work.Repo); !role.Read { break } diff --git a/shared/model/perm.go b/shared/model/perm.go index e3b8c1fa7..465594b22 100644 --- a/shared/model/perm.go +++ b/shared/model/perm.go @@ -7,6 +7,7 @@ type Perm struct { Read bool `meddler:"perm_read" json:"read"` Write bool `meddler:"perm_write" json:"write"` Admin bool `meddler:"perm_admin" json:"admin"` + Guest bool `meddler:"-" json:"guest"` Created int64 `meddler:"perm_created" json:"-"` Updated int64 `meddler:"perm_updated" json:"-"` }