45 lines
1,007 B
Go
45 lines
1,007 B
Go
|
//go:build ignore
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
"path/filepath"
|
||
|
|
||
|
"entgo.io/contrib/entgql"
|
||
|
"entgo.io/ent/entc"
|
||
|
"entgo.io/ent/entc/gen"
|
||
|
)
|
||
|
|
||
|
func main() {
|
||
|
ex, err := entgql.NewExtension(
|
||
|
entgql.WithWhereInputs(true),
|
||
|
// Tell Ent to generate a GraphQL schema for
|
||
|
// the Ent schema in a file named ent.graphql.
|
||
|
entgql.WithSchemaGenerator(),
|
||
|
entgql.WithSchemaPath(filepath.Join("assets", "api", "ent.graphql")),
|
||
|
entgql.WithConfigPath("gqlgen.yml"),
|
||
|
)
|
||
|
if err != nil {
|
||
|
log.Fatalf("creating entgql extension: %v", err)
|
||
|
}
|
||
|
opts := []entc.Option{
|
||
|
entc.Extensions(ex),
|
||
|
}
|
||
|
|
||
|
generatorConfig := &gen.Config{
|
||
|
Target: filepath.Join("internal", "ent"),
|
||
|
Package: "code.icb4dc0.de/prskr/searcherside/internal/ent",
|
||
|
Features: []gen.Feature{
|
||
|
gen.FeatureVersionedMigration,
|
||
|
gen.FeatureUpsert,
|
||
|
gen.FeaturePrivacy,
|
||
|
gen.FeatureEntQL,
|
||
|
},
|
||
|
}
|
||
|
|
||
|
if err := entc.Generate("./infrastructure/db/schema", generatorConfig, opts...); err != nil {
|
||
|
log.Fatalf("running ent codegen: %v", err)
|
||
|
}
|
||
|
}
|