-- | -- see : {-# LANGUAGE OverloadedStrings #-} module ChatWork.Endpoints.My ( getMyStatus , getMyTasks ) where import ChatWork.Client (Client (..)) import ChatWork.Types (ChatWorkResponse, GetMyTasksParams (..), MyStatus, MyTasks, ToReqParam (..), jsonResponse') import Data.Monoid ((<>)) import Network.HTTP.Req (GET (..), MonadHttp, NoReqBody (..), req, (/:)) getMyStatus :: (MonadHttp m, Client c) => c -> m (ChatWorkResponse MyStatus) getMyStatus c = req GET (baseUrl c /: "my" /: "status") NoReqBody jsonResponse' $ mkHeader c getMyTasks :: (MonadHttp m, Client c) => c -> GetMyTasksParams -> m (ChatWorkResponse MyTasks) getMyTasks c params = req GET (baseUrl c /: "my" /: "tasks") NoReqBody jsonResponse' $ mkHeader c <> params' where params' = toReqParam "assigned_by_account_id" (getMyTasksAssignedByAccountId params) <> toReqParam "status" (getMyTasksStatus params)