{-# LANGUAGE ExplicitForAll #-}
{-# LANGUAGE MultiWayIf #-}
{-# LANGUAGE OverloadedStrings #-}
module StripeAPI.Operations.GetProducts where
import qualified Control.Monad.Fail
import qualified Control.Monad.Trans.Reader
import qualified Data.Aeson
import qualified Data.Aeson as Data.Aeson.Encoding.Internal
import qualified Data.Aeson as Data.Aeson.Types
import qualified Data.Aeson as Data.Aeson.Types.FromJSON
import qualified Data.Aeson as Data.Aeson.Types.Internal
import qualified Data.Aeson as Data.Aeson.Types.ToJSON
import qualified Data.ByteString.Char8
import qualified Data.ByteString.Char8 as Data.ByteString.Internal
import qualified Data.Either
import qualified Data.Functor
import qualified Data.Scientific
import qualified Data.Text
import qualified Data.Text.Internal
import qualified Data.Time.Calendar as Data.Time.Calendar.Days
import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
import qualified Data.Vector
import qualified GHC.Base
import qualified GHC.Classes
import qualified GHC.Int
import qualified GHC.Show
import qualified GHC.Types
import qualified Network.HTTP.Client
import qualified Network.HTTP.Client as Network.HTTP.Client.Request
import qualified Network.HTTP.Client as Network.HTTP.Client.Types
import qualified Network.HTTP.Simple
import qualified Network.HTTP.Types
import qualified Network.HTTP.Types as Network.HTTP.Types.Status
import qualified Network.HTTP.Types as Network.HTTP.Types.URI
import qualified StripeAPI.Common
import StripeAPI.Types
import qualified Prelude as GHC.Integer.Type
import qualified Prelude as GHC.Maybe
getProducts ::
forall m.
StripeAPI.Common.MonadHTTP m =>
GetProductsParameters ->
StripeAPI.Common.StripeT m (Network.HTTP.Client.Types.Response GetProductsResponse)
getProducts :: GetProductsParameters -> StripeT m (Response GetProductsResponse)
getProducts GetProductsParameters
parameters =
(Response ByteString -> Response GetProductsResponse)
-> StripeT m (Response ByteString)
-> StripeT m (Response GetProductsResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
( \Response ByteString
response_0 ->
(ByteString -> GetProductsResponse)
-> Response ByteString -> Response GetProductsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
GHC.Base.fmap
( (String -> GetProductsResponse)
-> (GetProductsResponse -> GetProductsResponse)
-> Either String GetProductsResponse
-> GetProductsResponse
forall a c b. (a -> c) -> (b -> c) -> Either a b -> c
Data.Either.either String -> GetProductsResponse
GetProductsResponseError GetProductsResponse -> GetProductsResponse
forall a. a -> a
GHC.Base.id
(Either String GetProductsResponse -> GetProductsResponse)
-> (ByteString -> Either String GetProductsResponse)
-> ByteString
-> GetProductsResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
GHC.Base.. ( \Response ByteString
response ByteString
body ->
if
| (\Status
status_1 -> Status -> Int
Network.HTTP.Types.Status.statusCode Status
status_1 Int -> Int -> Bool
forall a. Eq a => a -> a -> Bool
GHC.Classes.== Int
200) (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
GetProductsResponseBody200 -> GetProductsResponse
GetProductsResponse200
(GetProductsResponseBody200 -> GetProductsResponse)
-> Either String GetProductsResponseBody200
-> Either String GetProductsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String GetProductsResponseBody200
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
Data.Either.Either
GHC.Base.String
GetProductsResponseBody200
)
| Bool -> Status -> Bool
forall a b. a -> b -> a
GHC.Base.const Bool
GHC.Types.True (Response ByteString -> Status
forall body. Response body -> Status
Network.HTTP.Client.Types.responseStatus Response ByteString
response) ->
Error -> GetProductsResponse
GetProductsResponseDefault
(Error -> GetProductsResponse)
-> Either String Error -> Either String GetProductsResponse
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> ( ByteString -> Either String Error
forall a. FromJSON a => ByteString -> Either String a
Data.Aeson.eitherDecodeStrict ByteString
body ::
Data.Either.Either
GHC.Base.String
Error
)
| Bool
GHC.Base.otherwise -> String -> Either String GetProductsResponse
forall a b. a -> Either a b
Data.Either.Left String
"Missing default response type"
)
Response ByteString
response_0
)
Response ByteString
response_0
)
( Text -> Text -> [QueryParameter] -> StripeT m (Response ByteString)
forall (m :: * -> *).
MonadHTTP m =>
Text -> Text -> [QueryParameter] -> StripeT m (Response ByteString)
StripeAPI.Common.doCallWithConfigurationM
(Text -> Text
Data.Text.toUpper (Text -> Text) -> Text -> Text
forall a b. (a -> b) -> a -> b
GHC.Base.$ String -> Text
Data.Text.pack String
"GET")
(String -> Text
Data.Text.pack String
"/v1/products")
[ Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"active") (Bool -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Bool -> Value) -> Maybe Bool -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Bool
getProductsParametersQueryActive GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"created") (GetProductsParametersQueryCreated'Variants -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (GetProductsParametersQueryCreated'Variants -> Value)
-> Maybe GetProductsParametersQueryCreated'Variants -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters
-> Maybe GetProductsParametersQueryCreated'Variants
getProductsParametersQueryCreated GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"ending_before") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Text
getProductsParametersQueryEndingBefore GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"expand") ([Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([Text] -> Value) -> Maybe [Text] -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe [Text]
getProductsParametersQueryExpand GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"ids") ([Text] -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON ([Text] -> Value) -> Maybe [Text] -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe [Text]
getProductsParametersQueryIds GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"deepObject") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"limit") (Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Int -> Value) -> Maybe Int -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Int
getProductsParametersQueryLimit GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"shippable") (Bool -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Bool -> Value) -> Maybe Bool -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Bool
getProductsParametersQueryShippable GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"starting_after") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Text
getProductsParametersQueryStartingAfter GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True,
Text -> Maybe Value -> Text -> Bool -> QueryParameter
StripeAPI.Common.QueryParameter (String -> Text
Data.Text.pack String
"url") (Text -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON (Text -> Value) -> Maybe Text -> Maybe Value
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> GetProductsParameters -> Maybe Text
getProductsParametersQueryUrl GetProductsParameters
parameters) (String -> Text
Data.Text.pack String
"form") Bool
GHC.Types.True
]
)
data GetProductsParameters = GetProductsParameters
{
GetProductsParameters -> Maybe Bool
getProductsParametersQueryActive :: (GHC.Maybe.Maybe GHC.Types.Bool),
GetProductsParameters
-> Maybe GetProductsParametersQueryCreated'Variants
getProductsParametersQueryCreated :: (GHC.Maybe.Maybe GetProductsParametersQueryCreated'Variants),
GetProductsParameters -> Maybe Text
getProductsParametersQueryEndingBefore :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
GetProductsParameters -> Maybe [Text]
getProductsParametersQueryExpand :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
GetProductsParameters -> Maybe [Text]
getProductsParametersQueryIds :: (GHC.Maybe.Maybe ([Data.Text.Internal.Text])),
GetProductsParameters -> Maybe Int
getProductsParametersQueryLimit :: (GHC.Maybe.Maybe GHC.Types.Int),
GetProductsParameters -> Maybe Bool
getProductsParametersQueryShippable :: (GHC.Maybe.Maybe GHC.Types.Bool),
GetProductsParameters -> Maybe Text
getProductsParametersQueryStartingAfter :: (GHC.Maybe.Maybe Data.Text.Internal.Text),
GetProductsParameters -> Maybe Text
getProductsParametersQueryUrl :: (GHC.Maybe.Maybe Data.Text.Internal.Text)
}
deriving
( Int -> GetProductsParameters -> ShowS
[GetProductsParameters] -> ShowS
GetProductsParameters -> String
(Int -> GetProductsParameters -> ShowS)
-> (GetProductsParameters -> String)
-> ([GetProductsParameters] -> ShowS)
-> Show GetProductsParameters
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetProductsParameters] -> ShowS
$cshowList :: [GetProductsParameters] -> ShowS
show :: GetProductsParameters -> String
$cshow :: GetProductsParameters -> String
showsPrec :: Int -> GetProductsParameters -> ShowS
$cshowsPrec :: Int -> GetProductsParameters -> ShowS
GHC.Show.Show,
GetProductsParameters -> GetProductsParameters -> Bool
(GetProductsParameters -> GetProductsParameters -> Bool)
-> (GetProductsParameters -> GetProductsParameters -> Bool)
-> Eq GetProductsParameters
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetProductsParameters -> GetProductsParameters -> Bool
$c/= :: GetProductsParameters -> GetProductsParameters -> Bool
== :: GetProductsParameters -> GetProductsParameters -> Bool
$c== :: GetProductsParameters -> GetProductsParameters -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GetProductsParameters where
toJSON :: GetProductsParameters -> Value
toJSON GetProductsParameters
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"queryActive" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Bool
getProductsParametersQueryActive GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryCreated" Text -> Maybe GetProductsParametersQueryCreated'Variants -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters
-> Maybe GetProductsParametersQueryCreated'Variants
getProductsParametersQueryCreated GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryEnding_before" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryEndingBefore GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryExpand" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe [Text]
getProductsParametersQueryExpand GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryIds" Text -> Maybe [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe [Text]
getProductsParametersQueryIds GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryLimit" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Int
getProductsParametersQueryLimit GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryShippable" Text -> Maybe Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Bool
getProductsParametersQueryShippable GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryStarting_after" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryStartingAfter GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"queryUrl" Text -> Maybe Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryUrl GetProductsParameters
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GetProductsParameters -> Encoding
toEncoding GetProductsParameters
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"queryActive" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Bool
getProductsParametersQueryActive GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryCreated" Text -> Maybe GetProductsParametersQueryCreated'Variants -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters
-> Maybe GetProductsParametersQueryCreated'Variants
getProductsParametersQueryCreated GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryEnding_before" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryEndingBefore GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryExpand" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe [Text]
getProductsParametersQueryExpand GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryIds" Text -> Maybe [Text] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe [Text]
getProductsParametersQueryIds GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryLimit" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Int
getProductsParametersQueryLimit GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryShippable" Text -> Maybe Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Bool
getProductsParametersQueryShippable GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"queryStarting_after" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryStartingAfter GetProductsParameters
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"queryUrl" Text -> Maybe Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParameters -> Maybe Text
getProductsParametersQueryUrl GetProductsParameters
obj)))))))))
instance Data.Aeson.Types.FromJSON.FromJSON GetProductsParameters where
parseJSON :: Value -> Parser GetProductsParameters
parseJSON = String
-> (Object -> Parser GetProductsParameters)
-> Value
-> Parser GetProductsParameters
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetProductsParameters" (\Object
obj -> (((((((((Maybe Bool
-> Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser
(Maybe Bool
-> Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Bool
-> Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters
GetProductsParameters Parser
(Maybe Bool
-> Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser (Maybe Bool)
-> Parser
(Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryActive")) Parser
(Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser (Maybe GetProductsParametersQueryCreated'Variants)
-> Parser
(Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object
-> Text
-> Parser (Maybe GetProductsParametersQueryCreated'Variants)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryCreated")) Parser
(Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser (Maybe Text)
-> Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryEnding_before")) Parser
(Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser (Maybe [Text])
-> Parser
(Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryExpand")) Parser
(Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters)
-> Parser (Maybe [Text])
-> Parser
(Maybe Int
-> Maybe Bool -> Maybe Text -> Maybe Text -> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe [Text])
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryIds")) Parser
(Maybe Int
-> Maybe Bool -> Maybe Text -> Maybe Text -> GetProductsParameters)
-> Parser (Maybe Int)
-> Parser
(Maybe Bool -> Maybe Text -> Maybe Text -> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryLimit")) Parser
(Maybe Bool -> Maybe Text -> Maybe Text -> GetProductsParameters)
-> Parser (Maybe Bool)
-> Parser (Maybe Text -> Maybe Text -> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryShippable")) Parser (Maybe Text -> Maybe Text -> GetProductsParameters)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> GetProductsParameters)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryStarting_after")) Parser (Maybe Text -> GetProductsParameters)
-> Parser (Maybe Text) -> Parser GetProductsParameters
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"queryUrl"))
mkGetProductsParameters :: GetProductsParameters
mkGetProductsParameters :: GetProductsParameters
mkGetProductsParameters =
GetProductsParameters :: Maybe Bool
-> Maybe GetProductsParametersQueryCreated'Variants
-> Maybe Text
-> Maybe [Text]
-> Maybe [Text]
-> Maybe Int
-> Maybe Bool
-> Maybe Text
-> Maybe Text
-> GetProductsParameters
GetProductsParameters
{ getProductsParametersQueryActive :: Maybe Bool
getProductsParametersQueryActive = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryCreated :: Maybe GetProductsParametersQueryCreated'Variants
getProductsParametersQueryCreated = Maybe GetProductsParametersQueryCreated'Variants
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryEndingBefore :: Maybe Text
getProductsParametersQueryEndingBefore = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryExpand :: Maybe [Text]
getProductsParametersQueryExpand = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryIds :: Maybe [Text]
getProductsParametersQueryIds = Maybe [Text]
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryLimit :: Maybe Int
getProductsParametersQueryLimit = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryShippable :: Maybe Bool
getProductsParametersQueryShippable = Maybe Bool
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryStartingAfter :: Maybe Text
getProductsParametersQueryStartingAfter = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryUrl :: Maybe Text
getProductsParametersQueryUrl = Maybe Text
forall a. Maybe a
GHC.Maybe.Nothing
}
data GetProductsParametersQueryCreated'OneOf1 = GetProductsParametersQueryCreated'OneOf1
{
GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gt :: (GHC.Maybe.Maybe GHC.Types.Int),
GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gte :: (GHC.Maybe.Maybe GHC.Types.Int),
GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lt :: (GHC.Maybe.Maybe GHC.Types.Int),
GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lte :: (GHC.Maybe.Maybe GHC.Types.Int)
}
deriving
( Int -> GetProductsParametersQueryCreated'OneOf1 -> ShowS
[GetProductsParametersQueryCreated'OneOf1] -> ShowS
GetProductsParametersQueryCreated'OneOf1 -> String
(Int -> GetProductsParametersQueryCreated'OneOf1 -> ShowS)
-> (GetProductsParametersQueryCreated'OneOf1 -> String)
-> ([GetProductsParametersQueryCreated'OneOf1] -> ShowS)
-> Show GetProductsParametersQueryCreated'OneOf1
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetProductsParametersQueryCreated'OneOf1] -> ShowS
$cshowList :: [GetProductsParametersQueryCreated'OneOf1] -> ShowS
show :: GetProductsParametersQueryCreated'OneOf1 -> String
$cshow :: GetProductsParametersQueryCreated'OneOf1 -> String
showsPrec :: Int -> GetProductsParametersQueryCreated'OneOf1 -> ShowS
$cshowsPrec :: Int -> GetProductsParametersQueryCreated'OneOf1 -> ShowS
GHC.Show.Show,
GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool
(GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool)
-> (GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool)
-> Eq GetProductsParametersQueryCreated'OneOf1
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool
$c/= :: GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool
== :: GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool
$c== :: GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'OneOf1 -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GetProductsParametersQueryCreated'OneOf1 where
toJSON :: GetProductsParametersQueryCreated'OneOf1 -> Value
toJSON GetProductsParametersQueryCreated'OneOf1
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"gt" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gt GetProductsParametersQueryCreated'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"gte" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gte GetProductsParametersQueryCreated'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"lt" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lt GetProductsParametersQueryCreated'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"lte" Text -> Maybe Int -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lte GetProductsParametersQueryCreated'OneOf1
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GetProductsParametersQueryCreated'OneOf1 -> Encoding
toEncoding GetProductsParametersQueryCreated'OneOf1
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"gt" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gt GetProductsParametersQueryCreated'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"gte" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Gte GetProductsParametersQueryCreated'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"lt" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lt GetProductsParametersQueryCreated'OneOf1
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"lte" Text -> Maybe Int -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsParametersQueryCreated'OneOf1 -> Maybe Int
getProductsParametersQueryCreated'OneOf1Lte GetProductsParametersQueryCreated'OneOf1
obj))))
instance Data.Aeson.Types.FromJSON.FromJSON GetProductsParametersQueryCreated'OneOf1 where
parseJSON :: Value -> Parser GetProductsParametersQueryCreated'OneOf1
parseJSON = String
-> (Object -> Parser GetProductsParametersQueryCreated'OneOf1)
-> Value
-> Parser GetProductsParametersQueryCreated'OneOf1
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetProductsParametersQueryCreated'OneOf1" (\Object
obj -> ((((Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1)
-> Parser
(Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1
GetProductsParametersQueryCreated'OneOf1 Parser
(Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"gt")) Parser
(Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1)
-> Parser (Maybe Int)
-> Parser
(Maybe Int
-> Maybe Int -> GetProductsParametersQueryCreated'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"gte")) Parser
(Maybe Int
-> Maybe Int -> GetProductsParametersQueryCreated'OneOf1)
-> Parser (Maybe Int)
-> Parser (Maybe Int -> GetProductsParametersQueryCreated'OneOf1)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"lt")) Parser (Maybe Int -> GetProductsParametersQueryCreated'OneOf1)
-> Parser (Maybe Int)
-> Parser GetProductsParametersQueryCreated'OneOf1
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser (Maybe Int)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Data.Aeson.Types.FromJSON..:? Text
"lte"))
mkGetProductsParametersQueryCreated'OneOf1 :: GetProductsParametersQueryCreated'OneOf1
mkGetProductsParametersQueryCreated'OneOf1 :: GetProductsParametersQueryCreated'OneOf1
mkGetProductsParametersQueryCreated'OneOf1 =
GetProductsParametersQueryCreated'OneOf1 :: Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> GetProductsParametersQueryCreated'OneOf1
GetProductsParametersQueryCreated'OneOf1
{ getProductsParametersQueryCreated'OneOf1Gt :: Maybe Int
getProductsParametersQueryCreated'OneOf1Gt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryCreated'OneOf1Gte :: Maybe Int
getProductsParametersQueryCreated'OneOf1Gte = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryCreated'OneOf1Lt :: Maybe Int
getProductsParametersQueryCreated'OneOf1Lt = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing,
getProductsParametersQueryCreated'OneOf1Lte :: Maybe Int
getProductsParametersQueryCreated'OneOf1Lte = Maybe Int
forall a. Maybe a
GHC.Maybe.Nothing
}
data GetProductsParametersQueryCreated'Variants
= GetProductsParametersQueryCreated'GetProductsParametersQueryCreated'OneOf1 GetProductsParametersQueryCreated'OneOf1
| GetProductsParametersQueryCreated'Int GHC.Types.Int
deriving (Int -> GetProductsParametersQueryCreated'Variants -> ShowS
[GetProductsParametersQueryCreated'Variants] -> ShowS
GetProductsParametersQueryCreated'Variants -> String
(Int -> GetProductsParametersQueryCreated'Variants -> ShowS)
-> (GetProductsParametersQueryCreated'Variants -> String)
-> ([GetProductsParametersQueryCreated'Variants] -> ShowS)
-> Show GetProductsParametersQueryCreated'Variants
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetProductsParametersQueryCreated'Variants] -> ShowS
$cshowList :: [GetProductsParametersQueryCreated'Variants] -> ShowS
show :: GetProductsParametersQueryCreated'Variants -> String
$cshow :: GetProductsParametersQueryCreated'Variants -> String
showsPrec :: Int -> GetProductsParametersQueryCreated'Variants -> ShowS
$cshowsPrec :: Int -> GetProductsParametersQueryCreated'Variants -> ShowS
GHC.Show.Show, GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool
(GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool)
-> (GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool)
-> Eq GetProductsParametersQueryCreated'Variants
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool
$c/= :: GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool
== :: GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool
$c== :: GetProductsParametersQueryCreated'Variants
-> GetProductsParametersQueryCreated'Variants -> Bool
GHC.Classes.Eq)
instance Data.Aeson.Types.ToJSON.ToJSON GetProductsParametersQueryCreated'Variants where
toJSON :: GetProductsParametersQueryCreated'Variants -> Value
toJSON (GetProductsParametersQueryCreated'GetProductsParametersQueryCreated'OneOf1 GetProductsParametersQueryCreated'OneOf1
a) = GetProductsParametersQueryCreated'OneOf1 -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON GetProductsParametersQueryCreated'OneOf1
a
toJSON (GetProductsParametersQueryCreated'Int Int
a) = Int -> Value
forall a. ToJSON a => a -> Value
Data.Aeson.Types.ToJSON.toJSON Int
a
instance Data.Aeson.Types.FromJSON.FromJSON GetProductsParametersQueryCreated'Variants where
parseJSON :: Value -> Parser GetProductsParametersQueryCreated'Variants
parseJSON Value
val = case (GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'Variants
GetProductsParametersQueryCreated'GetProductsParametersQueryCreated'OneOf1 (GetProductsParametersQueryCreated'OneOf1
-> GetProductsParametersQueryCreated'Variants)
-> Result GetProductsParametersQueryCreated'OneOf1
-> Result GetProductsParametersQueryCreated'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result GetProductsParametersQueryCreated'OneOf1
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetProductsParametersQueryCreated'Variants
-> Result GetProductsParametersQueryCreated'Variants
-> Result GetProductsParametersQueryCreated'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> ((Int -> GetProductsParametersQueryCreated'Variants
GetProductsParametersQueryCreated'Int (Int -> GetProductsParametersQueryCreated'Variants)
-> Result Int -> Result GetProductsParametersQueryCreated'Variants
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Data.Functor.<$> Value -> Result Int
forall a. FromJSON a => Value -> Result a
Data.Aeson.Types.FromJSON.fromJSON Value
val) Result GetProductsParametersQueryCreated'Variants
-> Result GetProductsParametersQueryCreated'Variants
-> Result GetProductsParametersQueryCreated'Variants
forall (f :: * -> *) a. Alternative f => f a -> f a -> f a
GHC.Base.<|> String -> Result GetProductsParametersQueryCreated'Variants
forall a. String -> Result a
Data.Aeson.Types.Internal.Error String
"No variant matched") of
Data.Aeson.Types.Internal.Success GetProductsParametersQueryCreated'Variants
a -> GetProductsParametersQueryCreated'Variants
-> Parser GetProductsParametersQueryCreated'Variants
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure GetProductsParametersQueryCreated'Variants
a
Data.Aeson.Types.Internal.Error String
a -> String -> Parser GetProductsParametersQueryCreated'Variants
forall (m :: * -> *) a. MonadFail m => String -> m a
Control.Monad.Fail.fail String
a
data GetProductsResponse
=
GetProductsResponseError GHC.Base.String
|
GetProductsResponse200 GetProductsResponseBody200
|
GetProductsResponseDefault Error
deriving (Int -> GetProductsResponse -> ShowS
[GetProductsResponse] -> ShowS
GetProductsResponse -> String
(Int -> GetProductsResponse -> ShowS)
-> (GetProductsResponse -> String)
-> ([GetProductsResponse] -> ShowS)
-> Show GetProductsResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetProductsResponse] -> ShowS
$cshowList :: [GetProductsResponse] -> ShowS
show :: GetProductsResponse -> String
$cshow :: GetProductsResponse -> String
showsPrec :: Int -> GetProductsResponse -> ShowS
$cshowsPrec :: Int -> GetProductsResponse -> ShowS
GHC.Show.Show, GetProductsResponse -> GetProductsResponse -> Bool
(GetProductsResponse -> GetProductsResponse -> Bool)
-> (GetProductsResponse -> GetProductsResponse -> Bool)
-> Eq GetProductsResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetProductsResponse -> GetProductsResponse -> Bool
$c/= :: GetProductsResponse -> GetProductsResponse -> Bool
== :: GetProductsResponse -> GetProductsResponse -> Bool
$c== :: GetProductsResponse -> GetProductsResponse -> Bool
GHC.Classes.Eq)
data GetProductsResponseBody200 = GetProductsResponseBody200
{
GetProductsResponseBody200 -> [Product]
getProductsResponseBody200Data :: ([Product]),
GetProductsResponseBody200 -> Bool
getProductsResponseBody200HasMore :: GHC.Types.Bool,
GetProductsResponseBody200 -> Text
getProductsResponseBody200Url :: Data.Text.Internal.Text
}
deriving
( Int -> GetProductsResponseBody200 -> ShowS
[GetProductsResponseBody200] -> ShowS
GetProductsResponseBody200 -> String
(Int -> GetProductsResponseBody200 -> ShowS)
-> (GetProductsResponseBody200 -> String)
-> ([GetProductsResponseBody200] -> ShowS)
-> Show GetProductsResponseBody200
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetProductsResponseBody200] -> ShowS
$cshowList :: [GetProductsResponseBody200] -> ShowS
show :: GetProductsResponseBody200 -> String
$cshow :: GetProductsResponseBody200 -> String
showsPrec :: Int -> GetProductsResponseBody200 -> ShowS
$cshowsPrec :: Int -> GetProductsResponseBody200 -> ShowS
GHC.Show.Show,
GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool
(GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool)
-> (GetProductsResponseBody200
-> GetProductsResponseBody200 -> Bool)
-> Eq GetProductsResponseBody200
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool
$c/= :: GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool
== :: GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool
$c== :: GetProductsResponseBody200 -> GetProductsResponseBody200 -> Bool
GHC.Classes.Eq
)
instance Data.Aeson.Types.ToJSON.ToJSON GetProductsResponseBody200 where
toJSON :: GetProductsResponseBody200 -> Value
toJSON GetProductsResponseBody200
obj = [Pair] -> Value
Data.Aeson.Types.Internal.object (Text
"data" Text -> [Product] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> [Product]
getProductsResponseBody200Data GetProductsResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"has_more" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> Bool
getProductsResponseBody200HasMore GetProductsResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"url" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> Text
getProductsResponseBody200Url GetProductsResponseBody200
obj Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: Text
"object" Text -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"list" Pair -> [Pair] -> [Pair]
forall a. a -> [a] -> [a]
: [Pair]
forall a. Monoid a => a
GHC.Base.mempty)
toEncoding :: GetProductsResponseBody200 -> Encoding
toEncoding GetProductsResponseBody200
obj = Series -> Encoding
Data.Aeson.Encoding.Internal.pairs ((Text
"data" Text -> [Product] -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> [Product]
getProductsResponseBody200Data GetProductsResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"has_more" Text -> Bool -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> Bool
getProductsResponseBody200HasMore GetProductsResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> ((Text
"url" Text -> Text -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= GetProductsResponseBody200 -> Text
getProductsResponseBody200Url GetProductsResponseBody200
obj) Series -> Series -> Series
forall a. Semigroup a => a -> a -> a
GHC.Base.<> (Text
"object" Text -> Value -> Series
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Data.Aeson.Types.ToJSON..= Text -> Value
Data.Aeson.Types.Internal.String Text
"list"))))
instance Data.Aeson.Types.FromJSON.FromJSON GetProductsResponseBody200 where
parseJSON :: Value -> Parser GetProductsResponseBody200
parseJSON = String
-> (Object -> Parser GetProductsResponseBody200)
-> Value
-> Parser GetProductsResponseBody200
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.Aeson.Types.FromJSON.withObject String
"GetProductsResponseBody200" (\Object
obj -> ((([Product] -> Bool -> Text -> GetProductsResponseBody200)
-> Parser ([Product] -> Bool -> Text -> GetProductsResponseBody200)
forall (f :: * -> *) a. Applicative f => a -> f a
GHC.Base.pure [Product] -> Bool -> Text -> GetProductsResponseBody200
GetProductsResponseBody200 Parser ([Product] -> Bool -> Text -> GetProductsResponseBody200)
-> Parser [Product]
-> Parser (Bool -> Text -> GetProductsResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser [Product]
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"data")) Parser (Bool -> Text -> GetProductsResponseBody200)
-> Parser Bool -> Parser (Text -> GetProductsResponseBody200)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Bool
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"has_more")) Parser (Text -> GetProductsResponseBody200)
-> Parser Text -> Parser GetProductsResponseBody200
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
GHC.Base.<*> (Object
obj Object -> Text -> Parser Text
forall a. FromJSON a => Object -> Text -> Parser a
Data.Aeson.Types.FromJSON..: Text
"url"))
mkGetProductsResponseBody200 ::
[Product] ->
GHC.Types.Bool ->
Data.Text.Internal.Text ->
GetProductsResponseBody200
mkGetProductsResponseBody200 :: [Product] -> Bool -> Text -> GetProductsResponseBody200
mkGetProductsResponseBody200 [Product]
getProductsResponseBody200Data Bool
getProductsResponseBody200HasMore Text
getProductsResponseBody200Url =
GetProductsResponseBody200 :: [Product] -> Bool -> Text -> GetProductsResponseBody200
GetProductsResponseBody200
{ getProductsResponseBody200Data :: [Product]
getProductsResponseBody200Data = [Product]
getProductsResponseBody200Data,
getProductsResponseBody200HasMore :: Bool
getProductsResponseBody200HasMore = Bool
getProductsResponseBody200HasMore,
getProductsResponseBody200Url :: Text
getProductsResponseBody200Url = Text
getProductsResponseBody200Url
}