2024-01-02 17:23:34 -03:00
|
|
|
package nip29
|
|
|
|
|
|
|
|
import (
|
2024-02-08 16:33:39 -03:00
|
|
|
"slices"
|
|
|
|
|
2024-01-02 17:23:34 -03:00
|
|
|
"github.com/nbd-wtf/go-nostr"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Role struct {
|
|
|
|
Name string
|
2024-11-09 14:25:30 -03:00
|
|
|
Description string
|
2024-01-02 17:23:34 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
type KindRange []int
|
|
|
|
|
2024-01-04 11:33:17 -03:00
|
|
|
var ModerationEventKinds = KindRange{
|
2024-11-09 14:25:30 -03:00
|
|
|
nostr.KindSimpleGroupPutUser,
|
2024-01-04 11:33:17 -03:00
|
|
|
nostr.KindSimpleGroupRemoveUser,
|
|
|
|
nostr.KindSimpleGroupEditMetadata,
|
|
|
|
nostr.KindSimpleGroupDeleteEvent,
|
2024-07-03 22:17:43 -03:00
|
|
|
nostr.KindSimpleGroupCreateGroup,
|
2024-08-19 17:23:54 +09:00
|
|
|
nostr.KindSimpleGroupDeleteGroup,
|
2024-11-09 14:25:30 -03:00
|
|
|
nostr.KindSimpleGroupCreateInvite,
|
2024-01-04 11:33:17 -03:00
|
|
|
}
|
2024-01-02 17:23:34 -03:00
|
|
|
|
|
|
|
var MetadataEventKinds = KindRange{
|
|
|
|
nostr.KindSimpleGroupMetadata,
|
|
|
|
nostr.KindSimpleGroupAdmins,
|
|
|
|
nostr.KindSimpleGroupMembers,
|
2024-11-09 14:25:30 -03:00
|
|
|
nostr.KindSimpleGroupRoles,
|
2024-01-02 17:23:34 -03:00
|
|
|
}
|
|
|
|
|
|
|
|
func (kr KindRange) Includes(kind int) bool {
|
|
|
|
_, ok := slices.BinarySearch(kr, kind)
|
|
|
|
return ok
|
|
|
|
}
|