Skip to content

feat: proto-defined client interface - #24

Merged
odsod merged 1 commit into
mainfrom
odsod/push-ruwttxtuxotw
Apr 14, 2026
Merged

odsod merged 1 commit into
mainfrom
odsod/push-ruwttxtuxotw

Conversation

@odsod

@odsod odsod commented Apr 14, 2026

Copy link
Copy Markdown
Member

Summary

  • Define RfmsApi proto service with 3 RPCs covering the rFMS API
  • Add protoc-gen-connect-go plugin with simple mode
  • *Client now implements rfmsv5connect.RfmsApiClient (compile-time assertion)
  • Migrate method signatures from Go value types to proto pointer req/resp
  • Remove opts ...ClientOption per-request overrides, remove clientConfig.with()
  • Update CLI commands and example tests to use proto request builders
  • Upgrade Go to 1.26, add .golangci.yml, GOFLAGS=-mod=mod for linter

Test plan

  • ./tools/mage Lint — 0 issues
  • ./tools/mage Test — all tests pass
  • go build ./... — compiles cleanly
  • Interface assertion enforced at compile time

- define RfmsApi service with 3 RPCs (Vehicles, VehiclePositions, VehicleStatuses)
- add protoc-gen-connect-go to buf.gen.yaml (simple mode)
- implement RfmsApiClient interface assertion in client.go
- migrate all method signatures from Go value types to proto req/resp pointers
- update CLI commands to use proto request builders
- upgrade to Go 1.26, add .golangci.yml with golines/gci/gofumpt formatters
@odsod
odsod merged commit 32b4ac8 into main Apr 14, 2026
1 check passed
@odsod
odsod deleted the odsod/push-ruwttxtuxotw branch April 14, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant