api.rauhala.info/src/API/IPFS.hs

25 lines
737 B
Haskell

{-# 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