diff options
Diffstat (limited to 'src/Erebos/Conversation')
| -rw-r--r-- | src/Erebos/Conversation/Class.hs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/Erebos/Conversation/Class.hs b/src/Erebos/Conversation/Class.hs index d7bac5d..7c3652d 100644 --- a/src/Erebos/Conversation/Class.hs +++ b/src/Erebos/Conversation/Class.hs @@ -1,5 +1,6 @@ module Erebos.Conversation.Class ( ConversationType(..), + MessageExtra(..), RefDigest, ) where @@ -15,10 +16,17 @@ import Erebos.Object import Erebos.State +data MessageExtra + = UserJoined + | UserLeft + + class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg, msg -> conv where convMessageFrom :: msg -> ComposedIdentity convMessageTime :: msg -> ZonedTime convMessageText :: msg -> Maybe Text + convMessageExtra :: msg -> [ MessageExtra ] + convMessageExtra _ = [] convReference :: conv -> RefDigest convMessageListSince |