git.iko.soy/typeable/mock-server-client
on update-generated-code help sign in
90 lines 6.2 kB history raw
1-- CHANGE WITH CAUTION: This is a generated code file generated by https://github.com/Haskell-OpenAPI-Code-Generator/Haskell-OpenAPI-Client-Code-Generator.
3{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE MultiWayIf #-}
6-- | Contains the types generated from the schema TimeToLive
7module MockServer.Types.TimeToLive where
9import qualified Prelude as GHC.Integer.Type
10import qualified Prelude as GHC.Maybe
11import qualified Control.Monad.Fail
12import qualified Data.Aeson
13import qualified Data.Aeson as Data.Aeson.Encoding.Internal
14import qualified Data.Aeson as Data.Aeson.Types
15import qualified Data.Aeson as Data.Aeson.Types.FromJSON
16import qualified Data.Aeson as Data.Aeson.Types.ToJSON
17import qualified Data.Aeson as Data.Aeson.Types.Internal
18import qualified Data.ByteString.Char8
19import qualified Data.ByteString.Char8 as Data.ByteString.Internal
20import qualified Data.Foldable
21import qualified Data.Functor
22import qualified Data.Maybe
23import qualified Data.Scientific
24import qualified Data.Text
25import qualified Data.Text.Internal
26import qualified Data.Time.Calendar as Data.Time.Calendar.Days
27import qualified Data.Time.LocalTime as Data.Time.LocalTime.Internal.ZonedTime
28import qualified GHC.Base
29import qualified GHC.Classes
30import qualified GHC.Int
31import qualified GHC.Show
32import qualified GHC.Types
33import qualified MockServer.Common
34import MockServer.TypeAlias
36-- | Defines the object schema located at @components.schemas.TimeToLive@ in the specification.
37--
38--
39data TimeToLive = TimeToLive {
40 -- | timeToLive
41 timeToLiveTimeToLive :: (GHC.Maybe.Maybe GHC.Types.Int)
42 -- | timeUnit
43 , timeToLiveTimeUnit :: (GHC.Maybe.Maybe TimeToLiveTimeUnit)
44 -- | unlimited
45 , timeToLiveUnlimited :: (GHC.Maybe.Maybe GHC.Types.Bool)
46 } deriving (GHC.Show.Show
47 , GHC.Classes.Eq)
48instance Data.Aeson.Types.ToJSON.ToJSON TimeToLive
49 where toJSON obj = Data.Aeson.Types.Internal.object (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("timeToLive" Data.Aeson.Types.ToJSON..=)) (timeToLiveTimeToLive obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("timeUnit" Data.Aeson.Types.ToJSON..=)) (timeToLiveTimeUnit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unlimited" Data.Aeson.Types.ToJSON..=)) (timeToLiveUnlimited obj) : GHC.Base.mempty))
50 toEncoding obj = Data.Aeson.Encoding.Internal.pairs (GHC.Base.mconcat (Data.Foldable.concat (Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("timeToLive" Data.Aeson.Types.ToJSON..=)) (timeToLiveTimeToLive obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("timeUnit" Data.Aeson.Types.ToJSON..=)) (timeToLiveTimeUnit obj) : Data.Maybe.maybe GHC.Base.mempty (GHC.Base.pure GHC.Base.. ("unlimited" Data.Aeson.Types.ToJSON..=)) (timeToLiveUnlimited obj) : GHC.Base.mempty)))
51instance Data.Aeson.Types.FromJSON.FromJSON TimeToLive
52 where parseJSON = Data.Aeson.Types.FromJSON.withObject "TimeToLive" (\obj -> ((GHC.Base.pure TimeToLive GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "timeToLive")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "timeUnit")) GHC.Base.<*> (obj Data.Aeson.Types.FromJSON..:! "unlimited"))
53-- | Create a new 'TimeToLive' with all required fields.
54mkTimeToLive :: TimeToLive
55mkTimeToLive = TimeToLive{timeToLiveTimeToLive = GHC.Maybe.Nothing,
56 timeToLiveTimeUnit = GHC.Maybe.Nothing,
57 timeToLiveUnlimited = GHC.Maybe.Nothing}
58-- | Defines the enum schema located at @components.schemas.TimeToLive.properties.timeUnit@ in the specification.
59--
60--
61data TimeToLiveTimeUnit =
62 TimeToLiveTimeUnitOther Data.Aeson.Types.Internal.Value -- ^ This case is used if the value encountered during decoding does not match any of the provided cases in the specification.
63 | TimeToLiveTimeUnitTyped Data.Aeson.Types.Internal.Object -- ^ This constructor can be used to send values to the server which are not present in the specification yet.
64 | TimeToLiveTimeUnitEnumDAYS -- ^ Represents the JSON value @"DAYS"@
65 | TimeToLiveTimeUnitEnumHOURS -- ^ Represents the JSON value @"HOURS"@
66 | TimeToLiveTimeUnitEnumMINUTES -- ^ Represents the JSON value @"MINUTES"@
67 | TimeToLiveTimeUnitEnumSECONDS -- ^ Represents the JSON value @"SECONDS"@
68 | TimeToLiveTimeUnitEnumMILLISECONDS -- ^ Represents the JSON value @"MILLISECONDS"@
69 | TimeToLiveTimeUnitEnumMICROSECONDS -- ^ Represents the JSON value @"MICROSECONDS"@
70 | TimeToLiveTimeUnitEnumNANOSECONDS -- ^ Represents the JSON value @"NANOSECONDS"@
71 deriving (GHC.Show.Show, GHC.Classes.Eq)
72instance Data.Aeson.Types.ToJSON.ToJSON TimeToLiveTimeUnit
73 where toJSON (TimeToLiveTimeUnitOther val) = val
74 toJSON (TimeToLiveTimeUnitTyped val) = Data.Aeson.Types.ToJSON.toJSON val
75 toJSON (TimeToLiveTimeUnitEnumDAYS) = "DAYS"
76 toJSON (TimeToLiveTimeUnitEnumHOURS) = "HOURS"
77 toJSON (TimeToLiveTimeUnitEnumMINUTES) = "MINUTES"
78 toJSON (TimeToLiveTimeUnitEnumSECONDS) = "SECONDS"
79 toJSON (TimeToLiveTimeUnitEnumMILLISECONDS) = "MILLISECONDS"
80 toJSON (TimeToLiveTimeUnitEnumMICROSECONDS) = "MICROSECONDS"
81 toJSON (TimeToLiveTimeUnitEnumNANOSECONDS) = "NANOSECONDS"
82instance Data.Aeson.Types.FromJSON.FromJSON TimeToLiveTimeUnit
83 where parseJSON val = GHC.Base.pure (if | val GHC.Classes.== "DAYS" -> TimeToLiveTimeUnitEnumDAYS
84 | val GHC.Classes.== "HOURS" -> TimeToLiveTimeUnitEnumHOURS
85 | val GHC.Classes.== "MINUTES" -> TimeToLiveTimeUnitEnumMINUTES
86 | val GHC.Classes.== "SECONDS" -> TimeToLiveTimeUnitEnumSECONDS
87 | val GHC.Classes.== "MILLISECONDS" -> TimeToLiveTimeUnitEnumMILLISECONDS
88 | val GHC.Classes.== "MICROSECONDS" -> TimeToLiveTimeUnitEnumMICROSECONDS
89 | val GHC.Classes.== "NANOSECONDS" -> TimeToLiveTimeUnitEnumNANOSECONDS
90 | GHC.Base.otherwise -> TimeToLiveTimeUnitOther val)