{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.MechanicalTurk.ListAssignmentsForHIT
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- The @ListAssignmentsForHIT@ operation retrieves completed assignments
-- for a HIT. You can use this operation to retrieve the results for a HIT.
--
-- You can get assignments for a HIT at any time, even if the HIT is not
-- yet Reviewable. If a HIT requested multiple assignments, and has
-- received some results but has not yet become Reviewable, you can still
-- retrieve the partial results with this operation.
--
-- Use the AssignmentStatus parameter to control which set of assignments
-- for a HIT are returned. The ListAssignmentsForHIT operation can return
-- submitted assignments awaiting approval, or it can return assignments
-- that have already been approved or rejected. You can set
-- AssignmentStatus=Approved,Rejected to get assignments that have already
-- been approved and rejected together in one result set.
--
-- Only the Requester who created the HIT can retrieve the assignments for
-- that HIT.
--
-- Results are sorted and divided into numbered pages and the operation
-- returns a single page of results. You can use the parameters of the
-- operation to control sorting and pagination.
--
-- This operation returns paginated results.
module Amazonka.MechanicalTurk.ListAssignmentsForHIT
  ( -- * Creating a Request
    ListAssignmentsForHIT (..),
    newListAssignmentsForHIT,

    -- * Request Lenses
    listAssignmentsForHIT_assignmentStatuses,
    listAssignmentsForHIT_maxResults,
    listAssignmentsForHIT_nextToken,
    listAssignmentsForHIT_hITId,

    -- * Destructuring the Response
    ListAssignmentsForHITResponse (..),
    newListAssignmentsForHITResponse,

    -- * Response Lenses
    listAssignmentsForHITResponse_assignments,
    listAssignmentsForHITResponse_nextToken,
    listAssignmentsForHITResponse_numResults,
    listAssignmentsForHITResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MechanicalTurk.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | /See:/ 'newListAssignmentsForHIT' smart constructor.
data ListAssignmentsForHIT = ListAssignmentsForHIT'
  { -- | The status of the assignments to return: Submitted | Approved | Rejected
    ListAssignmentsForHIT -> Maybe [AssignmentStatus]
assignmentStatuses :: Prelude.Maybe [AssignmentStatus],
    ListAssignmentsForHIT -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
    -- | Pagination token
    ListAssignmentsForHIT -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The ID of the HIT.
    ListAssignmentsForHIT -> Text
hITId :: Prelude.Text
  }
  deriving (ListAssignmentsForHIT -> ListAssignmentsForHIT -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAssignmentsForHIT -> ListAssignmentsForHIT -> Bool
$c/= :: ListAssignmentsForHIT -> ListAssignmentsForHIT -> Bool
== :: ListAssignmentsForHIT -> ListAssignmentsForHIT -> Bool
$c== :: ListAssignmentsForHIT -> ListAssignmentsForHIT -> Bool
Prelude.Eq, ReadPrec [ListAssignmentsForHIT]
ReadPrec ListAssignmentsForHIT
Int -> ReadS ListAssignmentsForHIT
ReadS [ListAssignmentsForHIT]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAssignmentsForHIT]
$creadListPrec :: ReadPrec [ListAssignmentsForHIT]
readPrec :: ReadPrec ListAssignmentsForHIT
$creadPrec :: ReadPrec ListAssignmentsForHIT
readList :: ReadS [ListAssignmentsForHIT]
$creadList :: ReadS [ListAssignmentsForHIT]
readsPrec :: Int -> ReadS ListAssignmentsForHIT
$creadsPrec :: Int -> ReadS ListAssignmentsForHIT
Prelude.Read, Int -> ListAssignmentsForHIT -> ShowS
[ListAssignmentsForHIT] -> ShowS
ListAssignmentsForHIT -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAssignmentsForHIT] -> ShowS
$cshowList :: [ListAssignmentsForHIT] -> ShowS
show :: ListAssignmentsForHIT -> String
$cshow :: ListAssignmentsForHIT -> String
showsPrec :: Int -> ListAssignmentsForHIT -> ShowS
$cshowsPrec :: Int -> ListAssignmentsForHIT -> ShowS
Prelude.Show, forall x. Rep ListAssignmentsForHIT x -> ListAssignmentsForHIT
forall x. ListAssignmentsForHIT -> Rep ListAssignmentsForHIT x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ListAssignmentsForHIT x -> ListAssignmentsForHIT
$cfrom :: forall x. ListAssignmentsForHIT -> Rep ListAssignmentsForHIT x
Prelude.Generic)

