1pub mod band;
2pub mod overrides;
3pub mod request;
4pub mod sat_config;
5pub mod satellite;
6pub mod user;
7
8pub use self::{
9 band::BandDetailsBuilder, overrides::OverrideBuilder, request::TaskRequestBuilder,
10 sat_config::SatelliteConfigurationBuilder, satellite::SatelliteBuilder, user::UserBuilder,
11};
12
13use super::Value;
14
15pub trait Post {
17 type Response: Value;
19
20 fn send(
22 self,
23 ) -> impl Future<Output = Result<Self::Response, crate::error::Error>> + Send + Sync;
24}
25
26#[derive(Debug, Clone, PartialEq)]
27enum UrlResult {
28 Checked(String),
29 Unchecked(Result<url::Url, crate::error::Error>),
30}
31
32impl UrlResult {
33 fn try_convert(self) -> Result<String, crate::error::Error> {
34 match self {
35 UrlResult::Checked(url) => Ok(url),
36 UrlResult::Unchecked(Ok(url)) => Ok(url.to_string()),
37 UrlResult::Unchecked(Err(error)) => Err(error),
38 }
39 }
40}