Override ogent code to always return ent errors.
This commit is contained in:
parent
196d34cc1f
commit
9139942794
6 changed files with 85 additions and 235 deletions
17
ent/entc.go
17
ent/entc.go
|
|
@ -12,13 +12,28 @@ import (
|
|||
"github.com/ogen-go/ogen"
|
||||
)
|
||||
|
||||
var returnAllErrors = gen.MustParse(gen.NewTemplate("").Parse(`
|
||||
{{ define "ogent/ogent/helper/error" }}{{/* gotype: entgo.io/ent/entc/gen.typeScope */}}
|
||||
{{- $pkg := base $.Type.Config.Package }}
|
||||
if err != nil {
|
||||
{{- with $.Scope.Tx }}
|
||||
if rErr := {{ . }}.Rollback(); rErr != nil {
|
||||
return nil, fmt.Errorf("%w: %v", err, rErr)
|
||||
}
|
||||
{{- end }}
|
||||
// Let the server handle the error.
|
||||
return nil, err
|
||||
}
|
||||
{{ end }}
|
||||
`))
|
||||
|
||||
func main() {
|
||||
spec := new(ogen.Spec)
|
||||
oas, err := entoas.NewExtension(entoas.Spec(spec))
|
||||
if err != nil {
|
||||
log.Fatalf("creating entoas extension: %v", err)
|
||||
}
|
||||
ogent, err := ogent.NewExtension(spec)
|
||||
ogent, err := ogent.NewExtension(spec, ogent.Templates(returnAllErrors))
|
||||
if err != nil {
|
||||
log.Fatalf("creating ogent extension: %v", err)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue