Use custom ent codegen plugin for admin.
This commit is contained in:
parent
9139942794
commit
ce9b58bf4a
33 changed files with 750 additions and 13452 deletions
36
ent/entc.go
36
ent/entc.go
|
|
@ -1,44 +1,22 @@
|
|||
//go:build ignore
|
||||
// +build ignore
|
||||
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"ariga.io/ogent"
|
||||
"entgo.io/contrib/entoas"
|
||||
"entgo.io/ent/entc"
|
||||
"entgo.io/ent/entc/gen"
|
||||
"github.com/ogen-go/ogen"
|
||||
"github.com/mikestefanello/pagoda/ent/admin"
|
||||
)
|
||||
|
||||
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))
|
||||
err := entc.Generate("./schema",
|
||||
&gen.Config{},
|
||||
entc.Extensions(&admin.Extension{}),
|
||||
)
|
||||
if err != nil {
|
||||
log.Fatalf("creating entoas extension: %v", err)
|
||||
}
|
||||
ogent, err := ogent.NewExtension(spec, ogent.Templates(returnAllErrors))
|
||||
if err != nil {
|
||||
log.Fatalf("creating ogent extension: %v", err)
|
||||
}
|
||||
err = entc.Generate("./schema", &gen.Config{}, entc.Extensions(ogent, oas))
|
||||
if err != nil {
|
||||
log.Fatalf("running ent codegen: %v", err)
|
||||
log.Fatal("running ent codegen:", err)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue