Add listing gists

This commit is contained in:
2020-02-02 15:34:20 +01:00
parent f1186c3b11
commit 97041d7012
2 changed files with 87 additions and 22 deletions

View File

@@ -33,6 +33,7 @@ module GHup
, postGistStdin
, postGistFiles
, postGist
, listGists
-- * Parsers
, parseURL
, ghURLParser
@@ -67,6 +68,8 @@ import qualified Data.Text.Encoding as E
import qualified Data.Text.IO as T
import Data.Traversable
import Data.Time.Clock
import Data.Time.Format.ISO8601
import qualified Data.Vector as V
import Data.Word8
import GHC.Exts ( toList )
import GitHub.Auth
@@ -398,6 +401,17 @@ postGist :: (MonadIO m, MonadReader Settings m)
postGist greq = githubAuth (command Post [T.pack "gists"] (encode greq))
listGists :: (MonadIO m, MonadReader Settings m)
=> Maybe UTCTime
-> ExceptT Error m [Gist]
listGists mtime = do
let queryString = case mtime of
Just time -> [(u8 "since", Just $ UTF8.fromString $ iso8601Show time)]
Nothing -> []
V.toList <$> githubAuth (pagedQuery [T.pack "gists"] queryString FetchAll)
---------------
--[ Parsers ]--