Commit Graph

77 Commits

Author SHA1 Message Date
Adam Leventhal 3bc3d5972b
update nexus spec (#72) 2022-05-23 08:49:37 -07:00
dependabot[bot] 1ff7a900fa
Bump typify from 0.0.7 to 0.0.8 (#69)
* Bump typify from 0.0.7 to 0.0.8

Bumps [typify](https://github.com/oxidecomputer/typify) from 0.0.7 to 0.0.8.
- [Release notes](https://github.com/oxidecomputer/typify/releases)
- [Changelog](https://github.com/oxidecomputer/typify/blob/main/CHANGELOG.adoc)
- [Commits](https://github.com/oxidecomputer/typify/commits)

---
updated-dependencies:
- dependency-name: typify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* overwrite

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2022-05-21 21:22:10 -07:00
Adam Leventhal eec8526ba5
cleanup and documentation (#67) 2022-05-21 18:00:05 -07:00
Adam Leventhal 3cd1eae3f5
improve docs and uuid version handling (#65) 2022-05-20 14:52:37 -07:00
dependabot[bot] 4b15f8a607
Bump typify from 0.0.6 to 0.0.7 (#61)
* Bump typify from 0.0.6 to 0.0.7

Bumps [typify](https://github.com/oxidecomputer/typify) from 0.0.6 to 0.0.7.
- [Release notes](https://github.com/oxidecomputer/typify/releases)
- [Changelog](https://github.com/oxidecomputer/typify/blob/main/CHANGELOG.adoc)
- [Commits](https://github.com/oxidecomputer/typify/compare/v0.0.6...v0.0.7)

---
updated-dependencies:
- dependency-name: typify
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* nudge to uuid v1.0.0

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Adam H. Leventhal <ahl@oxide.computer>
2022-05-18 15:18:52 -07:00
dependabot[bot] 0ca0630c9e
Bump hyper from 0.14.17 to 0.14.18 (#56)
Bumps [hyper](https://github.com/hyperium/hyper) from 0.14.17 to 0.14.18.
- [Release notes](https://github.com/hyperium/hyper/releases)
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md)
- [Commits](https://github.com/hyperium/hyper/compare/v0.14.17...v0.14.18)

---
updated-dependencies:
- dependency-name: hyper
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-17 10:22:46 -07:00
Adam H. Leventhal eb14e8bbb8 starting progenitor 0.1.2-dev after releasing 0.1.1 2022-05-13 10:49:50 -07:00
Adam H. Leventhal 160190ff5a update to 0.1.1 2022-05-13 10:30:50 -07:00
Adam Leventhal 131ad61e6b
prep for initial release (#51) 2022-05-12 16:18:12 -07:00
Adam Leventhal 1af79ebec7
honor default values for struct properties (#50) 2022-05-12 15:07:48 -07:00
Adam Leventhal 7f1b98f7b1
pull in the most recent typify (#44)
change symbol sanitization accordingly (use heck rather than convert_case)
fix: OpenAPI -> JSON Schema conversion was losing title and docs
remove assert that there are no tag (but still ignore them)
2022-05-09 17:30:08 -07:00
Adam Leventhal bbf81dfe7d
reorganize some code in anticipation of some larger changes (#40) 2022-04-01 22:30:23 -07:00
Adam Leventhal 75348207d7
improve rustdoc output for generated crates (#37) 2022-03-17 23:54:10 -07:00
Adam Leventhal ea80069ef3
Handle byte streams for both success and error responses (#35) 2022-03-15 16:11:47 -07:00
Adam Leventhal ae7c178e21
Correct renaming of path component identifiers (#34) 2022-03-08 14:31:56 -08:00
Adam Leventhal 305635e779
update (#33) 2022-03-07 23:22:44 -08:00
Adam Leventhal 579260a943
correct handling of parameters (#32)
- improve parameter handling for names that are invalid rust identifiers
- fix broken logic for non-optional query parameters
2022-03-04 10:58:16 -08:00
Adam Leventhal 25192b5dc1
Add a wrapper types for success and error responses (#26) 2022-02-08 08:59:38 -08:00
Adam H. Leventhal f1f9e2e938 improve santization 2022-01-16 09:09:30 -08:00
Adam Leventhal aff25f2292
Allow consumers to specify additional derive macros for generated types (#21) 2022-01-14 18:01:59 -08:00
Adam Leventhal e47fc93748
generate iterators over dropshot paginated interfaces (#19)
* Adds support for interating with Streams over interfaces that are tagged
with the x-dropshot-pagination extension. This requires clients to use
the futures crate.

Adds tests that compile generated clients.

Updates nexus.json to reflect a more recent omicron API.

Changes all generated methods to have a lifetime ('a) bound on all
references. This isn't necessary for most methods, but greatly
simplifies generation of the associated paginated interface.
2022-01-05 12:02:46 -08:00
Adam Leventhal e58ebd18fa
introduce an intermediate form (#18)
introduce an intermediate form; this is going to be used to generate a few different things:
- an interator interface for paginated APIs; the IR will let us re-use
  the typify types
- a CLI generator that will generate calls into the generated client
- an automated test harness that will validate the generated client
  against a mock server
2021-12-09 18:15:24 -08:00
Adam H. Leventhal 75b224c047 Handle operations whose response is a `null` 2021-11-09 23:27:07 -08:00
Adam Leventhal a3fbbc06ba
fixes to support omicron clients (#14) 2021-11-06 23:24:03 -07:00
Adam Leventhal 05dcf08091
update for typify (#13) 2021-11-02 11:16:55 -07:00
Adam Leventhal 7934be90b9
a variety of improvements to support omicron clients (#12)
- add the start of a client support crate
- add support for pre/post request hooks with consumer-specific data
- suggest type names for parameter and response types in case those
  types are unnamed
- handle more reference types by resolving them properly
- improve optional parameter generation
2021-10-29 07:16:39 -07:00
Adam Leventhal 97857c347c
convert from executable -> executable + library with macro and builder options (#9) 2021-10-17 10:40:22 -07:00