{-# 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 #-}
module Amazonka.AmplifyBackend.CreateToken
(
CreateToken (..),
newCreateToken,
createToken_appId,
CreateTokenResponse (..),
newCreateTokenResponse,
createTokenResponse_appId,
createTokenResponse_challengeCode,
createTokenResponse_sessionId,
createTokenResponse_ttl,
createTokenResponse_httpStatus,
)
where
import Amazonka.AmplifyBackend.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateToken = CreateToken'
{
CreateToken -> Text
appId :: Prelude.Text
}
deriving (CreateToken -> CreateToken -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateToken -> CreateToken -> Bool
$c/= :: CreateToken -> CreateToken -> Bool
== :: CreateToken -> CreateToken -> Bool
$c== :: CreateToken -> CreateToken -> Bool
Prelude.Eq, ReadPrec [CreateToken]
ReadPrec CreateToken
Int -> ReadS CreateToken
ReadS [CreateToken]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateToken]
$creadListPrec :: ReadPrec [CreateToken]
readPrec :: ReadPrec CreateToken
$creadPrec :: ReadPrec CreateToken
readList :: ReadS [CreateToken]
$creadList :: ReadS [CreateToken]
readsPrec :: Int -> ReadS CreateToken
$creadsPrec :: Int -> ReadS CreateToken
Prelude.Read, Int -> CreateToken -> ShowS
[CreateToken] -> ShowS
CreateToken -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateToken] -> ShowS
$cshowList :: [CreateToken] -> ShowS
show :: CreateToken -> String
$cshow :: CreateToken -> String
showsPrec :: Int -> CreateToken -> ShowS
$cshowsPrec :: Int -> CreateToken -> ShowS
Prelude.Show, forall x. Rep CreateToken x -> CreateToken
forall x. CreateToken -> Rep CreateToken x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateToken x -> CreateToken
$cfrom :: forall x. CreateToken -> Rep CreateToken x
Prelude.Generic)
newCreateToken ::
Prelude.Text ->
CreateToken
newCreateToken :: Text -> CreateToken
newCreateToken Text
pAppId_ =
CreateToken' {$sel:appId:CreateToken' :: Text
appId = Text
pAppId_}
createToken_appId :: Lens.Lens' CreateToken Prelude.Text
createToken_appId :: Lens' CreateToken Text
createToken_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateToken' {Text
appId :: Text
$sel:appId:CreateToken' :: CreateToken -> Text
appId} -> Text
appId) (\s :: CreateToken
s@CreateToken' {} Text
a -> CreateToken
s {$sel:appId:CreateToken' :: Text
appId = Text
a} :: CreateToken)
instance Core.AWSRequest CreateToken where
type AWSResponse CreateToken = CreateTokenResponse
request :: (Service -> Service) -> CreateToken -> Request CreateToken
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 CreateToken
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateToken)))
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 Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Int
-> CreateTokenResponse
CreateTokenResponse'
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
"appId")
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
"challengeCode")
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
"sessionId")
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
"ttl")
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 CreateToken where
hashWithSalt :: Int -> CreateToken -> Int
hashWithSalt Int
_salt CreateToken' {Text
appId :: Text
$sel:appId:CreateToken' :: CreateToken -> Text
..} =
Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
appId
instance Prelude.NFData CreateToken where
rnf :: CreateToken -> ()
rnf CreateToken' {Text
appId :: Text
$sel:appId:CreateToken' :: CreateToken -> Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Text
appId
instance Data.ToHeaders CreateToken where
toHeaders :: CreateToken -> ResponseHeaders
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateToken where
toJSON :: CreateToken -> Value
toJSON = forall a b. a -> b -> a
Prelude.const (Object -> Value
Data.Object forall a. Monoid a => a
Prelude.mempty)
instance Data.ToPath CreateToken where
toPath :: CreateToken -> ByteString
toPath CreateToken' {Text
appId :: Text
$sel:appId:CreateToken' :: CreateToken -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ByteString
"/backend/", forall a. ToByteString a => a -> ByteString
Data.toBS Text
appId, ByteString
"/challenge"]
instance Data.ToQuery CreateToken where
toQuery :: CreateToken -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateTokenResponse = CreateTokenResponse'
{
CreateTokenResponse -> Maybe Text
appId :: Prelude.Maybe Prelude.Text,
CreateTokenResponse -> Maybe Text
challengeCode :: Prelude.Maybe Prelude.Text,
CreateTokenResponse -> Maybe Text
sessionId :: Prelude.Maybe Prelude.Text,
CreateTokenResponse -> Maybe Text
ttl :: Prelude.Maybe Prelude.Text,
CreateTokenResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateTokenResponse -> CreateTokenResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateTokenResponse -> CreateTokenResponse -> Bool
$c/= :: CreateTokenResponse -> CreateTokenResponse -> Bool
== :: CreateTokenResponse -> CreateTokenResponse -> Bool
$c== :: CreateTokenResponse -> CreateTokenResponse -> Bool
Prelude.Eq, ReadPrec [CreateTokenResponse]
ReadPrec CreateTokenResponse
Int -> ReadS CreateTokenResponse
ReadS [CreateTokenResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateTokenResponse]
$creadListPrec :: ReadPrec [CreateTokenResponse]
readPrec :: ReadPrec CreateTokenResponse
$creadPrec :: ReadPrec CreateTokenResponse
readList :: ReadS [CreateTokenResponse]
$creadList :: ReadS [CreateTokenResponse]
readsPrec :: Int -> ReadS CreateTokenResponse
$creadsPrec :: Int -> ReadS CreateTokenResponse
Prelude.Read, Int -> CreateTokenResponse -> ShowS
[CreateTokenResponse] -> ShowS
CreateTokenResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateTokenResponse] -> ShowS
$cshowList :: [CreateTokenResponse] -> ShowS
show :: CreateTokenResponse -> String
$cshow :: CreateTokenResponse -> String
showsPrec :: Int -> CreateTokenResponse -> ShowS
$cshowsPrec :: Int -> CreateTokenResponse -> ShowS
Prelude.Show, forall x. Rep CreateTokenResponse x -> CreateTokenResponse
forall x. CreateTokenResponse -> Rep CreateTokenResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateTokenResponse x -> CreateTokenResponse
$cfrom :: forall x. CreateTokenResponse -> Rep CreateTokenResponse x
Prelude.Generic)
newCreateTokenResponse ::
Prelude.Int ->
CreateTokenResponse
newCreateTokenResponse :: Int -> CreateTokenResponse
newCreateTokenResponse Int
pHttpStatus_ =
CreateTokenResponse'
{ $sel:appId:CreateTokenResponse' :: Maybe Text
appId = forall a. Maybe a
Prelude.Nothing,
$sel:challengeCode:CreateTokenResponse' :: Maybe Text
challengeCode = forall a. Maybe a
Prelude.Nothing,
$sel:sessionId:CreateTokenResponse' :: Maybe Text
sessionId = forall a. Maybe a
Prelude.Nothing,
$sel:ttl:CreateTokenResponse' :: Maybe Text
ttl = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateTokenResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createTokenResponse_appId :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)
createTokenResponse_appId :: Lens' CreateTokenResponse (Maybe Text)
createTokenResponse_appId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTokenResponse' {Maybe Text
appId :: Maybe Text
$sel:appId:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
appId} -> Maybe Text
appId) (\s :: CreateTokenResponse
s@CreateTokenResponse' {} Maybe Text
a -> CreateTokenResponse
s {$sel:appId:CreateTokenResponse' :: Maybe Text
appId = Maybe Text
a} :: CreateTokenResponse)
createTokenResponse_challengeCode :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)
createTokenResponse_challengeCode :: Lens' CreateTokenResponse (Maybe Text)
createTokenResponse_challengeCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTokenResponse' {Maybe Text
challengeCode :: Maybe Text
$sel:challengeCode:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
challengeCode} -> Maybe Text
challengeCode) (\s :: CreateTokenResponse
s@CreateTokenResponse' {} Maybe Text
a -> CreateTokenResponse
s {$sel:challengeCode:CreateTokenResponse' :: Maybe Text
challengeCode = Maybe Text
a} :: CreateTokenResponse)
createTokenResponse_sessionId :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)
createTokenResponse_sessionId :: Lens' CreateTokenResponse (Maybe Text)
createTokenResponse_sessionId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTokenResponse' {Maybe Text
sessionId :: Maybe Text
$sel:sessionId:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
sessionId} -> Maybe Text
sessionId) (\s :: CreateTokenResponse
s@CreateTokenResponse' {} Maybe Text
a -> CreateTokenResponse
s {$sel:sessionId:CreateTokenResponse' :: Maybe Text
sessionId = Maybe Text
a} :: CreateTokenResponse)
createTokenResponse_ttl :: Lens.Lens' CreateTokenResponse (Prelude.Maybe Prelude.Text)
createTokenResponse_ttl :: Lens' CreateTokenResponse (Maybe Text)
createTokenResponse_ttl = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTokenResponse' {Maybe Text
ttl :: Maybe Text
$sel:ttl:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
ttl} -> Maybe Text
ttl) (\s :: CreateTokenResponse
s@CreateTokenResponse' {} Maybe Text
a -> CreateTokenResponse
s {$sel:ttl:CreateTokenResponse' :: Maybe Text
ttl = Maybe Text
a} :: CreateTokenResponse)
createTokenResponse_httpStatus :: Lens.Lens' CreateTokenResponse Prelude.Int
createTokenResponse_httpStatus :: Lens' CreateTokenResponse Int
createTokenResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateTokenResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateTokenResponse' :: CreateTokenResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateTokenResponse
s@CreateTokenResponse' {} Int
a -> CreateTokenResponse
s {$sel:httpStatus:CreateTokenResponse' :: Int
httpStatus = Int
a} :: CreateTokenResponse)
instance Prelude.NFData CreateTokenResponse where
rnf :: CreateTokenResponse -> ()
rnf CreateTokenResponse' {Int
Maybe Text
httpStatus :: Int
ttl :: Maybe Text
sessionId :: Maybe Text
challengeCode :: Maybe Text
appId :: Maybe Text
$sel:httpStatus:CreateTokenResponse' :: CreateTokenResponse -> Int
$sel:ttl:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
$sel:sessionId:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
$sel:challengeCode:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
$sel:appId:CreateTokenResponse' :: CreateTokenResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
appId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
challengeCode
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
sessionId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
ttl
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus