Accept claims if user is already a member

This commit is contained in:
Jon Staab
2025-10-31 15:59:21 -07:00
parent f010b97fef
commit da9110a9c7
3 changed files with 19 additions and 15 deletions
+2 -2
View File
@@ -31,8 +31,8 @@ type Config struct {
} `toml:"policy"`
Groups struct {
Enabled bool `toml:"enabled"`
AutoJoin bool `toml:"auto_join"`
Enabled bool `toml:"enabled"`
AutoJoin bool `toml:"auto_join"`
} `toml:"groups"`
Management struct {
+13 -13
View File
@@ -283,9 +283,9 @@ func (g *GroupStore) CheckWrite(event nostr.Event) string {
meta, found := g.GetMetadata(h)
if event.Kind == nostr.KindSimpleGroupCreateGroup {
if found {
return "invalid: that group already exists"
}
if found {
return "invalid: that group already exists"
}
} else if !found {
return "invalid: group not found"
}
@@ -299,19 +299,19 @@ func (g *GroupStore) CheckWrite(event nostr.Event) string {
}
if event.Kind == nostr.KindSimpleGroupJoinRequest {
if g.IsMember(h, event.PubKey) {
return "duplicate: already a member"
} else {
return ""
}
if g.IsMember(h, event.PubKey) {
return "duplicate: already a member"
} else {
return ""
}
}
if event.Kind == nostr.KindSimpleGroupLeaveRequest {
if !g.IsMember(h, event.PubKey) {
return "duplicate: not currently a member"
} else {
return ""
}
if !g.IsMember(h, event.PubKey) {
return "duplicate: not currently a member"
} else {
return ""
}
}
if HasTag(meta.Tags, "closed") && !g.HasAccess(h, event.PubKey) {
+4
View File
@@ -298,6 +298,10 @@ func (m *ManagementStore) AllowPubkey(pubkey nostr.PubKey) error {
// Joining
func (m *ManagementStore) ValidateJoinRequest(event nostr.Event) (reject bool, err string) {
if m.IsMember(event.PubKey) {
return false, ""
}
if m.PubkeyIsBanned(event.PubKey) {
return true, "invalid: you have been banned from this relay"
}