-
Notifications
You must be signed in to change notification settings - Fork 38
Expand file tree
/
Copy pathGetConfigFastInput.hs
More file actions
94 lines (75 loc) · 3.27 KB
/
GetConfigFastInput.hs
File metadata and controls
94 lines (75 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
module Io.Superposition.Model.GetConfigFastInput (
setWorkspaceId,
setOrgId,
build,
GetConfigFastInputBuilder,
GetConfigFastInput,
workspace_id,
org_id
) where
import qualified Control.Applicative
import qualified Control.Monad.State.Strict
import qualified Data.Aeson
import qualified Data.Either
import qualified Data.Eq
import qualified Data.Functor
import qualified Data.Maybe
import qualified Data.Text
import qualified GHC.Generics
import qualified GHC.Show
import qualified Io.Superposition.Utility
import qualified Network.HTTP.Types.Method
data GetConfigFastInput = GetConfigFastInput {
workspace_id :: Data.Text.Text,
org_id :: Data.Text.Text
} deriving (
GHC.Show.Show,
Data.Eq.Eq,
GHC.Generics.Generic
)
instance Data.Aeson.ToJSON GetConfigFastInput where
toJSON a = Data.Aeson.object [
"workspace_id" Data.Aeson..= workspace_id a,
"org_id" Data.Aeson..= org_id a
]
instance Io.Superposition.Utility.SerializeBody GetConfigFastInput
instance Data.Aeson.FromJSON GetConfigFastInput where
parseJSON = Data.Aeson.withObject "GetConfigFastInput" $ \v -> GetConfigFastInput
Data.Functor.<$> (v Data.Aeson..: "workspace_id")
Control.Applicative.<*> (v Data.Aeson..: "org_id")
data GetConfigFastInputBuilderState = GetConfigFastInputBuilderState {
workspace_idBuilderState :: Data.Maybe.Maybe Data.Text.Text,
org_idBuilderState :: Data.Maybe.Maybe Data.Text.Text
} deriving (
GHC.Generics.Generic
)
defaultBuilderState :: GetConfigFastInputBuilderState
defaultBuilderState = GetConfigFastInputBuilderState {
workspace_idBuilderState = Data.Maybe.Nothing,
org_idBuilderState = Data.Maybe.Nothing
}
type GetConfigFastInputBuilder = Control.Monad.State.Strict.State GetConfigFastInputBuilderState
setWorkspaceId :: Data.Text.Text -> GetConfigFastInputBuilder ()
setWorkspaceId value =
Control.Monad.State.Strict.modify (\s -> (s { workspace_idBuilderState = Data.Maybe.Just value }))
setOrgId :: Data.Text.Text -> GetConfigFastInputBuilder ()
setOrgId value =
Control.Monad.State.Strict.modify (\s -> (s { org_idBuilderState = Data.Maybe.Just value }))
build :: GetConfigFastInputBuilder () -> Data.Either.Either Data.Text.Text GetConfigFastInput
build builder = do
let (_, st) = Control.Monad.State.Strict.runState builder defaultBuilderState
workspace_id' <- Data.Maybe.maybe (Data.Either.Left "Io.Superposition.Model.GetConfigFastInput.GetConfigFastInput.workspace_id is a required property.") Data.Either.Right (workspace_idBuilderState st)
org_id' <- Data.Maybe.maybe (Data.Either.Left "Io.Superposition.Model.GetConfigFastInput.GetConfigFastInput.org_id is a required property.") Data.Either.Right (org_idBuilderState st)
Data.Either.Right (GetConfigFastInput {
workspace_id = workspace_id',
org_id = org_id'
})
instance Io.Superposition.Utility.IntoRequestBuilder GetConfigFastInput where
intoRequestBuilder self = do
Io.Superposition.Utility.setMethod Network.HTTP.Types.Method.methodGet
Io.Superposition.Utility.setPath [
"config",
"fast"
]
Io.Superposition.Utility.serHeader "x-workspace" (workspace_id self)
Io.Superposition.Utility.serHeader "x-org-id" (org_id self)