99designs / 99designs/gqlgen

How to skip gqlgen to generate resolver for specific field

Đang mở
#2,948 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Go
Star
10.8k
Fork
1.3k
Merge trung bình
2 ngày 36 phút
Pull request đã merge (30 ngày)
26

Mô tả

### What happened?
I wanted gqlgen to skip creating a resolver for a specific field, in this case, to skip creating a resolver for the "permissions" field. Can gqlgen accomplish this?

```
type Role {
id: UUID!
name: String!
displayName: String!
description: String
permissions: [RolePermissions]
createdAt: Time!
updatedAt: Time!
}

type RolePermissions {
id: UUID!
parentId: UUID
name: String!
displayName: String!
children: [RolePermissions]!
createdAt: Time!
updatedAt: Time!
}
```

I added "resolver: false" to the gqlgen.yml configuration file, but it didn't work as expected. This feature seems to only force gqlgen to generate a resolver, not skip it.

```
Role:
model: models.Role
fields:
permissions:
resolver: false
```

### What did you expect?
When I ran the generate command, I expected gqlgen to skip creating the following resolver:

```
// Permissions is the resolver for the permissions field.
func (r *roleResolver) Permissions(ctx context.Context, obj *models.Role) ([]*graphqlModels.RolePermissions, error) {
panic(fmt.Errorf("not implemented: Permissions - permissions"))
}
```

### versions
- `go run github.com/99designs/gqlgen version`? v0.17.40
- `go version`? 1.21.6

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.