-- |
-- Create a value of 'ListAssignmentsForHIT' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'assignmentStatuses', 'listAssignmentsForHIT_assignmentStatuses' - The status of the assignments to return: Submitted | Approved | Rejected
--
-- 'maxResults', 'listAssignmentsForHIT_maxResults' - Undocumented member.
--
-- 'nextToken', 'listAssignmentsForHIT_nextToken' - Pagination token
--
-- 'hITId', 'listAssignmentsForHIT_hITId' - The ID of the HIT.
newListAssignmentsForHIT ::
  -- | 'hITId'
  Prelude.Text ->
  ListAssignmentsForHIT
newListAssignmentsForHIT :: Text -> ListAssignmentsForHIT
newListAssignmentsForHIT Text
pHITId_ =
  ListAssignmentsForHIT'
    { $sel:assignmentStatuses:ListAssignmentsForHIT' :: Maybe [AssignmentStatus]
assignmentStatuses =
        forall a. Maybe a
Prelude.Nothing,
      $sel:maxResults:ListAssignmentsForHIT' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListAssignmentsForHIT' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:hITId:ListAssignmentsForHIT' :: Text
hITId = Text
pHITId_
    }

-- | The status of the assignments to return: Submitted | Approved | Rejected
listAssignmentsForHIT_assignmentStatuses :: Lens.Lens' ListAssignmentsForHIT (Prelude.Maybe [AssignmentStatus])
listAssignmentsForHIT_assignmentStatuses :: Lens' ListAssignmentsForHIT (Maybe [AssignmentStatus])
listAssignmentsForHIT_assignmentStatuses = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHIT' {Maybe [AssignmentStatus]
assignmentStatuses :: Maybe [AssignmentStatus]
$sel:assignmentStatuses:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe [AssignmentStatus]
assignmentStatuses} -> Maybe [AssignmentStatus]
assignmentStatuses) (\s :: ListAssignmentsForHIT
s@ListAssignmentsForHIT' {} Maybe [AssignmentStatus]
a -> ListAssignmentsForHIT
s {$sel:assignmentStatuses:ListAssignmentsForHIT' :: Maybe [AssignmentStatus]
assignmentStatuses = Maybe [AssignmentStatus]
a} :: ListAssignmentsForHIT) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
listAssignmentsForHIT_maxResults :: Lens.Lens' ListAssignmentsForHIT (Prelude.Maybe Prelude.Natural)
listAssignmentsForHIT_maxResults :: Lens' ListAssignmentsForHIT (Maybe Natural)
listAssignmentsForHIT_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHIT' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: ListAssignmentsForHIT
s@ListAssignmentsForHIT' {} Maybe Natural
a -> ListAssignmentsForHIT
s {$sel:maxResults:ListAssignmentsForHIT' :: Maybe Natural
maxResults = Maybe Natural
a} :: ListAssignmentsForHIT)

-- | Pagination token
listAssignmentsForHIT_nextToken :: Lens.Lens' ListAssignmentsForHIT (Prelude.Maybe Prelude.Text)
listAssignmentsForHIT_nextToken :: Lens' ListAssignmentsForHIT (Maybe Text)
listAssignmentsForHIT_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHIT' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListAssignmentsForHIT
s@ListAssignmentsForHIT' {} Maybe Text
a -> ListAssignmentsForHIT
s {$sel:nextToken:ListAssignmentsForHIT' :: Maybe Text
nextToken = Maybe Text
a} :: ListAssignmentsForHIT)

