Self-hosted audiobook and podcast server
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
advplyr b124d61826 Update yaml docs to include BearerAuth 4 weeks ago
..
controllers Update yaml keys to camelCase 4 weeks ago
objects Update yaml keys to camelCase 4 weeks ago
README.md OpenAPI spec readme 2 months ago
openapi.json Update yaml docs to include BearerAuth 4 weeks ago
root.yaml Update yaml docs to include BearerAuth 4 weeks ago
schemas.yaml Split schema to sub files 2 months ago

README.md

OpenAPI specification

This directory includes the OpenAPI spec for the ABS server. The spec is made up of a number of individual yaml files located here and in the subfolders, with root.yaml being the file that references all of the others. The files are organized to have the same hierarchy as the server source files. The full spec is bundled into one file in openapi.json.

The spec is linted and bundled by the vacuum tool. The spec can also be tested with a real server using the wiretap tool. Both of these tools are created by pb33f.

Bundling the spec

The command to bundle the spec into a yaml file is vacuum bundle root.yaml openapi.yaml.

The current version of vacuum cannot convert input yaml files to json files. To convert the spec to json, you can use the yq tool or another tool.

The command to convert the spec using yq is yq -p yaml -o json openapi.yaml > openapi.json.

Viewing report

To generate an HTML report, you can use vacuum html-report [file] to generate report.html and view the report in your browser.

Putting it all together

The full command that I run to bundle the spec and generate the report is:

vacuum bundle root.yaml openapi.yaml && \
yq -p yaml -o json openapi.yaml > openapi.json && \
vacuum html-report openapi.json