-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
{-# LANGUAGE OverloadedStrings #-}

-- | Contains all supported security schemes defined in the specification
module RecurlyClient.SecuritySchemes where

import qualified Data.Text as Data.Text.Internal
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Show
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Simple
import qualified RecurlyClient.Common

-- | Used to pass the authentication information for BasicAuthentication to 'basicAuthenticationSecurityScheme'.
data BasicAuthenticationData = BasicAuthenticationData
    { BasicAuthenticationData -> Text
basicAuthenticationDataUsername :: Data.Text.Internal.Text
    , BasicAuthenticationData -> Text
basicAuthenticationDataPassword :: Data.Text.Internal.Text
    }
    deriving (Int -> BasicAuthenticationData -> ShowS
[BasicAuthenticationData] -> ShowS
BasicAuthenticationData -> String
(Int -> BasicAuthenticationData -> ShowS)
-> (BasicAuthenticationData -> String)
-> ([BasicAuthenticationData] -> ShowS)
-> Show BasicAuthenticationData
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> BasicAuthenticationData -> ShowS
showsPrec :: Int -> BasicAuthenticationData -> ShowS
$cshow :: BasicAuthenticationData -> String
show :: BasicAuthenticationData -> String
$cshowList :: [BasicAuthenticationData] -> ShowS
showList :: [BasicAuthenticationData] -> ShowS
GHC.Show.Show, Eq BasicAuthenticationData
Eq BasicAuthenticationData =>
(BasicAuthenticationData -> BasicAuthenticationData -> Ordering)
-> (BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> (BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> (BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> (BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> (BasicAuthenticationData
    -> BasicAuthenticationData -> BasicAuthenticationData)
-> (BasicAuthenticationData
    -> BasicAuthenticationData -> BasicAuthenticationData)
-> Ord BasicAuthenticationData
BasicAuthenticationData -> BasicAuthenticationData -> Bool
BasicAuthenticationData -> BasicAuthenticationData -> Ordering
BasicAuthenticationData
-> BasicAuthenticationData -> BasicAuthenticationData
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: BasicAuthenticationData -> BasicAuthenticationData -> Ordering
compare :: BasicAuthenticationData -> BasicAuthenticationData -> Ordering
$c< :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
< :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
$c<= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
<= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
$c> :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
> :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
$c>= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
>= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
$cmax :: BasicAuthenticationData
-> BasicAuthenticationData -> BasicAuthenticationData
max :: BasicAuthenticationData
-> BasicAuthenticationData -> BasicAuthenticationData
$cmin :: BasicAuthenticationData
-> BasicAuthenticationData -> BasicAuthenticationData
min :: BasicAuthenticationData
-> BasicAuthenticationData -> BasicAuthenticationData
GHC.Classes.Ord, BasicAuthenticationData -> BasicAuthenticationData -> Bool
(BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> (BasicAuthenticationData -> BasicAuthenticationData -> Bool)
-> Eq BasicAuthenticationData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
== :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
$c/= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
/= :: BasicAuthenticationData -> BasicAuthenticationData -> Bool
GHC.Classes.Eq)

{- | Use this security scheme to use basic authentication for a request. Should be used in a 'RecurlyClient.Common.Configuration'.

Enter the API key as the username and set the password to an empty string. You can locate and manage your API keys from the [API Credentials](https:\/\/app.recurly.com\/go\/developer\/api_keys) page.

@
'RecurlyClient.Configuration.defaultConfiguration'
  { configSecurityScheme =
      'basicAuthenticationSecurityScheme' 'BasicAuthenticationData'
        { 'basicAuthenticationDataUsername' = "user",
          'basicAuthenticationDataPassword' = "pw"
        }
  }
@
-}
basicAuthenticationSecurityScheme ::
    BasicAuthenticationData ->
    RecurlyClient.Common.SecurityScheme
basicAuthenticationSecurityScheme :: BasicAuthenticationData -> SecurityScheme
basicAuthenticationSecurityScheme = \BasicAuthenticationData
basicAuth_0 -> ByteString -> ByteString -> SecurityScheme
Network.HTTP.Client.Request.applyBasicAuth (Text -> ByteString
RecurlyClient.Common.textToByte (Text -> ByteString) -> Text -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ BasicAuthenticationData -> Text
basicAuthenticationDataUsername BasicAuthenticationData
basicAuth_0) (Text -> ByteString
RecurlyClient.Common.textToByte (Text -> ByteString) -> Text -> ByteString
forall a b. (a -> b) -> a -> b
GHC.Base.$ BasicAuthenticationData -> Text
basicAuthenticationDataPassword BasicAuthenticationData
basicAuth_0)