chore: Add OpenAPI 3 document#36
Open
duncanbeevers wants to merge 2 commits intoheatsynclabs:developfrom
Open
Conversation
Remove password verification field from password reset API
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
verify_passwordfield from the password reset API🌻 Plugins & OpenAPI versions
The
hapi-swaggerplugin has no plans to support OpenAPI v3The
hapi-openapi3plugin doesn't generate interactive Swagger documenationBy supporting both, it should be possible to use both schema types simultaneously.
Client-side tooling has mostly consolidated around v3, so I want this schema exposed in order to make writing the client simpler.
🪚 Simplifying the API
The
members_apiapp is designed code-first, and the OpenAPI spec is extracted from the implementation.The implementation used the
joilibrary to request theverify_passwordfield in the password reset API request, and to validate that the two fields have the same value.This fancy validation is not directly expressible in OpenAPI, and led to a weird error when trying to generate TypeScript types and fetch clients for the API.
Furthermore, it's kind of a silly demand of the API.
So I removed the
verify_passwordfield from the API entirely.🔧 Steps to test