nip29: oh, right, group addresses.

This commit is contained in:
fiatjaf
2024-05-10 18:03:24 -03:00
parent 705d035281
commit 96dfeac1bd
2 changed files with 7 additions and 6 deletions

View File

@@ -45,10 +45,11 @@ type Group struct {
LastMembersUpdate nostr.Timestamp
}
func NewGroup(id string) (Group, error) {
gad, err := ParseGroupAddress(id)
// NewGroup takes a group address in the form "<id>'<relay-hostname>"
func NewGroup(gadstr string) (Group, error) {
gad, err := ParseGroupAddress(gadstr)
if err != nil {
return Group{}, fmt.Errorf("invalid group id '%s': %w", id, err)
return Group{}, fmt.Errorf("invalid group id '%s': %w", gadstr, err)
}
return Group{

View File

@@ -12,17 +12,17 @@ const (
)
func TestGroupEventBackAndForth(t *testing.T) {
group1, _ := NewGroup("xyz")
group1, _ := NewGroup("xyz'relay.com")
group1.Name = "banana"
group1.Private = true
meta1 := group1.ToMetadataEvent()
if meta1.Tags.GetD() != "xyz" ||
meta1.Tags.GetFirst([]string{"name", "banana"}) == nil ||
meta1.Tags.GetFirst([]string{"private"}) == nil {
t.Fatalf("translation of group1 to meta1data event failed")
t.Fatalf("translation of group1 to metadata event failed: %s", meta1)
}
group2, _ := NewGroup("abc")
group2, _ := NewGroup("abc'groups.com")
group2.Members[ALICE] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermAddUser: {}}}
group2.Members[BOB] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermEditMetadata: {}}}
group2.Members[CAROL] = EmptyRole