Draft: Generate API from OpenAPI spec with oapi-codegen#44
Draft
jameshochadel wants to merge 4 commits intomainfrom
Draft
Draft: Generate API from OpenAPI spec with oapi-codegen#44jameshochadel wants to merge 4 commits intomainfrom
jameshochadel wants to merge 4 commits intomainfrom
Conversation
This commit re-implements the existing admin endpoints on the new Server struct, but does not yet protect them with the HasScope middleware.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Changes proposed in this pull request:
Motivation: The security team would like an OpenAPI spec for the billing API so they can scan it, and it would reduce our maintenance burden to no longer manually maintain the API handlers.
To achieve both goals, this PR uses the
oapi-codegenpackage to generate a Go HTTP server interface from an OpenAPI document. This works similarly to how sqlc generates Go bindings from SQL.The WIP parts:
Things to check
INFOand debugging statements are written withlog.debugor similar, then they won't be written to the otput, which can prevent unintentional leaks of sensitive data.Security considerations
This PR changes how the security middleware which validates the JWT and checks for appropriate scopes is called.