summaryrefslogtreecommitdiff
path: root/src/Erebos/Conversation/Class.hs
blob: 909dac6098ab3ba0f3e04d7db9970934a0354ca5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module Erebos.Conversation.Class (
    ConversationType(..),
) where

import Data.Text (Text)
import Data.Time.LocalTime
import Data.Typeable

import Erebos.Identity


class (Typeable conv, Typeable msg) => ConversationType conv msg | conv -> msg, msg -> conv where
    convMessageFrom :: msg -> ComposedIdentity
    convMessageTime :: msg -> ZonedTime
    convMessageText :: msg -> Maybe Text