mirror of
https://github.com/nbd-wtf/go-nostr.git
synced 2025-09-18 03:22:22 +02:00
nip29: fix group address parsing and encoding order.
This commit is contained in:
@@ -15,7 +15,7 @@ type GroupAddress struct {
|
|||||||
|
|
||||||
func (gid GroupAddress) String() string {
|
func (gid GroupAddress) String() string {
|
||||||
p, _ := url.Parse(gid.Relay)
|
p, _ := url.Parse(gid.Relay)
|
||||||
return fmt.Sprintf("%s'%s", gid.ID, p.Host)
|
return fmt.Sprintf("%s'%s", p.Host, gid.ID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (gid GroupAddress) IsValid() bool {
|
func (gid GroupAddress) IsValid() bool {
|
||||||
@@ -31,7 +31,7 @@ func ParseGroupAddress(raw string) (GroupAddress, error) {
|
|||||||
if len(spl) != 2 {
|
if len(spl) != 2 {
|
||||||
return GroupAddress{}, fmt.Errorf("invalid group id")
|
return GroupAddress{}, fmt.Errorf("invalid group id")
|
||||||
}
|
}
|
||||||
return GroupAddress{ID: spl[0], Relay: nostr.NormalizeURL(spl[1])}, nil
|
return GroupAddress{ID: spl[1], Relay: nostr.NormalizeURL(spl[0])}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type Group struct {
|
type Group struct {
|
||||||
|
@@ -12,7 +12,7 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func TestGroupEventBackAndForth(t *testing.T) {
|
func TestGroupEventBackAndForth(t *testing.T) {
|
||||||
group1, _ := NewGroup("xyz'relay.com")
|
group1, _ := NewGroup("relay.com'xyz")
|
||||||
group1.Name = "banana"
|
group1.Name = "banana"
|
||||||
group1.Private = true
|
group1.Private = true
|
||||||
meta1 := group1.ToMetadataEvent()
|
meta1 := group1.ToMetadataEvent()
|
||||||
@@ -22,7 +22,7 @@ func TestGroupEventBackAndForth(t *testing.T) {
|
|||||||
t.Fatalf("translation of group1 to metadata event failed: %s", meta1)
|
t.Fatalf("translation of group1 to metadata event failed: %s", meta1)
|
||||||
}
|
}
|
||||||
|
|
||||||
group2, _ := NewGroup("abc'groups.com")
|
group2, _ := NewGroup("groups.com'abc")
|
||||||
group2.Members[ALICE] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermAddUser: {}}}
|
group2.Members[ALICE] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermAddUser: {}}}
|
||||||
group2.Members[BOB] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermEditMetadata: {}}}
|
group2.Members[BOB] = &Role{Name: "nada", Permissions: map[Permission]struct{}{PermEditMetadata: {}}}
|
||||||
group2.Members[CAROL] = EmptyRole
|
group2.Members[CAROL] = EmptyRole
|
||||||
|
Reference in New Issue
Block a user