Add errorsInterface
This commit is contained in:
parent
0996ddb604
commit
dd0d4d931f
@ -13,6 +13,10 @@ var (
|
|||||||
CantStartTransaction = errors.New("can't start transaction")
|
CantStartTransaction = errors.New("can't start transaction")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type errorsInterface interface {
|
||||||
|
GetErrors() []error
|
||||||
|
}
|
||||||
|
|
||||||
type Errors struct {
|
type Errors struct {
|
||||||
errors []error
|
errors []error
|
||||||
}
|
}
|
||||||
|
15
main.go
15
main.go
@ -518,7 +518,11 @@ func (s *DB) AddError(err error) error {
|
|||||||
s.log(err)
|
s.log(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
err = Errors{errors: append(s.GetErrors(), err)}
|
if e, ok := err.(errorsInterface); ok {
|
||||||
|
err = Errors{errors: append(s.GetErrors(), e.GetErrors()...)}
|
||||||
|
} else {
|
||||||
|
err = Errors{errors: append(s.GetErrors(), err)}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.Error = err
|
s.Error = err
|
||||||
@ -526,10 +530,11 @@ func (s *DB) AddError(err error) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *DB) GetErrors() []error {
|
func (s *DB) GetErrors() (errors []error) {
|
||||||
if errs, ok := s.Error.(Errors); ok {
|
if errs, ok := s.Error.(errorsInterface); ok {
|
||||||
return errs.errors
|
return errs.GetErrors()
|
||||||
} else {
|
} else if s.Error != nil {
|
||||||
return []error{s.Error}
|
return []error{s.Error}
|
||||||
}
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user