Visitar URL original
refactor: replace go-multierror with stdlib, remove dep (#705) · openfga/cli@2e9afa2 · GitHub
Skip to content

Commit 2e9afa2

Browse files
authored
refactor: replace go-multierror with stdlib, remove dep (#705)
* refactor: replace go-multierror with stdlib errors.Join * chore: bump lng pkg/go dep to remove transitive dependency
1 parent f0879ce commit 2e9afa2

3 files changed

Lines changed: 11 additions & 16 deletions

File tree

‎go.mod‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,14 @@ toolchain go1.26.4
66

77
require (
88
github.com/gocarina/gocsv v0.0.0-20240520201108-78e41c74b4b1
9-
github.com/hashicorp/go-multierror v1.1.1
109
github.com/mattn/go-isatty v0.0.22
1110
github.com/muesli/mango-cobra v1.3.0
1211
github.com/muesli/roff v0.1.0
1312
github.com/nwidger/jsoncolor v0.3.2
1413
github.com/oklog/ulid/v2 v2.1.1
1514
github.com/openfga/api/proto v0.0.0-20260319214821-f153694bfc20
1615
github.com/openfga/go-sdk v0.8.2
17-
github.com/openfga/language/pkg/go v0.2.1
16+
github.com/openfga/language/pkg/go v0.3.0
1817
github.com/openfga/openfga v1.17.1
1918
github.com/rung/go-safecast v1.0.1
2019
github.com/schollz/progressbar/v3 v3.19.0
@@ -48,7 +47,6 @@ require (
4847
github.com/grpc-ecosystem/go-grpc-middleware v1.4.0 // indirect
4948
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 // indirect
5049
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 // indirect
51-
github.com/hashicorp/errwrap v1.1.0 // indirect
5250
github.com/inconshreveable/mousetrap v1.1.0 // indirect
5351
github.com/klauspost/cpuid/v2 v2.3.0 // indirect
5452
github.com/mattn/go-colorable v0.1.14 // indirect

‎go.sum‎

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -100,13 +100,8 @@ github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3 h1:B+8ClL/kCQkRiU82d9xajR
100100
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3/go.mod h1:NbCUVmiS4foBGBHOYlCT25+YmGpJ32dZPi75pGEUpj4=
101101
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk=
102102
github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs=
103-
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
104-
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
105-
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
106103
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
107104
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
108-
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
109-
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
110105
github.com/hashicorp/go-retryablehttp v0.7.8 h1:ylXZWnqa7Lhqpk0L1P1LzDtGcCR0rPVUrx/c8Unxc48=
111106
github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw=
112107
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
@@ -184,8 +179,8 @@ github.com/openfga/api/proto v0.0.0-20260319214821-f153694bfc20 h1:xdVG0EDz9Z9Uh
184179
github.com/openfga/api/proto v0.0.0-20260319214821-f153694bfc20/go.mod h1:XDX4qYNBUM2Rsa2AbKPh+oocZc2zgme+EF2fFC6amVU=
185180
github.com/openfga/go-sdk v0.8.2 h1:eX2RJ7RD9sbxC4Oe8ZAFDZu6n/qYuO9SDrk7XAOE0Fg=
186181
github.com/openfga/go-sdk v0.8.2/go.mod h1:epiUE6IfG7Ezr3cYLepiUbCasChNowgP8AtJsN4HSpI=
187-
github.com/openfga/language/pkg/go v0.2.1 h1:nmVJTPfjvaJC2EWGcy8HrUyL15KkIfjjnmB3VFVeCts=
188-
github.com/openfga/language/pkg/go v0.2.1/go.mod h1:wg+EuPmYIaM855F2uPygT1hJoWcoUxAoecgYC5akXsw=
182+
github.com/openfga/language/pkg/go v0.3.0 h1:Ln0Cd3H/ych9YLErp5YlYNwf3PiQDfu0u+GjdpiSAyU=
183+
github.com/openfga/language/pkg/go v0.3.0/go.mod h1:7ctT4Q7erZ9RBzSsICUV94EUMdDEynomgG0Y9etTicI=
189184
github.com/openfga/openfga v1.17.1 h1:80sT4P5EYAKaRnbFqr4Wr6Cz5MI1WyT+Ss6kAAh1xD4=
190185
github.com/openfga/openfga v1.17.1/go.mod h1:ZKAbAaqcijZuOT0AfCVjqtK3FiOFwZZh0pE8nlLuElA=
191186
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=

‎internal/authorizationmodel/model.go‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ package authorizationmodel
1818

1919
import (
2020
"encoding/json"
21+
"errors"
2122
"fmt"
2223
"os"
2324
"path"
2425
"time"
2526

26-
"github.com/hashicorp/go-multierror"
2727
"github.com/oklog/ulid/v2"
2828
pb "github.com/openfga/api/proto/openfga/v1"
2929
openfga "github.com/openfga/go-sdk"
@@ -207,16 +207,18 @@ func (model *AuthzModel) ReadModelFromModFGA(modFile string) error {
207207
}
208208

209209
moduleFiles := []language.ModuleFile{}
210-
fileReadErrors := multierror.Error{}
210+
211+
var fileReadErrors []error
212+
211213
directory := path.Dir(modFile)
212214

213215
for _, fileName := range parsedModFile.Contents.Value {
214216
filePath := path.Join(directory, fileName.Value)
215217

216218
fileContents, err := os.ReadFile(filePath)
217219
if err != nil {
218-
fileReadErrors = *multierror.Append(
219-
&fileReadErrors,
220+
fileReadErrors = append(
221+
fileReadErrors,
220222
fmt.Errorf("failed to read module file %s due to %w", fileName.Value, err),
221223
)
222224

@@ -229,8 +231,8 @@ func (model *AuthzModel) ReadModelFromModFGA(modFile string) error {
229231
})
230232
}
231233

232-
if len(fileReadErrors.Errors) != 0 {
233-
return &fileReadErrors
234+
if len(fileReadErrors) != 0 {
235+
return errors.Join(fileReadErrors...)
234236
}
235237

236238
parsedAuthModel, err := language.TransformModuleFilesToModel(moduleFiles, parsedModFile.Schema.Value)

0 commit comments

Comments
 (0)