Skip to content
This repository was archived by the owner on Mar 8, 2022. It is now read-only.

Commit fff6b91

Browse files
authored
Merge pull request #438 from nekootoko3/fix-read-branding
Fix reading auth0_branding when enable_custom_domain_in_emails is true
2 parents b0b1c5f + 99b263f commit fff6b91

File tree

2 files changed

+48
-32
lines changed

2 files changed

+48
-32
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
## 0.26.1
2+
3+
BUG FIXES:
4+
5+
* resource/auth0_branding: Fix reading auth0_branding when enable_custom_domain_in_emails flag is true ([#438](https://github.com/alexkappa/terraform-provider-auth0/pull/438))
6+
17
## 0.26.0
28

39
ENHANCEMENTS:

auth0/resource_auth0_branding.go

+42-32
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,13 @@ import (
1111

1212
func newBranding() *schema.Resource {
1313
return &schema.Resource{
14-
1514
Create: createBranding,
1615
Read: readBranding,
1716
Update: updateBranding,
1817
Delete: deleteBranding,
1918
Importer: &schema.ResourceImporter{
2019
State: schema.ImportStatePassthrough,
2120
},
22-
2321
Schema: map[string]*schema.Schema{
2422
"colors": {
2523
Type: schema.TypeList,
@@ -89,8 +87,7 @@ func createBranding(d *schema.ResourceData, m interface{}) error {
8987

9088
func readBranding(d *schema.ResourceData, m interface{}) error {
9189
api := m.(*management.Management)
92-
b, err := api.Branding.Read()
93-
90+
branding, err := api.Branding.Read()
9491
if err != nil {
9592
if mErr, ok := err.(management.Error); ok {
9693
if mErr.Status() == http.StatusNotFound {
@@ -101,56 +98,53 @@ func readBranding(d *schema.ResourceData, m interface{}) error {
10198
return err
10299
}
103100

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))
108105

109-
t, err := api.Tenant.Read()
106+
tenant, err := api.Tenant.Read()
110107
if err != nil {
111108
return err
112109
}
113110

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("")
117114
return err
118115
}
119-
120-
d.Set("universal_login", flattenBrandingUniversalLogin(ul))
121116
}
122117

123118
return nil
124119
}
125120

126121
func updateBranding(d *schema.ResourceData, m interface{}) error {
127-
b := buildBranding(d)
128-
ul := buildBrandingUniversalLogin(d)
129122
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 {
132126
return err
133127
}
134128

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 {
138132
return err
139133
}
140134
}
135+
141136
return readBranding(d, m)
142137
}
143138

144139
func deleteBranding(d *schema.ResourceData, m interface{}) error {
145140
api := m.(*management.Management)
146-
t, err := api.Tenant.Read()
141+
tenant, err := api.Tenant.Read()
147142
if err != nil {
148143
return err
149144
}
150145

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 {
154148
if mErr, ok := err.(management.Error); ok {
155149
if mErr.Status() == http.StatusNotFound {
156150
d.SetId("")
@@ -164,35 +158,51 @@ func deleteBranding(d *schema.ResourceData, m interface{}) error {
164158
}
165159

166160
func buildBranding(d *schema.ResourceData) *management.Branding {
167-
b := &management.Branding{
161+
branding := &management.Branding{
168162
FaviconURL: String(d, "favicon_url"),
169163
LogoURL: String(d, "logo_url"),
170164
}
171165

172166
List(d, "colors").Elem(func(d ResourceData) {
173-
b.Colors = &management.BrandingColors{
167+
branding.Colors = &management.BrandingColors{
174168
PageBackground: String(d, "page_background"),
175169
Primary: String(d, "primary"),
176170
}
177171
})
178172

179173
List(d, "font").Elem(func(d ResourceData) {
180-
b.Font = &management.BrandingFont{
174+
branding.Font = &management.BrandingFont{
181175
URL: String(d, "url"),
182176
}
183177
})
184178

185-
return b
179+
return branding
186180
}
187181

188182
func buildBrandingUniversalLogin(d *schema.ResourceData) *management.BrandingUniversalLogin {
189-
b := &management.BrandingUniversalLogin{}
183+
universalLogin := &management.BrandingUniversalLogin{}
190184

191185
List(d, "universal_login").Elem(func(d ResourceData) {
192-
b.Body = String(d, "body")
186+
universalLogin.Body = String(d, "body")
193187
})
194188

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
196206
}
197207

198208
func flattenBrandingColors(brandingColors *management.BrandingColors) []interface{} {

0 commit comments

Comments
 (0)