danielgtaylor / danielgtaylor/huma

Allow anonymous fields to be used as request input parameters

Open
#617 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.4k
Forks
285
Avg merge
40m
Merged PRs (30d)
1

Description

Hi! Would you consider adding support for anonymous fields in request input parameters ?

My use case is the implementation of generic operation handlers such as :

```go
type InputUUID UUID

func (i InputUUID) Identifier() UUID {
return i
}

func GetHandler[
OperationInput GetInputInterface[Item, ID],
Item any,
ID any,
](
find models.ItemFinder[ID, Item],
) func(context.Context, OperationInput) (*GetHandlerOutput[Item], error) {
return func(ctx context.Context, input OperationInput) (*GetHandlerOutput[Item], error) {
item, err := find(input.DB(), input.Identifier())
return &GetHandlerOutput[Item]{Body: item}, err
}
}

router.Register(accountAPI, "GetPendingUserRequest",
huma.Operation{
Path: "/pending/{uuid}",
Method: http.MethodGet,
Summary: "Get pending user request",
}, GetHandler[*struct {
resolvers.AccessRestricted[resolvers.Admin]
InputUUID `path:"uuid" format:"uuid"` // Anonymous field parameter
}](people.GetPendingUserRequest))
```

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.