# 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 ```go import "git.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 params - `Code` - Error code type - `Entity` - 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)