chatwork-0.1.3.0: src/ChatWork/Endpoints/IncomingRequests.hs
-- |
-- see : <http://developer.chatwork.com/ja/endpoint_incoming_requests.html>
{-# LANGUAGE OverloadedStrings #-}
module ChatWork.Endpoints.IncomingRequests
( getIncomingRequests
, acceptIncomingRequest
, rejectIncomingRequest
) where
import ChatWork.Client (Client (..))
import ChatWork.Types (AcceptedIncomingRequest, ChatWorkResponse,
IncomingRequests, jsonResponse')
import Network.HTTP.Req (DELETE (..), GET (..), MonadHttp,
NoReqBody (..), PUT (..), req, (/:), (/~))
getIncomingRequests :: (MonadHttp m, Client c) => c -> m (ChatWorkResponse IncomingRequests)
getIncomingRequests c = req GET (baseUrl c /: "incoming_requests") NoReqBody jsonResponse' $ mkHeader c
-- |
-- argument 'Int' is `request_id`
acceptIncomingRequest :: (MonadHttp m, Client c) => c -> Int -> m (ChatWorkResponse AcceptedIncomingRequest)
acceptIncomingRequest c n = req PUT (baseUrl c /: "incoming_requests" /~ n ) NoReqBody jsonResponse' $ mkHeader c
-- |
-- argument 'Int' is `request_id`
rejectIncomingRequest :: (MonadHttp m, Client c) => c -> Int -> m (ChatWorkResponse ())
rejectIncomingRequest c n = req DELETE (baseUrl c /: "incoming_requests" /~ n) NoReqBody jsonResponse' $ mkHeader c