{-# 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.ListQualificationTypes
(
listQualificationTypes
, ListQualificationTypes
, lqtMustBeOwnedByCaller
, lqtNextToken
, lqtQuery
, lqtMaxResults
, lqtMustBeRequestable
, listQualificationTypesResponse
, ListQualificationTypesResponse
, lqtrsQualificationTypes
, lqtrsNextToken
, lqtrsNumResults
, lqtrsResponseStatus
) 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 ListQualificationTypes = ListQualificationTypes'
{ _lqtMustBeOwnedByCaller :: !(Maybe Bool)
, _lqtNextToken :: !(Maybe Text)
, _lqtQuery :: !(Maybe Text)
, _lqtMaxResults :: !(Maybe Nat)
, _lqtMustBeRequestable :: !Bool
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listQualificationTypes
:: Bool
-> ListQualificationTypes
listQualificationTypes pMustBeRequestable_ =
ListQualificationTypes'
{ _lqtMustBeOwnedByCaller = Nothing
, _lqtNextToken = Nothing
, _lqtQuery = Nothing
, _lqtMaxResults = Nothing
, _lqtMustBeRequestable = pMustBeRequestable_
}
lqtMustBeOwnedByCaller :: Lens' ListQualificationTypes (Maybe Bool)
lqtMustBeOwnedByCaller = lens _lqtMustBeOwnedByCaller (\ s a -> s{_lqtMustBeOwnedByCaller = a})
lqtNextToken :: Lens' ListQualificationTypes (Maybe Text)
lqtNextToken = lens _lqtNextToken (\ s a -> s{_lqtNextToken = a})
lqtQuery :: Lens' ListQualificationTypes (Maybe Text)
lqtQuery = lens _lqtQuery (\ s a -> s{_lqtQuery = a})
lqtMaxResults :: Lens' ListQualificationTypes (Maybe Natural)
lqtMaxResults = lens _lqtMaxResults (\ s a -> s{_lqtMaxResults = a}) . mapping _Nat
lqtMustBeRequestable :: Lens' ListQualificationTypes Bool
lqtMustBeRequestable = lens _lqtMustBeRequestable (\ s a -> s{_lqtMustBeRequestable = a})
instance AWSPager ListQualificationTypes where
page rq rs
| stop (rs ^. lqtrsNextToken) = Nothing
| stop (rs ^. lqtrsQualificationTypes) = Nothing
| otherwise =
Just $ rq & lqtNextToken .~ rs ^. lqtrsNextToken
instance AWSRequest ListQualificationTypes where
type Rs ListQualificationTypes =
ListQualificationTypesResponse
request = postJSON mechanicalTurk
response
= receiveJSON
(\ s h x ->
ListQualificationTypesResponse' <$>
(x .?> "QualificationTypes" .!@ mempty) <*>
(x .?> "NextToken")
<*> (x .?> "NumResults")
<*> (pure (fromEnum s)))
instance Hashable ListQualificationTypes where
instance NFData ListQualificationTypes where
instance ToHeaders ListQualificationTypes where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("MTurkRequesterServiceV20170117.ListQualificationTypes"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListQualificationTypes where
toJSON ListQualificationTypes'{..}
= object
(catMaybes
[("MustBeOwnedByCaller" .=) <$>
_lqtMustBeOwnedByCaller,
("NextToken" .=) <$> _lqtNextToken,
("Query" .=) <$> _lqtQuery,
("MaxResults" .=) <$> _lqtMaxResults,
Just ("MustBeRequestable" .= _lqtMustBeRequestable)])
instance ToPath ListQualificationTypes where
toPath = const "/"
instance ToQuery ListQualificationTypes where
toQuery = const mempty
data ListQualificationTypesResponse = ListQualificationTypesResponse'
{ _lqtrsQualificationTypes :: !(Maybe [QualificationType])
, _lqtrsNextToken :: !(Maybe Text)
, _lqtrsNumResults :: !(Maybe Int)
, _lqtrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listQualificationTypesResponse
:: Int
-> ListQualificationTypesResponse
listQualificationTypesResponse pResponseStatus_ =
ListQualificationTypesResponse'
{ _lqtrsQualificationTypes = Nothing
, _lqtrsNextToken = Nothing
, _lqtrsNumResults = Nothing
, _lqtrsResponseStatus = pResponseStatus_
}
lqtrsQualificationTypes :: Lens' ListQualificationTypesResponse [QualificationType]
lqtrsQualificationTypes = lens _lqtrsQualificationTypes (\ s a -> s{_lqtrsQualificationTypes = a}) . _Default . _Coerce
lqtrsNextToken :: Lens' ListQualificationTypesResponse (Maybe Text)
lqtrsNextToken = lens _lqtrsNextToken (\ s a -> s{_lqtrsNextToken = a})
lqtrsNumResults :: Lens' ListQualificationTypesResponse (Maybe Int)
lqtrsNumResults = lens _lqtrsNumResults (\ s a -> s{_lqtrsNumResults = a})
lqtrsResponseStatus :: Lens' ListQualificationTypesResponse Int
lqtrsResponseStatus = lens _lqtrsResponseStatus (\ s a -> s{_lqtrsResponseStatus = a})
instance NFData ListQualificationTypesResponse where