graphql-engine/v3/crates/metadata-schema-generator
Tom Harding 4dc02b0967 Add a binary for generating the OpenAPI schema for the metadata type. (#453)
<!-- Thank you for submitting this PR! :) -->

## Description

I needed this, so I made it. It's nothing too complex: we just
pretty-print the `schemars` schema for the root `Metadata` type.

<!--
  Questions to consider answering:
  1. What user-facing changes are being made?
2. What are issues related to this PR? (Consider adding `(close
#<issue-no>)` to the PR title)
  3. What is the conceptual design behind this PR?
  4. How can this PR be tested/verified?
  5. Does the PR have limitations?
  6. Does the PR introduce breaking changes?
-->

## Changelog

- Add a changelog entry (in the "Changelog entry" section below) if the
changes in this PR have any user-facing impact. See [changelog
guide](https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide).
- If no changelog is required ignore/remove this section and add a
`no-changelog-required` label to the PR.

### Product
_(Select all products this will be available in)_
- [ ] community-edition
- [ ] cloud
<!-- product : end : DO NOT REMOVE -->

### Type
<!-- See changelog structure:
https://github.com/hasura/graphql-engine-mono/wiki/Changelog-Guide#structure-of-our-changelog
-->
_(Select only one. In case of multiple, choose the most appropriate)_
- [ ] highlight
- [ ] enhancement
- [ ] bugfix
- [ ] behaviour-change
- [ ] performance-enhancement
- [ ] security-fix
<!-- type : end : DO NOT REMOVE -->

### Changelog entry
<!--
  - Add a user understandable changelog entry
- Include all details needed to understand the change. Try including
links to docs or issues if relevant
  - For Highlights start with a H4 heading (#### <entry title>)
  - Get the changelog entry reviewed by your team
-->

_Replace with changelog entry_

<!-- changelog-entry : end : DO NOT REMOVE -->

<!-- changelog : end : DO NOT REMOVE -->

V3_GIT_ORIGIN_REV_ID: a9e75bfa06c35577c17d8cbf0d021b1f56826a28
2024-04-10 07:36:55 +00:00
..
src Add a binary for generating the OpenAPI schema for the metadata type. (#453) 2024-04-10 07:36:55 +00:00
Cargo.toml Add a binary for generating the OpenAPI schema for the metadata type. (#453) 2024-04-10 07:36:55 +00:00
README.md Add a binary for generating the OpenAPI schema for the metadata type. (#453) 2024-04-10 07:36:55 +00:00

Metadata Schema Generator

When we make changes to the metadata schema, we need to regenerate the goldenfile to make the tests happy. We can use the following command to get the schema immediately for whatever reason:

$ cargo run --bin metadata-schema-generator