erebos-0.2.1: src/Erebos/Conversation/Class.hs
module Erebos.Conversation.Class (
ConversationType(..),
RefDigest,
) where
import Data.Text (Text)
import Data.Time.LocalTime
import Data.Typeable
import Erebos.Identity
import Erebos.Object
class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg, msg -> conv where
convMessageFrom :: msg -> ComposedIdentity
convMessageTime :: msg -> ZonedTime
convMessageText :: msg -> Maybe Text
convReference :: conv -> RefDigest
convMessageListSince :: Maybe conv -> conv -> [ ( msg, Bool ) ]