-- | The ID of the HIT.
listAssignmentsForHIT_hITId :: Lens.Lens' ListAssignmentsForHIT Prelude.Text
listAssignmentsForHIT_hITId :: Lens' ListAssignmentsForHIT Text
listAssignmentsForHIT_hITId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHIT' {Text
hITId :: Text
$sel:hITId:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Text
hITId} -> Text
hITId) (\s :: ListAssignmentsForHIT
s@ListAssignmentsForHIT' {} Text
a -> ListAssignmentsForHIT
s {$sel:hITId:ListAssignmentsForHIT' :: Text
hITId = Text
a} :: ListAssignmentsForHIT)

instance Core.AWSPager ListAssignmentsForHIT where
  page :: ListAssignmentsForHIT
-> AWSResponse ListAssignmentsForHIT -> Maybe ListAssignmentsForHIT
page ListAssignmentsForHIT
rq AWSResponse ListAssignmentsForHIT
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListAssignmentsForHIT
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssignmentsForHITResponse (Maybe Text)
listAssignmentsForHITResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse ListAssignmentsForHIT
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssignmentsForHITResponse (Maybe [Assignment])
listAssignmentsForHITResponse_assignments
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ ListAssignmentsForHIT
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' ListAssignmentsForHIT (Maybe Text)
listAssignmentsForHIT_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse ListAssignmentsForHIT
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' ListAssignmentsForHITResponse (Maybe Text)
listAssignmentsForHITResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest ListAssignmentsForHIT where
  type
    AWSResponse ListAssignmentsForHIT =
      ListAssignmentsForHITResponse
  request :: (Service -> Service)
-> ListAssignmentsForHIT -> Request ListAssignmentsForHIT
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy ListAssignmentsForHIT
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse ListAssignmentsForHIT)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe [Assignment]
-> Maybe Text -> Maybe Int -> Int -> ListAssignmentsForHITResponse
ListAssignmentsForHITResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Assignments" forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty)
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NextToken")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"NumResults")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable ListAssignmentsForHIT where
  hashWithSalt :: Int -> ListAssignmentsForHIT -> Int
hashWithSalt Int
_salt ListAssignmentsForHIT' {Maybe Natural
Maybe [AssignmentStatus]
Maybe Text
Text
hITId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
assignmentStatuses :: Maybe [AssignmentStatus]
$sel:hITId:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Text
$sel:nextToken:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Text
$sel:maxResults:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Natural
$sel:assignmentStatuses:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe [AssignmentStatus]
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [AssignmentStatus]
assignmentStatuses
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
hITId

instance Prelude.NFData ListAssignmentsForHIT where
  rnf :: ListAssignmentsForHIT -> ()
rnf ListAssignmentsForHIT' {Maybe Natural
Maybe [AssignmentStatus]
Maybe Text
Text
hITId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
assignmentStatuses :: Maybe [AssignmentStatus]
$sel:hITId:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Text
$sel:nextToken:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Text
$sel:maxResults:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Natural
$sel:assignmentStatuses:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe [AssignmentStatus]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [AssignmentStatus]
assignmentStatuses
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
hITId

instance Data.ToHeaders ListAssignmentsForHIT where
  toHeaders :: ListAssignmentsForHIT -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"MTurkRequesterServiceV20170117.ListAssignmentsForHIT" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON ListAssignmentsForHIT where
  toJSON :: ListAssignmentsForHIT -> Value
toJSON ListAssignmentsForHIT' {Maybe Natural
Maybe [AssignmentStatus]
Maybe Text
Text
hITId :: Text
nextToken :: Maybe Text
maxResults :: Maybe Natural
assignmentStatuses :: Maybe [AssignmentStatus]
$sel:hITId:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Text
$sel:nextToken:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Text
$sel:maxResults:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe Natural
$sel:assignmentStatuses:ListAssignmentsForHIT' :: ListAssignmentsForHIT -> Maybe [AssignmentStatus]
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Key
"AssignmentStatuses" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
              forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [AssignmentStatus]
assignmentStatuses,
            (Key
"MaxResults" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Natural
maxResults,
            (Key
"NextToken" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=) forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
nextToken,
            forall a. a -> Maybe a
Prelude.Just (Key
"HITId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
hITId)
          ]
      )

