35 Commits

Author SHA1 Message Date
argoyle ac93eacbbc docs: add CLAUDE.md for Claude Code integration 2025-12-31 22:11:47 +01:00
argoyle e96ce57940 Merge branch 'renovate/golang-1.25.5' into 'main'
chore(deps): update golang:1.25.5 docker digest to ad03ba9

See merge request unboundsoftware/shiny/presenter!105
2025-12-30 15:56:02 +01:00
Renovate 923e6a5585 chore(deps): update golang:1.25.5 docker digest to ad03ba9 2025-12-30 03:56:06 +00:00
argoyle b2617b1eb2 Merge branch 'renovate/github.com-99designs-gqlgen-0.x' into 'main'
fix(deps): update module github.com/99designs/gqlgen to v0.17.85

See merge request unboundsoftware/shiny/presenter!104
2025-12-17 08:27:13 +01:00
Renovate 023d0ed776 fix(deps): update module github.com/99designs/gqlgen to v0.17.85 2025-12-17 03:07:32 +00:00
argoyle f7c85d1e56 Merge branch 'renovate/golang-1.25.5' into 'main'
chore(deps): update golang:1.25.5 docker digest to 0c27bcf

See merge request unboundsoftware/shiny/presenter!103
2025-12-09 09:53:35 +01:00
Renovate f6632726c5 chore(deps): update golang:1.25.5 docker digest to 0c27bcf 2025-12-09 02:09:10 +00:00
argoyle 1d58e4afb1 Merge branch 'renovate/golangci-golangci-lint-2.x' into 'main'
chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.2

See merge request unboundsoftware/shiny/presenter!102
2025-12-08 09:41:03 +01:00
Renovate 1b7274b421 chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.2 2025-12-07 16:56:33 +00:00
argoyle e7bea420a7 Merge branch 'renovate/golangci-golangci-lint-2.x' into 'main'
chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.1

See merge request unboundsoftware/shiny/presenter!101
2025-12-04 16:24:20 +01:00
Renovate 14b00f06d3 chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.1 2025-12-04 14:56:55 +00:00
argoyle b286d56403 Merge branch 'renovate/golangci-golangci-lint-2.x' into 'main'
chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.0

See merge request unboundsoftware/shiny/presenter!100
2025-12-04 08:28:03 +01:00
Renovate 5c1b8981d1 chore(deps): update pre-commit hook golangci/golangci-lint to v2.7.0 2025-12-03 19:56:19 +00:00
argoyle 9bb84fb008 Merge branch 'renovate/golang-1.x' into 'main'
chore(deps): update golang docker tag to v1.25.5

See merge request unboundsoftware/shiny/presenter!99
2025-12-02 19:39:54 +01:00
Renovate a3c4bcfe0f chore(deps): update golang docker tag to v1.25.5 2025-12-02 18:08:38 +00:00
argoyle 6deb62064d Merge branch 'renovate/gitleaks-gitleaks-8.x' into 'main'
chore(deps): update pre-commit hook gitleaks/gitleaks to v8.30.0

See merge request unboundsoftware/shiny/presenter!97
2025-11-27 00:03:58 +01:00
Renovate eb8cefdc83 chore(deps): update pre-commit hook gitleaks/gitleaks to v8.30.0 2025-11-26 18:56:37 +00:00
argoyle 9051396b67 Merge branch 'next-release' into 'main'
chore(release): prepare for v0.2.2

See merge request unboundsoftware/shiny/presenter!93
2025-11-24 20:33:24 +01:00
Unbound Release 55f47a6f01 chore(release): prepare for v0.2.2 2025-11-24 20:33:24 +01:00
argoyle 353801a1e0 Merge branch 'renovate/github.com-99designs-gqlgen-0.x' into 'main'
fix(deps): update module github.com/99designs/gqlgen to v0.17.84

See merge request unboundsoftware/shiny/presenter!96
2025-11-24 19:10:52 +01:00
Renovate 6337d0170e fix(deps): update module github.com/99designs/gqlgen to v0.17.84 2025-11-24 17:57:34 +00:00
argoyle 6dfc528b60 Merge branch 'renovate/gitleaks-gitleaks-8.x' into 'main'
chore(deps): update pre-commit hook gitleaks/gitleaks to v8.29.1

See merge request unboundsoftware/shiny/presenter!95
2025-11-20 09:20:19 +01:00
Renovate f5b36ea2ef chore(deps): update pre-commit hook gitleaks/gitleaks to v8.29.1 2025-11-19 21:55:54 +00:00
argoyle 0730168d32 Merge branch 'renovate/golang-1.25.4' into 'main'
chore(deps): update golang:1.25.4 docker digest to efe81fa

See merge request unboundsoftware/shiny/presenter!94
2025-11-18 16:21:11 +01:00
Renovate c597cfc0d8 chore(deps): update golang:1.25.4 docker digest to efe81fa 2025-11-18 11:55:53 +00:00
argoyle 2c26ae5ca6 Merge branch 'renovate/golangci-golangci-lint-2.x' into 'main'
chore(deps): update pre-commit hook golangci/golangci-lint to v2.6.2

See merge request unboundsoftware/shiny/presenter!92
2025-11-14 16:20:58 +01:00
Renovate 3bde872925 chore(deps): update pre-commit hook golangci/golangci-lint to v2.6.2 2025-11-14 13:55:36 +00:00
argoyle 89c8fa135f Merge branch 'next-release' into 'main'
chore(release): prepare for v0.2.1

