fad40030e1
Update module path from git.unbound.se to gitea.unbound.se for Go module discovery over HTTPS.
1.1 KiB
1.1 KiB
presenter
Shared Go library for GraphQL error presentation with coded errors.
Shared Documentation
@../docs/claude/architecture.md @../docs/claude/go-services.md @../docs/claude/graphql.md @../docs/claude/conventions.md
Library Information
Purpose
Provides a standardized GraphQL error presenter that handles coded errors across all microservices. Converts internal error codes to GraphQL error extensions.
Usage
import "gitea.unbound.se/shiny/presenter"
// Create error presenter with valid codes and entities
errorPresenter := presenter.New(logger, validCodes, validEntities, internalErrorCode)
// Use in gqlgen server config
srv := handler.NewDefaultServer(generated.NewExecutableSchema(cfg))
srv.SetErrorPresenter(errorPresenter)
Key Types
CodedError- Error type with code, entity, and paramsCode- Error code typeEntity- Error entity type
Error Extensions
Errors are presented with extensions:
code- The error code (mapped to valid codes or internal error)errorEntity- The entity related to the error (optional)params- Additional error parameters (optional)