{-# Language DataKinds #-} {-# Language TypeOperators #-} {-# Language GeneralizedNewtypeDeriving #-} {-# Language MultiParamTypeClasses #-} {-# Language NoImplicitPrelude #-} {-# Language DeriveGeneric #-} {-# Language OverloadedStrings #-} module API.IPFS where import ClassyPrelude import Servant.API import Data.Aeson import Servant.Docs (singleSample, ToSample(..)) newtype VersionHash = VersionHash Text deriving (Show, ToJSON) instance ToSample VersionHash where toSamples _ = singleSample (VersionHash "QmQdyH1o6g7Q1p4rJCWABTup5KgxYK1T9AZxBWpnhgMQQQ") instance MimeRender PlainText VersionHash where mimeRender _ (VersionHash h) = fromStrict . encodeUtf8 $ h type API = "current" :> Get '[JSON, PlainText] VersionHash