mirror of
https://github.com/OMGeeky/google-apis-rs.git
synced 2026-01-22 11:11:25 +01:00
4933 lines
198 KiB
Rust
4933 lines
198 KiB
Rust
// DO NOT EDIT !
|
|
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
|
|
// DO NOT EDIT !
|
|
|
|
//! This documentation was generated from *Docs* crate version *1.0.10+20190627*, where *20190627* is the exact revision of the *docs:v1* schema built by the [mako](http://www.makotemplates.org/) code generator *v1.0.10*.
|
|
//!
|
|
//! Everything else about the *Docs* *v1* API can be found at the
|
|
//! [official documentation site](https://developers.google.com/docs/).
|
|
//! The original source code is [on github](https://github.com/Byron/google-apis-rs/tree/master/gen/docs1).
|
|
//! # Features
|
|
//!
|
|
//! Handle the following *Resources* with ease from the central [hub](struct.Docs.html) ...
|
|
//!
|
|
//! * [documents](struct.Document.html)
|
|
//! * [*batch update*](struct.DocumentBatchUpdateCall.html), [*create*](struct.DocumentCreateCall.html) and [*get*](struct.DocumentGetCall.html)
|
|
//!
|
|
//!
|
|
//!
|
|
//!
|
|
//! Not what you are looking for ? Find all other Google APIs in their Rust [documentation index](http://byron.github.io/google-apis-rs).
|
|
//!
|
|
//! # Structure of this Library
|
|
//!
|
|
//! The API is structured into the following primary items:
|
|
//!
|
|
//! * **[Hub](struct.Docs.html)**
|
|
//! * a central object to maintain state and allow accessing all *Activities*
|
|
//! * creates [*Method Builders*](trait.MethodsBuilder.html) which in turn
|
|
//! allow access to individual [*Call Builders*](trait.CallBuilder.html)
|
|
//! * **[Resources](trait.Resource.html)**
|
|
//! * primary types that you can apply *Activities* to
|
|
//! * a collection of properties and *Parts*
|
|
//! * **[Parts](trait.Part.html)**
|
|
//! * a collection of properties
|
|
//! * never directly used in *Activities*
|
|
//! * **[Activities](trait.CallBuilder.html)**
|
|
//! * operations to apply to *Resources*
|
|
//!
|
|
//! All *structures* are marked with applicable traits to further categorize them and ease browsing.
|
|
//!
|
|
//! Generally speaking, you can invoke *Activities* like this:
|
|
//!
|
|
//! ```Rust,ignore
|
|
//! let r = hub.resource().activity(...).doit()
|
|
//! ```
|
|
//!
|
|
//! Or specifically ...
|
|
//!
|
|
//! ```ignore
|
|
//! let r = hub.documents().create(...).doit()
|
|
//! let r = hub.documents().get(...).doit()
|
|
//! let r = hub.documents().batch_update(...).doit()
|
|
//! ```
|
|
//!
|
|
//! The `resource()` and `activity(...)` calls create [builders][builder-pattern]. The second one dealing with `Activities`
|
|
//! supports various methods to configure the impending operation (not shown here). It is made such that all required arguments have to be
|
|
//! specified right away (i.e. `(...)`), whereas all optional ones can be [build up][builder-pattern] as desired.
|
|
//! The `doit()` method performs the actual communication with the server and returns the respective result.
|
|
//!
|
|
//! # Usage
|
|
//!
|
|
//! ## Setting up your Project
|
|
//!
|
|
//! To use this library, you would put the following lines into your `Cargo.toml` file:
|
|
//!
|
|
//! ```toml
|
|
//! [dependencies]
|
|
//! google-docs1 = "*"
|
|
//! # This project intentionally uses an old version of Hyper. See
|
|
//! # https://github.com/Byron/google-apis-rs/issues/173 for more
|
|
//! # information.
|
|
//! hyper = "^0.10"
|
|
//! hyper-rustls = "^0.6"
|
|
//! serde = "^1.0"
|
|
//! serde_json = "^1.0"
|
|
//! yup-oauth2 = "^1.0"
|
|
//! ```
|
|
//!
|
|
//! ## A complete example
|
|
//!
|
|
//! ```test_harness,no_run
|
|
//! extern crate hyper;
|
|
//! extern crate hyper_rustls;
|
|
//! extern crate yup_oauth2 as oauth2;
|
|
//! extern crate google_docs1 as docs1;
|
|
//! use docs1::{Result, Error};
|
|
//! # #[test] fn egal() {
|
|
//! use std::default::Default;
|
|
//! use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
//! use docs1::Docs;
|
|
//!
|
|
//! // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
|
//! // `client_secret`, among other things.
|
|
//! let secret: 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 = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
//! hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
//! <MemoryStorage as Default>::default(), None);
|
|
//! let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
//! // You can configure optional parameters by calling the respective setters at will, and
|
|
//! // execute the final call using `doit()`.
|
|
//! // Values shown here are possibly random and not representative !
|
|
//! let result = hub.documents().get("documentId")
|
|
//! .suggestions_view_mode("sed")
|
|
//! .doit();
|
|
//!
|
|
//! 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::MissingAPIKey
|
|
//! |Error::MissingToken(_)
|
|
//! |Error::Cancelled
|
|
//! |Error::UploadSizeLimitExceeded(_, _)
|
|
//! |Error::Failure(_)
|
|
//! |Error::BadRequest(_)
|
|
//! |Error::FieldClash(_)
|
|
//! |Error::JsonDecodeError(_, _) => println!("{}", e),
|
|
//! },
|
|
//! Ok(res) => println!("Success: {:?}", res),
|
|
//! }
|
|
//! # }
|
|
//! ```
|
|
//! ## Handling Errors
|
|
//!
|
|
//! All errors produced by the system are provided either as [Result](enum.Result.html) enumeration as return value of
|
|
//! the doit() methods, or handed as possibly intermediate results to either the
|
|
//! [Hub Delegate](trait.Delegate.html), or the [Authenticator Delegate](https://docs.rs/yup-oauth2/*/yup_oauth2/trait.AuthenticatorDelegate.html).
|
|
//!
|
|
//! When delegates handle errors or intermediate values, they may have a chance to instruct the system to retry. This
|
|
//! makes the system potentially resilient to all kinds of errors.
|
|
//!
|
|
//! ## Uploads and Downloads
|
|
//! If a method supports downloads, the response body, which is part of the [Result](enum.Result.html), should be
|
|
//! read by you to obtain the media.
|
|
//! If such a method also supports a [Response Result](trait.ResponseResult.html), it will return that by default.
|
|
//! You can see it as meta-data for the actual media. To trigger a media download, you will have to set up the builder by making
|
|
//! this call: `.param("alt", "media")`.
|
|
//!
|
|
//! Methods supporting uploads can do so using up to 2 different protocols:
|
|
//! *simple* and *resumable*. The distinctiveness of each is represented by customized
|
|
//! `doit(...)` methods, which are then named `upload(...)` and `upload_resumable(...)` respectively.
|
|
//!
|
|
//! ## Customization and Callbacks
|
|
//!
|
|
//! You may alter the way an `doit()` method is called by providing a [delegate](trait.Delegate.html) to the
|
|
//! [Method Builder](trait.CallBuilder.html) before making the final `doit()` call.
|
|
//! Respective methods will be called to provide progress information, as well as determine whether the system should
|
|
//! retry on failure.
|
|
//!
|
|
//! The [delegate trait](trait.Delegate.html) is default-implemented, allowing you to customize it with minimal effort.
|
|
//!
|
|
//! ## Optional Parts in Server-Requests
|
|
//!
|
|
//! All structures provided by this library are made to be [enocodable](trait.RequestValue.html) and
|
|
//! [decodable](trait.ResponseResult.html) via *json*. Optionals are used to indicate that partial requests are responses
|
|
//! are valid.
|
|
//! Most optionals are are considered [Parts](trait.Part.html) which are identifiable by name, which will be sent to
|
|
//! the server to indicate either the set parts of the request or the desired parts in the response.
|
|
//!
|
|
//! ## Builder Arguments
|
|
//!
|
|
//! Using [method builders](trait.CallBuilder.html), you are able to prepare an action call by repeatedly calling it's methods.
|
|
//! These will always take a single argument, for which the following statements are true.
|
|
//!
|
|
//! * [PODs][wiki-pod] are handed by copy
|
|
//! * strings are passed as `&str`
|
|
//! * [request values](trait.RequestValue.html) are moved
|
|
//!
|
|
//! Arguments will always be copied or cloned into the builder, to make them independent of their original life times.
|
|
//!
|
|
//! [wiki-pod]: http://en.wikipedia.org/wiki/Plain_old_data_structure
|
|
//! [builder-pattern]: http://en.wikipedia.org/wiki/Builder_pattern
|
|
//! [google-go-api]: https://github.com/google/google-api-go-client
|
|
//!
|
|
//!
|
|
|
|
// Unused attributes happen thanks to defined, but unused structures
|
|
// We don't warn about this, as depending on the API, some data structures or facilities are never used.
|
|
// Instead of pre-determining this, we just disable the lint. It's manually tuned to not have any
|
|
// unused imports in fully featured APIs. Same with unused_mut ... .
|
|
#![allow(unused_imports, unused_mut, dead_code)]
|
|
|
|
// DO NOT EDIT !
|
|
// This file was generated automatically from 'src/mako/api/lib.rs.mako'
|
|
// DO NOT EDIT !
|
|
|
|
#[macro_use]
|
|
extern crate serde_derive;
|
|
|
|
extern crate hyper;
|
|
extern crate serde;
|
|
extern crate serde_json;
|
|
extern crate yup_oauth2 as oauth2;
|
|
extern crate mime;
|
|
extern crate url;
|
|
|
|
mod cmn;
|
|
|
|
use std::collections::HashMap;
|
|
use std::cell::RefCell;
|
|
use std::borrow::BorrowMut;
|
|
use std::default::Default;
|
|
use std::collections::BTreeMap;
|
|
use serde_json as json;
|
|
use std::io;
|
|
use std::fs;
|
|
use std::mem;
|
|
use std::thread::sleep;
|
|
use std::time::Duration;
|
|
|
|
pub use cmn::*;
|
|
|
|
|
|
// ##############
|
|
// 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)]
|
|
pub enum Scope {
|
|
/// See, edit, create, and delete all of your Google Drive files
|
|
Drive,
|
|
|
|
/// View your Google Docs documents
|
|
DocumentReadonly,
|
|
|
|
/// View and manage Google Drive files and folders that you have opened or created with this app
|
|
DriveFile,
|
|
|
|
/// View and manage your Google Docs documents
|
|
Document,
|
|
|
|
/// See and download all your Google Drive files
|
|
DriveReadonly,
|
|
}
|
|
|
|
impl AsRef<str> for Scope {
|
|
fn as_ref(&self) -> &str {
|
|
match *self {
|
|
Scope::Drive => "https://www.googleapis.com/auth/drive",
|
|
Scope::DocumentReadonly => "https://www.googleapis.com/auth/documents.readonly",
|
|
Scope::DriveFile => "https://www.googleapis.com/auth/drive.file",
|
|
Scope::Document => "https://www.googleapis.com/auth/documents",
|
|
Scope::DriveReadonly => "https://www.googleapis.com/auth/drive.readonly",
|
|
}
|
|
}
|
|
}
|
|
|
|
impl Default for Scope {
|
|
fn default() -> Scope {
|
|
Scope::DocumentReadonly
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// ########
|
|
// HUB ###
|
|
// ######
|
|
|
|
/// Central instance to access all Docs related resource activities
|
|
///
|
|
/// # Examples
|
|
///
|
|
/// Instantiate a new hub
|
|
///
|
|
/// ```test_harness,no_run
|
|
/// extern crate hyper;
|
|
/// extern crate hyper_rustls;
|
|
/// extern crate yup_oauth2 as oauth2;
|
|
/// extern crate google_docs1 as docs1;
|
|
/// use docs1::{Result, Error};
|
|
/// # #[test] fn egal() {
|
|
/// use std::default::Default;
|
|
/// use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
/// use docs1::Docs;
|
|
///
|
|
/// // Get an ApplicationSecret instance by some means. It contains the `client_id` and
|
|
/// // `client_secret`, among other things.
|
|
/// let secret: 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 = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
/// hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
/// <MemoryStorage as Default>::default(), None);
|
|
/// let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
/// // You can configure optional parameters by calling the respective setters at will, and
|
|
/// // execute the final call using `doit()`.
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let result = hub.documents().get("documentId")
|
|
/// .suggestions_view_mode("dolores")
|
|
/// .doit();
|
|
///
|
|
/// 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::MissingAPIKey
|
|
/// |Error::MissingToken(_)
|
|
/// |Error::Cancelled
|
|
/// |Error::UploadSizeLimitExceeded(_, _)
|
|
/// |Error::Failure(_)
|
|
/// |Error::BadRequest(_)
|
|
/// |Error::FieldClash(_)
|
|
/// |Error::JsonDecodeError(_, _) => println!("{}", e),
|
|
/// },
|
|
/// Ok(res) => println!("Success: {:?}", res),
|
|
/// }
|
|
/// # }
|
|
/// ```
|
|
pub struct Docs<C, A> {
|
|
client: RefCell<C>,
|
|
auth: RefCell<A>,
|
|
_user_agent: String,
|
|
_base_url: String,
|
|
_root_url: String,
|
|
}
|
|
|
|
impl<'a, C, A> Hub for Docs<C, A> {}
|
|
|
|
impl<'a, C, A> Docs<C, A>
|
|
where C: BorrowMut<hyper::Client>, A: oauth2::GetToken {
|
|
|
|
pub fn new(client: C, authenticator: A) -> Docs<C, A> {
|
|
Docs {
|
|
client: RefCell::new(client),
|
|
auth: RefCell::new(authenticator),
|
|
_user_agent: "google-api-rust-client/1.0.10".to_string(),
|
|
_base_url: "https://docs.googleapis.com/".to_string(),
|
|
_root_url: "https://docs.googleapis.com/".to_string(),
|
|
}
|
|
}
|
|
|
|
pub fn documents(&'a self) -> DocumentMethods<'a, C, A> {
|
|
DocumentMethods { hub: &self }
|
|
}
|
|
|
|
/// Set the user-agent header field to use in all requests to the server.
|
|
/// It defaults to `google-api-rust-client/1.0.10`.
|
|
///
|
|
/// 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://docs.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://docs.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 ###
|
|
// ##########
|
|
/// A mask that indicates which of the fields on the base
|
|
/// EmbeddedDrawingProperties
|
|
/// have been changed in this suggestion. For any field set to true, there is a
|
|
/// new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedDrawingPropertiesSuggestionState { _never_set: Option<bool> }
|
|
|
|
impl Part for EmbeddedDrawingPropertiesSuggestionState {}
|
|
|
|
|
|
/// Deletes content from the document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeleteContentRangeRequest {
|
|
/// The range of content to delete.
|
|
///
|
|
/// Deleting text that crosses a paragraph boundary may result in changes
|
|
/// to paragraph styles, lists, positioned objects and bookmarks as the two
|
|
/// paragraphs are merged.
|
|
///
|
|
/// Attempting to delete certain ranges can result in an invalid document
|
|
/// structure in which case a 400 bad request error is returned.
|
|
///
|
|
/// Some examples of invalid delete requests include:
|
|
///
|
|
/// * Deleting one code unit of a surrogate pair.
|
|
/// * Deleting the last newline character of a Body, Header,
|
|
/// Footer, Footnote, TableCell or TableOfContents.
|
|
/// * Deleting the start or end of a Table,
|
|
/// TableOfContents or Equation without deleting the entire element.
|
|
/// * Deleting the newline character before a
|
|
/// Table,
|
|
/// TableOfContents or
|
|
/// SectionBreak without deleting the
|
|
/// element.
|
|
/// * Deleting individual rows or cells of a table. Deleting the content within
|
|
/// a table cell is allowed.
|
|
pub range: Option<Range>,
|
|
}
|
|
|
|
impl Part for DeleteContentRangeRequest {}
|
|
|
|
|
|
/// A border around an EmbeddedObject.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedObjectBorder {
|
|
/// The color of the border.
|
|
pub color: Option<OptionalColor>,
|
|
/// The width of the border.
|
|
pub width: Option<Dimension>,
|
|
/// The dash style of the border.
|
|
#[serde(rename="dashStyle")]
|
|
pub dash_style: Option<String>,
|
|
/// The property state of the border property.
|
|
#[serde(rename="propertyState")]
|
|
pub property_state: Option<String>,
|
|
}
|
|
|
|
impl Part for EmbeddedObjectBorder {}
|
|
|
|
|
|
/// A ParagraphElement representing a
|
|
/// column break. A column break makes the subsequent text start at the top of
|
|
/// the next column.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ColumnBreak {
|
|
/// The text style of this ColumnBreak.
|
|
///
|
|
/// Similar to text content, like text runs and footnote references, the text
|
|
/// style of a column break can affect content layout as well as the styling of
|
|
/// text inserted adjacent to it.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this ColumnBreak, keyed by suggestion
|
|
/// ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it is
|
|
/// a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for ColumnBreak {}
|
|
|
|
|
|
/// Replaces all instances of text matching a criteria with replace text.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ReplaceAllTextRequest {
|
|
/// Finds text in the document matching this substring.
|
|
#[serde(rename="containsText")]
|
|
pub contains_text: Option<SubstringMatchCriteria>,
|
|
/// The text that will replace the matched text.
|
|
#[serde(rename="replaceText")]
|
|
pub replace_text: Option<String>,
|
|
}
|
|
|
|
impl Part for ReplaceAllTextRequest {}
|
|
|
|
|
|
/// The crop properties of an image.
|
|
///
|
|
/// The crop rectangle is represented using fractional offsets from the original
|
|
/// content's four edges.
|
|
///
|
|
/// - If the offset is in the interval (0, 1), the corresponding edge of crop
|
|
/// rectangle is positioned inside of the image's original bounding rectangle.
|
|
/// - If the offset is negative or greater than 1, the corresponding edge of crop
|
|
/// rectangle is positioned outside of the image's original bounding rectangle.
|
|
/// - If all offsets and rotation angle are 0, the image is not cropped.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct CropProperties {
|
|
/// The offset specifies how far inwards the bottom edge of the crop rectangle
|
|
/// is from the bottom edge of the original content as a fraction of the
|
|
/// original content's height.
|
|
#[serde(rename="offsetBottom")]
|
|
pub offset_bottom: Option<f32>,
|
|
/// The clockwise rotation angle of the crop rectangle around its center, in
|
|
/// radians. Rotation is applied after the offsets.
|
|
pub angle: Option<f32>,
|
|
/// The offset specifies how far inwards the left edge of the crop rectangle is
|
|
/// from the left edge of the original content as a fraction of the original
|
|
/// content's width.
|
|
#[serde(rename="offsetLeft")]
|
|
pub offset_left: Option<f32>,
|
|
/// The offset specifies how far inwards the right edge of the crop rectangle
|
|
/// is from the right edge of the original content as a fraction of the
|
|
/// original content's width.
|
|
#[serde(rename="offsetRight")]
|
|
pub offset_right: Option<f32>,
|
|
/// The offset specifies how far inwards the top edge of the crop rectangle is
|
|
/// from the top edge of the original content as a fraction of the original
|
|
/// content's height.
|
|
#[serde(rename="offsetTop")]
|
|
pub offset_top: Option<f32>,
|
|
}
|
|
|
|
impl Part for CropProperties {}
|
|
|
|
|
|
/// A Google Docs document.
|
|
///
|
|
/// # 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*).
|
|
///
|
|
/// * [create documents](struct.DocumentCreateCall.html) (request|response)
|
|
/// * [get documents](struct.DocumentGetCall.html) (response)
|
|
/// * [batch update documents](struct.DocumentBatchUpdateCall.html) (none)
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Document {
|
|
/// Output only. The main body of the document.
|
|
pub body: Option<Body>,
|
|
/// Output only. The style of the document.
|
|
#[serde(rename="documentStyle")]
|
|
pub document_style: Option<DocumentStyle>,
|
|
/// Output only. The suggested changes to the style of the document, keyed by
|
|
/// suggestion ID.
|
|
#[serde(rename="suggestedDocumentStyleChanges")]
|
|
pub suggested_document_style_changes: Option<HashMap<String, SuggestedDocumentStyle>>,
|
|
/// Output only. The suggested changes to the named styles of the document,
|
|
/// keyed by suggestion ID.
|
|
#[serde(rename="suggestedNamedStylesChanges")]
|
|
pub suggested_named_styles_changes: Option<HashMap<String, SuggestedNamedStyles>>,
|
|
/// Output only. The lists in the document, keyed by list ID.
|
|
pub lists: Option<HashMap<String, List>>,
|
|
/// Output only. The footers in the document, keyed by footer ID.
|
|
pub footers: Option<HashMap<String, Footer>>,
|
|
/// Output only. The suggestions view mode applied to the document.
|
|
///
|
|
/// Note: When editing a document, changes must be based on a document with
|
|
/// SUGGESTIONS_INLINE.
|
|
#[serde(rename="suggestionsViewMode")]
|
|
pub suggestions_view_mode: Option<String>,
|
|
/// Output only. The positioned objects in the document, keyed by object ID.
|
|
#[serde(rename="positionedObjects")]
|
|
pub positioned_objects: Option<HashMap<String, PositionedObject>>,
|
|
/// Output only. The named ranges in the document, keyed by name.
|
|
#[serde(rename="namedRanges")]
|
|
pub named_ranges: Option<HashMap<String, NamedRanges>>,
|
|
/// Output only. The ID of the document.
|
|
#[serde(rename="documentId")]
|
|
pub document_id: Option<String>,
|
|
/// The title of the document.
|
|
pub title: Option<String>,
|
|
/// Output only. The revision ID of the document. Can be used in update
|
|
/// requests to specify which revision of a document to apply updates to and
|
|
/// how the request should behave if the document has been edited since that
|
|
/// revision. Only populated if the user has edit access to the document.
|
|
///
|
|
/// The format of the revision ID may change over time, so it should be treated
|
|
/// opaquely. A returned revision ID is only guaranteed to be valid for 24
|
|
/// hours after it has been returned and cannot be shared across users. If the
|
|
/// revision ID is unchanged between calls, then the document has not changed.
|
|
/// Conversely, a changed ID (for the same document and user) usually means the
|
|
/// document has been updated; however, a changed ID can also be due to
|
|
/// internal factors such as ID format changes.
|
|
#[serde(rename="revisionId")]
|
|
pub revision_id: Option<String>,
|
|
/// Output only. The headers in the document, keyed by header ID.
|
|
pub headers: Option<HashMap<String, Header>>,
|
|
/// Output only. The footnotes in the document, keyed by footnote ID.
|
|
pub footnotes: Option<HashMap<String, Footnote>>,
|
|
/// Output only. The inline objects in the document, keyed by object ID.
|
|
#[serde(rename="inlineObjects")]
|
|
pub inline_objects: Option<HashMap<String, InlineObject>>,
|
|
/// Output only. The named styles of the document.
|
|
#[serde(rename="namedStyles")]
|
|
pub named_styles: Option<NamedStyles>,
|
|
}
|
|
|
|
impl RequestValue for Document {}
|
|
impl Resource for Document {}
|
|
impl ResponseResult for Document {}
|
|
|
|
|
|
/// A suggestion state of a NamedStyle message.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedStyleSuggestionState {
|
|
/// A mask that indicates which of the fields in paragraph style have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="paragraphStyleSuggestionState")]
|
|
pub paragraph_style_suggestion_state: Option<ParagraphStyleSuggestionState>,
|
|
/// A mask that indicates which of the fields in text style have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="textStyleSuggestionState")]
|
|
pub text_style_suggestion_state: Option<TextStyleSuggestionState>,
|
|
/// The named style type that this suggestion state corresponds to.
|
|
///
|
|
/// This field is provided as a convenience for matching the
|
|
/// NamedStyleSuggestionState with its corresponding NamedStyle.
|
|
#[serde(rename="namedStyleType")]
|
|
pub named_style_type: Option<String>,
|
|
}
|
|
|
|
impl Part for NamedStyleSuggestionState {}
|
|
|
|
|
|
/// A ParagraphElement representing a
|
|
/// footnote reference. A footnote reference is the inline content rendered with
|
|
/// a number and is used to identify the footnote.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct FootnoteReference {
|
|
/// The text style of this FootnoteReference.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The ID of the footnote that
|
|
/// contains the content of this footnote reference.
|
|
#[serde(rename="footnoteId")]
|
|
pub footnote_id: Option<String>,
|
|
/// The rendered number of this footnote.
|
|
#[serde(rename="footnoteNumber")]
|
|
pub footnote_number: Option<String>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this FootnoteReference, keyed by
|
|
/// suggestion ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if
|
|
/// it is a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for FootnoteReference {}
|
|
|
|
|
|
/// The document body.
|
|
///
|
|
/// The body typically contains the full document contents except for
|
|
/// headers, footers
|
|
/// and footnotes.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Body {
|
|
/// The contents of the body.
|
|
///
|
|
/// The indexes for the body's content begin at zero.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
}
|
|
|
|
impl Part for Body {}
|
|
|
|
|
|
/// Request message for BatchUpdateDocument.
|
|
///
|
|
/// # 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*).
|
|
///
|
|
/// * [batch update documents](struct.DocumentBatchUpdateCall.html) (request)
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct BatchUpdateDocumentRequest {
|
|
/// A list of updates to apply to the document.
|
|
pub requests: Option<Vec<Request>>,
|
|
/// Provides control over how write requests are executed.
|
|
#[serde(rename="writeControl")]
|
|
pub write_control: Option<WriteControl>,
|
|
}
|
|
|
|
impl RequestValue for BatchUpdateDocumentRequest {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base SheetsChartReference have been changed in this
|
|
/// suggestion. For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SheetsChartReferenceSuggestionState {
|
|
/// Indicates if there was a suggested change to spreadsheet_id.
|
|
#[serde(rename="spreadsheetIdSuggested")]
|
|
pub spreadsheet_id_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to chart_id.
|
|
#[serde(rename="chartIdSuggested")]
|
|
pub chart_id_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for SheetsChartReferenceSuggestionState {}
|
|
|
|
|
|
/// Styles that apply to a table row.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableRowStyle {
|
|
/// The minimum height of the row. The row will be rendered in the Docs editor
|
|
/// at a height equal to or greater than this value in order to show all the
|
|
/// content in the row's cells.
|
|
#[serde(rename="minRowHeight")]
|
|
pub min_row_height: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for TableRowStyle {}
|
|
|
|
|
|
/// A border around a paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ParagraphBorder {
|
|
/// The color of the border.
|
|
pub color: Option<OptionalColor>,
|
|
/// The padding of the border.
|
|
pub padding: Option<Dimension>,
|
|
/// The dash style of the border.
|
|
#[serde(rename="dashStyle")]
|
|
pub dash_style: Option<String>,
|
|
/// The width of the border.
|
|
pub width: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for ParagraphBorder {}
|
|
|
|
|
|
/// A ParagraphElement representing a
|
|
/// horizontal line.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct HorizontalRule {
|
|
/// The text style of this HorizontalRule.
|
|
///
|
|
/// Similar to text content, like text runs and footnote references, the text
|
|
/// style of a horizontal rule can affect content layout as well as the styling
|
|
/// of text inserted adjacent to it.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this HorizontalRule, keyed by
|
|
/// suggestion ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it
|
|
/// is a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for HorizontalRule {}
|
|
|
|
|
|
/// Deletes a column from a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeleteTableColumnRequest {
|
|
/// The reference table cell location from which the column will be deleted.
|
|
///
|
|
/// The column this cell spans will be deleted. If this is a merged cell that
|
|
/// spans multiple columns, all columns that the cell spans will be deleted. If
|
|
/// no columns remain in the table after this deletion, the whole table is
|
|
/// deleted.
|
|
#[serde(rename="tableCellLocation")]
|
|
pub table_cell_location: Option<TableCellLocation>,
|
|
}
|
|
|
|
impl Part for DeleteTableColumnRequest {}
|
|
|
|
|
|
/// The shading of a paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Shading {
|
|
/// The background color of this paragraph shading.
|
|
#[serde(rename="backgroundColor")]
|
|
pub background_color: Option<OptionalColor>,
|
|
}
|
|
|
|
impl Part for Shading {}
|
|
|
|
|
|
/// A StructuralElement describes content that provides structure to the
|
|
/// document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct StructuralElement {
|
|
/// The zero-based end index of this structural element, exclusive, in UTF-16
|
|
/// code units.
|
|
#[serde(rename="endIndex")]
|
|
pub end_index: Option<i32>,
|
|
/// A section break type of structural element.
|
|
#[serde(rename="sectionBreak")]
|
|
pub section_break: Option<SectionBreak>,
|
|
/// A paragraph type of structural element.
|
|
pub paragraph: Option<Paragraph>,
|
|
/// A table type of structural element.
|
|
pub table: Option<Table>,
|
|
/// The zero-based start index of this structural element, in UTF-16 code
|
|
/// units.
|
|
#[serde(rename="startIndex")]
|
|
pub start_index: Option<i32>,
|
|
/// A table of contents type of structural element.
|
|
#[serde(rename="tableOfContents")]
|
|
pub table_of_contents: Option<TableOfContents>,
|
|
}
|
|
|
|
impl Part for StructuralElement {}
|
|
|
|
|
|
/// A suggested change to a TableCellStyle.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedTableCellStyle {
|
|
/// A TableCellStyle that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// table_cell_style_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="tableCellStyle")]
|
|
pub table_cell_style: Option<TableCellStyle>,
|
|
/// A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion.
|
|
#[serde(rename="tableCellStyleSuggestionState")]
|
|
pub table_cell_style_suggestion_state: Option<TableCellStyleSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedTableCellStyle {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ListPropertiesSuggestionState {
|
|
/// A mask that indicates which of the fields on the corresponding
|
|
/// NestingLevel in nesting_levels have been changed in
|
|
/// this suggestion.
|
|
///
|
|
/// The nesting level suggestion states are returned in ascending order of the
|
|
/// nesting level with the least nested returned first.
|
|
#[serde(rename="nestingLevelsSuggestionStates")]
|
|
pub nesting_levels_suggestion_states: Option<Vec<NestingLevelSuggestionState>>,
|
|
}
|
|
|
|
impl Part for ListPropertiesSuggestionState {}
|
|
|
|
|
|
/// A StructuralElement representing a
|
|
/// paragraph. A paragraph is a range of content that is terminated with a
|
|
/// newline character.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Paragraph {
|
|
/// The content of the paragraph broken down into its component parts.
|
|
pub elements: Option<Vec<ParagraphElement>>,
|
|
/// The IDs of the positioned objects that are suggested to be attached to this
|
|
/// paragraph, keyed by suggestion ID.
|
|
#[serde(rename="suggestedPositionedObjectIds")]
|
|
pub suggested_positioned_object_ids: Option<HashMap<String, ObjectReferences>>,
|
|
/// The bullet for this paragraph. If not present, the paragraph does not
|
|
/// belong to a list.
|
|
pub bullet: Option<Bullet>,
|
|
/// The suggested changes to this paragraph's bullet.
|
|
#[serde(rename="suggestedBulletChanges")]
|
|
pub suggested_bullet_changes: Option<HashMap<String, SuggestedBullet>>,
|
|
/// The IDs of the positioned objects tethered to this paragraph.
|
|
#[serde(rename="positionedObjectIds")]
|
|
pub positioned_object_ids: Option<Vec<String>>,
|
|
/// The suggested paragraph style changes to this paragraph, keyed by
|
|
/// suggestion ID.
|
|
#[serde(rename="suggestedParagraphStyleChanges")]
|
|
pub suggested_paragraph_style_changes: Option<HashMap<String, SuggestedParagraphStyle>>,
|
|
/// The style of this paragraph.
|
|
#[serde(rename="paragraphStyle")]
|
|
pub paragraph_style: Option<ParagraphStyle>,
|
|
}
|
|
|
|
impl Part for Paragraph {}
|
|
|
|
|
|
/// Inserts an empty column into a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertTableColumnRequest {
|
|
/// Whether to insert new column to the right of the reference cell location.
|
|
///
|
|
/// - `True`: insert to the right.
|
|
/// - `False`: insert to the left.
|
|
#[serde(rename="insertRight")]
|
|
pub insert_right: Option<bool>,
|
|
/// The reference table cell location from which columns will be inserted.
|
|
///
|
|
/// A new column will be inserted to the left (or right) of the column where
|
|
/// the reference cell is. If the reference cell is a merged cell, a new
|
|
/// column will be inserted to the left (or right) of the merged cell.
|
|
#[serde(rename="tableCellLocation")]
|
|
pub table_cell_location: Option<TableCellLocation>,
|
|
}
|
|
|
|
impl Part for InsertTableColumnRequest {}
|
|
|
|
|
|
/// A reference to the external linked source content.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct LinkedContentReference {
|
|
/// A reference to the linked chart.
|
|
#[serde(rename="sheetsChartReference")]
|
|
pub sheets_chart_reference: Option<SheetsChartReference>,
|
|
}
|
|
|
|
impl Part for LinkedContentReference {}
|
|
|
|
|
|
/// The named styles. Paragraphs in the document can inherit their
|
|
/// TextStyle and
|
|
/// ParagraphStyle from these named styles.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedStyles {
|
|
/// The named styles.
|
|
///
|
|
/// There is an entry for each of the possible named style types.
|
|
pub styles: Option<Vec<NamedStyle>>,
|
|
}
|
|
|
|
impl Part for NamedStyles {}
|
|
|
|
|
|
/// The styling that applies to a section.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SectionStyle {
|
|
/// The style of column separators.
|
|
///
|
|
/// This style can be set even when there is one column in the section.
|
|
#[serde(rename="columnSeparatorStyle")]
|
|
pub column_separator_style: Option<String>,
|
|
/// The section's columns properties.
|
|
///
|
|
/// If empty, the section contains one column with the default properties in
|
|
/// the Docs editor.
|
|
#[serde(rename="columnProperties")]
|
|
pub column_properties: Option<Vec<SectionColumnProperties>>,
|
|
/// The content direction of this section. If unset, the value defaults to
|
|
/// LEFT_TO_RIGHT.
|
|
#[serde(rename="contentDirection")]
|
|
pub content_direction: Option<String>,
|
|
}
|
|
|
|
impl Part for SectionStyle {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base
|
|
/// Bullet have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct BulletSuggestionState {
|
|
/// Indicates if there was a suggested change to the
|
|
/// nesting_level.
|
|
#[serde(rename="nestingLevelSuggested")]
|
|
pub nesting_level_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in text style have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="textStyleSuggestionState")]
|
|
pub text_style_suggestion_state: Option<TextStyleSuggestionState>,
|
|
/// Indicates if there was a suggested change to the
|
|
/// list_id.
|
|
#[serde(rename="listIdSuggested")]
|
|
pub list_id_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for BulletSuggestionState {}
|
|
|
|
|
|
/// The properties of an embedded drawing.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedDrawingProperties { _never_set: Option<bool> }
|
|
|
|
impl Part for EmbeddedDrawingProperties {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base EmbeddedObject have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedObjectSuggestionState {
|
|
/// A mask that indicates which of the fields in linked_content_reference have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="linkedContentReferenceSuggestionState")]
|
|
pub linked_content_reference_suggestion_state: Option<LinkedContentReferenceSuggestionState>,
|
|
/// A mask that indicates which of the fields in size have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="sizeSuggestionState")]
|
|
pub size_suggestion_state: Option<SizeSuggestionState>,
|
|
/// A mask that indicates which of the fields in embedded_drawing_properties have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="embeddedDrawingPropertiesSuggestionState")]
|
|
pub embedded_drawing_properties_suggestion_state: Option<EmbeddedDrawingPropertiesSuggestionState>,
|
|
/// Indicates if there was a suggested change to margin_right.
|
|
#[serde(rename="marginRightSuggested")]
|
|
pub margin_right_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in image_properties have been changed in
|
|
/// this suggestion.
|
|
#[serde(rename="imagePropertiesSuggestionState")]
|
|
pub image_properties_suggestion_state: Option<ImagePropertiesSuggestionState>,
|
|
/// Indicates if there was a suggested change to description.
|
|
#[serde(rename="descriptionSuggested")]
|
|
pub description_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_left.
|
|
#[serde(rename="marginLeftSuggested")]
|
|
pub margin_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_top.
|
|
#[serde(rename="marginTopSuggested")]
|
|
pub margin_top_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_bottom.
|
|
#[serde(rename="marginBottomSuggested")]
|
|
pub margin_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to title.
|
|
#[serde(rename="titleSuggested")]
|
|
pub title_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in embedded_object_border have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="embeddedObjectBorderSuggestionState")]
|
|
pub embedded_object_border_suggestion_state: Option<EmbeddedObjectBorderSuggestionState>,
|
|
}
|
|
|
|
impl Part for EmbeddedObjectSuggestionState {}
|
|
|
|
|
|
/// The result of replacing text.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ReplaceAllTextResponse {
|
|
/// The number of occurrences changed by replacing all text.
|
|
#[serde(rename="occurrencesChanged")]
|
|
pub occurrences_changed: Option<i32>,
|
|
}
|
|
|
|
impl Part for ReplaceAllTextResponse {}
|
|
|
|
|
|
/// Inserts a table at the specified location.
|
|
///
|
|
/// A newline character will be inserted before the inserted table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertTableRequest {
|
|
/// Inserts the table at the end of the given header, footer or document
|
|
/// body. A newline character will be inserted before the inserted table.
|
|
///
|
|
/// Tables cannot be inserted inside a footnote.
|
|
#[serde(rename="endOfSegmentLocation")]
|
|
pub end_of_segment_location: Option<EndOfSegmentLocation>,
|
|
/// The number of rows in the table.
|
|
pub rows: Option<i32>,
|
|
/// Inserts the table at a specific model index.
|
|
///
|
|
/// A newline character will be inserted before the inserted table, therefore
|
|
/// the table start index will be at the specified location index + 1.
|
|
///
|
|
/// The table must be inserted inside the bounds of an existing
|
|
/// Paragraph. For instance, it cannot be
|
|
/// inserted at a table's start index (i.e. between an existing table and its
|
|
/// preceding paragraph).
|
|
///
|
|
/// Tables cannot be inserted inside a footnote or equation.
|
|
pub location: Option<Location>,
|
|
/// The number of columns in the table.
|
|
pub columns: Option<i32>,
|
|
}
|
|
|
|
impl Part for InsertTableRequest {}
|
|
|
|
|
|
/// A ParagraphElement representing a
|
|
/// spot in the text that is dynamically replaced with content that can change
|
|
/// over time, like a page number.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct AutoText {
|
|
/// The text style of this AutoText.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this AutoText, keyed by suggestion ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The type of this auto text.
|
|
#[serde(rename="type")]
|
|
pub type_: Option<String>,
|
|
/// The suggested insertion IDs. An AutoText
|
|
/// may have multiple insertion IDs if it is a nested suggested change. If
|
|
/// empty, then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for AutoText {}
|
|
|
|
|
|
/// A ParagraphElement that contains
|
|
/// an InlineObject.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InlineObjectElement {
|
|
/// The text style of this InlineObjectElement.
|
|
///
|
|
/// Similar to text content, like text runs and footnote references, the text
|
|
/// style of an inline object element can affect content layout as well as the
|
|
/// styling of text inserted adjacent to it.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The ID of the InlineObject this
|
|
/// element contains.
|
|
#[serde(rename="inlineObjectId")]
|
|
pub inline_object_id: Option<String>,
|
|
/// The suggested text style changes to this InlineObject, keyed by suggestion
|
|
/// ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs
|
|
/// if it is a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for InlineObjectElement {}
|
|
|
|
|
|
/// Inserts text at the specified location.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertTextRequest {
|
|
/// The text to be inserted.
|
|
///
|
|
/// Inserting a newline character will implicitly create a new
|
|
/// Paragraph at that index.
|
|
/// The paragraph style of the new paragraph will be copied from the paragraph
|
|
/// at the current insertion index, including lists and bullets.
|
|
///
|
|
/// Text styles for inserted text will be determined automatically, generally
|
|
/// preserving the styling of neighboring text. In most cases, the text style
|
|
/// for the inserted text will match the text immediately before the insertion
|
|
/// index.
|
|
///
|
|
/// Some control characters (U+0000-U+0008, U+000C-U+001F) and characters
|
|
/// from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF)
|
|
/// will be stripped out of the inserted text.
|
|
pub text: Option<String>,
|
|
/// Inserts the text at the end of a header, footer, footnote or
|
|
/// the document body.
|
|
#[serde(rename="endOfSegmentLocation")]
|
|
pub end_of_segment_location: Option<EndOfSegmentLocation>,
|
|
/// Inserts the text at a specific index in the document.
|
|
///
|
|
/// Text must be inserted inside the bounds of an existing
|
|
/// Paragraph. For instance, text cannot be
|
|
/// inserted at a table's start index (i.e. between the table and its
|
|
/// preceding paragraph). The text must be inserted in the preceding
|
|
/// paragraph.
|
|
pub location: Option<Location>,
|
|
}
|
|
|
|
impl Part for InsertTextRequest {}
|
|
|
|
|
|
/// Represents the styling that can be applied to text.
|
|
///
|
|
/// Inherited text styles are represented as unset fields in this message. A
|
|
/// text style's parent depends on where the text style is defined:
|
|
///
|
|
/// * The TextStyle of text in a Paragraph
|
|
/// inherits from the paragraph's corresponding named style type.
|
|
/// * The TextStyle on a named style
|
|
/// inherits from the normal text named style.
|
|
/// * The TextStyle of the normal text named style inherits
|
|
/// from the default text style in the Docs editor.
|
|
/// * The TextStyle on a Paragraph element
|
|
/// that is contained in a table may inherit its text style from the table
|
|
/// style.
|
|
///
|
|
/// If the text style does not inherit from a parent, unsetting fields will
|
|
/// revert the style to a value matching the defaults in the Docs editor.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TextStyle {
|
|
/// The foreground color of the text. If set, the color is either an RGB color
|
|
/// or transparent, depending on the `color` field.
|
|
#[serde(rename="foregroundColor")]
|
|
pub foreground_color: Option<OptionalColor>,
|
|
/// Whether or not the text is rendered as bold.
|
|
pub bold: Option<bool>,
|
|
/// The text's vertical offset from its normal position.
|
|
///
|
|
/// Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically
|
|
/// rendered in a smaller font size, computed based on the `font_size` field.
|
|
/// The `font_size` itself is not affected by changes in this field.
|
|
#[serde(rename="baselineOffset")]
|
|
pub baseline_offset: Option<String>,
|
|
/// Whether or not the text is struck through.
|
|
pub strikethrough: Option<bool>,
|
|
/// The font family and rendered weight of the text.
|
|
///
|
|
/// If an update request specifies values for both `weighted_font_family` and
|
|
/// `bold`, the `weighted_font_family` is applied first, then `bold`.
|
|
///
|
|
/// If `weighted_font_family#weight` is not set, it defaults to `400`.
|
|
///
|
|
/// If `weighted_font_family` is set, then `weighted_font_family#font_family`
|
|
/// must also be set with a non-empty value. Otherwise, a 400 bad request error
|
|
/// is returned.
|
|
#[serde(rename="weightedFontFamily")]
|
|
pub weighted_font_family: Option<WeightedFontFamily>,
|
|
/// Whether or not the text is in small capital letters.
|
|
#[serde(rename="smallCaps")]
|
|
pub small_caps: Option<bool>,
|
|
/// The size of the text's font.
|
|
#[serde(rename="fontSize")]
|
|
pub font_size: Option<Dimension>,
|
|
/// Whether or not the text is italicized.
|
|
pub italic: Option<bool>,
|
|
/// The hyperlink destination of the text. If unset, there is no link. Links
|
|
/// are not inherited from parent text.
|
|
///
|
|
/// Changing the link in an update request causes some other changes to the
|
|
/// text style of the range:
|
|
///
|
|
/// * When setting a link, the text foreground color will be updated to the
|
|
/// default link color and the text will be underlined. If these fields are
|
|
/// modified in the same request, those values will be used instead of the
|
|
/// link defaults.
|
|
/// * Setting a link on a text range that overlaps with an existing link will
|
|
/// also update the existing link to point to the new URL.
|
|
/// * Links are not settable on newline characters. As a result, setting a link
|
|
/// on a text range that crosses a paragraph boundary, such as `"ABC\n123"`,
|
|
/// will separate the newline character(s) into their own text runs. The
|
|
/// link will be applied separately to the runs before and after the newline.
|
|
/// * Removing a link will update the text style of the range to match the
|
|
/// style of the preceding text (or the default text styles if the preceding
|
|
/// text is another link) unless different styles are being set in the same
|
|
/// request.
|
|
pub link: Option<Link>,
|
|
/// Whether or not the text is underlined.
|
|
pub underline: Option<bool>,
|
|
/// The background color of the text. If set, the color is either an RGB color
|
|
/// or transparent, depending on the `color` field.
|
|
#[serde(rename="backgroundColor")]
|
|
pub background_color: Option<OptionalColor>,
|
|
}
|
|
|
|
impl Part for TextStyle {}
|
|
|
|
|
|
/// The properties of a column in a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableColumnProperties {
|
|
/// The width of the column. Set when the column's `width_type` is
|
|
/// FIXED_WIDTH.
|
|
pub width: Option<Dimension>,
|
|
/// The width type of the column.
|
|
#[serde(rename="widthType")]
|
|
pub width_type: Option<String>,
|
|
}
|
|
|
|
impl Part for TableColumnProperties {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base Size have been changed in this suggestion.
|
|
/// For any field set to true, the Size has
|
|
/// a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SizeSuggestionState {
|
|
/// Indicates if there was a suggested change to width.
|
|
#[serde(rename="widthSuggested")]
|
|
pub width_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to height.
|
|
#[serde(rename="heightSuggested")]
|
|
pub height_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for SizeSuggestionState {}
|
|
|
|
|
|
/// A particular location in the document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Location {
|
|
/// The zero-based index, in UTF-16 code units.
|
|
///
|
|
/// The index is relative to the beginning of the segment specified by
|
|
/// segment_id.
|
|
pub index: Option<i32>,
|
|
/// The ID of the header, footer or footnote the location is in. An empty
|
|
/// segment ID signifies the document's body.
|
|
#[serde(rename="segmentId")]
|
|
pub segment_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Location {}
|
|
|
|
|
|
/// Provides control over how write requests are executed.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct WriteControl {
|
|
/// The revision ID of the
|
|
/// document that the write request will be applied to. If this is not the
|
|
/// latest revision of the document, the request will not be processed and
|
|
/// will return a 400 bad request error.
|
|
///
|
|
/// When a required revision ID is returned in a response, it indicates the
|
|
/// revision ID of the document after the request was applied.
|
|
#[serde(rename="requiredRevisionId")]
|
|
pub required_revision_id: Option<String>,
|
|
/// The target revision ID of the
|
|
/// document that the write request will be applied to.
|
|
///
|
|
/// If collaborator changes have occurred after the document was read using
|
|
/// the API, the changes produced by this write request will be transformed
|
|
/// against the collaborator changes. This results in a new revision of the
|
|
/// document which incorporates both the changes in the request and the
|
|
/// collaborator changes, and the Docs server will resolve conflicting
|
|
/// changes. When using `target_revision_id`, the API client can be thought
|
|
/// of as another collaborator of the document.
|
|
///
|
|
/// The target revision ID may only be used to write to recent versions of a
|
|
/// document. If the target revision is too far behind the latest revision,
|
|
/// the request will not be processed and will return a 400 bad request error
|
|
/// and the request should be retried after reading the latest version of the
|
|
/// document. In most cases a `revision_id` will remain valid for use as a
|
|
/// target revision for several minutes after it is read, but for
|
|
/// frequently-edited documents this window may be shorter.
|
|
#[serde(rename="targetRevisionId")]
|
|
pub target_revision_id: Option<String>,
|
|
}
|
|
|
|
impl Part for WriteControl {}
|
|
|
|
|
|
/// The properties of an image.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ImageProperties {
|
|
/// The transparency effect of the image. The value should be in the interval
|
|
/// [0.0, 1.0], where 0 means no effect and 1 means completely transparent.
|
|
pub transparency: Option<f32>,
|
|
/// The clockwise rotation angle of the image, in radians.
|
|
pub angle: Option<f32>,
|
|
/// A URI to the image with a default lifetime of 30 minutes.
|
|
/// This URI is tagged with the account of the requester. Anyone with the URI
|
|
/// effectively accesses the image as the original requester. Access to the
|
|
/// image may be lost if the document's sharing settings change.
|
|
#[serde(rename="contentUri")]
|
|
pub content_uri: Option<String>,
|
|
/// The source URI is the URI used to insert the image. The source URI can be
|
|
/// empty.
|
|
#[serde(rename="sourceUri")]
|
|
pub source_uri: Option<String>,
|
|
/// The brightness effect of the image. The value should be in the interval
|
|
/// [-1.0, 1.0], where 0 means no effect.
|
|
pub brightness: Option<f32>,
|
|
/// The crop properties of the image.
|
|
#[serde(rename="cropProperties")]
|
|
pub crop_properties: Option<CropProperties>,
|
|
/// The contrast effect of the image. The value should be in the interval
|
|
/// [-1.0, 1.0], where 0 means no effect.
|
|
pub contrast: Option<f32>,
|
|
}
|
|
|
|
impl Part for ImageProperties {}
|
|
|
|
|
|
/// A document header.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Header {
|
|
/// The contents of the header.
|
|
///
|
|
/// The indexes for a header's content begin at zero.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
/// The ID of the header.
|
|
#[serde(rename="headerId")]
|
|
pub header_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Header {}
|
|
|
|
|
|
/// A reference to another portion of a document or an external URL resource.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Link {
|
|
/// The ID of a heading in this document.
|
|
#[serde(rename="headingId")]
|
|
pub heading_id: Option<String>,
|
|
/// An external URL.
|
|
pub url: Option<String>,
|
|
/// The ID of a bookmark in this document.
|
|
#[serde(rename="bookmarkId")]
|
|
pub bookmark_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Link {}
|
|
|
|
|
|
/// A suggested change to a Bullet.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedBullet {
|
|
/// A Bullet that only includes the changes made
|
|
/// in this suggestion. This can be used along with the
|
|
/// bullet_suggestion_state to see which
|
|
/// fields have changed and their new values.
|
|
pub bullet: Option<Bullet>,
|
|
/// A mask that indicates which of the fields on the base
|
|
/// Bullet have been changed in this suggestion.
|
|
#[serde(rename="bulletSuggestionState")]
|
|
pub bullet_suggestion_state: Option<BulletSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedBullet {}
|
|
|
|
|
|
/// A ParagraphElement that represents a
|
|
/// run of text that all has the same styling.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TextRun {
|
|
/// The text of this run.
|
|
///
|
|
/// Any non-text elements in the run are replaced with the Unicode character
|
|
/// U+E907.
|
|
pub content: Option<String>,
|
|
/// The text style of this run.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this run, keyed by suggestion ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. A TextRun may
|
|
/// have multiple insertion IDs if it is a nested suggested change. If empty,
|
|
/// then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for TextRun {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base
|
|
/// PositionedObjectPositioning have been changed in this
|
|
/// suggestion. For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PositionedObjectPositioningSuggestionState {
|
|
/// Indicates if there was a suggested change to layout.
|
|
#[serde(rename="layoutSuggested")]
|
|
pub layout_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to top_offset.
|
|
#[serde(rename="topOffsetSuggested")]
|
|
pub top_offset_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to left_offset.
|
|
#[serde(rename="leftOffsetSuggested")]
|
|
pub left_offset_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for PositionedObjectPositioningSuggestionState {}
|
|
|
|
|
|
/// A color that can either be fully opaque or fully transparent.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct OptionalColor {
|
|
/// If set, this will be used as an opaque color. If unset, this represents
|
|
/// a transparent color.
|
|
pub color: Option<Color>,
|
|
}
|
|
|
|
impl Part for OptionalColor {}
|
|
|
|
|
|
/// A border around a table cell.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableCellBorder {
|
|
/// The color of the border.
|
|
pub color: Option<OptionalColor>,
|
|
/// The width of the border.
|
|
pub width: Option<Dimension>,
|
|
/// The dash style of the border.
|
|
#[serde(rename="dashStyle")]
|
|
pub dash_style: Option<String>,
|
|
}
|
|
|
|
impl Part for TableCellBorder {}
|
|
|
|
|
|
/// Update the styling of text.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct UpdateTextStyleRequest {
|
|
/// The fields that should be updated.
|
|
///
|
|
/// At least one field must be specified. The root `text_style` is implied and
|
|
/// should not be specified. A single `"*"` can be used as short-hand for
|
|
/// listing every field.
|
|
///
|
|
/// For example, to update the text style to bold, set `fields` to `"bold"`.
|
|
///
|
|
/// To reset a property to its default value, include its field name in the
|
|
/// field mask but leave the field itself unset.
|
|
pub fields: Option<String>,
|
|
/// The range of text to style.
|
|
///
|
|
/// The range may be extended to include adjacent newlines.
|
|
///
|
|
/// If the range fully contains a paragraph belonging to a list, the
|
|
/// paragraph's bullet is also updated with the matching text style.
|
|
pub range: Option<Range>,
|
|
/// The styles to set on the text.
|
|
///
|
|
/// If the value for a particular style matches that of the parent, that style
|
|
/// will be set to inherit.
|
|
///
|
|
/// Certain text style changes may cause other changes in order to to mirror
|
|
/// the behavior of the Docs editor. See the documentation of
|
|
/// TextStyle for more information.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
}
|
|
|
|
impl Part for UpdateTextStyleRequest {}
|
|
|
|
|
|
/// Contains properties describing the look and feel of a list bullet at a given
|
|
/// level of nesting.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NestingLevel {
|
|
/// The text style of bullets at this level of nesting.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The amount of indentation for paragraphs at this level of nesting. Applied
|
|
/// to the side that corresponds to the start of the text, based on the
|
|
/// paragraph's content direction.
|
|
#[serde(rename="indentStart")]
|
|
pub indent_start: Option<Dimension>,
|
|
/// The type of glyph used by bullets when paragraphs at this level of
|
|
/// nesting are ordered.
|
|
///
|
|
/// The glyph type determines the type of glyph used to replace placeholders
|
|
/// within the glyph_format
|
|
/// when paragraphs at this level of nesting are ordered. For example, if the
|
|
/// nesting level is 0, the glyph_format is `%0.` and the glyph
|
|
/// type is DECIMAL,
|
|
/// then the rendered glyph would replace the placeholder `%0` in the glyph
|
|
/// format with a number corresponding to list item's order within the list.
|
|
#[serde(rename="glyphType")]
|
|
pub glyph_type: Option<String>,
|
|
/// The format string used by bullets at this level of nesting.
|
|
///
|
|
/// The glyph format contains one or more placeholders, and these placeholder
|
|
/// are replaced with the appropriate values depending on the glyph_type or glyph_symbol. The placeholders follow
|
|
/// the pattern `%[nesting_level]`. Furthermore, placeholders can have prefixes
|
|
/// and suffixes. Thus, the glyph format follows the pattern
|
|
/// `<prefix>%[nesting_level]<suffix>`. Note that the prefix and suffix are
|
|
/// optional and can be arbitrary strings.
|
|
///
|
|
/// For example, the glyph format `%0.` indicates that the rendered glyph will
|
|
/// replace the placeholder with the corresponding glyph for nesting level 0
|
|
/// followed by a period as the suffix. So a list with a glyph type of
|
|
/// UPPER_ALPHA and
|
|
/// glyph format `%0.` at nesting level 0 will result in a list with rendered
|
|
/// glyphs
|
|
/// <p>`A.`
|
|
/// <p>`B.`
|
|
/// <p>`C.`
|
|
///
|
|
/// The glyph format can contain placeholders for the current nesting level as
|
|
/// well as placeholders for parent nesting levels. For example, a
|
|
/// list can have a glyph format of `%0.` at nesting level 0 and a
|
|
/// glyph format of `%0.%1.` at nesting level 1. Assuming both nesting levels
|
|
/// have DECIMAL glyph
|
|
/// types, this would result in a list with rendered glyphs
|
|
/// <p>`1.`
|
|
/// <p>`2.`
|
|
/// <p>` 2.1.`
|
|
/// <p>` 2.2.`
|
|
/// <p>`3.`
|
|
///
|
|
/// For nesting levels that are ordered, the string that replaces a placeholder
|
|
/// in the glyph format for a particular paragraph depends on the paragraph's
|
|
/// order within the list.
|
|
#[serde(rename="glyphFormat")]
|
|
pub glyph_format: Option<String>,
|
|
/// A custom glyph symbol used by bullets when paragraphs at this level of
|
|
/// nesting are unordered.
|
|
///
|
|
/// The glyph symbol replaces placeholders within the glyph_format. For example, if the
|
|
/// glyph_symbol is the solid circle corresponding to Unicode U+25cf code
|
|
/// point and the glyph_format is `%0`, the rendered
|
|
/// glyph would be the solid circle.
|
|
#[serde(rename="glyphSymbol")]
|
|
pub glyph_symbol: Option<String>,
|
|
/// The alignment of the bullet within the space allotted for rendering the
|
|
/// bullet.
|
|
#[serde(rename="bulletAlignment")]
|
|
pub bullet_alignment: Option<String>,
|
|
/// The number of the first list item at this nesting level.
|
|
///
|
|
/// A value of 0 is treated as a value of 1 for lettered lists and roman
|
|
/// numeraled lists, i.e. for values of both 0 and 1, lettered and roman
|
|
/// numeraled lists will begin at `a` and `i` respectively.
|
|
///
|
|
/// This value is ignored for nesting levels with unordered glyphs.
|
|
#[serde(rename="startNumber")]
|
|
pub start_number: Option<i32>,
|
|
/// The amount of indentation for the first line of paragraphs at this level of
|
|
/// nesting.
|
|
#[serde(rename="indentFirstLine")]
|
|
pub indent_first_line: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for NestingLevel {}
|
|
|
|
|
|
/// A criteria that matches a specific string of text in the document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SubstringMatchCriteria {
|
|
/// The text to search for in the document.
|
|
pub text: Option<String>,
|
|
/// Indicates whether the search should respect case:
|
|
///
|
|
/// - `True`: the search is case sensitive.
|
|
/// - `False`: the search is case insensitive.
|
|
#[serde(rename="matchCase")]
|
|
pub match_case: Option<bool>,
|
|
}
|
|
|
|
impl Part for SubstringMatchCriteria {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base ImageProperties have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ImagePropertiesSuggestionState {
|
|
/// A mask that indicates which of the fields in crop_properties have been changed in
|
|
/// this suggestion.
|
|
#[serde(rename="cropPropertiesSuggestionState")]
|
|
pub crop_properties_suggestion_state: Option<CropPropertiesSuggestionState>,
|
|
/// Indicates if there was a suggested change to contrast.
|
|
#[serde(rename="contrastSuggested")]
|
|
pub contrast_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to angle.
|
|
#[serde(rename="angleSuggested")]
|
|
pub angle_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to brightness.
|
|
#[serde(rename="brightnessSuggested")]
|
|
pub brightness_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to transparency.
|
|
#[serde(rename="transparencySuggested")]
|
|
pub transparency_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to source_uri.
|
|
#[serde(rename="sourceUriSuggested")]
|
|
pub source_uri_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// content_uri.
|
|
#[serde(rename="contentUriSuggested")]
|
|
pub content_uri_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for ImagePropertiesSuggestionState {}
|
|
|
|
|
|
/// A ParagraphElement representing an
|
|
/// equation.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Equation {
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested insertion IDs. A Equation
|
|
/// may have multiple insertion IDs if it is a nested suggested change. If
|
|
/// empty, then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for Equation {}
|
|
|
|
|
|
/// Updates the
|
|
/// TableColumnProperties of columns
|
|
/// in a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct UpdateTableColumnPropertiesRequest {
|
|
/// The list of zero-based column indices whose property should be updated. If
|
|
/// no indices are specified, all columns will be updated.
|
|
#[serde(rename="columnIndices")]
|
|
pub column_indices: Option<Vec<i32>>,
|
|
/// The fields that should be updated.
|
|
///
|
|
/// At least one field must be specified. The root `tableColumnProperties` is
|
|
/// implied and should not be specified. A single `"*"` can be used as
|
|
/// short-hand for listing every field.
|
|
///
|
|
/// For example to update the column width, set `fields` to `"width"`.
|
|
pub fields: Option<String>,
|
|
/// The table column properties to update.
|
|
///
|
|
/// If the value of `table_column_properties#width` is less than 5 points
|
|
/// (5/72 inch), a 400 bad request error is returned.
|
|
#[serde(rename="tableColumnProperties")]
|
|
pub table_column_properties: Option<TableColumnProperties>,
|
|
/// The location where the table starts in the document.
|
|
#[serde(rename="tableStartLocation")]
|
|
pub table_start_location: Option<Location>,
|
|
}
|
|
|
|
impl Part for UpdateTableColumnPropertiesRequest {}
|
|
|
|
|
|
/// Location at the end of a body, header, footer or footnote. The location is
|
|
/// immediately before the last newline in the document segment.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EndOfSegmentLocation {
|
|
/// The ID of the header, footer or footnote the location is in. An empty
|
|
/// segment ID signifies the document's body.
|
|
#[serde(rename="segmentId")]
|
|
pub segment_id: Option<String>,
|
|
}
|
|
|
|
impl Part for EndOfSegmentLocation {}
|
|
|
|
|
|
/// A single update to apply to a document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Request {
|
|
/// Inserts text at the specified location.
|
|
#[serde(rename="insertText")]
|
|
pub insert_text: Option<InsertTextRequest>,
|
|
/// Creates bullets for paragraphs.
|
|
#[serde(rename="createParagraphBullets")]
|
|
pub create_paragraph_bullets: Option<CreateParagraphBulletsRequest>,
|
|
/// Updates the row style in a table.
|
|
#[serde(rename="updateTableRowStyle")]
|
|
pub update_table_row_style: Option<UpdateTableRowStyleRequest>,
|
|
/// Updates the paragraph style at the specified range.
|
|
#[serde(rename="updateParagraphStyle")]
|
|
pub update_paragraph_style: Option<UpdateParagraphStyleRequest>,
|
|
/// Replaces all instances of the specified text.
|
|
#[serde(rename="replaceAllText")]
|
|
pub replace_all_text: Option<ReplaceAllTextRequest>,
|
|
/// Inserts an empty column into a table.
|
|
#[serde(rename="insertTableColumn")]
|
|
pub insert_table_column: Option<InsertTableColumnRequest>,
|
|
/// Deletes a row from a table.
|
|
#[serde(rename="deleteTableRow")]
|
|
pub delete_table_row: Option<DeleteTableRowRequest>,
|
|
/// Inserts a page break at the specified location.
|
|
#[serde(rename="insertPageBreak")]
|
|
pub insert_page_break: Option<InsertPageBreakRequest>,
|
|
/// Creates a named range.
|
|
#[serde(rename="createNamedRange")]
|
|
pub create_named_range: Option<CreateNamedRangeRequest>,
|
|
/// Updates the properties of columns in a table.
|
|
#[serde(rename="updateTableColumnProperties")]
|
|
pub update_table_column_properties: Option<UpdateTableColumnPropertiesRequest>,
|
|
/// Deletes content from the document.
|
|
#[serde(rename="deleteContentRange")]
|
|
pub delete_content_range: Option<DeleteContentRangeRequest>,
|
|
/// Deletes bullets from paragraphs.
|
|
#[serde(rename="deleteParagraphBullets")]
|
|
pub delete_paragraph_bullets: Option<DeleteParagraphBulletsRequest>,
|
|
/// Deletes a named range.
|
|
#[serde(rename="deleteNamedRange")]
|
|
pub delete_named_range: Option<DeleteNamedRangeRequest>,
|
|
/// Inserts a table at the specified location.
|
|
#[serde(rename="insertTable")]
|
|
pub insert_table: Option<InsertTableRequest>,
|
|
/// Inserts an empty row into a table.
|
|
#[serde(rename="insertTableRow")]
|
|
pub insert_table_row: Option<InsertTableRowRequest>,
|
|
/// Updates the text style at the specified range.
|
|
#[serde(rename="updateTextStyle")]
|
|
pub update_text_style: Option<UpdateTextStyleRequest>,
|
|
/// Deletes a positioned object from the document.
|
|
#[serde(rename="deletePositionedObject")]
|
|
pub delete_positioned_object: Option<DeletePositionedObjectRequest>,
|
|
/// Deletes a column from a table.
|
|
#[serde(rename="deleteTableColumn")]
|
|
pub delete_table_column: Option<DeleteTableColumnRequest>,
|
|
/// Inserts an inline image at the specified location.
|
|
#[serde(rename="insertInlineImage")]
|
|
pub insert_inline_image: Option<InsertInlineImageRequest>,
|
|
}
|
|
|
|
impl Part for Request {}
|
|
|
|
|
|
/// The result of inserting an inline image.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertInlineImageResponse {
|
|
/// The ID of the created InlineObject.
|
|
#[serde(rename="objectId")]
|
|
pub object_id: Option<String>,
|
|
}
|
|
|
|
impl Part for InsertInlineImageResponse {}
|
|
|
|
|
|
/// A suggested change to ListProperties.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedListProperties {
|
|
/// A ListProperties that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// list_properties_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="listProperties")]
|
|
pub list_properties: Option<ListProperties>,
|
|
/// A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion.
|
|
#[serde(rename="listPropertiesSuggestionState")]
|
|
pub list_properties_suggestion_state: Option<ListPropertiesSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedListProperties {}
|
|
|
|
|
|
/// A magnitude in a single direction in the specified units.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Dimension {
|
|
/// The magnitude.
|
|
pub magnitude: Option<f64>,
|
|
/// The units for magnitude.
|
|
pub unit: Option<String>,
|
|
}
|
|
|
|
impl Part for Dimension {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base
|
|
/// LinkedContentReference have
|
|
/// been changed in this suggestion. For any field set to true, there is a new
|
|
/// suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct LinkedContentReferenceSuggestionState {
|
|
/// A mask that indicates which of the fields in sheets_chart_reference have
|
|
/// been changed in this suggestion.
|
|
#[serde(rename="sheetsChartReferenceSuggestionState")]
|
|
pub sheets_chart_reference_suggestion_state: Option<SheetsChartReferenceSuggestionState>,
|
|
}
|
|
|
|
impl Part for LinkedContentReferenceSuggestionState {}
|
|
|
|
|
|
/// The style of the document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DocumentStyle {
|
|
/// The ID of the default footer. If not set, there is no default footer.
|
|
#[serde(rename="defaultFooterId")]
|
|
pub default_footer_id: Option<String>,
|
|
/// The ID of the footer used only for even pages. The value of
|
|
/// use_even_page_header_footer determines
|
|
/// whether to use the default_footer_id or this value for the
|
|
/// footer on even pages. If not set, there is no even page footer.
|
|
#[serde(rename="evenPageFooterId")]
|
|
pub even_page_footer_id: Option<String>,
|
|
/// The ID of the footer used only for the first page. If not set then
|
|
/// a unique footer for the first page does not exist. The value of
|
|
/// use_first_page_header_footer determines
|
|
/// whether to use the default_footer_id or this value for the
|
|
/// footer on the first page. If not set, there is no first page footer.
|
|
#[serde(rename="firstPageFooterId")]
|
|
pub first_page_footer_id: Option<String>,
|
|
/// The size of a page in the document.
|
|
#[serde(rename="pageSize")]
|
|
pub page_size: Option<Size>,
|
|
/// The ID of the default header. If not set, there is no default header.
|
|
#[serde(rename="defaultHeaderId")]
|
|
pub default_header_id: Option<String>,
|
|
/// The bottom page margin.
|
|
#[serde(rename="marginBottom")]
|
|
pub margin_bottom: Option<Dimension>,
|
|
/// The ID of the header used only for the first page. If not set then
|
|
/// a unique header for the first page does not exist.
|
|
/// The value of use_first_page_header_footer determines
|
|
/// whether to use the default_header_id or this value for the
|
|
/// header on the first page. If not set, there is no first page header.
|
|
#[serde(rename="firstPageHeaderId")]
|
|
pub first_page_header_id: Option<String>,
|
|
/// The ID of the header used only for even pages. The value of
|
|
/// use_even_page_header_footer determines
|
|
/// whether to use the default_header_id or this value for the
|
|
/// header on even pages. If not set, there is no even page header.
|
|
#[serde(rename="evenPageHeaderId")]
|
|
pub even_page_header_id: Option<String>,
|
|
/// Indicates whether to use the first page header / footer IDs for the first
|
|
/// page.
|
|
#[serde(rename="useFirstPageHeaderFooter")]
|
|
pub use_first_page_header_footer: Option<bool>,
|
|
/// The left page margin.
|
|
#[serde(rename="marginLeft")]
|
|
pub margin_left: Option<Dimension>,
|
|
/// Indicates whether to use the even page header / footer IDs for the even
|
|
/// pages.
|
|
#[serde(rename="useEvenPageHeaderFooter")]
|
|
pub use_even_page_header_footer: Option<bool>,
|
|
/// The background of the document.
|
|
pub background: Option<Background>,
|
|
/// The right page margin.
|
|
#[serde(rename="marginRight")]
|
|
pub margin_right: Option<Dimension>,
|
|
/// The page number from which to start counting the number of pages.
|
|
#[serde(rename="pageNumberStart")]
|
|
pub page_number_start: Option<i32>,
|
|
/// The top page margin.
|
|
#[serde(rename="marginTop")]
|
|
pub margin_top: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for DocumentStyle {}
|
|
|
|
|
|
/// Deletes a PositionedObject from the
|
|
/// document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeletePositionedObjectRequest {
|
|
/// The ID of the positioned object to delete.
|
|
#[serde(rename="objectId")]
|
|
pub object_id: Option<String>,
|
|
}
|
|
|
|
impl Part for DeletePositionedObjectRequest {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base
|
|
/// InlineObjectProperties have
|
|
/// been changed in this suggestion. For any field set to true, there is a new
|
|
/// suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InlineObjectPropertiesSuggestionState {
|
|
/// A mask that indicates which of the fields in embedded_object have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="embeddedObjectSuggestionState")]
|
|
pub embedded_object_suggestion_state: Option<EmbeddedObjectSuggestionState>,
|
|
}
|
|
|
|
impl Part for InlineObjectPropertiesSuggestionState {}
|
|
|
|
|
|
/// The contents and style of a row in a Table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableRow {
|
|
/// The contents and style of each cell in this row.
|
|
///
|
|
/// It is possible for a table to be non-rectangular, so some rows may have a
|
|
/// different number of cells than other rows in the same table.
|
|
#[serde(rename="tableCells")]
|
|
pub table_cells: Option<Vec<TableCell>>,
|
|
/// The zero-based start index of this row, in UTF-16 code units.
|
|
#[serde(rename="startIndex")]
|
|
pub start_index: Option<i32>,
|
|
/// The zero-based end index of this row, exclusive, in UTF-16 code units.
|
|
#[serde(rename="endIndex")]
|
|
pub end_index: Option<i32>,
|
|
/// The style of the table row.
|
|
#[serde(rename="tableRowStyle")]
|
|
pub table_row_style: Option<TableRowStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested style changes to this row, keyed by suggestion ID.
|
|
#[serde(rename="suggestedTableRowStyleChanges")]
|
|
pub suggested_table_row_style_changes: Option<HashMap<String, SuggestedTableRowStyle>>,
|
|
/// The suggested insertion IDs. A TableRow
|
|
/// may have multiple insertion IDs if it is a nested suggested change. If
|
|
/// empty, then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for TableRow {}
|
|
|
|
|
|
/// Styles that apply to a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableStyle {
|
|
/// The properties of each column.
|
|
///
|
|
/// Note that in Docs, tables contain rows and rows contain cells, similar to
|
|
/// HTML. So the properties for a row can be found on the row's
|
|
/// table_row_style.
|
|
#[serde(rename="tableColumnProperties")]
|
|
pub table_column_properties: Option<Vec<TableColumnProperties>>,
|
|
}
|
|
|
|
impl Part for TableStyle {}
|
|
|
|
|
|
/// Specifies a contiguous range of text.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Range {
|
|
/// The zero-based end index of this range, exclusive, in UTF-16 code units.
|
|
///
|
|
/// In all current uses, an end index must be provided. This field is an
|
|
/// Int32Value in order to accommodate future use cases with open-ended ranges.
|
|
#[serde(rename="endIndex")]
|
|
pub end_index: Option<i32>,
|
|
/// The zero-based start index of this range, in UTF-16 code units.
|
|
///
|
|
/// In all current uses, a start index must be provided. This field is an
|
|
/// Int32Value in order to accommodate future use cases with open-ended ranges.
|
|
#[serde(rename="startIndex")]
|
|
pub start_index: Option<i32>,
|
|
/// The ID of the header, footer or footnote that this range is contained in.
|
|
/// An empty segment ID signifies the document's body.
|
|
#[serde(rename="segmentId")]
|
|
pub segment_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Range {}
|
|
|
|
|
|
/// Deletes a row from a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeleteTableRowRequest {
|
|
/// The reference table cell location from which the row will be deleted.
|
|
///
|
|
/// The row this cell spans will be deleted. If this is a merged cell that
|
|
/// spans multiple rows, all rows that the cell spans will be deleted. If no
|
|
/// rows remain in the table after this deletion, the whole table is deleted.
|
|
#[serde(rename="tableCellLocation")]
|
|
pub table_cell_location: Option<TableCellLocation>,
|
|
}
|
|
|
|
impl Part for DeleteTableRowRequest {}
|
|
|
|
|
|
/// A reference to a linked chart embedded from Google Sheets.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SheetsChartReference {
|
|
/// The ID of the specific chart in the Google Sheets spreadsheet that is
|
|
/// embedded.
|
|
#[serde(rename="chartId")]
|
|
pub chart_id: Option<i32>,
|
|
/// The ID of the Google Sheets spreadsheet that contains the source chart.
|
|
#[serde(rename="spreadsheetId")]
|
|
pub spreadsheet_id: Option<String>,
|
|
}
|
|
|
|
impl Part for SheetsChartReference {}
|
|
|
|
|
|
/// Creates bullets for all of the paragraphs that overlap with the given range.
|
|
///
|
|
/// The nesting level of each paragraph will be determined by counting leading
|
|
/// tabs in front of each paragraph. To avoid excess space between the bullet and
|
|
/// the corresponding paragraph, these leading tabs are removed by this request.
|
|
/// This may change the indices of parts of the text.
|
|
///
|
|
/// If the paragraph immediately before paragraphs being updated is in a list
|
|
/// with a matching preset, the paragraphs being updated are added to that
|
|
/// preceding list.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct CreateParagraphBulletsRequest {
|
|
/// The kinds of bullet glyphs to be used.
|
|
#[serde(rename="bulletPreset")]
|
|
pub bullet_preset: Option<String>,
|
|
/// The range to apply the bullet preset to.
|
|
pub range: Option<Range>,
|
|
}
|
|
|
|
impl Part for CreateParagraphBulletsRequest {}
|
|
|
|
|
|
/// A suggested change to a
|
|
/// TableRowStyle.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedTableRowStyle {
|
|
/// A TableRowStyle that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// table_row_style_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="tableRowStyle")]
|
|
pub table_row_style: Option<TableRowStyle>,
|
|
/// A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion.
|
|
#[serde(rename="tableRowStyleSuggestionState")]
|
|
pub table_row_style_suggestion_state: Option<TableRowStyleSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedTableRowStyle {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base Shading have been changed in this
|
|
/// suggested change. For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ShadingSuggestionState {
|
|
/// Indicates if there was a suggested change to the Shading.
|
|
#[serde(rename="backgroundColorSuggested")]
|
|
pub background_color_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for ShadingSuggestionState {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base CropProperties have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct CropPropertiesSuggestionState {
|
|
/// Indicates if there was a suggested change to offset_bottom.
|
|
#[serde(rename="offsetBottomSuggested")]
|
|
pub offset_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to offset_left.
|
|
#[serde(rename="offsetLeftSuggested")]
|
|
pub offset_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to offset_right.
|
|
#[serde(rename="offsetRightSuggested")]
|
|
pub offset_right_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to angle.
|
|
#[serde(rename="angleSuggested")]
|
|
pub angle_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to offset_top.
|
|
#[serde(rename="offsetTopSuggested")]
|
|
pub offset_top_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for CropPropertiesSuggestionState {}
|
|
|
|
|
|
/// A collection of object IDs.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ObjectReferences {
|
|
/// The object IDs.
|
|
#[serde(rename="objectIds")]
|
|
pub object_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for ObjectReferences {}
|
|
|
|
|
|
/// Represents a font family and weight of text.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct WeightedFontFamily {
|
|
/// The font family of the text.
|
|
///
|
|
/// The font family can be any font from the Font menu in Docs or from
|
|
/// [Google Fonts] (https://fonts.google.com/). If the font name is
|
|
/// unrecognized, the text is rendered in `Arial`.
|
|
#[serde(rename="fontFamily")]
|
|
pub font_family: Option<String>,
|
|
/// The weight of the font. This field can have any value that is a multiple of
|
|
/// `100` between `100` and `900`, inclusive. This range corresponds to the
|
|
/// numerical values described in the CSS 2.1 Specification,
|
|
/// [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with
|
|
/// non-numerical values disallowed.
|
|
///
|
|
/// The default value is `400` ("normal").
|
|
///
|
|
/// The font weight makes up just one component of the rendered font weight.
|
|
/// The rendered weight is determined by a combination of the `weight` and the
|
|
/// text style's resolved `bold` value, after accounting for inheritance:
|
|
///
|
|
/// * If the text is bold and the weight is less than `400`, the rendered
|
|
/// weight is 400.
|
|
/// * If the text is bold and the weight is greater than or equal to `400` but
|
|
/// is less than `700`, the rendered weight is `700`.
|
|
/// * If the weight is greater than or equal to `700`, the rendered weight is
|
|
/// equal to the weight.
|
|
/// * If the text is not bold, the rendered weight is equal to the weight.
|
|
pub weight: Option<i32>,
|
|
}
|
|
|
|
impl Part for WeightedFontFamily {}
|
|
|
|
|
|
/// A StructuralElement representing
|
|
/// a table of contents.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableOfContents {
|
|
/// The content of the table of contents.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it
|
|
/// is a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for TableOfContents {}
|
|
|
|
|
|
/// Inserts an InlineObject containing an
|
|
/// image at the given location.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertInlineImageRequest {
|
|
/// The size that the image should appear as in the document. This property is
|
|
/// optional and the final size of the image in the document is determined by
|
|
/// the following rules:
|
|
/// * If neither width nor height is specified, then a default size of the
|
|
/// image is calculated based on its resolution.
|
|
/// * If one dimension is specified then the other dimension is calculated to
|
|
/// preserve the aspect ratio of the image.
|
|
/// * If both width and height are specified, the image is scaled to fit
|
|
/// within the provided dimensions while maintaining its aspect ratio.
|
|
#[serde(rename="objectSize")]
|
|
pub object_size: Option<Size>,
|
|
/// Inserts the text at the end of a header, footer or the document body.
|
|
///
|
|
/// Inline images cannot be inserted inside a footnote.
|
|
#[serde(rename="endOfSegmentLocation")]
|
|
pub end_of_segment_location: Option<EndOfSegmentLocation>,
|
|
/// Inserts the image at a specific index in the document.
|
|
///
|
|
/// The image must be inserted inside the bounds of an existing
|
|
/// Paragraph. For instance, it cannot be
|
|
/// inserted at a table's start index (i.e. between the table and its
|
|
/// preceding paragraph).
|
|
///
|
|
/// Inline images cannot be inserted inside a footnote or equation.
|
|
pub location: Option<Location>,
|
|
/// The image URI.
|
|
///
|
|
/// The image is fetched once at insertion time and a copy is stored for
|
|
/// display inside the document. Images must be less than 50MB in size, cannot
|
|
/// exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format.
|
|
///
|
|
/// The provided URI can be at most 2 kB in length. The URI itself is saved
|
|
/// with the image, and exposed via the ImageProperties.content_uri field.
|
|
pub uri: Option<String>,
|
|
}
|
|
|
|
impl Part for InsertInlineImageRequest {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableCellStyleSuggestionState {
|
|
/// Indicates if there was a suggested change to border_bottom.
|
|
#[serde(rename="borderBottomSuggested")]
|
|
pub border_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_right.
|
|
#[serde(rename="borderRightSuggested")]
|
|
pub border_right_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to padding_bottom.
|
|
#[serde(rename="paddingBottomSuggested")]
|
|
pub padding_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to content_alignment.
|
|
#[serde(rename="contentAlignmentSuggested")]
|
|
pub content_alignment_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to padding_left.
|
|
#[serde(rename="paddingLeftSuggested")]
|
|
pub padding_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_left.
|
|
#[serde(rename="borderLeftSuggested")]
|
|
pub border_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_top.
|
|
#[serde(rename="borderTopSuggested")]
|
|
pub border_top_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to column_span.
|
|
#[serde(rename="columnSpanSuggested")]
|
|
pub column_span_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to padding_right.
|
|
#[serde(rename="paddingRightSuggested")]
|
|
pub padding_right_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to background_color.
|
|
#[serde(rename="backgroundColorSuggested")]
|
|
pub background_color_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to row_span.
|
|
#[serde(rename="rowSpanSuggested")]
|
|
pub row_span_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to padding_top.
|
|
#[serde(rename="paddingTopSuggested")]
|
|
pub padding_top_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for TableCellStyleSuggestionState {}
|
|
|
|
|
|
/// Updates the TableRowStyle of rows in a
|
|
/// table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct UpdateTableRowStyleRequest {
|
|
/// The fields that should be updated.
|
|
///
|
|
/// At least one field must be specified. The root `tableRowStyle` is implied
|
|
/// and should not be specified. A single `"*"` can be used as short-hand for
|
|
/// listing every field.
|
|
///
|
|
/// For example to update the minimum row height, set `fields` to
|
|
/// `"min_row_height"`.
|
|
pub fields: Option<String>,
|
|
/// The styles to be set on the rows.
|
|
#[serde(rename="tableRowStyle")]
|
|
pub table_row_style: Option<TableRowStyle>,
|
|
/// The list of zero-based row indices whose style should be updated. If no
|
|
/// indices are specified, all rows will be updated.
|
|
#[serde(rename="rowIndices")]
|
|
pub row_indices: Option<Vec<i32>>,
|
|
/// The location where the table starts in the document.
|
|
#[serde(rename="tableStartLocation")]
|
|
pub table_start_location: Option<Location>,
|
|
}
|
|
|
|
impl Part for UpdateTableRowStyleRequest {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DocumentStyleSuggestionState {
|
|
/// Indicates if there was a suggested change to margin_bottom.
|
|
#[serde(rename="marginBottomSuggested")]
|
|
pub margin_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to even_page_header_id.
|
|
#[serde(rename="evenPageHeaderIdSuggested")]
|
|
pub even_page_header_id_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to first_page_header_id.
|
|
#[serde(rename="firstPageHeaderIdSuggested")]
|
|
pub first_page_header_id_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_right.
|
|
#[serde(rename="marginRightSuggested")]
|
|
pub margin_right_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to page_number_start.
|
|
#[serde(rename="pageNumberStartSuggested")]
|
|
pub page_number_start_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to default_header_id.
|
|
#[serde(rename="defaultHeaderIdSuggested")]
|
|
pub default_header_id_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to default_footer_id.
|
|
#[serde(rename="defaultFooterIdSuggested")]
|
|
pub default_footer_id_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_left.
|
|
#[serde(rename="marginLeftSuggested")]
|
|
pub margin_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to margin_top.
|
|
#[serde(rename="marginTopSuggested")]
|
|
pub margin_top_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to first_page_footer_id.
|
|
#[serde(rename="firstPageFooterIdSuggested")]
|
|
pub first_page_footer_id_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in size have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="pageSizeSuggestionState")]
|
|
pub page_size_suggestion_state: Option<SizeSuggestionState>,
|
|
/// Indicates if there was a suggested change to use_first_page_header_footer.
|
|
#[serde(rename="useFirstPageHeaderFooterSuggested")]
|
|
pub use_first_page_header_footer_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to even_page_footer_id.
|
|
#[serde(rename="evenPageFooterIdSuggested")]
|
|
pub even_page_footer_id_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in background have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="backgroundSuggestionState")]
|
|
pub background_suggestion_state: Option<BackgroundSuggestionState>,
|
|
/// Indicates if there was a suggested change to use_even_page_header_footer.
|
|
#[serde(rename="useEvenPageHeaderFooterSuggested")]
|
|
pub use_even_page_header_footer_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for DocumentStyleSuggestionState {}
|
|
|
|
|
|
/// The result of inserting an embedded Google Sheets chart.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertInlineSheetsChartResponse {
|
|
/// The object ID of the inserted chart.
|
|
#[serde(rename="objectId")]
|
|
pub object_id: Option<String>,
|
|
}
|
|
|
|
impl Part for InsertInlineSheetsChartResponse {}
|
|
|
|
|
|
/// The positioning of a PositionedObject. The positioned object is positioned
|
|
/// relative to the beginning of the Paragraph
|
|
/// it is tethered to.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PositionedObjectPositioning {
|
|
/// The offset of the left edge of the positioned object relative to the
|
|
/// beginning of the Paragraph it is tethered
|
|
/// to. The exact positioning of the object can depend on other content in the
|
|
/// document and the document's styling.
|
|
#[serde(rename="leftOffset")]
|
|
pub left_offset: Option<Dimension>,
|
|
/// The offset of the top edge of the positioned object relative to the
|
|
/// beginning of the Paragraph it is tethered
|
|
/// to. The exact positioning of the object can depend on other content in the
|
|
/// document and the document's styling.
|
|
#[serde(rename="topOffset")]
|
|
pub top_offset: Option<Dimension>,
|
|
/// The layout of this positioned object.
|
|
pub layout: Option<String>,
|
|
}
|
|
|
|
impl Part for PositionedObjectPositioning {}
|
|
|
|
|
|
/// The style of a TableCell.
|
|
///
|
|
/// Inherited table cell styles are represented as unset fields in this message.
|
|
/// A table cell style can inherit from the table's style.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableCellStyle {
|
|
/// The bottom padding of the cell.
|
|
#[serde(rename="paddingBottom")]
|
|
pub padding_bottom: Option<Dimension>,
|
|
/// The bottom border of the cell.
|
|
#[serde(rename="borderBottom")]
|
|
pub border_bottom: Option<TableCellBorder>,
|
|
/// The top padding of the cell.
|
|
#[serde(rename="paddingTop")]
|
|
pub padding_top: Option<Dimension>,
|
|
/// The row span of the cell. This property is read-only.
|
|
#[serde(rename="rowSpan")]
|
|
pub row_span: Option<i32>,
|
|
/// The column span of the cell. This property is read-only.
|
|
#[serde(rename="columnSpan")]
|
|
pub column_span: Option<i32>,
|
|
/// The background color of the cell.
|
|
#[serde(rename="backgroundColor")]
|
|
pub background_color: Option<OptionalColor>,
|
|
/// The right border of the cell.
|
|
#[serde(rename="borderRight")]
|
|
pub border_right: Option<TableCellBorder>,
|
|
/// The left padding of the cell.
|
|
#[serde(rename="paddingLeft")]
|
|
pub padding_left: Option<Dimension>,
|
|
/// The top border of the cell.
|
|
#[serde(rename="borderTop")]
|
|
pub border_top: Option<TableCellBorder>,
|
|
/// The right padding of the cell.
|
|
#[serde(rename="paddingRight")]
|
|
pub padding_right: Option<Dimension>,
|
|
/// The left border of the cell.
|
|
#[serde(rename="borderLeft")]
|
|
pub border_left: Option<TableCellBorder>,
|
|
/// The alignment of the content in the table cell. The default alignment
|
|
/// matches the alignment for newly created table cells in the Docs editor.
|
|
#[serde(rename="contentAlignment")]
|
|
pub content_alignment: Option<String>,
|
|
}
|
|
|
|
impl Part for TableCellStyle {}
|
|
|
|
|
|
/// Inserts an empty row into a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertTableRowRequest {
|
|
/// The reference table cell location from which rows will be inserted.
|
|
///
|
|
/// A new row will be inserted above (or below) the row where the reference
|
|
/// cell is. If the reference cell is a merged cell, a new row will be
|
|
/// inserted above (or below) the merged cell.
|
|
#[serde(rename="tableCellLocation")]
|
|
pub table_cell_location: Option<TableCellLocation>,
|
|
/// Whether to insert new row below the reference cell location.
|
|
///
|
|
/// - `True`: insert below the cell.
|
|
/// - `False`: insert above the cell.
|
|
#[serde(rename="insertBelow")]
|
|
pub insert_below: Option<bool>,
|
|
}
|
|
|
|
impl Part for InsertTableRowRequest {}
|
|
|
|
|
|
/// A single response from an update.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Response {
|
|
/// The result of creating a named range.
|
|
#[serde(rename="createNamedRange")]
|
|
pub create_named_range: Option<CreateNamedRangeResponse>,
|
|
/// The result of inserting an inline Google Sheets chart.
|
|
#[serde(rename="insertInlineSheetsChart")]
|
|
pub insert_inline_sheets_chart: Option<InsertInlineSheetsChartResponse>,
|
|
/// The result of replacing text.
|
|
#[serde(rename="replaceAllText")]
|
|
pub replace_all_text: Option<ReplaceAllTextResponse>,
|
|
/// The result of inserting an inline image.
|
|
#[serde(rename="insertInlineImage")]
|
|
pub insert_inline_image: Option<InsertInlineImageResponse>,
|
|
}
|
|
|
|
impl Part for Response {}
|
|
|
|
|
|
/// Styles that apply to a whole paragraph.
|
|
///
|
|
/// Inherited paragraph styles are represented as unset fields in this message.
|
|
/// A paragraph style's parent depends on where the paragraph style is defined:
|
|
///
|
|
/// * The ParagraphStyle on a Paragraph
|
|
/// inherits from the paragraph's corresponding named style type.
|
|
/// * The ParagraphStyle on a named style
|
|
/// inherits from the normal text named style.
|
|
/// * The ParagraphStyle of the normal text named style inherits
|
|
/// from the default paragraph style in the Docs editor.
|
|
/// * The ParagraphStyle on a Paragraph
|
|
/// element that is contained in a table may inherit its paragraph style from
|
|
/// the table style.
|
|
///
|
|
/// If the paragraph style does not inherit from a parent, unsetting fields will
|
|
/// revert the style to a value matching the defaults in the Docs editor.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ParagraphStyle {
|
|
/// The spacing mode for the paragraph.
|
|
#[serde(rename="spacingMode")]
|
|
pub spacing_mode: Option<String>,
|
|
/// The text direction of this paragraph. If unset, the value defaults to
|
|
/// LEFT_TO_RIGHT since
|
|
/// paragraph direction is not inherited.
|
|
pub direction: Option<String>,
|
|
/// Whether at least a part of this paragraph should be laid out on the same
|
|
/// page or column as the next paragraph if possible. If unset, the value is
|
|
/// inherited from the parent.
|
|
#[serde(rename="keepWithNext")]
|
|
pub keep_with_next: Option<bool>,
|
|
/// The amount of space between lines, as a percentage of normal, where normal
|
|
/// is represented as 100.0. If unset, the value is inherited from the parent.
|
|
#[serde(rename="lineSpacing")]
|
|
pub line_spacing: Option<f32>,
|
|
/// The amount of indentation for the paragraph on the side that corresponds to
|
|
/// the start of the text, based on the current paragraph direction. If unset,
|
|
/// the value is inherited from the parent.
|
|
#[serde(rename="indentStart")]
|
|
pub indent_start: Option<Dimension>,
|
|
/// The border at the bottom of this paragraph. If unset, the value is
|
|
/// inherited from the parent.
|
|
///
|
|
/// The bottom border is rendered when the paragraph below has different border
|
|
/// and indent properties.
|
|
///
|
|
/// Paragraph borders cannot be partially updated. When making
|
|
/// changes to a paragraph border the new border must be specified in
|
|
/// its entirety.
|
|
#[serde(rename="borderBottom")]
|
|
pub border_bottom: Option<ParagraphBorder>,
|
|
/// The border to the right of this paragraph. If unset, the value is inherited
|
|
/// from the parent.
|
|
///
|
|
/// Paragraph borders cannot be partially updated. When making
|
|
/// changes to a paragraph border the new border must be specified in
|
|
/// its entirety.
|
|
#[serde(rename="borderRight")]
|
|
pub border_right: Option<ParagraphBorder>,
|
|
/// The border to the left of this paragraph. If unset, the value is inherited
|
|
/// from the parent.
|
|
///
|
|
/// Paragraph borders cannot be partially updated. When making
|
|
/// changes to a paragraph border the new border must be specified in
|
|
/// its entirety.
|
|
#[serde(rename="borderLeft")]
|
|
pub border_left: Option<ParagraphBorder>,
|
|
/// The heading ID of the paragraph. If empty, then this paragraph is not a
|
|
/// heading. This property is read-only.
|
|
#[serde(rename="headingId")]
|
|
pub heading_id: Option<String>,
|
|
/// The shading of the paragraph. If unset, the value is inherited from the
|
|
/// parent.
|
|
pub shading: Option<Shading>,
|
|
/// The border at the top of this paragraph. If unset, the value is inherited
|
|
/// from the parent.
|
|
///
|
|
/// The top border is rendered when the paragraph above has different border
|
|
/// and indent properties.
|
|
///
|
|
/// Paragraph borders cannot be partially updated. When making
|
|
/// changes to a paragraph border the new border must be specified in
|
|
/// its entirety.
|
|
#[serde(rename="borderTop")]
|
|
pub border_top: Option<ParagraphBorder>,
|
|
/// A list of the tab stops for this paragraph. The list of tab stops is not
|
|
/// inherited. This property is read-only.
|
|
#[serde(rename="tabStops")]
|
|
pub tab_stops: Option<Vec<TabStop>>,
|
|
/// The amount of indentation for the first line of the paragraph. If unset,
|
|
/// the value is inherited from the parent.
|
|
#[serde(rename="indentFirstLine")]
|
|
pub indent_first_line: Option<Dimension>,
|
|
/// The text alignment for this paragraph.
|
|
pub alignment: Option<String>,
|
|
/// The amount of extra space below the paragraph. If unset, the value is
|
|
/// inherited from the parent.
|
|
#[serde(rename="spaceBelow")]
|
|
pub space_below: Option<Dimension>,
|
|
/// Whether to avoid widows and orphans for the paragraph. If unset, the value
|
|
/// is inherited from the parent.
|
|
#[serde(rename="avoidWidowAndOrphan")]
|
|
pub avoid_widow_and_orphan: Option<bool>,
|
|
/// The border between this paragraph and the next and previous paragraphs.
|
|
/// If unset, the value is inherited from the parent.
|
|
///
|
|
/// The between border is rendered when the adjacent paragraph has the same
|
|
/// border and indent properties.
|
|
///
|
|
/// Paragraph borders cannot be partially updated. When making
|
|
/// changes to a paragraph border the new border must be specified in
|
|
/// its entirety.
|
|
#[serde(rename="borderBetween")]
|
|
pub border_between: Option<ParagraphBorder>,
|
|
/// The amount of extra space above the paragraph. If unset, the value is
|
|
/// inherited from the parent.
|
|
#[serde(rename="spaceAbove")]
|
|
pub space_above: Option<Dimension>,
|
|
/// The amount of indentation for the paragraph on the side that corresponds to
|
|
/// the end of the text, based on the current paragraph direction. If unset,
|
|
/// the value is inherited from the parent.
|
|
#[serde(rename="indentEnd")]
|
|
pub indent_end: Option<Dimension>,
|
|
/// The named style type of the paragraph.
|
|
///
|
|
/// Since updating the named style type affects other properties within
|
|
/// ParagraphStyle, the named style type is applied before the other properties
|
|
/// are updated.
|
|
#[serde(rename="namedStyleType")]
|
|
pub named_style_type: Option<String>,
|
|
/// Whether all lines of the paragraph should be laid out on the same page or
|
|
/// column if possible. If unset, the value is inherited from the parent.
|
|
#[serde(rename="keepLinesTogether")]
|
|
pub keep_lines_together: Option<bool>,
|
|
}
|
|
|
|
impl Part for ParagraphStyle {}
|
|
|
|
|
|
/// A StructuralElement representing a
|
|
/// section break. A section is a range of content which has the same
|
|
/// SectionStyle. A section break represents
|
|
/// the start of a new section, and the section style applies to the section
|
|
/// after the section break.
|
|
///
|
|
/// The document body always begins with a section break.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SectionBreak {
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The style of the section after this section break.
|
|
#[serde(rename="sectionStyle")]
|
|
pub section_style: Option<SectionStyle>,
|
|
/// The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it is
|
|
/// a nested suggested change. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for SectionBreak {}
|
|
|
|
|
|
/// Describes the bullet of a paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Bullet {
|
|
/// The nesting level of this paragraph in the list.
|
|
#[serde(rename="nestingLevel")]
|
|
pub nesting_level: Option<i32>,
|
|
/// The ID of the list this paragraph belongs to.
|
|
#[serde(rename="listId")]
|
|
pub list_id: Option<String>,
|
|
/// The paragraph specific text style applied to this bullet.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
}
|
|
|
|
impl Part for Bullet {}
|
|
|
|
|
|
/// A document footer.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Footer {
|
|
/// The contents of the footer.
|
|
///
|
|
/// The indexes for a footer's content begin at zero.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
/// The ID of the footer.
|
|
#[serde(rename="footerId")]
|
|
pub footer_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Footer {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base NestingLevel have been changed in this suggestion. For
|
|
/// any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NestingLevelSuggestionState {
|
|
/// A mask that indicates which of the fields in text style have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="textStyleSuggestionState")]
|
|
pub text_style_suggestion_state: Option<TextStyleSuggestionState>,
|
|
/// Indicates if there was a suggested change to
|
|
/// glyph_format.
|
|
#[serde(rename="glyphFormatSuggested")]
|
|
pub glyph_format_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// indent_start.
|
|
#[serde(rename="indentStartSuggested")]
|
|
pub indent_start_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// start_number.
|
|
#[serde(rename="startNumberSuggested")]
|
|
pub start_number_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// glyph_type.
|
|
#[serde(rename="glyphTypeSuggested")]
|
|
pub glyph_type_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// indent_first_line.
|
|
#[serde(rename="indentFirstLineSuggested")]
|
|
pub indent_first_line_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// glyph_symbol.
|
|
#[serde(rename="glyphSymbolSuggested")]
|
|
pub glyph_symbol_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to
|
|
/// bullet_alignment.
|
|
#[serde(rename="bulletAlignmentSuggested")]
|
|
pub bullet_alignment_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for NestingLevelSuggestionState {}
|
|
|
|
|
|
/// A suggested change to a
|
|
/// ParagraphStyle.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedParagraphStyle {
|
|
/// A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion.
|
|
#[serde(rename="paragraphStyleSuggestionState")]
|
|
pub paragraph_style_suggestion_state: Option<ParagraphStyleSuggestionState>,
|
|
/// A ParagraphStyle that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// paragraph_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="paragraphStyle")]
|
|
pub paragraph_style: Option<ParagraphStyle>,
|
|
}
|
|
|
|
impl Part for SuggestedParagraphStyle {}
|
|
|
|
|
|
/// An object that is tethered to a Paragraph
|
|
/// and positioned relative to the beginning of the paragraph. A PositionedObject
|
|
/// contains an EmbeddedObject such as an
|
|
/// image.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PositionedObject {
|
|
/// The properties of this positioned object.
|
|
#[serde(rename="positionedObjectProperties")]
|
|
pub positioned_object_properties: Option<PositionedObjectProperties>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The ID of this positioned object.
|
|
#[serde(rename="objectId")]
|
|
pub object_id: Option<String>,
|
|
/// The suggested changes to the positioned object properties, keyed by
|
|
/// suggestion ID.
|
|
#[serde(rename="suggestedPositionedObjectPropertiesChanges")]
|
|
pub suggested_positioned_object_properties_changes: Option<HashMap<String, SuggestedPositionedObjectProperties>>,
|
|
/// The suggested insertion ID. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionId")]
|
|
pub suggested_insertion_id: Option<String>,
|
|
}
|
|
|
|
impl Part for PositionedObject {}
|
|
|
|
|
|
/// A named style. Paragraphs in the document can inherit their
|
|
/// TextStyle and
|
|
/// ParagraphStyle from this named style
|
|
/// when they have the same named style type.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedStyle {
|
|
/// The text style of this named style.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The type of this named style.
|
|
#[serde(rename="namedStyleType")]
|
|
pub named_style_type: Option<String>,
|
|
/// The paragraph style of this named style.
|
|
#[serde(rename="paragraphStyle")]
|
|
pub paragraph_style: Option<ParagraphStyle>,
|
|
}
|
|
|
|
impl Part for NamedStyle {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableRowStyleSuggestionState {
|
|
/// Indicates if there was a suggested change to min_row_height.
|
|
#[serde(rename="minRowHeightSuggested")]
|
|
pub min_row_height_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for TableRowStyleSuggestionState {}
|
|
|
|
|
|
/// A collection of Ranges with the same named range
|
|
/// ID.
|
|
///
|
|
/// Named ranges allow developers to associate parts of a document with an
|
|
/// arbitrary user-defined label so their contents can be programmatically read
|
|
/// or edited at a later time. A document can contain multiple named ranges with
|
|
/// the same name, but every named range has a unique ID.
|
|
///
|
|
/// A named range is created with a single Range,
|
|
/// and content inserted inside a named range generally expands that range.
|
|
/// However, certain document changes can cause the range to be split into
|
|
/// multiple ranges.
|
|
///
|
|
/// Named ranges are not private. All applications and collaborators that have
|
|
/// access to the document can see its named ranges.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedRange {
|
|
/// The ranges that belong to this named range.
|
|
pub ranges: Option<Vec<Range>>,
|
|
/// The ID of the named range.
|
|
#[serde(rename="namedRangeId")]
|
|
pub named_range_id: Option<String>,
|
|
/// The name of the named range.
|
|
pub name: Option<String>,
|
|
}
|
|
|
|
impl Part for NamedRange {}
|
|
|
|
|
|
/// Location of a single cell within a table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableCellLocation {
|
|
/// The zero-based row index. For example, the second row in the table has a
|
|
/// row index of 1.
|
|
#[serde(rename="rowIndex")]
|
|
pub row_index: Option<i32>,
|
|
/// The zero-based column index. For example, the second column in the table
|
|
/// has a column index of 1.
|
|
#[serde(rename="columnIndex")]
|
|
pub column_index: Option<i32>,
|
|
/// The location where the table starts in the document.
|
|
#[serde(rename="tableStartLocation")]
|
|
pub table_start_location: Option<Location>,
|
|
}
|
|
|
|
impl Part for TableCellLocation {}
|
|
|
|
|
|
/// A document footnote.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Footnote {
|
|
/// The contents of the footnote.
|
|
///
|
|
/// The indexes for a footnote's content begin at zero.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
/// The ID of the footnote.
|
|
#[serde(rename="footnoteId")]
|
|
pub footnote_id: Option<String>,
|
|
}
|
|
|
|
impl Part for Footnote {}
|
|
|
|
|
|
/// Deletes bullets from all of the paragraphs that overlap with the given range.
|
|
///
|
|
/// The nesting level of each paragraph will be visually preserved by adding
|
|
/// indent to the start of the corresponding paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeleteParagraphBulletsRequest {
|
|
/// The range to delete bullets from.
|
|
pub range: Option<Range>,
|
|
}
|
|
|
|
impl Part for DeleteParagraphBulletsRequest {}
|
|
|
|
|
|
/// Properties of a PositionedObject.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PositionedObjectProperties {
|
|
/// The positioning of this positioned object relative to the newline of the
|
|
/// Paragraph that references this positioned
|
|
/// object.
|
|
pub positioning: Option<PositionedObjectPositioning>,
|
|
/// The embedded object of this positioned object.
|
|
#[serde(rename="embeddedObject")]
|
|
pub embedded_object: Option<EmbeddedObject>,
|
|
}
|
|
|
|
impl Part for PositionedObjectProperties {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base EmbeddedObjectBorder have been changed in this
|
|
/// suggestion. For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedObjectBorderSuggestionState {
|
|
/// Indicates if there was a suggested change to color.
|
|
#[serde(rename="colorSuggested")]
|
|
pub color_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to dash_style.
|
|
#[serde(rename="dashStyleSuggested")]
|
|
pub dash_style_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to width.
|
|
#[serde(rename="widthSuggested")]
|
|
pub width_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to property_state.
|
|
#[serde(rename="propertyStateSuggested")]
|
|
pub property_state_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for EmbeddedObjectBorderSuggestionState {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base Background have been changed in this suggestion.
|
|
/// For any field set to true, the Backgound has a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct BackgroundSuggestionState {
|
|
/// Indicates whether the current background color has been modified in this
|
|
/// suggestion.
|
|
#[serde(rename="backgroundColorSuggested")]
|
|
pub background_color_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for BackgroundSuggestionState {}
|
|
|
|
|
|
/// A width and height.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Size {
|
|
/// The width of the object.
|
|
pub width: Option<Dimension>,
|
|
/// The height of the object.
|
|
pub height: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for Size {}
|
|
|
|
|
|
/// Deletes a NamedRange.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct DeleteNamedRangeRequest {
|
|
/// The ID of the named range to delete.
|
|
#[serde(rename="namedRangeId")]
|
|
pub named_range_id: Option<String>,
|
|
/// The name of the range(s) to delete. All named ranges with the given
|
|
/// name will be deleted.
|
|
pub name: Option<String>,
|
|
}
|
|
|
|
impl Part for DeleteNamedRangeRequest {}
|
|
|
|
|
|
/// Creates a NamedRange referencing the given
|
|
/// range.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct CreateNamedRangeRequest {
|
|
/// The range to apply the name to.
|
|
pub range: Option<Range>,
|
|
/// The name of the NamedRange. Names do not need to be unique.
|
|
///
|
|
/// Names must be at least 1 character and no more than 256 characters,
|
|
/// measured in UTF-16 code units.
|
|
pub name: Option<String>,
|
|
}
|
|
|
|
impl Part for CreateNamedRangeRequest {}
|
|
|
|
|
|
/// Properties that apply to a section's column.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SectionColumnProperties {
|
|
/// The width of the column.
|
|
pub width: Option<Dimension>,
|
|
/// The padding at the end of the column.
|
|
#[serde(rename="paddingEnd")]
|
|
pub padding_end: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for SectionColumnProperties {}
|
|
|
|
|
|
/// Inserts a page break followed by a newline at the specified location.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InsertPageBreakRequest {
|
|
/// Inserts the page break at the end of the document body.
|
|
///
|
|
/// Page breaks cannot be inserted inside a footnote, header or footer.
|
|
/// Since page breaks can only be inserted inside the body, the segment ID field must be
|
|
/// empty.
|
|
#[serde(rename="endOfSegmentLocation")]
|
|
pub end_of_segment_location: Option<EndOfSegmentLocation>,
|
|
/// Inserts the page break at a specific index in the document.
|
|
///
|
|
/// The page break must be inserted inside the bounds of an existing
|
|
/// Paragraph. For instance, it cannot be
|
|
/// inserted at a table's start index (i.e. between the table and its
|
|
/// preceding paragraph).
|
|
///
|
|
/// Page breaks cannot be inserted inside a table, equation, footnote, header
|
|
/// or footer. Since page breaks can only be inserted inside the body, the
|
|
/// segment ID field must be
|
|
/// empty.
|
|
pub location: Option<Location>,
|
|
}
|
|
|
|
impl Part for InsertPageBreakRequest {}
|
|
|
|
|
|
/// The contents and style of a cell in a Table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TableCell {
|
|
/// The content of the cell.
|
|
pub content: Option<Vec<StructuralElement>>,
|
|
/// The zero-based end index of this cell, exclusive, in UTF-16 code units.
|
|
#[serde(rename="endIndex")]
|
|
pub end_index: Option<i32>,
|
|
/// The zero-based start index of this cell, in UTF-16 code units.
|
|
#[serde(rename="startIndex")]
|
|
pub start_index: Option<i32>,
|
|
/// The style of the cell.
|
|
#[serde(rename="tableCellStyle")]
|
|
pub table_cell_style: Option<TableCellStyle>,
|
|
/// The suggested changes to the table cell style, keyed by suggestion ID.
|
|
#[serde(rename="suggestedTableCellStyleChanges")]
|
|
pub suggested_table_cell_style_changes: Option<HashMap<String, SuggestedTableCellStyle>>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested insertion IDs. A TableCell
|
|
/// may have multiple insertion IDs if it is a nested suggested change. If
|
|
/// empty, then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for TableCell {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TextStyleSuggestionState {
|
|
/// Indicates if there was a suggested change to font_size.
|
|
#[serde(rename="fontSizeSuggested")]
|
|
pub font_size_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to strikethrough.
|
|
#[serde(rename="strikethroughSuggested")]
|
|
pub strikethrough_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to weighted_font_family.
|
|
#[serde(rename="weightedFontFamilySuggested")]
|
|
pub weighted_font_family_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to underline.
|
|
#[serde(rename="underlineSuggested")]
|
|
pub underline_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to small_caps.
|
|
#[serde(rename="smallCapsSuggested")]
|
|
pub small_caps_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to link.
|
|
#[serde(rename="linkSuggested")]
|
|
pub link_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to italic.
|
|
#[serde(rename="italicSuggested")]
|
|
pub italic_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to bold.
|
|
#[serde(rename="boldSuggested")]
|
|
pub bold_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to baseline_offset.
|
|
#[serde(rename="baselineOffsetSuggested")]
|
|
pub baseline_offset_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to foreground_color.
|
|
#[serde(rename="foregroundColorSuggested")]
|
|
pub foreground_color_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to background_color.
|
|
#[serde(rename="backgroundColorSuggested")]
|
|
pub background_color_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for TextStyleSuggestionState {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion.
|
|
/// For any field set to true, there is a new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ParagraphStyleSuggestionState {
|
|
/// Indicates if there was a suggested change to avoid_widow_and_orphan.
|
|
#[serde(rename="avoidWidowAndOrphanSuggested")]
|
|
pub avoid_widow_and_orphan_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_bottom.
|
|
#[serde(rename="borderBottomSuggested")]
|
|
pub border_bottom_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to named_style_type.
|
|
#[serde(rename="namedStyleTypeSuggested")]
|
|
pub named_style_type_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_between.
|
|
#[serde(rename="borderBetweenSuggested")]
|
|
pub border_between_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_top.
|
|
#[serde(rename="borderTopSuggested")]
|
|
pub border_top_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to keep_with_next.
|
|
#[serde(rename="keepWithNextSuggested")]
|
|
pub keep_with_next_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to space_above.
|
|
#[serde(rename="spaceAboveSuggested")]
|
|
pub space_above_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to alignment.
|
|
#[serde(rename="alignmentSuggested")]
|
|
pub alignment_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to indent_end.
|
|
#[serde(rename="indentEndSuggested")]
|
|
pub indent_end_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to direction.
|
|
#[serde(rename="directionSuggested")]
|
|
pub direction_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_right.
|
|
#[serde(rename="borderRightSuggested")]
|
|
pub border_right_suggested: Option<bool>,
|
|
/// A mask that indicates which of the fields in shading have been changed in
|
|
/// this suggestion.
|
|
#[serde(rename="shadingSuggestionState")]
|
|
pub shading_suggestion_state: Option<ShadingSuggestionState>,
|
|
/// Indicates if there was a suggested change to keep_lines_together.
|
|
#[serde(rename="keepLinesTogetherSuggested")]
|
|
pub keep_lines_together_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to line_spacing.
|
|
#[serde(rename="lineSpacingSuggested")]
|
|
pub line_spacing_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to spacing_mode.
|
|
#[serde(rename="spacingModeSuggested")]
|
|
pub spacing_mode_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to indent_start.
|
|
#[serde(rename="indentStartSuggested")]
|
|
pub indent_start_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to space_below.
|
|
#[serde(rename="spaceBelowSuggested")]
|
|
pub space_below_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to border_left.
|
|
#[serde(rename="borderLeftSuggested")]
|
|
pub border_left_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to indent_first_line.
|
|
#[serde(rename="indentFirstLineSuggested")]
|
|
pub indent_first_line_suggested: Option<bool>,
|
|
/// Indicates if there was a suggested change to heading_id.
|
|
#[serde(rename="headingIdSuggested")]
|
|
pub heading_id_suggested: Option<bool>,
|
|
}
|
|
|
|
impl Part for ParagraphStyleSuggestionState {}
|
|
|
|
|
|
/// A tab stop within a paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct TabStop {
|
|
/// The alignment of this tab stop. If unset, the value defaults to START.
|
|
pub alignment: Option<String>,
|
|
/// The offset between this tab stop and the start margin.
|
|
pub offset: Option<Dimension>,
|
|
}
|
|
|
|
impl Part for TabStop {}
|
|
|
|
|
|
/// Properties of an InlineObject.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InlineObjectProperties {
|
|
/// The embedded object of this inline object.
|
|
#[serde(rename="embeddedObject")]
|
|
pub embedded_object: Option<EmbeddedObject>,
|
|
}
|
|
|
|
impl Part for InlineObjectProperties {}
|
|
|
|
|
|
/// Represents the background of a document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Background {
|
|
/// The background color.
|
|
pub color: Option<OptionalColor>,
|
|
}
|
|
|
|
impl Part for Background {}
|
|
|
|
|
|
/// A suggested change to a TextStyle.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedTextStyle {
|
|
/// A TextStyle that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// text_style_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion.
|
|
#[serde(rename="textStyleSuggestionState")]
|
|
pub text_style_suggestion_state: Option<TextStyleSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedTextStyle {}
|
|
|
|
|
|
/// A mask that indicates which of the fields on the base
|
|
/// PositionedObjectProperties
|
|
/// have been changed in this suggestion. For any field set to true, there is a
|
|
/// new suggested value.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PositionedObjectPropertiesSuggestionState {
|
|
/// A mask that indicates which of the fields in positioning have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="positioningSuggestionState")]
|
|
pub positioning_suggestion_state: Option<PositionedObjectPositioningSuggestionState>,
|
|
/// A mask that indicates which of the fields in embedded_object have been
|
|
/// changed in this suggestion.
|
|
#[serde(rename="embeddedObjectSuggestionState")]
|
|
pub embedded_object_suggestion_state: Option<EmbeddedObjectSuggestionState>,
|
|
}
|
|
|
|
impl Part for PositionedObjectPropertiesSuggestionState {}
|
|
|
|
|
|
/// A suggested change to PositionedObjectProperties.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedPositionedObjectProperties {
|
|
/// A PositionedObjectProperties that only includes the
|
|
/// changes made in this suggestion. This can be used along with the
|
|
/// positioned_object_properties_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="positionedObjectProperties")]
|
|
pub positioned_object_properties: Option<PositionedObjectProperties>,
|
|
/// A mask that indicates which of the fields on the base
|
|
/// PositionedObjectProperties have been changed in this
|
|
/// suggestion.
|
|
#[serde(rename="positionedObjectPropertiesSuggestionState")]
|
|
pub positioned_object_properties_suggestion_state: Option<PositionedObjectPropertiesSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedPositionedObjectProperties {}
|
|
|
|
|
|
/// A List represents the list attributes for a group of paragraphs that all
|
|
/// belong to the same list. A paragraph that is part of a list has a reference
|
|
/// to the list's ID in its bullet.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct List {
|
|
/// The properties of the list.
|
|
#[serde(rename="listProperties")]
|
|
pub list_properties: Option<ListProperties>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this list.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested changes to the list properties, keyed by suggestion
|
|
/// ID.
|
|
#[serde(rename="suggestedListPropertiesChanges")]
|
|
pub suggested_list_properties_changes: Option<HashMap<String, SuggestedListProperties>>,
|
|
/// The suggested insertion ID. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionId")]
|
|
pub suggested_insertion_id: Option<String>,
|
|
}
|
|
|
|
impl Part for List {}
|
|
|
|
|
|
/// The properties of a list which describe the look
|
|
/// and feel of bullets belonging to paragraphs associated with a list.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ListProperties {
|
|
/// Describes the properties of the bullets at the associated level.
|
|
///
|
|
/// A list has at most nine levels of nesting with nesting level 0
|
|
/// corresponding to the top-most level and nesting level 8 corresponding to
|
|
/// the most nested level. The nesting levels are returned in ascending order
|
|
/// with the least nested returned first.
|
|
#[serde(rename="nestingLevels")]
|
|
pub nesting_levels: Option<Vec<NestingLevel>>,
|
|
}
|
|
|
|
impl Part for ListProperties {}
|
|
|
|
|
|
/// A ParagraphElement representing a
|
|
/// page break. A page break makes the subsequent text start at the top of the
|
|
/// next page.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct PageBreak {
|
|
/// The text style of this PageBreak.
|
|
///
|
|
/// Similar to text content, like text runs and footnote references, the text
|
|
/// style of a page break can affect content layout as well as the styling of
|
|
/// text inserted adjacent to it.
|
|
#[serde(rename="textStyle")]
|
|
pub text_style: Option<TextStyle>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The suggested text style changes to this PageBreak, keyed by suggestion ID.
|
|
#[serde(rename="suggestedTextStyleChanges")]
|
|
pub suggested_text_style_changes: Option<HashMap<String, SuggestedTextStyle>>,
|
|
/// The suggested insertion IDs. A PageBreak
|
|
/// may have multiple insertion IDs if it is a nested suggested change. If
|
|
/// empty, then this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for PageBreak {}
|
|
|
|
|
|
/// An embedded object in the document.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct EmbeddedObject {
|
|
/// The properties of an image.
|
|
#[serde(rename="imageProperties")]
|
|
pub image_properties: Option<ImageProperties>,
|
|
/// The description of the embedded object. The `title` and `description` are
|
|
/// both combined to display alt text.
|
|
pub description: Option<String>,
|
|
/// The title of the embedded object. The `title` and `description` are both
|
|
/// combined to display alt text.
|
|
pub title: Option<String>,
|
|
/// The properties of an embedded drawing.
|
|
#[serde(rename="embeddedDrawingProperties")]
|
|
pub embedded_drawing_properties: Option<EmbeddedDrawingProperties>,
|
|
/// The bottom margin of the embedded object.
|
|
#[serde(rename="marginBottom")]
|
|
pub margin_bottom: Option<Dimension>,
|
|
/// The border of the embedded object.
|
|
#[serde(rename="embeddedObjectBorder")]
|
|
pub embedded_object_border: Option<EmbeddedObjectBorder>,
|
|
/// A reference to the external linked source content. For example, it contains
|
|
/// a reference to the source Sheets chart when the embedded object is a linked
|
|
/// chart.
|
|
///
|
|
/// If unset, then the embedded object is not linked.
|
|
#[serde(rename="linkedContentReference")]
|
|
pub linked_content_reference: Option<LinkedContentReference>,
|
|
/// The left margin of the embedded object.
|
|
#[serde(rename="marginLeft")]
|
|
pub margin_left: Option<Dimension>,
|
|
/// The right margin of the embedded object.
|
|
#[serde(rename="marginRight")]
|
|
pub margin_right: Option<Dimension>,
|
|
/// The top margin of the embedded object.
|
|
#[serde(rename="marginTop")]
|
|
pub margin_top: Option<Dimension>,
|
|
/// The visible size of the image after cropping.
|
|
pub size: Option<Size>,
|
|
}
|
|
|
|
impl Part for EmbeddedObject {}
|
|
|
|
|
|
/// A suggested change to the NamedStyles.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedNamedStyles {
|
|
/// A mask that indicates which of the fields on the base NamedStyles have been changed in this suggestion.
|
|
#[serde(rename="namedStylesSuggestionState")]
|
|
pub named_styles_suggestion_state: Option<NamedStylesSuggestionState>,
|
|
/// A NamedStyles that only includes the
|
|
/// changes made in this suggestion. This can be used along with the
|
|
/// named_styles_suggestion_state to
|
|
/// see which fields have changed and their new values.
|
|
#[serde(rename="namedStyles")]
|
|
pub named_styles: Option<NamedStyles>,
|
|
}
|
|
|
|
impl Part for SuggestedNamedStyles {}
|
|
|
|
|
|
/// An object that appears inline with text. An InlineObject contains
|
|
/// an EmbeddedObject such as an image.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct InlineObject {
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The properties of this inline object.
|
|
#[serde(rename="inlineObjectProperties")]
|
|
pub inline_object_properties: Option<InlineObjectProperties>,
|
|
/// The suggested changes to the inline object properties, keyed by suggestion
|
|
/// ID.
|
|
#[serde(rename="suggestedInlineObjectPropertiesChanges")]
|
|
pub suggested_inline_object_properties_changes: Option<HashMap<String, SuggestedInlineObjectProperties>>,
|
|
/// The ID of this inline object.
|
|
#[serde(rename="objectId")]
|
|
pub object_id: Option<String>,
|
|
/// The suggested insertion ID. If empty, then this is not a suggested
|
|
/// insertion.
|
|
#[serde(rename="suggestedInsertionId")]
|
|
pub suggested_insertion_id: Option<String>,
|
|
}
|
|
|
|
impl Part for InlineObject {}
|
|
|
|
|
|
/// A suggested change to InlineObjectProperties.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedInlineObjectProperties {
|
|
/// An InlineObjectProperties
|
|
/// that only includes the changes made in this suggestion. This can be used
|
|
/// along with the inline_object_properties_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="inlineObjectProperties")]
|
|
pub inline_object_properties: Option<InlineObjectProperties>,
|
|
/// A mask that indicates which of the fields on the base
|
|
/// InlineObjectProperties have
|
|
/// been changed in this suggestion.
|
|
#[serde(rename="inlineObjectPropertiesSuggestionState")]
|
|
pub inline_object_properties_suggestion_state: Option<InlineObjectPropertiesSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedInlineObjectProperties {}
|
|
|
|
|
|
/// A ParagraphElement describes content within a
|
|
/// Paragraph.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct ParagraphElement {
|
|
/// The zero-base end index of this paragraph element, exclusive, in UTF-16
|
|
/// code units.
|
|
#[serde(rename="endIndex")]
|
|
pub end_index: Option<i32>,
|
|
/// An equation paragraph element.
|
|
pub equation: Option<Equation>,
|
|
/// A column break paragraph element.
|
|
#[serde(rename="columnBreak")]
|
|
pub column_break: Option<ColumnBreak>,
|
|
/// The zero-based start index of this paragraph element, in UTF-16 code units.
|
|
#[serde(rename="startIndex")]
|
|
pub start_index: Option<i32>,
|
|
/// A page break paragraph element.
|
|
#[serde(rename="pageBreak")]
|
|
pub page_break: Option<PageBreak>,
|
|
/// A horizontal rule paragraph element.
|
|
#[serde(rename="horizontalRule")]
|
|
pub horizontal_rule: Option<HorizontalRule>,
|
|
/// A text run paragraph element.
|
|
#[serde(rename="textRun")]
|
|
pub text_run: Option<TextRun>,
|
|
/// An auto text paragraph element.
|
|
#[serde(rename="autoText")]
|
|
pub auto_text: Option<AutoText>,
|
|
/// An inline object paragraph element.
|
|
#[serde(rename="inlineObjectElement")]
|
|
pub inline_object_element: Option<InlineObjectElement>,
|
|
/// A footnote reference paragraph element.
|
|
#[serde(rename="footnoteReference")]
|
|
pub footnote_reference: Option<FootnoteReference>,
|
|
}
|
|
|
|
impl Part for ParagraphElement {}
|
|
|
|
|
|
/// A suggested change to the DocumentStyle.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct SuggestedDocumentStyle {
|
|
/// A DocumentStyle that only includes
|
|
/// the changes made in this suggestion. This can be used along with the
|
|
/// document_style_suggestion_state
|
|
/// to see which fields have changed and their new values.
|
|
#[serde(rename="documentStyle")]
|
|
pub document_style: Option<DocumentStyle>,
|
|
/// A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion.
|
|
#[serde(rename="documentStyleSuggestionState")]
|
|
pub document_style_suggestion_state: Option<DocumentStyleSuggestionState>,
|
|
}
|
|
|
|
impl Part for SuggestedDocumentStyle {}
|
|
|
|
|
|
/// A solid color.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Color {
|
|
/// The RGB color value.
|
|
#[serde(rename="rgbColor")]
|
|
pub rgb_color: Option<RgbColor>,
|
|
}
|
|
|
|
impl Part for Color {}
|
|
|
|
|
|
/// The suggestion state of a NamedStyles
|
|
/// message.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedStylesSuggestionState {
|
|
/// A mask that indicates which of the fields on the corresponding NamedStyle in styles have been changed in this
|
|
/// suggestion.
|
|
///
|
|
/// The order of these named style suggestion states match the order of the
|
|
/// corresponding named style within the named styles suggestion.
|
|
#[serde(rename="stylesSuggestionStates")]
|
|
pub styles_suggestion_states: Option<Vec<NamedStyleSuggestionState>>,
|
|
}
|
|
|
|
impl Part for NamedStylesSuggestionState {}
|
|
|
|
|
|
/// An RGB color.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct RgbColor {
|
|
/// The blue component of the color, from 0.0 to 1.0.
|
|
pub blue: Option<f32>,
|
|
/// The green component of the color, from 0.0 to 1.0.
|
|
pub green: Option<f32>,
|
|
/// The red component of the color, from 0.0 to 1.0.
|
|
pub red: Option<f32>,
|
|
}
|
|
|
|
impl Part for RgbColor {}
|
|
|
|
|
|
/// Update the styling of all paragraphs that overlap with the given range.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct UpdateParagraphStyleRequest {
|
|
/// The fields that should be updated.
|
|
///
|
|
/// At least one field must be specified. The root `paragraph_style` is implied
|
|
/// and should not be specified.
|
|
///
|
|
/// For example, to update the paragraph style's alignment property, set
|
|
/// `fields` to `"alignment"`.
|
|
///
|
|
/// To reset a property to its default value, include its field name in the
|
|
/// field mask but leave the field itself unset.
|
|
pub fields: Option<String>,
|
|
/// The range overlapping the paragraphs to style.
|
|
pub range: Option<Range>,
|
|
/// The styles to set on the paragraphs.
|
|
///
|
|
/// Certain paragraph style changes may cause other changes in order to mirror
|
|
/// the behavior of the Docs editor. See the documentation of ParagraphStyle for more information.
|
|
#[serde(rename="paragraphStyle")]
|
|
pub paragraph_style: Option<ParagraphStyle>,
|
|
}
|
|
|
|
impl Part for UpdateParagraphStyleRequest {}
|
|
|
|
|
|
/// The result of creating a named range.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct CreateNamedRangeResponse {
|
|
/// The ID of the created named range.
|
|
#[serde(rename="namedRangeId")]
|
|
pub named_range_id: Option<String>,
|
|
}
|
|
|
|
impl Part for CreateNamedRangeResponse {}
|
|
|
|
|
|
/// A StructuralElement representing a
|
|
/// table.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct Table {
|
|
/// Number of rows in the table.
|
|
pub rows: Option<i32>,
|
|
/// The suggested deletion IDs. If empty, then there are no suggested deletions
|
|
/// of this content.
|
|
#[serde(rename="suggestedDeletionIds")]
|
|
pub suggested_deletion_ids: Option<Vec<String>>,
|
|
/// The style of the table.
|
|
#[serde(rename="tableStyle")]
|
|
pub table_style: Option<TableStyle>,
|
|
/// The contents and style of each row.
|
|
#[serde(rename="tableRows")]
|
|
pub table_rows: Option<Vec<TableRow>>,
|
|
/// Number of columns in the table.
|
|
///
|
|
/// It is possible for a table to be non-rectangular, so some rows may have a
|
|
/// different number of cells.
|
|
pub columns: Option<i32>,
|
|
/// The suggested insertion IDs. A Table may have
|
|
/// multiple insertion IDs if it is a nested suggested change. If empty, then
|
|
/// this is not a suggested insertion.
|
|
#[serde(rename="suggestedInsertionIds")]
|
|
pub suggested_insertion_ids: Option<Vec<String>>,
|
|
}
|
|
|
|
impl Part for Table {}
|
|
|
|
|
|
/// A collection of all the NamedRanges in the
|
|
/// document that share a given name.
|
|
///
|
|
/// This type is not used in any activity, and only used as *part* of another schema.
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct NamedRanges {
|
|
/// The NamedRanges that share the same name.
|
|
#[serde(rename="namedRanges")]
|
|
pub named_ranges: Option<Vec<NamedRange>>,
|
|
/// The name that all the named ranges share.
|
|
pub name: Option<String>,
|
|
}
|
|
|
|
impl Part for NamedRanges {}
|
|
|
|
|
|
/// Response message from a BatchUpdateDocument request.
|
|
///
|
|
/// # 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*).
|
|
///
|
|
/// * [batch update documents](struct.DocumentBatchUpdateCall.html) (response)
|
|
///
|
|
#[derive(Default, Clone, Debug, Serialize, Deserialize)]
|
|
pub struct BatchUpdateDocumentResponse {
|
|
/// The updated write control after applying the request.
|
|
#[serde(rename="writeControl")]
|
|
pub write_control: Option<WriteControl>,
|
|
/// The ID of the document to which the updates were applied to.
|
|
#[serde(rename="documentId")]
|
|
pub document_id: Option<String>,
|
|
/// The reply of the updates. This maps 1:1 with the updates, although replies
|
|
/// to some requests may be empty.
|
|
pub replies: Option<Vec<Response>>,
|
|
}
|
|
|
|
impl ResponseResult for BatchUpdateDocumentResponse {}
|
|
|
|
|
|
|
|
// ###################
|
|
// MethodBuilders ###
|
|
// #################
|
|
|
|
/// A builder providing access to all methods supported on *document* resources.
|
|
/// It is not used directly, but through the `Docs` hub.
|
|
///
|
|
/// # Example
|
|
///
|
|
/// Instantiate a resource builder
|
|
///
|
|
/// ```test_harness,no_run
|
|
/// extern crate hyper;
|
|
/// extern crate hyper_rustls;
|
|
/// extern crate yup_oauth2 as oauth2;
|
|
/// extern crate google_docs1 as docs1;
|
|
///
|
|
/// # #[test] fn egal() {
|
|
/// use std::default::Default;
|
|
/// use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
/// use docs1::Docs;
|
|
///
|
|
/// let secret: ApplicationSecret = Default::default();
|
|
/// let auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
/// hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
/// <MemoryStorage as Default>::default(), None);
|
|
/// let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
/// // Usually you wouldn't bind this to a variable, but keep calling *CallBuilders*
|
|
/// // like `batch_update(...)`, `create(...)` and `get(...)`
|
|
/// // to build up your call.
|
|
/// let rb = hub.documents();
|
|
/// # }
|
|
/// ```
|
|
pub struct DocumentMethods<'a, C, A>
|
|
where C: 'a, A: 'a {
|
|
|
|
hub: &'a Docs<C, A>,
|
|
}
|
|
|
|
impl<'a, C, A> MethodsBuilder for DocumentMethods<'a, C, A> {}
|
|
|
|
impl<'a, C, A> DocumentMethods<'a, C, A> {
|
|
|
|
/// Create a builder to help you perform the following task:
|
|
///
|
|
/// Creates a blank document using the title given in the request. Other fields
|
|
/// in the request, including any provided content, are ignored.
|
|
///
|
|
/// Returns the created document.
|
|
///
|
|
/// # Arguments
|
|
///
|
|
/// * `request` - No description provided.
|
|
pub fn create(&self, request: Document) -> DocumentCreateCall<'a, C, A> {
|
|
DocumentCreateCall {
|
|
hub: self.hub,
|
|
_request: request,
|
|
_delegate: Default::default(),
|
|
_scopes: Default::default(),
|
|
_additional_params: Default::default(),
|
|
}
|
|
}
|
|
|
|
/// Create a builder to help you perform the following task:
|
|
///
|
|
/// Gets the latest version of the specified document.
|
|
///
|
|
/// # Arguments
|
|
///
|
|
/// * `documentId` - The ID of the document to retrieve.
|
|
pub fn get(&self, document_id: &str) -> DocumentGetCall<'a, C, A> {
|
|
DocumentGetCall {
|
|
hub: self.hub,
|
|
_document_id: document_id.to_string(),
|
|
_suggestions_view_mode: Default::default(),
|
|
_delegate: Default::default(),
|
|
_scopes: Default::default(),
|
|
_additional_params: Default::default(),
|
|
}
|
|
}
|
|
|
|
/// Create a builder to help you perform the following task:
|
|
///
|
|
/// Applies one or more updates to the document.
|
|
///
|
|
/// Each request is validated before
|
|
/// being applied. If any request is not valid, then the entire request will
|
|
/// fail and nothing will be applied.
|
|
///
|
|
/// Some requests have replies to
|
|
/// give you some information about how they are applied. Other requests do
|
|
/// not need to return information; these each return an empty reply.
|
|
/// The order of replies matches that of the requests.
|
|
///
|
|
/// For example, suppose you call batchUpdate with four updates, and only the
|
|
/// third one returns information. The response would have two empty replies,
|
|
/// the reply to the third request, and another empty reply, in that order.
|
|
///
|
|
/// Because other users may be editing the document, the document
|
|
/// might not exactly reflect your changes: your changes may
|
|
/// be altered with respect to collaborator changes. If there are no
|
|
/// collaborators, the document should reflect your changes. In any case,
|
|
/// the updates in your request are guaranteed to be applied together
|
|
/// atomically.
|
|
///
|
|
/// # Arguments
|
|
///
|
|
/// * `request` - No description provided.
|
|
/// * `documentId` - The ID of the document to update.
|
|
pub fn batch_update(&self, request: BatchUpdateDocumentRequest, document_id: &str) -> DocumentBatchUpdateCall<'a, C, A> {
|
|
DocumentBatchUpdateCall {
|
|
hub: self.hub,
|
|
_request: request,
|
|
_document_id: document_id.to_string(),
|
|
_delegate: Default::default(),
|
|
_scopes: Default::default(),
|
|
_additional_params: Default::default(),
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ###################
|
|
// CallBuilders ###
|
|
// #################
|
|
|
|
/// Creates a blank document using the title given in the request. Other fields
|
|
/// in the request, including any provided content, are ignored.
|
|
///
|
|
/// Returns the created document.
|
|
///
|
|
/// A builder for the *create* method supported by a *document* resource.
|
|
/// It is not used directly, but through a `DocumentMethods` instance.
|
|
///
|
|
/// # Example
|
|
///
|
|
/// Instantiate a resource method builder
|
|
///
|
|
/// ```test_harness,no_run
|
|
/// # extern crate hyper;
|
|
/// # extern crate hyper_rustls;
|
|
/// # extern crate yup_oauth2 as oauth2;
|
|
/// # extern crate google_docs1 as docs1;
|
|
/// use docs1::Document;
|
|
/// # #[test] fn egal() {
|
|
/// # use std::default::Default;
|
|
/// # use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
/// # use docs1::Docs;
|
|
///
|
|
/// # let secret: ApplicationSecret = Default::default();
|
|
/// # let auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
/// # hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
/// # <MemoryStorage as Default>::default(), None);
|
|
/// # let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
/// // As the method needs a request, you would usually fill it with the desired information
|
|
/// // into the respective structure. Some of the parts shown here might not be applicable !
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let mut req = Document::default();
|
|
///
|
|
/// // You can configure optional parameters by calling the respective setters at will, and
|
|
/// // execute the final call using `doit()`.
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let result = hub.documents().create(req)
|
|
/// .doit();
|
|
/// # }
|
|
/// ```
|
|
pub struct DocumentCreateCall<'a, C, A>
|
|
where C: 'a, A: 'a {
|
|
|
|
hub: &'a Docs<C, A>,
|
|
_request: Document,
|
|
_delegate: Option<&'a mut Delegate>,
|
|
_additional_params: HashMap<String, String>,
|
|
_scopes: BTreeMap<String, ()>
|
|
}
|
|
|
|
impl<'a, C, A> CallBuilder for DocumentCreateCall<'a, C, A> {}
|
|
|
|
impl<'a, C, A> DocumentCreateCall<'a, C, A> where C: BorrowMut<hyper::Client>, A: oauth2::GetToken {
|
|
|
|
|
|
/// Perform the operation you have build so far.
|
|
pub fn doit(mut self) -> Result<(hyper::client::Response, Document)> {
|
|
use std::io::{Read, Seek};
|
|
use hyper::header::{ContentType, ContentLength, Authorization, Bearer, UserAgent, Location};
|
|
let mut dd = DefaultDelegate;
|
|
let mut dlg: &mut Delegate = match self._delegate {
|
|
Some(d) => d,
|
|
None => &mut dd
|
|
};
|
|
dlg.begin(MethodInfo { id: "docs.documents.create",
|
|
http_method: hyper::method::Method::Post });
|
|
let mut params: Vec<(&str, String)> = Vec::with_capacity(3 + self._additional_params.len());
|
|
for &field in ["alt"].iter() {
|
|
if self._additional_params.contains_key(field) {
|
|
dlg.finished(false);
|
|
return Err(Error::FieldClash(field));
|
|
}
|
|
}
|
|
for (name, value) in self._additional_params.iter() {
|
|
params.push((&name, value.clone()));
|
|
}
|
|
|
|
params.push(("alt", "json".to_string()));
|
|
|
|
let mut url = self.hub._base_url.clone() + "v1/documents";
|
|
if self._scopes.len() == 0 {
|
|
self._scopes.insert(Scope::Document.as_ref().to_string(), ());
|
|
}
|
|
|
|
|
|
let url = hyper::Url::parse_with_params(&url, params).unwrap();
|
|
|
|
let mut json_mime_type = mime::Mime(mime::TopLevel::Application, mime::SubLevel::Json, Default::default());
|
|
let mut request_value_reader =
|
|
{
|
|
let mut value = json::value::to_value(&self._request).expect("serde to work");
|
|
remove_json_null_values(&mut value);
|
|
let mut dst = io::Cursor::new(Vec::with_capacity(128));
|
|
json::to_writer(&mut dst, &value).unwrap();
|
|
dst
|
|
};
|
|
let request_size = request_value_reader.seek(io::SeekFrom::End(0)).unwrap();
|
|
request_value_reader.seek(io::SeekFrom::Start(0)).unwrap();
|
|
|
|
|
|
loop {
|
|
let token = match self.hub.auth.borrow_mut().token(self._scopes.keys()) {
|
|
Ok(token) => token,
|
|
Err(err) => {
|
|
match dlg.token(&*err) {
|
|
Some(token) => token,
|
|
None => {
|
|
dlg.finished(false);
|
|
return Err(Error::MissingToken(err))
|
|
}
|
|
}
|
|
}
|
|
};
|
|
let auth_header = Authorization(Bearer { token: token.access_token });
|
|
request_value_reader.seek(io::SeekFrom::Start(0)).unwrap();
|
|
let mut req_result = {
|
|
let mut client = &mut *self.hub.client.borrow_mut();
|
|
let mut req = client.borrow_mut().request(hyper::method::Method::Post, url.clone())
|
|
.header(UserAgent(self.hub._user_agent.clone()))
|
|
.header(auth_header.clone())
|
|
.header(ContentType(json_mime_type.clone()))
|
|
.header(ContentLength(request_size as u64))
|
|
.body(&mut request_value_reader);
|
|
|
|
dlg.pre_request();
|
|
req.send()
|
|
};
|
|
|
|
match req_result {
|
|
Err(err) => {
|
|
if let oauth2::Retry::After(d) = dlg.http_error(&err) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return Err(Error::HttpError(err))
|
|
}
|
|
Ok(mut res) => {
|
|
if !res.status.is_success() {
|
|
let mut json_err = String::new();
|
|
res.read_to_string(&mut json_err).unwrap();
|
|
if let oauth2::Retry::After(d) = dlg.http_failure(&res,
|
|
json::from_str(&json_err).ok(),
|
|
json::from_str(&json_err).ok()) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return match json::from_str::<ErrorResponse>(&json_err){
|
|
Err(_) => Err(Error::Failure(res)),
|
|
Ok(serr) => Err(Error::BadRequest(serr))
|
|
}
|
|
}
|
|
let result_value = {
|
|
let mut json_response = String::new();
|
|
res.read_to_string(&mut json_response).unwrap();
|
|
match json::from_str(&json_response) {
|
|
Ok(decoded) => (res, decoded),
|
|
Err(err) => {
|
|
dlg.response_json_decode_error(&json_response, &err);
|
|
return Err(Error::JsonDecodeError(json_response, err));
|
|
}
|
|
}
|
|
};
|
|
|
|
dlg.finished(true);
|
|
return Ok(result_value)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
///
|
|
/// Sets the *request* property to the given value.
|
|
///
|
|
/// Even though the property as already been set when instantiating this call,
|
|
/// we provide this method for API completeness.
|
|
pub fn request(mut self, new_value: Document) -> DocumentCreateCall<'a, C, A> {
|
|
self._request = new_value;
|
|
self
|
|
}
|
|
/// The delegate implementation is consulted whenever there is an intermediate result, or if something goes wrong
|
|
/// while executing the actual API request.
|
|
///
|
|
/// It should be used to handle progress information, and to implement a certain level of resilience.
|
|
///
|
|
/// Sets the *delegate* property to the given value.
|
|
pub fn delegate(mut self, new_value: &'a mut Delegate) -> DocumentCreateCall<'a, C, A> {
|
|
self._delegate = Some(new_value);
|
|
self
|
|
}
|
|
|
|
/// Set any additional parameter of the query string used in the request.
|
|
/// It should be used to set parameters which are not yet available through their own
|
|
/// setters.
|
|
///
|
|
/// Please note that this method must not be used to set any of the known parameters
|
|
/// which have their own setter method. If done anyway, the request will fail.
|
|
///
|
|
/// # Additional Parameters
|
|
///
|
|
/// * *upload_protocol* (query-string) - Upload protocol for media (e.g. "raw", "multipart").
|
|
/// * *prettyPrint* (query-boolean) - Returns response with indentations and line breaks.
|
|
/// * *access_token* (query-string) - OAuth access token.
|
|
/// * *fields* (query-string) - Selector specifying which fields to include in a partial response.
|
|
/// * *quotaUser* (query-string) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
/// * *callback* (query-string) - JSONP
|
|
/// * *oauth_token* (query-string) - OAuth 2.0 token for the current user.
|
|
/// * *key* (query-string) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
|
|
/// * *uploadType* (query-string) - Legacy upload protocol for media (e.g. "media", "multipart").
|
|
/// * *alt* (query-string) - Data format for response.
|
|
/// * *$.xgafv* (query-string) - V1 error format.
|
|
pub fn param<T>(mut self, name: T, value: T) -> DocumentCreateCall<'a, C, A>
|
|
where T: AsRef<str> {
|
|
self._additional_params.insert(name.as_ref().to_string(), value.as_ref().to_string());
|
|
self
|
|
}
|
|
|
|
/// Identifies the authorization scope for the method you are building.
|
|
///
|
|
/// Use this method to actively specify which scope should be used, instead the default `Scope` variant
|
|
/// `Scope::Document`.
|
|
///
|
|
/// The `scope` will be added to a set of scopes. This is important as one can maintain access
|
|
/// tokens for more than one scope.
|
|
/// If `None` is specified, then all scopes will be removed and no default scope will be used either.
|
|
/// In that case, you have to specify your API-key using the `key` parameter (see the `param()`
|
|
/// function for details).
|
|
///
|
|
/// Usually there is more than one suitable scope to authorize an operation, some of which may
|
|
/// encompass more rights than others. For example, for listing resources, a *read-only* scope will be
|
|
/// sufficient, a read-write scope will do as well.
|
|
pub fn add_scope<T, S>(mut self, scope: T) -> DocumentCreateCall<'a, C, A>
|
|
where T: Into<Option<S>>,
|
|
S: AsRef<str> {
|
|
match scope.into() {
|
|
Some(scope) => self._scopes.insert(scope.as_ref().to_string(), ()),
|
|
None => None,
|
|
};
|
|
self
|
|
}
|
|
}
|
|
|
|
|
|
/// Gets the latest version of the specified document.
|
|
///
|
|
/// A builder for the *get* method supported by a *document* resource.
|
|
/// It is not used directly, but through a `DocumentMethods` instance.
|
|
///
|
|
/// # Example
|
|
///
|
|
/// Instantiate a resource method builder
|
|
///
|
|
/// ```test_harness,no_run
|
|
/// # extern crate hyper;
|
|
/// # extern crate hyper_rustls;
|
|
/// # extern crate yup_oauth2 as oauth2;
|
|
/// # extern crate google_docs1 as docs1;
|
|
/// # #[test] fn egal() {
|
|
/// # use std::default::Default;
|
|
/// # use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
/// # use docs1::Docs;
|
|
///
|
|
/// # let secret: ApplicationSecret = Default::default();
|
|
/// # let auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
/// # hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
/// # <MemoryStorage as Default>::default(), None);
|
|
/// # let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
/// // You can configure optional parameters by calling the respective setters at will, and
|
|
/// // execute the final call using `doit()`.
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let result = hub.documents().get("documentId")
|
|
/// .suggestions_view_mode("accusam")
|
|
/// .doit();
|
|
/// # }
|
|
/// ```
|
|
pub struct DocumentGetCall<'a, C, A>
|
|
where C: 'a, A: 'a {
|
|
|
|
hub: &'a Docs<C, A>,
|
|
_document_id: String,
|
|
_suggestions_view_mode: Option<String>,
|
|
_delegate: Option<&'a mut Delegate>,
|
|
_additional_params: HashMap<String, String>,
|
|
_scopes: BTreeMap<String, ()>
|
|
}
|
|
|
|
impl<'a, C, A> CallBuilder for DocumentGetCall<'a, C, A> {}
|
|
|
|
impl<'a, C, A> DocumentGetCall<'a, C, A> where C: BorrowMut<hyper::Client>, A: oauth2::GetToken {
|
|
|
|
|
|
/// Perform the operation you have build so far.
|
|
pub fn doit(mut self) -> Result<(hyper::client::Response, Document)> {
|
|
use std::io::{Read, Seek};
|
|
use hyper::header::{ContentType, ContentLength, Authorization, Bearer, UserAgent, Location};
|
|
let mut dd = DefaultDelegate;
|
|
let mut dlg: &mut Delegate = match self._delegate {
|
|
Some(d) => d,
|
|
None => &mut dd
|
|
};
|
|
dlg.begin(MethodInfo { id: "docs.documents.get",
|
|
http_method: hyper::method::Method::Get });
|
|
let mut params: Vec<(&str, String)> = Vec::with_capacity(4 + self._additional_params.len());
|
|
params.push(("documentId", self._document_id.to_string()));
|
|
if let Some(value) = self._suggestions_view_mode {
|
|
params.push(("suggestionsViewMode", value.to_string()));
|
|
}
|
|
for &field in ["alt", "documentId", "suggestionsViewMode"].iter() {
|
|
if self._additional_params.contains_key(field) {
|
|
dlg.finished(false);
|
|
return Err(Error::FieldClash(field));
|
|
}
|
|
}
|
|
for (name, value) in self._additional_params.iter() {
|
|
params.push((&name, value.clone()));
|
|
}
|
|
|
|
params.push(("alt", "json".to_string()));
|
|
|
|
let mut url = self.hub._base_url.clone() + "v1/documents/{documentId}";
|
|
if self._scopes.len() == 0 {
|
|
self._scopes.insert(Scope::DocumentReadonly.as_ref().to_string(), ());
|
|
}
|
|
|
|
for &(find_this, param_name) in [("{documentId}", "documentId")].iter() {
|
|
let mut replace_with: Option<&str> = None;
|
|
for &(name, ref value) in params.iter() {
|
|
if name == param_name {
|
|
replace_with = Some(value);
|
|
break;
|
|
}
|
|
}
|
|
url = url.replace(find_this, replace_with.expect("to find substitution value in params"));
|
|
}
|
|
{
|
|
let mut indices_for_removal: Vec<usize> = Vec::with_capacity(1);
|
|
for param_name in ["documentId"].iter() {
|
|
if let Some(index) = params.iter().position(|t| &t.0 == param_name) {
|
|
indices_for_removal.push(index);
|
|
}
|
|
}
|
|
for &index in indices_for_removal.iter() {
|
|
params.remove(index);
|
|
}
|
|
}
|
|
|
|
let url = hyper::Url::parse_with_params(&url, params).unwrap();
|
|
|
|
|
|
|
|
loop {
|
|
let token = match self.hub.auth.borrow_mut().token(self._scopes.keys()) {
|
|
Ok(token) => token,
|
|
Err(err) => {
|
|
match dlg.token(&*err) {
|
|
Some(token) => token,
|
|
None => {
|
|
dlg.finished(false);
|
|
return Err(Error::MissingToken(err))
|
|
}
|
|
}
|
|
}
|
|
};
|
|
let auth_header = Authorization(Bearer { token: token.access_token });
|
|
let mut req_result = {
|
|
let mut client = &mut *self.hub.client.borrow_mut();
|
|
let mut req = client.borrow_mut().request(hyper::method::Method::Get, url.clone())
|
|
.header(UserAgent(self.hub._user_agent.clone()))
|
|
.header(auth_header.clone());
|
|
|
|
dlg.pre_request();
|
|
req.send()
|
|
};
|
|
|
|
match req_result {
|
|
Err(err) => {
|
|
if let oauth2::Retry::After(d) = dlg.http_error(&err) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return Err(Error::HttpError(err))
|
|
}
|
|
Ok(mut res) => {
|
|
if !res.status.is_success() {
|
|
let mut json_err = String::new();
|
|
res.read_to_string(&mut json_err).unwrap();
|
|
if let oauth2::Retry::After(d) = dlg.http_failure(&res,
|
|
json::from_str(&json_err).ok(),
|
|
json::from_str(&json_err).ok()) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return match json::from_str::<ErrorResponse>(&json_err){
|
|
Err(_) => Err(Error::Failure(res)),
|
|
Ok(serr) => Err(Error::BadRequest(serr))
|
|
}
|
|
}
|
|
let result_value = {
|
|
let mut json_response = String::new();
|
|
res.read_to_string(&mut json_response).unwrap();
|
|
match json::from_str(&json_response) {
|
|
Ok(decoded) => (res, decoded),
|
|
Err(err) => {
|
|
dlg.response_json_decode_error(&json_response, &err);
|
|
return Err(Error::JsonDecodeError(json_response, err));
|
|
}
|
|
}
|
|
};
|
|
|
|
dlg.finished(true);
|
|
return Ok(result_value)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
/// The ID of the document to retrieve.
|
|
///
|
|
/// Sets the *document id* path property to the given value.
|
|
///
|
|
/// Even though the property as already been set when instantiating this call,
|
|
/// we provide this method for API completeness.
|
|
pub fn document_id(mut self, new_value: &str) -> DocumentGetCall<'a, C, A> {
|
|
self._document_id = new_value.to_string();
|
|
self
|
|
}
|
|
/// The suggestions view mode to apply to the document. This allows viewing the
|
|
/// document with all suggestions inline, accepted or rejected. If one is not
|
|
/// specified, DEFAULT_FOR_CURRENT_ACCESS is
|
|
/// used.
|
|
///
|
|
/// Sets the *suggestions view mode* query property to the given value.
|
|
pub fn suggestions_view_mode(mut self, new_value: &str) -> DocumentGetCall<'a, C, A> {
|
|
self._suggestions_view_mode = Some(new_value.to_string());
|
|
self
|
|
}
|
|
/// The delegate implementation is consulted whenever there is an intermediate result, or if something goes wrong
|
|
/// while executing the actual API request.
|
|
///
|
|
/// It should be used to handle progress information, and to implement a certain level of resilience.
|
|
///
|
|
/// Sets the *delegate* property to the given value.
|
|
pub fn delegate(mut self, new_value: &'a mut Delegate) -> DocumentGetCall<'a, C, A> {
|
|
self._delegate = Some(new_value);
|
|
self
|
|
}
|
|
|
|
/// Set any additional parameter of the query string used in the request.
|
|
/// It should be used to set parameters which are not yet available through their own
|
|
/// setters.
|
|
///
|
|
/// Please note that this method must not be used to set any of the known parameters
|
|
/// which have their own setter method. If done anyway, the request will fail.
|
|
///
|
|
/// # Additional Parameters
|
|
///
|
|
/// * *upload_protocol* (query-string) - Upload protocol for media (e.g. "raw", "multipart").
|
|
/// * *prettyPrint* (query-boolean) - Returns response with indentations and line breaks.
|
|
/// * *access_token* (query-string) - OAuth access token.
|
|
/// * *fields* (query-string) - Selector specifying which fields to include in a partial response.
|
|
/// * *quotaUser* (query-string) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
/// * *callback* (query-string) - JSONP
|
|
/// * *oauth_token* (query-string) - OAuth 2.0 token for the current user.
|
|
/// * *key* (query-string) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
|
|
/// * *uploadType* (query-string) - Legacy upload protocol for media (e.g. "media", "multipart").
|
|
/// * *alt* (query-string) - Data format for response.
|
|
/// * *$.xgafv* (query-string) - V1 error format.
|
|
pub fn param<T>(mut self, name: T, value: T) -> DocumentGetCall<'a, C, A>
|
|
where T: AsRef<str> {
|
|
self._additional_params.insert(name.as_ref().to_string(), value.as_ref().to_string());
|
|
self
|
|
}
|
|
|
|
/// Identifies the authorization scope for the method you are building.
|
|
///
|
|
/// Use this method to actively specify which scope should be used, instead the default `Scope` variant
|
|
/// `Scope::DocumentReadonly`.
|
|
///
|
|
/// The `scope` will be added to a set of scopes. This is important as one can maintain access
|
|
/// tokens for more than one scope.
|
|
/// If `None` is specified, then all scopes will be removed and no default scope will be used either.
|
|
/// In that case, you have to specify your API-key using the `key` parameter (see the `param()`
|
|
/// function for details).
|
|
///
|
|
/// Usually there is more than one suitable scope to authorize an operation, some of which may
|
|
/// encompass more rights than others. For example, for listing resources, a *read-only* scope will be
|
|
/// sufficient, a read-write scope will do as well.
|
|
pub fn add_scope<T, S>(mut self, scope: T) -> DocumentGetCall<'a, C, A>
|
|
where T: Into<Option<S>>,
|
|
S: AsRef<str> {
|
|
match scope.into() {
|
|
Some(scope) => self._scopes.insert(scope.as_ref().to_string(), ()),
|
|
None => None,
|
|
};
|
|
self
|
|
}
|
|
}
|
|
|
|
|
|
/// Applies one or more updates to the document.
|
|
///
|
|
/// Each request is validated before
|
|
/// being applied. If any request is not valid, then the entire request will
|
|
/// fail and nothing will be applied.
|
|
///
|
|
/// Some requests have replies to
|
|
/// give you some information about how they are applied. Other requests do
|
|
/// not need to return information; these each return an empty reply.
|
|
/// The order of replies matches that of the requests.
|
|
///
|
|
/// For example, suppose you call batchUpdate with four updates, and only the
|
|
/// third one returns information. The response would have two empty replies,
|
|
/// the reply to the third request, and another empty reply, in that order.
|
|
///
|
|
/// Because other users may be editing the document, the document
|
|
/// might not exactly reflect your changes: your changes may
|
|
/// be altered with respect to collaborator changes. If there are no
|
|
/// collaborators, the document should reflect your changes. In any case,
|
|
/// the updates in your request are guaranteed to be applied together
|
|
/// atomically.
|
|
///
|
|
/// A builder for the *batchUpdate* method supported by a *document* resource.
|
|
/// It is not used directly, but through a `DocumentMethods` instance.
|
|
///
|
|
/// # Example
|
|
///
|
|
/// Instantiate a resource method builder
|
|
///
|
|
/// ```test_harness,no_run
|
|
/// # extern crate hyper;
|
|
/// # extern crate hyper_rustls;
|
|
/// # extern crate yup_oauth2 as oauth2;
|
|
/// # extern crate google_docs1 as docs1;
|
|
/// use docs1::BatchUpdateDocumentRequest;
|
|
/// # #[test] fn egal() {
|
|
/// # use std::default::Default;
|
|
/// # use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage};
|
|
/// # use docs1::Docs;
|
|
///
|
|
/// # let secret: ApplicationSecret = Default::default();
|
|
/// # let auth = Authenticator::new(&secret, DefaultAuthenticatorDelegate,
|
|
/// # hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())),
|
|
/// # <MemoryStorage as Default>::default(), None);
|
|
/// # let mut hub = Docs::new(hyper::Client::with_connector(hyper::net::HttpsConnector::new(hyper_rustls::TlsClient::new())), auth);
|
|
/// // As the method needs a request, you would usually fill it with the desired information
|
|
/// // into the respective structure. Some of the parts shown here might not be applicable !
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let mut req = BatchUpdateDocumentRequest::default();
|
|
///
|
|
/// // You can configure optional parameters by calling the respective setters at will, and
|
|
/// // execute the final call using `doit()`.
|
|
/// // Values shown here are possibly random and not representative !
|
|
/// let result = hub.documents().batch_update(req, "documentId")
|
|
/// .doit();
|
|
/// # }
|
|
/// ```
|
|
pub struct DocumentBatchUpdateCall<'a, C, A>
|
|
where C: 'a, A: 'a {
|
|
|
|
hub: &'a Docs<C, A>,
|
|
_request: BatchUpdateDocumentRequest,
|
|
_document_id: String,
|
|
_delegate: Option<&'a mut Delegate>,
|
|
_additional_params: HashMap<String, String>,
|
|
_scopes: BTreeMap<String, ()>
|
|
}
|
|
|
|
impl<'a, C, A> CallBuilder for DocumentBatchUpdateCall<'a, C, A> {}
|
|
|
|
impl<'a, C, A> DocumentBatchUpdateCall<'a, C, A> where C: BorrowMut<hyper::Client>, A: oauth2::GetToken {
|
|
|
|
|
|
/// Perform the operation you have build so far.
|
|
pub fn doit(mut self) -> Result<(hyper::client::Response, BatchUpdateDocumentResponse)> {
|
|
use std::io::{Read, Seek};
|
|
use hyper::header::{ContentType, ContentLength, Authorization, Bearer, UserAgent, Location};
|
|
let mut dd = DefaultDelegate;
|
|
let mut dlg: &mut Delegate = match self._delegate {
|
|
Some(d) => d,
|
|
None => &mut dd
|
|
};
|
|
dlg.begin(MethodInfo { id: "docs.documents.batchUpdate",
|
|
http_method: hyper::method::Method::Post });
|
|
let mut params: Vec<(&str, String)> = Vec::with_capacity(4 + self._additional_params.len());
|
|
params.push(("documentId", self._document_id.to_string()));
|
|
for &field in ["alt", "documentId"].iter() {
|
|
if self._additional_params.contains_key(field) {
|
|
dlg.finished(false);
|
|
return Err(Error::FieldClash(field));
|
|
}
|
|
}
|
|
for (name, value) in self._additional_params.iter() {
|
|
params.push((&name, value.clone()));
|
|
}
|
|
|
|
params.push(("alt", "json".to_string()));
|
|
|
|
let mut url = self.hub._base_url.clone() + "v1/documents/{documentId}:batchUpdate";
|
|
if self._scopes.len() == 0 {
|
|
self._scopes.insert(Scope::Document.as_ref().to_string(), ());
|
|
}
|
|
|
|
for &(find_this, param_name) in [("{documentId}", "documentId")].iter() {
|
|
let mut replace_with: Option<&str> = None;
|
|
for &(name, ref value) in params.iter() {
|
|
if name == param_name {
|
|
replace_with = Some(value);
|
|
break;
|
|
}
|
|
}
|
|
url = url.replace(find_this, replace_with.expect("to find substitution value in params"));
|
|
}
|
|
{
|
|
let mut indices_for_removal: Vec<usize> = Vec::with_capacity(1);
|
|
for param_name in ["documentId"].iter() {
|
|
if let Some(index) = params.iter().position(|t| &t.0 == param_name) {
|
|
indices_for_removal.push(index);
|
|
}
|
|
}
|
|
for &index in indices_for_removal.iter() {
|
|
params.remove(index);
|
|
}
|
|
}
|
|
|
|
let url = hyper::Url::parse_with_params(&url, params).unwrap();
|
|
|
|
let mut json_mime_type = mime::Mime(mime::TopLevel::Application, mime::SubLevel::Json, Default::default());
|
|
let mut request_value_reader =
|
|
{
|
|
let mut value = json::value::to_value(&self._request).expect("serde to work");
|
|
remove_json_null_values(&mut value);
|
|
let mut dst = io::Cursor::new(Vec::with_capacity(128));
|
|
json::to_writer(&mut dst, &value).unwrap();
|
|
dst
|
|
};
|
|
let request_size = request_value_reader.seek(io::SeekFrom::End(0)).unwrap();
|
|
request_value_reader.seek(io::SeekFrom::Start(0)).unwrap();
|
|
|
|
|
|
loop {
|
|
let token = match self.hub.auth.borrow_mut().token(self._scopes.keys()) {
|
|
Ok(token) => token,
|
|
Err(err) => {
|
|
match dlg.token(&*err) {
|
|
Some(token) => token,
|
|
None => {
|
|
dlg.finished(false);
|
|
return Err(Error::MissingToken(err))
|
|
}
|
|
}
|
|
}
|
|
};
|
|
let auth_header = Authorization(Bearer { token: token.access_token });
|
|
request_value_reader.seek(io::SeekFrom::Start(0)).unwrap();
|
|
let mut req_result = {
|
|
let mut client = &mut *self.hub.client.borrow_mut();
|
|
let mut req = client.borrow_mut().request(hyper::method::Method::Post, url.clone())
|
|
.header(UserAgent(self.hub._user_agent.clone()))
|
|
.header(auth_header.clone())
|
|
.header(ContentType(json_mime_type.clone()))
|
|
.header(ContentLength(request_size as u64))
|
|
.body(&mut request_value_reader);
|
|
|
|
dlg.pre_request();
|
|
req.send()
|
|
};
|
|
|
|
match req_result {
|
|
Err(err) => {
|
|
if let oauth2::Retry::After(d) = dlg.http_error(&err) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return Err(Error::HttpError(err))
|
|
}
|
|
Ok(mut res) => {
|
|
if !res.status.is_success() {
|
|
let mut json_err = String::new();
|
|
res.read_to_string(&mut json_err).unwrap();
|
|
if let oauth2::Retry::After(d) = dlg.http_failure(&res,
|
|
json::from_str(&json_err).ok(),
|
|
json::from_str(&json_err).ok()) {
|
|
sleep(d);
|
|
continue;
|
|
}
|
|
dlg.finished(false);
|
|
return match json::from_str::<ErrorResponse>(&json_err){
|
|
Err(_) => Err(Error::Failure(res)),
|
|
Ok(serr) => Err(Error::BadRequest(serr))
|
|
}
|
|
}
|
|
let result_value = {
|
|
let mut json_response = String::new();
|
|
res.read_to_string(&mut json_response).unwrap();
|
|
match json::from_str(&json_response) {
|
|
Ok(decoded) => (res, decoded),
|
|
Err(err) => {
|
|
dlg.response_json_decode_error(&json_response, &err);
|
|
return Err(Error::JsonDecodeError(json_response, err));
|
|
}
|
|
}
|
|
};
|
|
|
|
dlg.finished(true);
|
|
return Ok(result_value)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
///
|
|
/// Sets the *request* property to the given value.
|
|
///
|
|
/// Even though the property as already been set when instantiating this call,
|
|
/// we provide this method for API completeness.
|
|
pub fn request(mut self, new_value: BatchUpdateDocumentRequest) -> DocumentBatchUpdateCall<'a, C, A> {
|
|
self._request = new_value;
|
|
self
|
|
}
|
|
/// The ID of the document to update.
|
|
///
|
|
/// Sets the *document id* path property to the given value.
|
|
///
|
|
/// Even though the property as already been set when instantiating this call,
|
|
/// we provide this method for API completeness.
|
|
pub fn document_id(mut self, new_value: &str) -> DocumentBatchUpdateCall<'a, C, A> {
|
|
self._document_id = new_value.to_string();
|
|
self
|
|
}
|
|
/// The delegate implementation is consulted whenever there is an intermediate result, or if something goes wrong
|
|
/// while executing the actual API request.
|
|
///
|
|
/// It should be used to handle progress information, and to implement a certain level of resilience.
|
|
///
|
|
/// Sets the *delegate* property to the given value.
|
|
pub fn delegate(mut self, new_value: &'a mut Delegate) -> DocumentBatchUpdateCall<'a, C, A> {
|
|
self._delegate = Some(new_value);
|
|
self
|
|
}
|
|
|
|
/// Set any additional parameter of the query string used in the request.
|
|
/// It should be used to set parameters which are not yet available through their own
|
|
/// setters.
|
|
///
|
|
/// Please note that this method must not be used to set any of the known parameters
|
|
/// which have their own setter method. If done anyway, the request will fail.
|
|
///
|
|
/// # Additional Parameters
|
|
///
|
|
/// * *upload_protocol* (query-string) - Upload protocol for media (e.g. "raw", "multipart").
|
|
/// * *prettyPrint* (query-boolean) - Returns response with indentations and line breaks.
|
|
/// * *access_token* (query-string) - OAuth access token.
|
|
/// * *fields* (query-string) - Selector specifying which fields to include in a partial response.
|
|
/// * *quotaUser* (query-string) - Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.
|
|
/// * *callback* (query-string) - JSONP
|
|
/// * *oauth_token* (query-string) - OAuth 2.0 token for the current user.
|
|
/// * *key* (query-string) - API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.
|
|
/// * *uploadType* (query-string) - Legacy upload protocol for media (e.g. "media", "multipart").
|
|
/// * *alt* (query-string) - Data format for response.
|
|
/// * *$.xgafv* (query-string) - V1 error format.
|
|
pub fn param<T>(mut self, name: T, value: T) -> DocumentBatchUpdateCall<'a, C, A>
|
|
where T: AsRef<str> {
|
|
self._additional_params.insert(name.as_ref().to_string(), value.as_ref().to_string());
|
|
self
|
|
}
|
|
|
|
/// Identifies the authorization scope for the method you are building.
|
|
///
|
|
/// Use this method to actively specify which scope should be used, instead the default `Scope` variant
|
|
/// `Scope::Document`.
|
|
///
|
|
/// The `scope` will be added to a set of scopes. This is important as one can maintain access
|
|
/// tokens for more than one scope.
|
|
/// If `None` is specified, then all scopes will be removed and no default scope will be used either.
|
|
/// In that case, you have to specify your API-key using the `key` parameter (see the `param()`
|
|
/// function for details).
|
|
///
|
|
/// Usually there is more than one suitable scope to authorize an operation, some of which may
|
|
/// encompass more rights than others. For example, for listing resources, a *read-only* scope will be
|
|
/// sufficient, a read-write scope will do as well.
|
|
pub fn add_scope<T, S>(mut self, scope: T) -> DocumentBatchUpdateCall<'a, C, A>
|
|
where T: Into<Option<S>>,
|
|
S: AsRef<str> {
|
|
match scope.into() {
|
|
Some(scope) => self._scopes.insert(scope.as_ref().to_string(), ()),
|
|
None => None,
|
|
};
|
|
self
|
|
}
|
|
}
|
|
|
|
|