mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2026-02-23 15:49:49 +01:00
make regen-apis
This commit is contained in:
@@ -1,256 +1,4 @@
|
||||
use std::collections::HashMap;
|
||||
use std::cell::RefCell;
|
||||
use std::default::Default;
|
||||
use std::collections::BTreeSet;
|
||||
use std::error::Error as StdError;
|
||||
use serde_json as json;
|
||||
use std::io;
|
||||
use std::fs;
|
||||
use std::mem;
|
||||
|
||||
use hyper::client::connect;
|
||||
use tokio::io::{AsyncRead, AsyncWrite};
|
||||
use tokio::time::sleep;
|
||||
use tower_service;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::{client, client::GetToken, client::serde_with};
|
||||
|
||||
// ##############
|
||||
// UTILITIES ###
|
||||
// ############
|
||||
|
||||
/// Identifies the an OAuth2 authorization scope.
|
||||
/// A scope is needed when requesting an
|
||||
/// [authorization token](https://developers.google.com/youtube/v3/guides/authentication).
|
||||
#[derive(PartialEq, Eq, Hash, Debug)]
|
||||
pub enum Scope {
|
||||
/// Upload messages to any Google group in your domain
|
||||
AppGroupMigration,
|
||||
}
|
||||
|
||||
impl AsRef<str> for Scope {
|
||||
fn as_ref(&self) -> &str {
|
||||
match *self {
|
||||
Scope::AppGroupMigration => "https://www.googleapis.com/auth/apps.groups.migration",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Scope {
|
||||
fn default() -> Scope {
|
||||
Scope::AppGroupMigration
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// ########
|
||||
// HUB ###
|
||||
// ######
|
||||
|
||||
/// Central instance to access all GroupsMigration related resource activities
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Instantiate a new hub
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_groupsmigration1 as groupsmigration1;
|
||||
/// use groupsmigration1::{Result, Error};
|
||||
/// use std::fs;
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use groupsmigration1::{GroupsMigration, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
/// // `client_secret`, among other things.
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
/// // unless you replace `None` with the desired Flow.
|
||||
/// // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
/// // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
/// // retrieve them from storage.
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = GroupsMigration::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // You can configure optional parameters by calling the respective setters at will, and
|
||||
/// // execute the final call using `upload(...)`.
|
||||
/// // Values shown here are possibly random and not representative !
|
||||
/// let result = hub.archive().insert("groupId")
|
||||
/// .upload(fs::File::open("file.ext").unwrap(), "application/octet-stream".parse().unwrap()).await;
|
||||
///
|
||||
/// match result {
|
||||
/// Err(e) => match e {
|
||||
/// // The Error enum provides details about what exactly happened.
|
||||
/// // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
/// Error::HttpError(_)
|
||||
/// |Error::Io(_)
|
||||
/// |Error::MissingAPIKey
|
||||
/// |Error::MissingToken(_)
|
||||
/// |Error::Cancelled
|
||||
/// |Error::UploadSizeLimitExceeded(_, _)
|
||||
/// |Error::Failure(_)
|
||||
/// |Error::BadRequest(_)
|
||||
/// |Error::FieldClash(_)
|
||||
/// |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
/// },
|
||||
/// Ok(res) => println!("Success: {:?}", res),
|
||||
/// }
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
pub struct GroupsMigration<S> {
|
||||
pub client: hyper::Client<S, hyper::body::Body>,
|
||||
pub auth: Box<dyn client::GetToken>,
|
||||
_user_agent: String,
|
||||
_base_url: String,
|
||||
_root_url: String,
|
||||
}
|
||||
|
||||
impl<'a, S> client::Hub for GroupsMigration<S> {}
|
||||
|
||||
impl<'a, S> GroupsMigration<S> {
|
||||
|
||||
pub fn new<A: 'static + client::GetToken>(client: hyper::Client<S, hyper::body::Body>, auth: A) -> GroupsMigration<S> {
|
||||
GroupsMigration {
|
||||
client,
|
||||
auth: Box::new(auth),
|
||||
_user_agent: "google-api-rust-client/5.0.3".to_string(),
|
||||
_base_url: "https://groupsmigration.googleapis.com/".to_string(),
|
||||
_root_url: "https://groupsmigration.googleapis.com/".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn archive(&'a self) -> ArchiveMethods<'a, S> {
|
||||
ArchiveMethods { hub: &self }
|
||||
}
|
||||
|
||||
/// Set the user-agent header field to use in all requests to the server.
|
||||
/// It defaults to `google-api-rust-client/5.0.3`.
|
||||
///
|
||||
/// Returns the previously set user-agent.
|
||||
pub fn user_agent(&mut self, agent_name: String) -> String {
|
||||
mem::replace(&mut self._user_agent, agent_name)
|
||||
}
|
||||
|
||||
/// Set the base url to use in all requests to the server.
|
||||
/// It defaults to `https://groupsmigration.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set base url.
|
||||
pub fn base_url(&mut self, new_base_url: String) -> String {
|
||||
mem::replace(&mut self._base_url, new_base_url)
|
||||
}
|
||||
|
||||
/// Set the root url to use in all requests to the server.
|
||||
/// It defaults to `https://groupsmigration.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set root url.
|
||||
pub fn root_url(&mut self, new_root_url: String) -> String {
|
||||
mem::replace(&mut self._root_url, new_root_url)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ############
|
||||
// SCHEMAS ###
|
||||
// ##########
|
||||
/// JSON response template for groups migration API.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [insert archive](ArchiveInsertCall) (response)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct Groups {
|
||||
/// The kind of insert resource this is.
|
||||
|
||||
pub kind: Option<String>,
|
||||
/// The status of the insert request.
|
||||
#[serde(rename="responseCode")]
|
||||
|
||||
pub response_code: Option<String>,
|
||||
}
|
||||
|
||||
impl client::ResponseResult for Groups {}
|
||||
|
||||
|
||||
|
||||
// ###################
|
||||
// MethodBuilders ###
|
||||
// #################
|
||||
|
||||
/// A builder providing access to all methods supported on *archive* resources.
|
||||
/// It is not used directly, but through the [`GroupsMigration`] hub.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// Instantiate a resource builder
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_groupsmigration1 as groupsmigration1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use groupsmigration1::{GroupsMigration, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = GroupsMigration::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
/// // like `insert(...)`
|
||||
/// // to build up your call.
|
||||
/// let rb = hub.archive();
|
||||
/// # }
|
||||
/// ```
|
||||
pub struct ArchiveMethods<'a, S>
|
||||
where S: 'a {
|
||||
|
||||
hub: &'a GroupsMigration<S>,
|
||||
}
|
||||
|
||||
impl<'a, S> client::MethodsBuilder for ArchiveMethods<'a, S> {}
|
||||
|
||||
impl<'a, S> ArchiveMethods<'a, S> {
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Inserts a new mail into the archive of the Google group.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `groupId` - The group ID
|
||||
pub fn insert(&self, group_id: &str) -> ArchiveInsertCall<'a, S> {
|
||||
ArchiveInsertCall {
|
||||
hub: self.hub,
|
||||
_group_id: group_id.to_string(),
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// ###################
|
||||
// CallBuilders ###
|
||||
// #################
|
||||
|
||||
use super::*;
|
||||
/// Inserts a new mail into the archive of the Google group.
|
||||
///
|
||||
/// A builder for the *insert* method supported by a *archive* resource.
|
||||
@@ -285,11 +33,11 @@ impl<'a, S> ArchiveMethods<'a, S> {
|
||||
pub struct ArchiveInsertCall<'a, S>
|
||||
where S: 'a {
|
||||
|
||||
hub: &'a GroupsMigration<S>,
|
||||
_group_id: String,
|
||||
_delegate: Option<&'a mut dyn client::Delegate>,
|
||||
_additional_params: HashMap<String, String>,
|
||||
_scopes: BTreeSet<String>
|
||||
pub(super) hub: &'a GroupsMigration<S>,
|
||||
pub(super) _group_id: String,
|
||||
pub(super) _delegate: Option<&'a mut dyn client::Delegate>,
|
||||
pub(super) _additional_params: HashMap<String, String>,
|
||||
pub(super) _scopes: BTreeSet<String>
|
||||
}
|
||||
|
||||
impl<'a, S> client::CallBuilder for ArchiveInsertCall<'a, S> {}
|
||||
107
gen/groupsmigration1/src/api/hub.rs
Normal file
107
gen/groupsmigration1/src/api/hub.rs
Normal file
@@ -0,0 +1,107 @@
|
||||
use super::*;
|
||||
|
||||
/// Central instance to access all GroupsMigration related resource activities
|
||||
///
|
||||
/// # Examples
|
||||
///
|
||||
/// Instantiate a new hub
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_groupsmigration1 as groupsmigration1;
|
||||
/// use groupsmigration1::{Result, Error};
|
||||
/// use std::fs;
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use groupsmigration1::{GroupsMigration, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
||||
/// // `client_secret`, among other things.
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// // Instantiate the authenticator. It will choose a suitable authentication flow for you,
|
||||
/// // unless you replace `None` with the desired Flow.
|
||||
/// // Provide your own `AuthenticatorDelegate` to adjust the way it operates and get feedback about
|
||||
/// // what's going on. You probably want to bring in your own `TokenStorage` to persist tokens and
|
||||
/// // retrieve them from storage.
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = GroupsMigration::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // You can configure optional parameters by calling the respective setters at will, and
|
||||
/// // execute the final call using `upload(...)`.
|
||||
/// // Values shown here are possibly random and not representative !
|
||||
/// let result = hub.archive().insert("groupId")
|
||||
/// .upload(fs::File::open("file.ext").unwrap(), "application/octet-stream".parse().unwrap()).await;
|
||||
///
|
||||
/// match result {
|
||||
/// Err(e) => match e {
|
||||
/// // The Error enum provides details about what exactly happened.
|
||||
/// // You can also just use its `Debug`, `Display` or `Error` traits
|
||||
/// Error::HttpError(_)
|
||||
/// |Error::Io(_)
|
||||
/// |Error::MissingAPIKey
|
||||
/// |Error::MissingToken(_)
|
||||
/// |Error::Cancelled
|
||||
/// |Error::UploadSizeLimitExceeded(_, _)
|
||||
/// |Error::Failure(_)
|
||||
/// |Error::BadRequest(_)
|
||||
/// |Error::FieldClash(_)
|
||||
/// |Error::JsonDecodeError(_, _) => println!("{}", e),
|
||||
/// },
|
||||
/// Ok(res) => println!("Success: {:?}", res),
|
||||
/// }
|
||||
/// # }
|
||||
/// ```
|
||||
#[derive(Clone)]
|
||||
pub struct GroupsMigration<S> {
|
||||
pub client: hyper::Client<S, hyper::body::Body>,
|
||||
pub auth: Box<dyn client::GetToken>,
|
||||
pub(super) _user_agent: String,
|
||||
pub(super) _base_url: String,
|
||||
pub(super) _root_url: String,
|
||||
}
|
||||
|
||||
impl<'a, S> client::Hub for GroupsMigration<S> {}
|
||||
|
||||
impl<'a, S> GroupsMigration<S> {
|
||||
|
||||
pub fn new<A: 'static + client::GetToken>(client: hyper::Client<S, hyper::body::Body>, auth: A) -> GroupsMigration<S> {
|
||||
GroupsMigration {
|
||||
client,
|
||||
auth: Box::new(auth),
|
||||
_user_agent: "google-api-rust-client/5.0.3".to_string(),
|
||||
_base_url: "https://groupsmigration.googleapis.com/".to_string(),
|
||||
_root_url: "https://groupsmigration.googleapis.com/".to_string(),
|
||||
}
|
||||
}
|
||||
|
||||
pub fn archive(&'a self) -> ArchiveMethods<'a, S> {
|
||||
ArchiveMethods { hub: &self }
|
||||
}
|
||||
|
||||
/// Set the user-agent header field to use in all requests to the server.
|
||||
/// It defaults to `google-api-rust-client/5.0.3`.
|
||||
///
|
||||
/// Returns the previously set user-agent.
|
||||
pub fn user_agent(&mut self, agent_name: String) -> String {
|
||||
mem::replace(&mut self._user_agent, agent_name)
|
||||
}
|
||||
|
||||
/// Set the base url to use in all requests to the server.
|
||||
/// It defaults to `https://groupsmigration.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set base url.
|
||||
pub fn base_url(&mut self, new_base_url: String) -> String {
|
||||
mem::replace(&mut self._base_url, new_base_url)
|
||||
}
|
||||
|
||||
/// Set the root url to use in all requests to the server.
|
||||
/// It defaults to `https://groupsmigration.googleapis.com/`.
|
||||
///
|
||||
/// Returns the previously set root url.
|
||||
pub fn root_url(&mut self, new_root_url: String) -> String {
|
||||
mem::replace(&mut self._root_url, new_root_url)
|
||||
}
|
||||
}
|
||||
59
gen/groupsmigration1/src/api/method_builders.rs
Normal file
59
gen/groupsmigration1/src/api/method_builders.rs
Normal file
@@ -0,0 +1,59 @@
|
||||
use super::*;
|
||||
/// A builder providing access to all methods supported on *archive* resources.
|
||||
/// It is not used directly, but through the [`GroupsMigration`] hub.
|
||||
///
|
||||
/// # Example
|
||||
///
|
||||
/// Instantiate a resource builder
|
||||
///
|
||||
/// ```test_harness,no_run
|
||||
/// extern crate hyper;
|
||||
/// extern crate hyper_rustls;
|
||||
/// extern crate google_groupsmigration1 as groupsmigration1;
|
||||
///
|
||||
/// # async fn dox() {
|
||||
/// use std::default::Default;
|
||||
/// use groupsmigration1::{GroupsMigration, oauth2, hyper, hyper_rustls, chrono, FieldMask};
|
||||
///
|
||||
/// let secret: oauth2::ApplicationSecret = Default::default();
|
||||
/// let auth = oauth2::InstalledFlowAuthenticator::builder(
|
||||
/// secret,
|
||||
/// oauth2::InstalledFlowReturnMethod::HTTPRedirect,
|
||||
/// ).build().await.unwrap();
|
||||
/// let mut hub = GroupsMigration::new(hyper::Client::builder().build(hyper_rustls::HttpsConnectorBuilder::new().with_native_roots().https_or_http().enable_http1().build()), auth);
|
||||
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
||||
/// // like `insert(...)`
|
||||
/// // to build up your call.
|
||||
/// let rb = hub.archive();
|
||||
/// # }
|
||||
/// ```
|
||||
pub struct ArchiveMethods<'a, S>
|
||||
where S: 'a {
|
||||
|
||||
pub(super) hub: &'a GroupsMigration<S>,
|
||||
}
|
||||
|
||||
impl<'a, S> client::MethodsBuilder for ArchiveMethods<'a, S> {}
|
||||
|
||||
impl<'a, S> ArchiveMethods<'a, S> {
|
||||
|
||||
/// Create a builder to help you perform the following task:
|
||||
///
|
||||
/// Inserts a new mail into the archive of the Google group.
|
||||
///
|
||||
/// # Arguments
|
||||
///
|
||||
/// * `groupId` - The group ID
|
||||
pub fn insert(&self, group_id: &str) -> ArchiveInsertCall<'a, S> {
|
||||
ArchiveInsertCall {
|
||||
hub: self.hub,
|
||||
_group_id: group_id.to_string(),
|
||||
_delegate: Default::default(),
|
||||
_additional_params: Default::default(),
|
||||
_scopes: Default::default(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
32
gen/groupsmigration1/src/api/mod.rs
Normal file
32
gen/groupsmigration1/src/api/mod.rs
Normal file
@@ -0,0 +1,32 @@
|
||||
use std::collections::HashMap;
|
||||
use std::cell::RefCell;
|
||||
use std::default::Default;
|
||||
use std::collections::BTreeSet;
|
||||
use std::error::Error as StdError;
|
||||
use serde_json as json;
|
||||
use std::io;
|
||||
use std::fs;
|
||||
use std::mem;
|
||||
|
||||
use hyper::client::connect;
|
||||
use tokio::io::{AsyncRead, AsyncWrite};
|
||||
use tokio::time::sleep;
|
||||
use tower_service;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::{client, client::GetToken, client::serde_with};
|
||||
|
||||
mod utilities;
|
||||
pub use utilities::*;
|
||||
|
||||
mod hub;
|
||||
pub use hub::*;
|
||||
|
||||
mod schemas;
|
||||
pub use schemas::*;
|
||||
|
||||
mod method_builders;
|
||||
pub use method_builders::*;
|
||||
|
||||
mod call_builders;
|
||||
pub use call_builders::*;
|
||||
24
gen/groupsmigration1/src/api/schemas.rs
Normal file
24
gen/groupsmigration1/src/api/schemas.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
use super::*;
|
||||
/// JSON response template for groups migration API.
|
||||
///
|
||||
/// # Activities
|
||||
///
|
||||
/// This type is used in activities, which are methods you may call on this type or where this type is involved in.
|
||||
/// The list links the activity name, along with information about where it is used (one of *request* and *response*).
|
||||
///
|
||||
/// * [insert archive](ArchiveInsertCall) (response)
|
||||
#[serde_with::serde_as(crate = "::client::serde_with")]
|
||||
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
||||
pub struct Groups {
|
||||
/// The kind of insert resource this is.
|
||||
|
||||
pub kind: Option<String>,
|
||||
/// The status of the insert request.
|
||||
#[serde(rename="responseCode")]
|
||||
|
||||
pub response_code: Option<String>,
|
||||
}
|
||||
|
||||
impl client::ResponseResult for Groups {}
|
||||
|
||||
|
||||
24
gen/groupsmigration1/src/api/utilities.rs
Normal file
24
gen/groupsmigration1/src/api/utilities.rs
Normal file
@@ -0,0 +1,24 @@
|
||||
use super::*;
|
||||
/// Identifies the an OAuth2 authorization scope.
|
||||
/// A scope is needed when requesting an
|
||||
/// [authorization token](https://developers.google.com/youtube/v3/guides/authentication).
|
||||
#[derive(PartialEq, Eq, Hash, Debug, Clone)]
|
||||
pub enum Scope {
|
||||
/// Upload messages to any Google group in your domain
|
||||
AppGroupMigration,
|
||||
}
|
||||
|
||||
impl AsRef<str> for Scope {
|
||||
fn as_ref(&self) -> &str {
|
||||
match *self {
|
||||
Scope::AppGroupMigration => "https://www.googleapis.com/auth/apps.groups.migration",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Default for Scope {
|
||||
fn default() -> Scope {
|
||||
Scope::AppGroupMigration
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user