Skip to content

Commit 45d4d20

Browse files
OhMyMndyOhMyMndy
authored andcommitted
fix: throw errors instead of ignoring (#85)
When not using an admin account, certain errors are ignored and you end up with the provider wanting to create an organization/user which already exists. It doesn't know it exists because the "not found" error is ignored. Now it is thrown so you see the problem. Fixes #60 Co-authored-by: Mandy Schoep <[email protected]> Reviewed-on: https://gitea.com/gitea/terraform-provider-gitea/pulls/85 Co-authored-by: OhMyMndy <[email protected]> Co-committed-by: OhMyMndy <[email protected]>
1 parent 2dcbe89 commit 45d4d20

File tree

3 files changed

+15
-15
lines changed

3 files changed

+15
-15
lines changed

gitea/resource_gitea_organisation.go

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ const (
2121

2222
// might come in handy if we want to stick to numeric IDs
2323
func searchOrgByClientId(c *gitea.Client, id int64) (res *gitea.Organization, err error) {
24-
2524
page := 1
2625

2726
for {
@@ -83,15 +82,19 @@ func resourceOrgRead(d *schema.ResourceData, meta interface{}) (err error) {
8382
id, err := strconv.ParseInt(d.Id(), 10, 64)
8483

8584
org, err = searchOrgByClientId(client, id)
86-
8785
if err != nil {
8886
d.SetId("")
89-
return nil
87+
return err
9088
}
9189

92-
repos, _ := getAllOrgRepos(client, org.UserName)
90+
repos, err := getAllOrgRepos(client, org.UserName)
91+
if err != nil {
92+
return err
93+
}
9394
err = setOrgResourceData(org, d, &repos)
94-
95+
if err != nil {
96+
return err
97+
}
9598
return
9699
}
97100

@@ -110,12 +113,14 @@ func resourceOrgCreate(d *schema.ResourceData, meta interface{}) (err error) {
110113

111114
org, _, err := client.CreateOrg(opts)
112115
if err != nil {
113-
return
116+
return err
114117
}
115118

116119
repos, _ := getAllOrgRepos(client, org.UserName)
117120
err = setOrgResourceData(org, d, &repos)
118-
121+
if err != nil {
122+
return err
123+
}
119124
return
120125
}
121126

@@ -126,7 +131,6 @@ func resourceOrgUpdate(d *schema.ResourceData, meta interface{}) (err error) {
126131
var resp *gitea.Response
127132

128133
org, resp, err = client.GetOrg(d.Get(orgName).(string))
129-
130134
if err != nil {
131135
if resp.StatusCode == 404 {
132136
resourceOrgCreate(d, meta)
@@ -149,7 +153,9 @@ func resourceOrgUpdate(d *schema.ResourceData, meta interface{}) (err error) {
149153

150154
repos, _ := getAllOrgRepos(client, org.UserName)
151155
err = setOrgResourceData(org, d, &repos)
152-
156+
if err != nil {
157+
return err
158+
}
153159
return
154160
}
155161

@@ -159,7 +165,6 @@ func resourceOrgDelete(d *schema.ResourceData, meta interface{}) (err error) {
159165
var resp *gitea.Response
160166

161167
resp, err = client.DeleteOrg(d.Get(orgName).(string))
162-
163168
if err != nil {
164169
if resp.StatusCode == 404 {
165170
return

gitea/resource_gitea_user.go

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ func resourceUserRead(d *schema.ResourceData, meta interface{}) (err error) {
3939
var user *gitea.User
4040

4141
user, resp, err = client.GetUserByID(id)
42-
4342
if err != nil {
4443
if resp.StatusCode == 404 {
4544
d.SetId("")
@@ -93,7 +92,6 @@ func resourceUserUpdate(d *schema.ResourceData, meta interface{}) (err error) {
9392
var user *gitea.User
9493

9594
user, resp, err = client.GetUserByID(id)
96-
9795
if err != nil {
9896
if resp.StatusCode == 404 {
9997
resourceUserCreate(d, meta)
@@ -138,7 +136,6 @@ func resourceUserUpdate(d *schema.ResourceData, meta interface{}) (err error) {
138136
Visibility: &visibility,
139137
}
140138
_, err = client.AdminEditUser(d.Get(userName).(string), opts)
141-
142139
if err != nil {
143140
return err
144141
}
@@ -163,7 +160,6 @@ func resourceUserUpdate(d *schema.ResourceData, meta interface{}) (err error) {
163160
Visibility: &visibility,
164161
}
165162
_, err = client.AdminEditUser(d.Get(userName).(string), opts)
166-
167163
if err != nil {
168164
return err
169165
}
@@ -182,7 +178,6 @@ func resourceUserDelete(d *schema.ResourceData, meta interface{}) (err error) {
182178
var resp *gitea.Response
183179

184180
resp, err = client.AdminDeleteUser(d.Get(userName).(string))
185-
186181
if err != nil {
187182
if resp.StatusCode == 404 {
188183
return

terraform-provider-gitea

24.2 MB
Binary file not shown.

0 commit comments

Comments
 (0)