module GitHub.Endpoints.Repos.Releases (
releases,
releases',
releasesR,
release,
release',
releaseR,
latestRelease,
latestRelease',
latestReleaseR,
releaseByTagName,
releaseByTagName',
releaseByTagNameR,
module GitHub.Data,
) where
import GitHub.Data
import GitHub.Internal.Prelude
import GitHub.Request
import Prelude ()
releases :: Name Owner -> Name Repo -> IO (Either Error (Vector Release))
releases :: Name Owner -> Name Repo -> IO (Either Error (Vector Release))
releases = Maybe Auth
-> Name Owner -> Name Repo -> IO (Either Error (Vector Release))
releases' Maybe Auth
forall a. Maybe a
Nothing
releases' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error (Vector Release))
releases' :: Maybe Auth
-> Name Owner -> Name Repo -> IO (Either Error (Vector Release))
releases' auth :: Maybe Auth
auth user :: Name Owner
user repo :: Name Repo
repo =
Maybe Auth
-> GenRequest 'MtJSON 'RO (Vector Release)
-> IO (Either Error (Vector Release))
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO (Vector Release)
-> IO (Either Error (Vector Release)))
-> GenRequest 'MtJSON 'RO (Vector Release)
-> IO (Either Error (Vector Release))
forall a b. (a -> b) -> a -> b
$ Name Owner
-> Name Repo
-> FetchCount
-> GenRequest 'MtJSON 'RO (Vector Release)
forall (k :: RW).
Name Owner -> Name Repo -> FetchCount -> Request k (Vector Release)
releasesR Name Owner
user Name Repo
repo FetchCount
FetchAll
releasesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Release)
releasesR :: Name Owner -> Name Repo -> FetchCount -> Request k (Vector Release)
releasesR user :: Name Owner
user repo :: Name Repo
repo =
Paths -> QueryString -> FetchCount -> Request k (Vector Release)
forall a (mt :: RW).
FromJSON a =>
Paths -> QueryString -> FetchCount -> Request mt (Vector a)
pagedQuery ["repos", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user, Name Repo -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Repo
repo, "releases"] []
release :: Name Owner -> Name Repo -> Id Release -> IO (Either Error Release)
release :: Name Owner -> Name Repo -> Id Release -> IO (Either Error Release)
release = Maybe Auth
-> Name Owner
-> Name Repo
-> Id Release
-> IO (Either Error Release)
release' Maybe Auth
forall a. Maybe a
Nothing
release' :: Maybe Auth -> Name Owner -> Name Repo -> Id Release -> IO (Either Error Release)
release' :: Maybe Auth
-> Name Owner
-> Name Repo
-> Id Release
-> IO (Either Error Release)
release' auth :: Maybe Auth
auth user :: Name Owner
user repo :: Name Repo
repo reqReleaseId :: Id Release
reqReleaseId =
Maybe Auth
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO Release -> IO (Either Error Release))
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall a b. (a -> b) -> a -> b
$ Name Owner
-> Name Repo -> Id Release -> GenRequest 'MtJSON 'RO Release
forall (k :: RW).
Name Owner -> Name Repo -> Id Release -> Request k Release
releaseR Name Owner
user Name Repo
repo Id Release
reqReleaseId
releaseR :: Name Owner -> Name Repo -> Id Release -> Request k Release
releaseR :: Name Owner -> Name Repo -> Id Release -> Request k Release
releaseR user :: Name Owner
user repo :: Name Repo
repo reqReleaseId :: Id Release
reqReleaseId =
Paths -> QueryString -> Request k Release
forall (mt :: RW) a. Paths -> QueryString -> Request mt a
query ["repos", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user, Name Repo -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Repo
repo, "releases", Id Release -> Text
forall a. IsPathPart a => a -> Text
toPathPart Id Release
reqReleaseId ] []
latestRelease :: Name Owner -> Name Repo -> IO (Either Error Release)
latestRelease :: Name Owner -> Name Repo -> IO (Either Error Release)
latestRelease = Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Release)
latestRelease' Maybe Auth
forall a. Maybe a
Nothing
latestRelease' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Release)
latestRelease' :: Maybe Auth -> Name Owner -> Name Repo -> IO (Either Error Release)
latestRelease' auth :: Maybe Auth
auth user :: Name Owner
user repo :: Name Repo
repo =
Maybe Auth
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO Release -> IO (Either Error Release))
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall a b. (a -> b) -> a -> b
$ Name Owner -> Name Repo -> GenRequest 'MtJSON 'RO Release
forall (k :: RW). Name Owner -> Name Repo -> Request k Release
latestReleaseR Name Owner
user Name Repo
repo
latestReleaseR :: Name Owner -> Name Repo -> Request k Release
latestReleaseR :: Name Owner -> Name Repo -> Request k Release
latestReleaseR user :: Name Owner
user repo :: Name Repo
repo =
Paths -> QueryString -> Request k Release
forall (mt :: RW) a. Paths -> QueryString -> Request mt a
query ["repos", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user, Name Repo -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Repo
repo, "releases", "latest" ] []
releaseByTagName :: Name Owner -> Name Repo -> Text -> IO (Either Error Release)
releaseByTagName :: Name Owner -> Name Repo -> Text -> IO (Either Error Release)
releaseByTagName = Maybe Auth
-> Name Owner -> Name Repo -> Text -> IO (Either Error Release)
releaseByTagName' Maybe Auth
forall a. Maybe a
Nothing
releaseByTagName' :: Maybe Auth -> Name Owner -> Name Repo -> Text -> IO (Either Error Release)
releaseByTagName' :: Maybe Auth
-> Name Owner -> Name Repo -> Text -> IO (Either Error Release)
releaseByTagName' auth :: Maybe Auth
auth user :: Name Owner
user repo :: Name Repo
repo reqTagName :: Text
reqTagName =
Maybe Auth
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall am (mt :: MediaType *) a.
(AuthMethod am, ParseResponse mt a) =>
Maybe am -> GenRequest mt 'RO a -> IO (Either Error a)
executeRequestMaybe Maybe Auth
auth (GenRequest 'MtJSON 'RO Release -> IO (Either Error Release))
-> GenRequest 'MtJSON 'RO Release -> IO (Either Error Release)
forall a b. (a -> b) -> a -> b
$ Name Owner -> Name Repo -> Text -> GenRequest 'MtJSON 'RO Release
forall (k :: RW).
Name Owner -> Name Repo -> Text -> Request k Release
releaseByTagNameR Name Owner
user Name Repo
repo Text
reqTagName
releaseByTagNameR :: Name Owner -> Name Repo -> Text -> Request k Release
releaseByTagNameR :: Name Owner -> Name Repo -> Text -> Request k Release
releaseByTagNameR user :: Name Owner
user repo :: Name Repo
repo reqTagName :: Text
reqTagName =
Paths -> QueryString -> Request k Release
forall (mt :: RW) a. Paths -> QueryString -> Request mt a
query ["repos", Name Owner -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Owner
user, Name Repo -> Text
forall a. IsPathPart a => a -> Text
toPathPart Name Repo
repo, "releases", "tags" , Text
reqTagName ] []