instance Data.ToPath ListAssignmentsForHIT where
  toPath :: ListAssignmentsForHIT -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery ListAssignmentsForHIT where
  toQuery :: ListAssignmentsForHIT -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newListAssignmentsForHITResponse' smart constructor.
data ListAssignmentsForHITResponse = ListAssignmentsForHITResponse'
  { -- | The collection of Assignment data structures returned by this call.
    ListAssignmentsForHITResponse -> Maybe [Assignment]
assignments :: Prelude.Maybe [Assignment],
    ListAssignmentsForHITResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The number of assignments on the page in the filtered results list,
    -- equivalent to the number of assignments returned by this call.
    ListAssignmentsForHITResponse -> Maybe Int
numResults :: Prelude.Maybe Prelude.Int,
    -- | The response's http status code.
    ListAssignmentsForHITResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (ListAssignmentsForHITResponse
-> ListAssignmentsForHITResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ListAssignmentsForHITResponse
-> ListAssignmentsForHITResponse -> Bool
$c/= :: ListAssignmentsForHITResponse
-> ListAssignmentsForHITResponse -> Bool
== :: ListAssignmentsForHITResponse
-> ListAssignmentsForHITResponse -> Bool
$c== :: ListAssignmentsForHITResponse
-> ListAssignmentsForHITResponse -> Bool
Prelude.Eq, ReadPrec [ListAssignmentsForHITResponse]
ReadPrec ListAssignmentsForHITResponse
Int -> ReadS ListAssignmentsForHITResponse
ReadS [ListAssignmentsForHITResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ListAssignmentsForHITResponse]
$creadListPrec :: ReadPrec [ListAssignmentsForHITResponse]
readPrec :: ReadPrec ListAssignmentsForHITResponse
$creadPrec :: ReadPrec ListAssignmentsForHITResponse
readList :: ReadS [ListAssignmentsForHITResponse]
$creadList :: ReadS [ListAssignmentsForHITResponse]
readsPrec :: Int -> ReadS ListAssignmentsForHITResponse
$creadsPrec :: Int -> ReadS ListAssignmentsForHITResponse
Prelude.Read, Int -> ListAssignmentsForHITResponse -> ShowS
[ListAssignmentsForHITResponse] -> ShowS
ListAssignmentsForHITResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ListAssignmentsForHITResponse] -> ShowS
$cshowList :: [ListAssignmentsForHITResponse] -> ShowS
show :: ListAssignmentsForHITResponse -> String
$cshow :: ListAssignmentsForHITResponse -> String
showsPrec :: Int -> ListAssignmentsForHITResponse -> ShowS
$cshowsPrec :: Int -> ListAssignmentsForHITResponse -> ShowS
Prelude.Show, forall x.
Rep ListAssignmentsForHITResponse x
-> ListAssignmentsForHITResponse
forall x.
ListAssignmentsForHITResponse
-> Rep ListAssignmentsForHITResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep ListAssignmentsForHITResponse x
-> ListAssignmentsForHITResponse
$cfrom :: forall x.
ListAssignmentsForHITResponse
-> Rep ListAssignmentsForHITResponse x
Prelude.Generic)

