core: author role, allow member to add new members on the receiving end (#1149)

* core: author role, allow member to add new members on the receiving end

* remove unused name

* remove author role from parser
This commit is contained in:
Evgeny Poberezkin
2022-10-01 20:30:47 +01:00
committed by GitHub
parent 23212def51
commit 9c5acd609c
3 changed files with 27 additions and 11 deletions
+7 -1
View File
@@ -420,7 +420,11 @@ fromInvitedBy userCtId = \case
IBContact ctId -> Just ctId
IBUser -> Just userCtId
data GroupMemberRole = GRMember | GRAdmin | GROwner
data GroupMemberRole
= GRAuthor -- can send messages to all group members
| GRMember -- + add new members with role Member and below
| GRAdmin -- + change member roles (excl. Owners), add Admins, remove members (excl. Owners)
| GROwner -- + delete and change group information, add/remove/change roles for Owners
deriving (Eq, Show, Ord)
instance FromField GroupMemberRole where fromField = fromBlobField_ strDecode
@@ -432,10 +436,12 @@ instance StrEncoding GroupMemberRole where
GROwner -> "owner"
GRAdmin -> "admin"
GRMember -> "member"
GRAuthor -> "author"
strDecode = \case
"owner" -> Right GROwner
"admin" -> Right GRAdmin
"member" -> Right GRMember
"author" -> Right GRAuthor
r -> Left $ "bad GroupMemberRole " <> B.unpack r
strP = strDecode <$?> A.takeByteString