Conversation
…and routes mostly automatically
…fix: use qs on validators for query string
InfoX1337
approved these changes
Feb 26, 2026
Member
InfoX1337
left a comment
There was a problem hiding this comment.
Way too big of a PR to review, but at a glance lgtm.
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.
This PR implement custom generator for OpenApi spec and replaces simple jsdoc commands with generator decorators.
This is a simple custom system that automatically detects all existing routes and generates endpoints in openapi json format.
There is a builtin schema explorer at /spec available.
Endpoints accept the following decorators:
@ApiTag(string)- Sets endpoint to use provided tag (group)@ApiOpration({ ... })- Describes the operation itself@ApiRequest({ ... })- Automatically generates request body spec from validator@ApiResponse(number, { ... })- Generates possible api response. It accepts a custom data format of either a Lucid model, Vine validator, object with string keys, custom utilities like paginated(...), merged(...), alternative(...Current implementation detects auth automatically, but it would be possible to introduce a special decorator for that if necessary in the future.
There is also
@ApiColumndecorator which MUST be used on all model fields that should be reported in spec.If this decorator is missing the column will be omitted.
Closes #50