11package bitbucket
22
33import (
4+ "context"
45 "encoding/json"
56 "fmt"
67 "log"
78 "net/http"
89 "strings"
910
11+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
1012 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
1113)
1214
@@ -27,10 +29,10 @@ type PaginatedReviewers struct {
2729
2830func resourceDefaultReviewers () * schema.Resource {
2931 return & schema.Resource {
30- Create : resourceDefaultReviewersCreate ,
31- Read : resourceDefaultReviewersRead ,
32- Update : resourceDefaultReviewersUpdate ,
33- Delete : resourceDefaultReviewersDelete ,
32+ CreateWithoutTimeout : resourceDefaultReviewersCreate ,
33+ ReadWithoutTimeout : resourceDefaultReviewersRead ,
34+ UpdateWithoutTimeout : resourceDefaultReviewersUpdate ,
35+ DeleteWithoutTimeout : resourceDefaultReviewersDelete ,
3436 Importer : & schema.ResourceImporter {
3537 StateContext : schema .ImportStatePassthroughContext ,
3638 },
@@ -55,7 +57,7 @@ func resourceDefaultReviewers() *schema.Resource {
5557 }
5658}
5759
58- func resourceDefaultReviewersCreate (d * schema.ResourceData , m interface {}) error {
60+ func resourceDefaultReviewersCreate (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
5961 c := m .(Clients ).genClient
6062 prApi := c .ApiClient .PullrequestsApi
6163
@@ -66,30 +68,30 @@ func resourceDefaultReviewersCreate(d *schema.ResourceData, m interface{}) error
6668 _ , reviewerResp , err := prApi .RepositoriesWorkspaceRepoSlugDefaultReviewersTargetUsernamePut (c .AuthContext , repo , userName , workspace )
6769
6870 if err != nil {
69- return err
71+ return diag . FromErr ( err )
7072 }
7173
7274 if reviewerResp .StatusCode != 200 {
73- return fmt .Errorf ("failed to create reviewer %s got code %d" , userName , reviewerResp .StatusCode )
75+ return diag .Errorf ("failed to create reviewer %s got code %d" , userName , reviewerResp .StatusCode )
7476 }
7577 }
7678
7779 d .SetId (fmt .Sprintf ("%s/%s/reviewers" , workspace , repo ))
78- return resourceDefaultReviewersRead (d , m )
80+ return resourceDefaultReviewersRead (ctx , d , m )
7981}
8082
81- func resourceDefaultReviewersRead (d * schema.ResourceData , m interface {}) error {
83+ func resourceDefaultReviewersRead (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
8284 client := m .(Clients ).httpClient
8385
8486 owner , repo , err := defaultReviewersId (d .Id ())
8587 if err != nil {
86- return err
88+ return diag . FromErr ( err )
8789 }
8890 resourceURL := fmt .Sprintf ("2.0/repositories/%s/%s/default-reviewers" , owner , repo )
8991
9092 res , err := client .Get (resourceURL )
9193 if err != nil {
92- return err
94+ return diag . FromErr ( err )
9395 }
9496
9597 if res .StatusCode == http .StatusNotFound {
@@ -104,13 +106,13 @@ func resourceDefaultReviewersRead(d *schema.ResourceData, m interface{}) error {
104106 for {
105107 reviewersResponse , err := client .Get (resourceURL )
106108 if err != nil {
107- return err
109+ return diag . FromErr ( err )
108110 }
109111
110112 decoder := json .NewDecoder (reviewersResponse .Body )
111113 err = decoder .Decode (& reviewers )
112114 if err != nil {
113- return err
115+ return diag . FromErr ( err )
114116 }
115117
116118 for _ , reviewer := range reviewers .Values {
@@ -133,7 +135,7 @@ func resourceDefaultReviewersRead(d *schema.ResourceData, m interface{}) error {
133135 return nil
134136}
135137
136- func resourceDefaultReviewersUpdate (d * schema.ResourceData , m interface {}) error {
138+ func resourceDefaultReviewersUpdate (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
137139 c := m .(Clients ).genClient
138140
139141 prApi := c .ApiClient .PullrequestsApi
@@ -151,11 +153,11 @@ func resourceDefaultReviewersUpdate(d *schema.ResourceData, m interface{}) error
151153 _ , reviewerResp , err := prApi .RepositoriesWorkspaceRepoSlugDefaultReviewersTargetUsernamePut (c .AuthContext , repo , userName , workspace )
152154
153155 if err != nil {
154- return err
156+ return diag . FromErr ( err )
155157 }
156158
157159 if reviewerResp .StatusCode != 200 {
158- return fmt .Errorf ("failed to create reviewer %s got code %d" , userName , reviewerResp .StatusCode )
160+ return diag .Errorf ("failed to create reviewer %s got code %d" , userName , reviewerResp .StatusCode )
159161 }
160162 }
161163
@@ -164,21 +166,21 @@ func resourceDefaultReviewersUpdate(d *schema.ResourceData, m interface{}) error
164166 reviewerResp , err := prApi .RepositoriesWorkspaceRepoSlugDefaultReviewersTargetUsernameDelete (c .AuthContext , repo , userName , workspace )
165167
166168 if err != nil {
167- return err
169+ return diag . FromErr ( err )
168170 }
169171
170172 if reviewerResp .StatusCode != 204 {
171- return fmt .Errorf ("[%d] Could not delete %s from default reviewers" ,
173+ return diag .Errorf ("[%d] Could not delete %s from default reviewers" ,
172174 reviewerResp .StatusCode ,
173175 userName ,
174176 )
175177 }
176178 }
177179
178- return resourceDefaultReviewersRead (d , m )
180+ return resourceDefaultReviewersRead (ctx , d , m )
179181}
180182
181- func resourceDefaultReviewersDelete (d * schema.ResourceData , m interface {}) error {
183+ func resourceDefaultReviewersDelete (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
182184 c := m .(Clients ).genClient
183185 prApi := c .ApiClient .PullrequestsApi
184186
@@ -189,11 +191,11 @@ func resourceDefaultReviewersDelete(d *schema.ResourceData, m interface{}) error
189191 reviewerResp , err := prApi .RepositoriesWorkspaceRepoSlugDefaultReviewersTargetUsernameDelete (c .AuthContext , repo , userName , workspace )
190192
191193 if err != nil {
192- return err
194+ return diag . FromErr ( err )
193195 }
194196
195197 if reviewerResp .StatusCode != 204 {
196- return fmt .Errorf ("[%d] Could not delete %s from default reviewer" ,
198+ return diag .Errorf ("[%d] Could not delete %s from default reviewer" ,
197199 reviewerResp .StatusCode ,
198200 userName ,
199201 )
0 commit comments