ipfs-1.0.0: library/Network/IPFS/Client/Pin.hs
module Network.IPFS.Client.Pin
( API
, AddAPI
, RemoveAPI
, Response (..)
) where
import Servant
import Network.IPFS.Prelude
import Network.IPFS.CID.Types
import qualified Network.IPFS.Client.Param as Param
type API = AddAPI :<|> RemoveAPI
type AddAPI
= "add"
:> Param.CID
:> Put '[JSON] Response
type RemoveAPI
= "rm"
:> Param.CID
:> Param.IsRecursive
:> Delete '[JSON] Response
newtype Response = Response { cids :: [CID] }
deriving (Eq, Show)
instance FromJSON Response where
parseJSON = withObject "Pin Response" \obj ->
Response <$> obj .: "Pins"