99designs / 99designs/gqlgen

How to skip gqlgen to generate resolver for specific field

未关闭
#2,948 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Go
星标
10.8k
派生
1.3k
平均合并
2 天 36 分钟
30 天内合并 PR
26

描述

### 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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。