{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.MechanicalTurk.ListAssignmentsForHIT
(
listAssignmentsForHIT
, ListAssignmentsForHIT
, lafhitAssignmentStatuses
, lafhitNextToken
, lafhitMaxResults
, lafhitHITId
, listAssignmentsForHITResponse
, ListAssignmentsForHITResponse
, lafhitrsNextToken
, lafhitrsNumResults
, lafhitrsAssignments
, lafhitrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MechanicalTurk.Types
import Network.AWS.MechanicalTurk.Types.Product
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListAssignmentsForHIT = ListAssignmentsForHIT'
{ _lafhitAssignmentStatuses :: !(Maybe [AssignmentStatus])
, _lafhitNextToken :: !(Maybe Text)
, _lafhitMaxResults :: !(Maybe Nat)
, _lafhitHITId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAssignmentsForHIT
:: Text
-> ListAssignmentsForHIT
listAssignmentsForHIT pHITId_ =
ListAssignmentsForHIT'
{ _lafhitAssignmentStatuses = Nothing
, _lafhitNextToken = Nothing
, _lafhitMaxResults = Nothing
, _lafhitHITId = pHITId_
}
lafhitAssignmentStatuses :: Lens' ListAssignmentsForHIT [AssignmentStatus]
lafhitAssignmentStatuses = lens _lafhitAssignmentStatuses (\ s a -> s{_lafhitAssignmentStatuses = a}) . _Default . _Coerce
lafhitNextToken :: Lens' ListAssignmentsForHIT (Maybe Text)
lafhitNextToken = lens _lafhitNextToken (\ s a -> s{_lafhitNextToken = a})
lafhitMaxResults :: Lens' ListAssignmentsForHIT (Maybe Natural)
lafhitMaxResults = lens _lafhitMaxResults (\ s a -> s{_lafhitMaxResults = a}) . mapping _Nat
lafhitHITId :: Lens' ListAssignmentsForHIT Text
lafhitHITId = lens _lafhitHITId (\ s a -> s{_lafhitHITId = a})
instance AWSPager ListAssignmentsForHIT where
page rq rs
| stop (rs ^. lafhitrsNextToken) = Nothing
| stop (rs ^. lafhitrsAssignments) = Nothing
| otherwise =
Just $ rq &
lafhitNextToken .~ rs ^. lafhitrsNextToken
instance AWSRequest ListAssignmentsForHIT where
type Rs ListAssignmentsForHIT =
ListAssignmentsForHITResponse
request = postJSON mechanicalTurk
response
= receiveJSON
(\ s h x ->
ListAssignmentsForHITResponse' <$>
(x .?> "NextToken") <*> (x .?> "NumResults") <*>
(x .?> "Assignments" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListAssignmentsForHIT where
instance NFData ListAssignmentsForHIT where
instance ToHeaders ListAssignmentsForHIT where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("MTurkRequesterServiceV20170117.ListAssignmentsForHIT"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListAssignmentsForHIT where
toJSON ListAssignmentsForHIT'{..}
= object
(catMaybes
[("AssignmentStatuses" .=) <$>
_lafhitAssignmentStatuses,
("NextToken" .=) <$> _lafhitNextToken,
("MaxResults" .=) <$> _lafhitMaxResults,
Just ("HITId" .= _lafhitHITId)])
instance ToPath ListAssignmentsForHIT where
toPath = const "/"
instance ToQuery ListAssignmentsForHIT where
toQuery = const mempty
data ListAssignmentsForHITResponse = ListAssignmentsForHITResponse'
{ _lafhitrsNextToken :: !(Maybe Text)
, _lafhitrsNumResults :: !(Maybe Int)
, _lafhitrsAssignments :: !(Maybe [Assignment])
, _lafhitrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listAssignmentsForHITResponse
:: Int
-> ListAssignmentsForHITResponse
listAssignmentsForHITResponse pResponseStatus_ =
ListAssignmentsForHITResponse'
{ _lafhitrsNextToken = Nothing
, _lafhitrsNumResults = Nothing
, _lafhitrsAssignments = Nothing
, _lafhitrsResponseStatus = pResponseStatus_
}
lafhitrsNextToken :: Lens' ListAssignmentsForHITResponse (Maybe Text)
lafhitrsNextToken = lens _lafhitrsNextToken (\ s a -> s{_lafhitrsNextToken = a})
lafhitrsNumResults :: Lens' ListAssignmentsForHITResponse (Maybe Int)
lafhitrsNumResults = lens _lafhitrsNumResults (\ s a -> s{_lafhitrsNumResults = a})
lafhitrsAssignments :: Lens' ListAssignmentsForHITResponse [Assignment]
lafhitrsAssignments = lens _lafhitrsAssignments (\ s a -> s{_lafhitrsAssignments = a}) . _Default . _Coerce
lafhitrsResponseStatus :: Lens' ListAssignmentsForHITResponse Int
lafhitrsResponseStatus = lens _lafhitrsResponseStatus (\ s a -> s{_lafhitrsResponseStatus = a})
instance NFData ListAssignmentsForHITResponse where