-- |
-- Create a value of 'ListAssignmentsForHITResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'assignments', 'listAssignmentsForHITResponse_assignments' - The collection of Assignment data structures returned by this call.
--
-- 'nextToken', 'listAssignmentsForHITResponse_nextToken' - Undocumented member.
--
-- 'numResults', 'listAssignmentsForHITResponse_numResults' - The number of assignments on the page in the filtered results list,
-- equivalent to the number of assignments returned by this call.
--
-- 'httpStatus', 'listAssignmentsForHITResponse_httpStatus' - The response's http status code.
newListAssignmentsForHITResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  ListAssignmentsForHITResponse
newListAssignmentsForHITResponse :: Int -> ListAssignmentsForHITResponse
newListAssignmentsForHITResponse Int
pHttpStatus_ =
  ListAssignmentsForHITResponse'
    { $sel:assignments:ListAssignmentsForHITResponse' :: Maybe [Assignment]
assignments =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:ListAssignmentsForHITResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:numResults:ListAssignmentsForHITResponse' :: Maybe Int
numResults = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:ListAssignmentsForHITResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The collection of Assignment data structures returned by this call.
listAssignmentsForHITResponse_assignments :: Lens.Lens' ListAssignmentsForHITResponse (Prelude.Maybe [Assignment])
listAssignmentsForHITResponse_assignments :: Lens' ListAssignmentsForHITResponse (Maybe [Assignment])
listAssignmentsForHITResponse_assignments = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHITResponse' {Maybe [Assignment]
assignments :: Maybe [Assignment]
$sel:assignments:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe [Assignment]
assignments} -> Maybe [Assignment]
assignments) (\s :: ListAssignmentsForHITResponse
s@ListAssignmentsForHITResponse' {} Maybe [Assignment]
a -> ListAssignmentsForHITResponse
s {$sel:assignments:ListAssignmentsForHITResponse' :: Maybe [Assignment]
assignments = Maybe [Assignment]
a} :: ListAssignmentsForHITResponse) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Undocumented member.
listAssignmentsForHITResponse_nextToken :: Lens.Lens' ListAssignmentsForHITResponse (Prelude.Maybe Prelude.Text)
listAssignmentsForHITResponse_nextToken :: Lens' ListAssignmentsForHITResponse (Maybe Text)
listAssignmentsForHITResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHITResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: ListAssignmentsForHITResponse
s@ListAssignmentsForHITResponse' {} Maybe Text
a -> ListAssignmentsForHITResponse
s {$sel:nextToken:ListAssignmentsForHITResponse' :: Maybe Text
nextToken = Maybe Text
a} :: ListAssignmentsForHITResponse)

-- | The number of assignments on the page in the filtered results list,
-- equivalent to the number of assignments returned by this call.
listAssignmentsForHITResponse_numResults :: Lens.Lens' ListAssignmentsForHITResponse (Prelude.Maybe Prelude.Int)
listAssignmentsForHITResponse_numResults :: Lens' ListAssignmentsForHITResponse (Maybe Int)
listAssignmentsForHITResponse_numResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHITResponse' {Maybe Int
numResults :: Maybe Int
$sel:numResults:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe Int
numResults} -> Maybe Int
numResults) (\s :: ListAssignmentsForHITResponse
s@ListAssignmentsForHITResponse' {} Maybe Int
a -> ListAssignmentsForHITResponse
s {$sel:numResults:ListAssignmentsForHITResponse' :: Maybe Int
numResults = Maybe Int
a} :: ListAssignmentsForHITResponse)

-- | The response's http status code.
listAssignmentsForHITResponse_httpStatus :: Lens.Lens' ListAssignmentsForHITResponse Prelude.Int
listAssignmentsForHITResponse_httpStatus :: Lens' ListAssignmentsForHITResponse Int
listAssignmentsForHITResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ListAssignmentsForHITResponse' {Int
httpStatus :: Int
$sel:httpStatus:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: ListAssignmentsForHITResponse
s@ListAssignmentsForHITResponse' {} Int
a -> ListAssignmentsForHITResponse
s {$sel:httpStatus:ListAssignmentsForHITResponse' :: Int
httpStatus = Int
a} :: ListAssignmentsForHITResponse)

instance Prelude.NFData ListAssignmentsForHITResponse where
  rnf :: ListAssignmentsForHITResponse -> ()
rnf ListAssignmentsForHITResponse' {Int
Maybe Int
Maybe [Assignment]
Maybe Text
httpStatus :: Int
numResults :: Maybe Int
nextToken :: Maybe Text
assignments :: Maybe [Assignment]
$sel:httpStatus:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Int
$sel:numResults:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe Int
$sel:nextToken:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe Text
$sel:assignments:ListAssignmentsForHITResponse' :: ListAssignmentsForHITResponse -> Maybe [Assignment]
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe [Assignment]
assignments
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
numResults
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus