25 lines
737 B
Haskell
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
|