-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(swagger): add link to show openapi spec #663
base: main
Are you sure you want to change the base?
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you very much for creating this PR @sripwoud!
I left some comments so that the header UI looks like this.
![Screenshot 2025-02-07 at 4 00 48 PM](https://private-user-images.githubusercontent.com/52170174/410961528-7182e21e-bb55-43ce-af47-485b6022bb65.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg5NjIzNDEsIm5iZiI6MTczODk2MjA0MSwicGF0aCI6Ii81MjE3MDE3NC80MTA5NjE1MjgtNzE4MmUyMWUtYmI1NS00M2NlLWFmNDctNDg1YjYwMjJiYjY1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDclMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA3VDIxMDA0MVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTE5NmNhNTNkZmNlYjgzYTQ3NzBkNDFjMTk0MTVjYzU4YjY4NGQ0YjNjMTQ4Y2M1MGM2ZmRiMTA3ZTU3MmJkNDUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.v84v95sWtRC94xCyhUocKIVw_1untSQZ72nkv3uwpR8)
const githubIcon = document.createElement("span") | ||
githubIcon.innerHTML = ` | ||
<svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 98 96"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg> | ||
` | ||
ghLink.prepend(githubIcon) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since there will be more content in the header, we could remove the icon.
href: "/openapi.yml", | ||
text: "openapi.yml" | ||
}) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can add a separator for the links.
const separator = El({
tag: "span",
text: "|",
styles: {
color: "grey"
}
})
customContainer.appendChild(ghLink) | ||
customContainer.appendChild(yamlLink) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
customContainer.appendChild(ghLink) | |
customContainer.appendChild(yamlLink) | |
customContainer.appendChild(ghLink) | |
customContainer.appendChild(separator) | |
customContainer.appendChild(yamlLink) |
Co-authored-by: Vivian Plasencia <[email protected]>
Description
Having a formal description of the api as an openapi spec is useful (for integration with other tools/integration that can parse it).
The api already uses @nestjs/swagger to build the openapi spec document. We just need to server.
This PR adds an endpoint to serve
openapi.yml
at/openapi.yml
And also refactors the js string for the custom swagger ui to add a link to that page.
Does this introduce a breaking change?
Checklist
yarn prettier
andyarn lint
without getting any errorsImportant
We do not accept minor grammatical fixes (e.g., correcting typos, rewording sentences) unless they significantly improve clarity in technical documentation. These contributions, while appreciated, are not a priority for merging. If there is a grammatical error feel free to message the team.