{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module GitLab.API.Discussions where
import Data.Text (Text)
import qualified Data.Text as T
import GitLab.Types
import GitLab.WebRequests.GitLabWebCalls
import Network.HTTP.Types.Status
commitDiscussions ::
Project ->
Text ->
GitLab (Either Status [Discussion])
commitDiscussions :: Project -> Text -> GitLab (Either Status [Discussion])
commitDiscussions Project
proj = Int -> Text -> GitLab (Either Status [Discussion])
commitDiscussions' (Project -> Int
project_id Project
proj)
commitDiscussions' ::
Int ->
Text ->
GitLab (Either Status [Discussion])
commitDiscussions' :: Int -> Text -> GitLab (Either Status [Discussion])
commitDiscussions' Int
projId Text
commitHash = do
let urlPath :: Text
urlPath =
String -> Text
T.pack (String -> Text) -> String -> Text
forall a b. (a -> b) -> a -> b
$
String
"/projects/"
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Int -> String
forall a. Show a => a -> String
show Int
projId
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"/repository"
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"/commits/"
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> Text -> String
T.unpack Text
commitHash
String -> String -> String
forall a. Semigroup a => a -> a -> a
<> String
"/discussions"
Text -> GitLab (Either Status [Discussion])
forall a. FromJSON a => Text -> GitLab (Either Status [a])
gitlab Text
urlPath