| 1 | //! Shared transport for the App Store Connect API. |
| 2 | //! |
| 3 | //! Everything the domain crates need and nothing they disagree about: the |
| 4 | //! ES256 JWT auth, the HTTP client that caches those tokens, the JSON:API |
| 5 | //! envelope generics, and the error type. |
| 6 | //! |
| 7 | //! The domain crates ([`smbcloud-ascapi-aso`] for App Metadata, |
| 8 | //! [`smbcloud-ascapi-signing`] for certificates) add their resources as |
| 9 | //! extension traits on [`Client`], since Rust only allows inherent impls |
| 10 | //! in the crate that defines a type. Import a domain crate's `prelude` to |
| 11 | //! call its methods on a client. |
| 12 | //! |
| 13 | //! [`smbcloud-ascapi-aso`]: https://docs.rs/smbcloud-ascapi-aso |
| 14 | //! [`smbcloud-ascapi-signing`]: https://docs.rs/smbcloud-ascapi-signing |
| 15 | |
| 16 | pub mod auth; |
| 17 | pub mod client; |
| 18 | pub mod error; |
| 19 | pub mod jsonapi; |
| 20 | pub mod token; |
| 21 | |
| 22 | pub use auth::ApiKey; |
| 23 | pub use client::Client; |
| 24 | pub use error::{Error, Result}; |
| 25 | pub use token::{IntoTokenSource, MintedToken, StaticToken, TokenSource}; |