pagure 0.1.1 → 0.1.2
raw patch · 4 files changed
+30/−12 lines, 4 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Fedora.Pagure: pagureGroupInfo :: String -> String -> Query -> IO (Either String Object)
Files
- CHANGELOG.md +4/−1
- README.md +4/−4
- pagure.cabal +7/−3
- src/Fedora/Pagure.hs +15/−4
CHANGELOG.md view
@@ -2,6 +2,9 @@ `pagure-hs` uses [PVP Versioning](https://pvp.haskell.org). +## 0.1.2 (2024-05-05)+- add pagureGroupInfo for group endpoint+ ## 0.1.1 (2022-02-17) - add queryPagure' which errors when JSON response has "error" field and use it for queryPagureCount and queryPagurePaged@@ -9,4 +12,4 @@ and get meanful error messages instead ## 0.1.0 (2021-12-27)-* Initial Hackage release+- Initial Hackage release
README.md view
@@ -3,15 +3,15 @@ [](https://hackage.haskell.org/package/pagure) [](http://stackage.org/lts/package/pagure) [](http://stackage.org/nightly/package/pagure)-[](LICENSE)+[](LICENSE) Pagure REST client library. [Pagure](https://pagure.io/pagure) is an opensource git forge (ie somewhat like gitlab). -The primary instance is https://pagure.io,-but pagure is also used to host current Fedora package-src.fedoraproject.org dist-git.+A primary instance is https://pagure.io,+but pagure is also used to host all current Fedora packages+https://src.fedoraproject.org (aka dist-git). The API is at <https://pagure.io/api/0>.
pagure.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.22 name: pagure-version: 0.1.1+version: 0.1.2 synopsis: Pagure REST client library description: A library for querying Pagure gitforges via REST. homepage: https://github.com/juhp/pagure-hs@@ -9,7 +9,7 @@ license-file: LICENSE author: Jens Petersen <petersen@redhat.com> maintainer: Jens Petersen <petersen@redhat.com>-copyright: 2020-2022 Jens Petersen <petersen@redhat.com>+copyright: 2020-2022, 2024 Jens Petersen <petersen@redhat.com> category: Network build-type: Simple extra-doc-files: README.md@@ -19,7 +19,11 @@ GHC == 8.4.4 GHC == 8.6.5 GHC == 8.8.4- GHC == 8.10.5+ GHC == 8.10.7+ GHC == 9.0.2+ GHC == 9.2.8+ GHC == 9.4.8+ GHC == 9.6.5 source-repository head type: git
src/Fedora/Pagure.hs view
@@ -22,6 +22,7 @@ , pagureUserInfo , pagureUserRepos , pagureListGroups+ , pagureGroupInfo , pagureProjectGitURLs , queryPagure , queryPagure'@@ -161,6 +162,14 @@ params = maybeKey "pattern" mpat ++ paging queryPagure server path params +-- | Group information+--+-- https://pagure.io/api/0/#groups-tab+pagureGroupInfo :: String -> String -> Query -> IO (Either String Object)+pagureGroupInfo server group params = do+ let path = "group" +/+ group+ queryPagureSingle server path params+ -- | Project Git URLs -- -- https://pagure.io/api/0/#projects-tab@@ -220,6 +229,8 @@ nextPage p = queryPagure server path (params ++ makeKey "per_page" "100" ++ makeKey paging (show p)) +-- FIXME treat these as special cases/filters of userinfo+ -- | list user's repos pagureUserRepos :: String -> String -> IO [Text] pagureUserRepos server user = do@@ -227,13 +238,13 @@ pages <- queryPagurePaged server path [] ("repos_pagination", "repopage") return $ concatMap (getRepos "repos") pages -getRepos :: Text -> Object -> [Text]-getRepos field obj =- map (lookupKey' "fullname") $ lookupKey' field obj- -- | list user's forks pagureUserForks :: String -> String -> IO [Text] pagureUserForks server user = do let path = "user" +/+ user pages <- queryPagurePaged server path [] ("forks_pagination", "forkpage") return $ concatMap (getRepos "forks") pages++getRepos :: Text -> Object -> [Text]+getRepos field obj =+ map (lookupKey' "fullname") $ lookupKey' field obj