See merge request unboundsoftware/shiny/presenter!89
2025-11-13 10:35:34 +01:00
Unbound Release 8e8ebce9f7 chore(release): prepare for v0.2.1 2025-11-13 10:35:34 +01:00
argoyle d92f462624 Merge branch 'renovate/github.com-99designs-gqlgen-0.x' into 'main'
fix(deps): update module github.com/99designs/gqlgen to v0.17.83

See merge request unboundsoftware/shiny/presenter!91
2025-11-11 10:48:31 +01:00
Renovate 11e581bfd4 fix(deps): update module github.com/99designs/gqlgen to v0.17.83 2025-11-10 23:07:36 +00:00
argoyle 816789b3e9 Merge branch 'renovate/github.com-99designs-gqlgen-0.x' into 'main'
fix(deps): update module github.com/99designs/gqlgen to v0.17.82

See merge request unboundsoftware/shiny/presenter!90
2025-11-07 08:35:09 +01:00
Renovate f16e35d17d fix(deps): update module github.com/99designs/gqlgen to v0.17.82 2025-11-07 01:56:48 +00:00
argoyle 1a64a84113 Merge branch 'renovate/golang-1.x' into 'main'
chore(deps): update golang docker tag to v1.25.4

See merge request unboundsoftware/shiny/presenter!88
2025-11-05 23:13:28 +01:00
Renovate 57f5932351 chore(deps): update golang docker tag to v1.25.4 2025-11-05 22:07:25 +00:00
8 changed files with 76 additions and 8 deletions
+1
View File
@@ -1,2 +1,3 @@
.idea
.claude
/release
+2 -2
View File
@@ -7,7 +7,7 @@ include:
- project: unboundsoftware/ci-templates
file: Pre-Commit-Go.gitlab-ci.yml
image: amd64/golang:1.25.3@sha256:9ac0edc3f9da2acc34e132363b6c2be45378feea0b73c451456a5449853af2aa
image: amd64/golang:1.25.5@sha256:ad03ba93327b8a6143b49373790b5d92c28067bdb814418509466122ee9c9e63
stages:
- deps
@@ -32,7 +32,7 @@ test:
vulnerabilities:
stage: test
image: amd64/golang:1.25.3@sha256:9ac0edc3f9da2acc34e132363b6c2be45378feea0b73c451456a5449853af2aa
image: amd64/golang:1.25.5@sha256:ad03ba93327b8a6143b49373790b5d92c28067bdb814418509466122ee9c9e63
script:
- go install golang.org/x/vuln/cmd/govulncheck@latest
- govulncheck ./...
+2 -2
View File
@@ -37,10 +37,10 @@ repos:
- id: go-test
- id: gofumpt
- repo: https://github.com/golangci/golangci-lint
rev: v2.6.1
rev: v2.7.2
hooks:
- id: golangci-lint-full
- repo: https://github.com/gitleaks/gitleaks
rev: v8.29.0
rev: v8.30.0
hooks:
- id: gitleaks
+1 -1
View File
@@ -1 +1 @@
{"version":"v0.2.0"}
{"version":"v0.2.2"}
+23
View File
@@ -2,6 +2,29 @@
All notable changes to this project will be documented in this file.
## [0.2.2] - 2025-11-24
### 🐛 Bug Fixes
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.84
### ⚙️ Miscellaneous Tasks
- *(deps)* Update pre-commit hook golangci/golangci-lint to v2.6.2
- *(deps)* Update golang:1.25.4 docker digest to efe81fa
- *(deps)* Update pre-commit hook gitleaks/gitleaks to v8.29.1
## [0.2.1] - 2025-11-13
### 🐛 Bug Fixes
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.82
- *(deps)* Update module github.com/99designs/gqlgen to v0.17.83
### ⚙️ Miscellaneous Tasks
- *(deps)* Update golang docker tag to v1.25.4
## [0.2.0] - 2025-11-05
### 🚀 Features
+42
View File
@@ -0,0 +1,42 @@
# 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 "gitlab.com/unboundsoftware/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)
+1 -1
View File
@@ -3,7 +3,7 @@ module gitlab.com/unboundsoftware/shiny/presenter
go 1.24.1
require (
github.com/99designs/gqlgen v0.17.81
github.com/99designs/gqlgen v0.17.85
github.com/stretchr/testify v1.11.1
github.com/vektah/gqlparser/v2 v2.5.31
)
+4 -2
View File
@@ -1,5 +1,7 @@
github.com/99designs/gqlgen v0.17.81 h1:kCkN/xVyRb5rEQpuwOHRTYq83i0IuTQg9vdIiwEerTs=
github.com/99designs/gqlgen v0.17.81/go.mod h1:vgNcZlLwemsUhYim4dC1pvFP5FX0pr2Y+uYUoHFb1ig=
github.com/99designs/gqlgen v0.17.85 h1:EkGx3U2FDcxQm8YDLQSpXIAVmpDyZ3IcBMOJi2nH1S0=
github.com/99designs/gqlgen v0.17.85/go.mod h1:yvs8s0bkQlRfqg03YXr3eR4OQUowVhODT/tHzCXnbOU=
github.com/agnivade/levenshtein v1.2.1 h1:EHBY3UOn1gwdy/VbFwgo4cxecRznFk7fKWN1KOX7eoM=
github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=