module Data.CQRS.PersistedEvent ( PersistedEvent(..) ) where import Control.DeepSeq (NFData(..)) import Data.CQRS.GUID (GUID) import Data.DeriveTH (derive, makeNFData) -- | Persisted Event. data PersistedEvent e = PersistedEvent { peAggregateGUID :: !GUID -- ^ GUID of the aggregate. , peEvent :: !e -- ^ Event. , peSequenceNumber :: !Int -- ^ Sequence number within the aggregate. } deriving (Show, Eq, Ord, Functor) $(derive makeNFData ''PersistedEvent)