-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Fedora Bodhi REST client library
--   
--   A REST client library for the Fedora Bodhi updates server. The binding
--   is currently fairly low-level returning JSON Objects. So far it covers
--   nearly all of the GET part of the API.
@package bodhi
@version 0.1.0


-- | Fedora Bodhi REST client library
module Fedora.Bodhi

-- | Returns build JSON for NVR
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/builds.html#service-0</a>
bodhiBuild :: String -> IO Object

-- | returns JSON list of builds
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/builds.html#service-1</a>
bodhiBuilds :: Query -> IO [Object]

-- | Returns comment JSON for id
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/comments.html#service-0</a>
bodhiComment :: String -> IO Object

-- | returns JSON list of comments
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/comments.html#service-1</a>
bodhiComments :: Query -> IO [Object]

-- | Get CSRF token
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/csrf.html</a>
bodhiCSRF :: IO (Maybe Text)

-- | Returns override JSON for NVR
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/overrides.html#service-0</a>
bodhiOverride :: String -> IO (Maybe Object)

-- | returns JSON list of overrides
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/overrides.html#service-1</a>
bodhiOverrides :: Query -> IO [Object]

-- | Returns override expiration and submission dates for NVR
bodhiOverrideDates :: String -> IO (Maybe (LocalTime, LocalTime))

-- | Packages query
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/packages.html#service-0</a>
bodhiPackages :: Query -> IO [Object]

-- | read releases metadata from Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/releases.html#service-0</a>
bodhiRelease :: String -> IO Object

-- | read releases metadata from Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/releases.html#service-1</a>
bodhiReleases :: Query -> IO [Object]

-- | read an update from Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/updates.html#service-0</a>
bodhiUpdate :: String -> IO (Maybe Object)

-- | search for updates on Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/updates.html#service-2</a>
bodhiUpdates :: Query -> IO [Object]

-- | user info from Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/users.html#service-0</a>
bodhiUser :: String -> IO Object

-- | list users from Bodhi
--   
--   
--   <a>https://bodhi.fedoraproject.org/docs/server_api/rest/users.html#service-1</a>
bodhiUsers :: Query -> IO [Object]
lookupKey :: FromJSON a => Text -> Object -> Maybe a
lookupKey' :: FromJSON a => Text -> Object -> a

-- | low-level query
queryBodhi :: FromJSON a => Query -> String -> IO a
makeKey :: String -> String -> Query
makeItem :: String -> String -> QueryItem
maybeKey :: String -> Maybe String -> Query
type Query = [QueryItem]
type QueryItem = (ByteString, Maybe ByteString)
