entgql

module
v0.0.0-...-e26eb13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2020 License: MIT

README

🚧🚧 this is pre-alpha software 🚧🚧

entgql

Simple, Efficient, CRUD GraphQL API Generator for ent. and gqlgen

Quick Start

it's recommended to install entgql using Go modules.

  1. create a new gqlgen project
  2. install ent. and generate your models
  3. install entgql by running go get github.com/sijad/entgql/cmd/entgql
  4. generate CRUD code for your ent schema using go run github.com/sijad/entgql/cmd/entgql generate ./ent/schema
  5. edit ./graph/resolver.go and add ent client to the resolver struct:
-type Resolver struct{}
+import "your.com/project/path/ent"
+
+type Resolver struct {
+	EntClient *ent.Client
+}
  1. edit ./server.go to create a new client and pass it to resolvers:
+import "your.com/project/path/ent"
+import _ "your.com/dialect/driver"

func main() {
// ...
+	client, err := ent.Open("dialect-name", "dialet-options")
+	if err != nil {
+		log.Fatal(err)
+	}
+	defer client.Close()

-	srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))
+	srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{EntClient: client}}))
// ...
  1. start your GraphQL server go run server.go

Credits

inspired by Nexus and PostGraphile

Directories

Path Synopsis
cmd
internal
Package internal Code generated by go-bindata.
Package internal Code generated by go-bindata.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL