项目作者: sijad

项目描述 :
CRUD gqlgen code generator for ent models
高级语言: Go
项目地址: git://github.com/sijad/entgql.git
创建时间: 2020-09-08T19:50:33Z
项目社区:https://github.com/sijad/entgql

开源协议:MIT License

下载


🚧🚧 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:
    ```diff
    -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:
    ```diff
    +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