-- | TODO newtypes for everything
module Ssb.Types.Link where
import Ssb.Types.Key
import Data.Aeson
-- | A link to a message.
type MessageLink = String
-- | A link to a feed.
newtype FeedLink = FeedLink { unFeedLink :: PublicKey }
deriving (Show, Eq, Ord)
instance FromJSON FeedLink where
parseJSON d = FeedLink <$> parseJSON d
instance ToJSON FeedLink where
toJSON = toJSON . unFeedLink
-- | A link to a blob.
type BlobLink = String
-- | A link to a message, feed, or blob.
type GenericLink = String