Skip to content

Instantly share code, notes, and snippets.

field.String("id").
GoType(ulid.ID("")).
DefaultFunc(func() ulid.ID {
return ulid.MustNew(globalid.New().User.Prefix)
}),
package globalid
import (
"fmt"
"golang-clean-architecture-ent-gqlgen/ent/todo"
"golang-clean-architecture-ent-gqlgen/ent/user"
"log"
"reflect"
)
func (r *queryResolver) Node(ctx context.Context, id ulid.ID) (ent.Noder, error) {
panic(fmt.Errorf("not implemented"))
}
models:
ID:
model:
- golang-clean-architecture-ent-gqlgen/pkg/entity/model.ID
Node:
model:
- golang-clean-architecture-ent-gqlgen/pkg/entity/model.Node
package model
import "golang-clean-architecture-ent-gqlgen/ent"
// Node wraps the basic Node method.
type Node = ent.Noder
type User implements Node {
id: ID!
name: String!
age: Int!
todos: [Todo!]!
createdAt: String!
updatedAt: String!
}
interface Node {
id: ID!
}
type Query {
node(id: ID!): Node
}
func (r *userRepository) Get(ctx context.Context, id *model.ID) (*model.User, error) {
...
}
type User interface {
Get(ctx context.Context, id *model.ID) (*model.User, error)
}
type User interface {
Get(ctx context.Context, id *model.ID) (*model.User, error)
}
...
func (u *user) Get(ctx context.Context, id *model.ID) (*model.User, error) {
return u.userRepository.Get(ctx, id)
}