web3-0.9.0.0: src/Network/Ipfs/Api/Repo.hs
-- |
-- Module : Network.Ipfs.Api.Repo
-- Copyright : Alexander Krupenkin 2016
-- License : BSD3
--
-- Maintainer : mail@akru.me
-- Stability : experimental
-- Portability : unknown
--
-- Api calls with `repo` prefix.
--
module Network.Ipfs.Api.Repo where
import Control.Monad.IO.Class (MonadIO)
import Network.Ipfs.Api.Internal (_repoFsck, _repoVersion)
import Network.Ipfs.Api.Internal.Call (call, streamCall)
import Network.Ipfs.Api.Internal.Stream (_repoGc, _repoVerify)
import Network.Ipfs.Api.Types (RepoFsckObj, RepoVersionObj)
import Network.Ipfs.Client (IpfsT)
-- | Show the repo version.
version :: MonadIO m => IpfsT m RepoVersionObj
version = call _repoVersion
-- | Remove repo lockfiles.
fsck :: MonadIO m => IpfsT m RepoFsckObj
fsck = call _repoFsck
-- | Perform a garbage collection sweep on the repo.
gc :: MonadIO m => m ()
gc = streamCall _repoGc
-- | Verify all blocks in repo are not corrupted.
repoVerify :: MonadIO m => m ()
repoVerify = streamCall _repoVerify