@@ -11,15 +11,13 @@ import (
11
11
12
12
func newBranding () * schema.Resource {
13
13
return & schema.Resource {
14
-
15
14
Create : createBranding ,
16
15
Read : readBranding ,
17
16
Update : updateBranding ,
18
17
Delete : deleteBranding ,
19
18
Importer : & schema.ResourceImporter {
20
19
State : schema .ImportStatePassthrough ,
21
20
},
22
-
23
21
Schema : map [string ]* schema.Schema {
24
22
"colors" : {
25
23
Type : schema .TypeList ,
@@ -89,8 +87,7 @@ func createBranding(d *schema.ResourceData, m interface{}) error {
89
87
90
88
func readBranding (d * schema.ResourceData , m interface {}) error {
91
89
api := m .(* management.Management )
92
- b , err := api .Branding .Read ()
93
-
90
+ branding , err := api .Branding .Read ()
94
91
if err != nil {
95
92
if mErr , ok := err .(management.Error ); ok {
96
93
if mErr .Status () == http .StatusNotFound {
@@ -101,56 +98,53 @@ func readBranding(d *schema.ResourceData, m interface{}) error {
101
98
return err
102
99
}
103
100
104
- d .Set ("favicon_url" , b .FaviconURL )
105
- d .Set ("logo_url" , b .LogoURL )
106
- d .Set ("colors" , flattenBrandingColors (b .Colors ))
107
- d .Set ("font" , flattenBrandingFont (b .Font ))
101
+ d .Set ("favicon_url" , branding .FaviconURL )
102
+ d .Set ("logo_url" , branding .LogoURL )
103
+ d .Set ("colors" , flattenBrandingColors (branding .Colors ))
104
+ d .Set ("font" , flattenBrandingFont (branding .Font ))
108
105
109
- t , err := api .Tenant .Read ()
106
+ tenant , err := api .Tenant .Read ()
110
107
if err != nil {
111
108
return err
112
109
}
113
110
114
- if t .Flags .EnableCustomDomainInEmails != nil && * t .Flags .EnableCustomDomainInEmails {
115
- ul , err := api . Branding . UniversalLogin ()
116
- if err != nil {
111
+ if tenant .Flags .EnableCustomDomainInEmails != nil && * tenant .Flags .EnableCustomDomainInEmails {
112
+ if err := setUniversalLogin ( d , m ); err != nil {
113
+ d . SetId ( "" )
117
114
return err
118
115
}
119
-
120
- d .Set ("universal_login" , flattenBrandingUniversalLogin (ul ))
121
116
}
122
117
123
118
return nil
124
119
}
125
120
126
121
func updateBranding (d * schema.ResourceData , m interface {}) error {
127
- b := buildBranding (d )
128
- ul := buildBrandingUniversalLogin (d )
129
122
api := m .(* management.Management )
130
- err := api .Branding .Update (b )
131
- if err != nil {
123
+
124
+ branding := buildBranding (d )
125
+ if err := api .Branding .Update (branding ); err != nil {
132
126
return err
133
127
}
134
128
135
- if ul . GetBody () != "" {
136
- err = api . Branding . SetUniversalLogin ( ul )
137
- if err != nil {
129
+ universalLogin := buildBrandingUniversalLogin ( d )
130
+ if universalLogin . GetBody () != "" {
131
+ if err := api . Branding . SetUniversalLogin ( universalLogin ); err != nil {
138
132
return err
139
133
}
140
134
}
135
+
141
136
return readBranding (d , m )
142
137
}
143
138
144
139
func deleteBranding (d * schema.ResourceData , m interface {}) error {
145
140
api := m .(* management.Management )
146
- t , err := api .Tenant .Read ()
141
+ tenant , err := api .Tenant .Read ()
147
142
if err != nil {
148
143
return err
149
144
}
150
145
151
- if t .Flags .EnableCustomDomainInEmails != nil && * t .Flags .EnableCustomDomainInEmails {
152
- err = api .Branding .DeleteUniversalLogin ()
153
- if err != nil {
146
+ if tenant .Flags .EnableCustomDomainInEmails != nil && * tenant .Flags .EnableCustomDomainInEmails {
147
+ if err = api .Branding .DeleteUniversalLogin (); err != nil {
154
148
if mErr , ok := err .(management.Error ); ok {
155
149
if mErr .Status () == http .StatusNotFound {
156
150
d .SetId ("" )
@@ -164,35 +158,51 @@ func deleteBranding(d *schema.ResourceData, m interface{}) error {
164
158
}
165
159
166
160
func buildBranding (d * schema.ResourceData ) * management.Branding {
167
- b := & management.Branding {
161
+ branding := & management.Branding {
168
162
FaviconURL : String (d , "favicon_url" ),
169
163
LogoURL : String (d , "logo_url" ),
170
164
}
171
165
172
166
List (d , "colors" ).Elem (func (d ResourceData ) {
173
- b .Colors = & management.BrandingColors {
167
+ branding .Colors = & management.BrandingColors {
174
168
PageBackground : String (d , "page_background" ),
175
169
Primary : String (d , "primary" ),
176
170
}
177
171
})
178
172
179
173
List (d , "font" ).Elem (func (d ResourceData ) {
180
- b .Font = & management.BrandingFont {
174
+ branding .Font = & management.BrandingFont {
181
175
URL : String (d , "url" ),
182
176
}
183
177
})
184
178
185
- return b
179
+ return branding
186
180
}
187
181
188
182
func buildBrandingUniversalLogin (d * schema.ResourceData ) * management.BrandingUniversalLogin {
189
- b := & management.BrandingUniversalLogin {}
183
+ universalLogin := & management.BrandingUniversalLogin {}
190
184
191
185
List (d , "universal_login" ).Elem (func (d ResourceData ) {
192
- b .Body = String (d , "body" )
186
+ universalLogin .Body = String (d , "body" )
193
187
})
194
188
195
- return b
189
+ return universalLogin
190
+ }
191
+
192
+ func setUniversalLogin (d * schema.ResourceData , m interface {}) error {
193
+ api := m .(* management.Management )
194
+ universalLogin , err := api .Branding .UniversalLogin ()
195
+ if err != nil {
196
+ if mErr , ok := err .(management.Error ); ok {
197
+ if mErr .Status () == http .StatusNotFound {
198
+ return nil
199
+ }
200
+ }
201
+ return err
202
+ }
203
+
204
+ d .Set ("universal_login" , flattenBrandingUniversalLogin (universalLogin ))
205
+ return nil
196
206
}
197
207
198
208
func flattenBrandingColors (brandingColors * management.BrandingColors ) []interface {} {
0 commit comments