summaryrefslogtreecommitdiffstats
path: root/Notmuch
diff options
context:
space:
mode:
authortv <tv@shackspace.de>2015-01-31 15:51:57 +0100
committertv <tv@shackspace.de>2015-01-31 15:51:57 +0100
commitef48d081dfd0e817c4959dbbd49929ae760a310e (patch)
tree54867be238b6f8707a43fa7af6d16d3f59144f73 /Notmuch
parent39e76d0c83515a98f84f06b1c3b430d1e67cd1cd (diff)
Notmuch: replace {un,}setTag by notmuchTag
Diffstat (limited to 'Notmuch')
-rw-r--r--Notmuch/Class.hs4
-rw-r--r--Notmuch/Message.hs4
-rw-r--r--Notmuch/SearchResult.hs5
3 files changed, 13 insertions, 0 deletions
diff --git a/Notmuch/Class.hs b/Notmuch/Class.hs
new file mode 100644
index 0000000..2d2b416
--- /dev/null
+++ b/Notmuch/Class.hs
@@ -0,0 +1,4 @@
+module Notmuch.Class where
+
+class HasNotmuchId a where
+ notmuchId :: a -> String
diff --git a/Notmuch/Message.hs b/Notmuch/Message.hs
index 29ca5ec..dd1e809 100644
--- a/Notmuch/Message.hs
+++ b/Notmuch/Message.hs
@@ -9,6 +9,7 @@ import Data.Time.Calendar
import Data.Time.Clock
import Data.Time.Clock.POSIX
import Data.Monoid
+import Notmuch.Class
import qualified Data.Text as T
import qualified Data.Map as M
import qualified Data.CaseInsensitive as CI
@@ -88,6 +89,9 @@ instance Eq Message where
a == b = messageId a == messageId b
+instance HasNotmuchId Message where
+ notmuchId = unMessageID . messageId
+
instance FromJSON Message where
parseJSON (Object v) = Message <$> (MessageID . ("id:"<>) <$> v .: "id")
diff --git a/Notmuch/SearchResult.hs b/Notmuch/SearchResult.hs
index 3a75e96..52b8c20 100644
--- a/Notmuch/SearchResult.hs
+++ b/Notmuch/SearchResult.hs
@@ -7,6 +7,7 @@ import Data.Aeson
import Data.Text
import Data.Time.Clock
import Data.Time.Clock.POSIX
+import Notmuch.Class
newtype ThreadID = ThreadID { unThreadID :: String }
@@ -33,6 +34,10 @@ instance Eq SearchResult where
searchThread s1 == searchThread s2
+instance HasNotmuchId SearchResult where
+ notmuchId = unThreadID . searchThread
+
+
instance FromJSON SearchResult where
parseJSON (Object v) = SearchResult <$> ((ThreadID . ("thread:"++)) <$> v .: "thread")
<*> (posixSecondsToUTCTime . fromInteger <$> v .: "timestamp")