diff --git a/etc/api/shared.yaml b/etc/api/shared.yaml index 76e7aaa0a6..3ff0e9c085 100644 --- a/etc/api/shared.yaml +++ b/etc/api/shared.yaml @@ -37,7 +37,8 @@ cargo: keywords: [google, protocol, web, api] # All APIs should live in the same repository repository_url: https://github.com/Byron/google-apis-rs - +urls: + authenticator_delegate: ../yup-oauth2/trait.AuthenticatorDelegate.html copyright: license_abbrev: "MIT" # should at some point be 2015-2016 ... diff --git a/gen/youtube3/README.md b/gen/youtube3/README.md index b7820a9da5..21b7a87ae4 100644 --- a/gen/youtube3/README.md +++ b/gen/youtube3/README.md @@ -68,15 +68,16 @@ supports various methods to configure the impending operation (not shown here). 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 (*TODO*) +# Usage -## Instantiating the Hub +## A complete example ```Rust extern crate hyper; extern crate "yup-oauth2" as oauth2; extern crate "rustc-serialize" as rustc_serialize; extern crate youtube3; +# use youtube3::cmn::Result; use std::default::Default; use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage}; # use youtube3::YouTube; @@ -104,29 +105,51 @@ let result = hub.live_broadcasts().list("part") .id("kasd") .broadcast_status("accusam") .doit(); -// TODO: show how to handle the result ! + +match result { + Result::HttpError(err) => println!("HTTPERROR: {:?}", err), + Result::FieldClash(clashed_field) => println!("FIELD CLASH: {:?}", clashed_field), + Result::Success(value) => println!("Result Value: {:?}", value), +} ``` -**TODO** Example calls - there should soon be a generator able to do that with proper inputs - ## Handling Errors -# Some details +All errors produced by the system are provided either as [Result](cmn/enum.Result.html) enumeration as return value of +the doit() methods, or handed as possibly intermediate results to either the +[Hub Delegate](cmn/trait.Delegate.html), or the [Authenticator Delegate](../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. ## About Customization/Callbacks -## About parts +You may alter the way an `doit()` method is called by providing a [delegate](cmn/trait.Delegate.html) to the +[Method Builder](cmn/trait.MethodBuilder.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. -* Optionals needed for Json, otherwise I'd happily drop them -* explain that examples use all response parts, even though they are shown for request values +The [delegate trait](cmn/trait.Delegate.html) is default-implemented, allowing you to customize it with minimal effort. -## About builder arguments +## About Parts -* pods are copy -* strings are &str -* request values are borrowed -* additional parameters using `param()` +All structures provided by this library are made to be [enocodable](cmn/trait.RequestValue.html) and +[decodable](cmn/trait.ResponseResult.html) via json. Optionals are used to indicate that partial requests are responses are valid. +Most optionals are are considered [Parts](cmn/trait.Part.html) which are identifyable 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. +## About Builder Arguments + +Using [method builders](cmn/trait.MethodBuilder.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](cmn/trait.RequestValue.html) are borrowed + +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 diff --git a/gen/youtube3/src/lib.rs b/gen/youtube3/src/lib.rs index 391532023e..9d56406da0 100644 --- a/gen/youtube3/src/lib.rs +++ b/gen/youtube3/src/lib.rs @@ -67,15 +67,16 @@ //! 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 (*TODO*) +//! # Usage //! -//! ## Instantiating the Hub +//! ## A complete example //! //! ```test_harness,no_run //! extern crate hyper; //! extern crate "yup-oauth2" as oauth2; //! extern crate "rustc-serialize" as rustc_serialize; //! extern crate youtube3; +//! # use youtube3::cmn::Result; //! # #[test] fn egal() { //! use std::default::Default; //! use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage}; @@ -104,29 +105,51 @@ //! .id("nonumy") //! .broadcast_status("dolores") //! .doit(); -//! // TODO: show how to handle the result ! +//! +//! match result { +//! Result::HttpError(err) => println!("HTTPERROR: {:?}", err), +//! Result::FieldClash(clashed_field) => println!("FIELD CLASH: {:?}", clashed_field), +//! Result::Success(value) => println!("Result Value: {:?}", value), +//! } //! # } //! ``` -//! **TODO** Example calls - there should soon be a generator able to do that with proper inputs -//! //! ## Handling Errors //! -//! # Some details +//! All errors produced by the system are provided either as [Result](cmn/enum.Result.html) enumeration as return value of +//! the doit() methods, or handed as possibly intermediate results to either the +//! [Hub Delegate](cmn/trait.Delegate.html), or the [Authenticator Delegate](../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. //! //! ## About Customization/Callbacks //! -//! ## About parts +//! You may alter the way an `doit()` method is called by providing a [delegate](cmn/trait.Delegate.html) to the +//! [Method Builder](cmn/trait.MethodBuilder.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. //! -//! * Optionals needed for Json, otherwise I'd happily drop them -//! * explain that examples use all response parts, even though they are shown for request values +//! The [delegate trait](cmn/trait.Delegate.html) is default-implemented, allowing you to customize it with minimal effort. //! -//! ## About builder arguments +//! ## About Parts //! -//! * pods are copy -//! * strings are &str -//! * request values are borrowed -//! * additional parameters using `param()` +//! All structures provided by this library are made to be [enocodable](cmn/trait.RequestValue.html) and +//! [decodable](cmn/trait.ResponseResult.html) via json. Optionals are used to indicate that partial requests are responses are valid. +//! Most optionals are are considered [Parts](cmn/trait.Part.html) which are identifyable 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. //! +//! ## About Builder Arguments +//! +//! Using [method builders](cmn/trait.MethodBuilder.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](cmn/trait.RequestValue.html) are borrowed +//! +//! 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 //! @@ -234,6 +257,7 @@ impl Default for Scope { /// extern crate "yup-oauth2" as oauth2; /// extern crate "rustc-serialize" as rustc_serialize; /// extern crate youtube3; +/// # use youtube3::cmn::Result; /// # #[test] fn egal() { /// use std::default::Default; /// use oauth2::{Authenticator, DefaultAuthenticatorDelegate, ApplicationSecret, MemoryStorage}; @@ -262,7 +286,12 @@ impl Default for Scope { /// .id("justo") /// .broadcast_status("et") /// .doit(); -/// // TODO: show how to handle the result ! +/// +/// match result { +/// Result::HttpError(err) => println!("HTTPERROR: {:?}", err), +/// Result::FieldClash(clashed_field) => println!("FIELD CLASH: {:?}", clashed_field), +/// Result::Success(value) => println!("Result Value: {:?}", value), +/// } /// # } /// ``` pub struct YouTube { @@ -351,7 +380,7 @@ impl<'a, C, NC, A> YouTube /// * [list](struct.SubscriptionListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct SubscriptionListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -380,7 +409,7 @@ impl ResponseResult for SubscriptionListResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelAuditDetails { /// Whether or not the channel has any copyright strikes. pub copyright_strikes_good_standing: Option, @@ -416,7 +445,7 @@ impl ChannelAuditDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoFileDetails { /// The uploaded video file's combined (video and audio) bitrate in bits per second. pub bitrate_bps: Option, @@ -473,7 +502,7 @@ impl VideoFileDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PlaylistLocalization { /// The localized strings for playlist's description. pub description: Option, @@ -503,7 +532,7 @@ impl PlaylistLocalization { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsComment { /// The resourceId object contains information that identifies the resource associated with the comment. pub resource_id: Option, @@ -535,7 +564,7 @@ impl ActivityContentDetailsComment { /// * [list](struct.PlaylistItemListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct PlaylistItemListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -564,7 +593,7 @@ impl ResponseResult for PlaylistItemListResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PropertyValue { /// A property. pub property: Option, @@ -594,7 +623,7 @@ impl PropertyValue { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct InvideoTiming { /// Defines the time at which the promotion will appear. Depending on the value of type the value of the offsetMs field will represent a time offset from the start or from the end of the video, expressed in milliseconds. pub offset_ms: Option, @@ -627,7 +656,7 @@ impl InvideoTiming { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PlaylistSnippet { /// The playlist's description. pub description: Option, @@ -678,7 +707,7 @@ impl PlaylistSnippet { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsLike { /// The resourceId object contains information that identifies the rated resource. pub resource_id: Option, @@ -713,7 +742,7 @@ impl ActivityContentDetailsLike { /// * [insert](struct.LiveStreamInsertMethodBuilder.html) (request|response) /// /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct LiveStream { /// The status object contains information about live stream's status. pub status: Option, @@ -763,7 +792,7 @@ impl LiveStream { /// * [set](struct.ThumbnailSetMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct ThumbnailSetResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -784,7 +813,7 @@ impl ResponseResult for ThumbnailSetResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsUpload { /// The ID that YouTube uses to uniquely identify the uploaded video. pub video_id: Option, @@ -810,7 +839,7 @@ impl ActivityContentDetailsUpload { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelSettings { /// Specifies the channel description. pub description: Option, @@ -873,7 +902,7 @@ impl ChannelSettings { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct SearchResultSnippet { /// It indicates if the resource (video or channel) has upcoming/active live broadcast content. Or it's "none" if there is not any upcoming/active live broadcasts. pub live_broadcast_content: Option, @@ -899,7 +928,7 @@ impl ResponseResult for SearchResultSnippet {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct IngestionInfo { /// The backup ingestion URL that you should use to stream video to YouTube. You have the option of simultaneously streaming the content that you are sending to the ingestionAddress to this URL. pub backup_ingestion_address: Option, @@ -936,7 +965,7 @@ impl IngestionInfo { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct CdnSettings { /// The format of the video stream that you are sending to Youtube. pub format: Option, @@ -975,7 +1004,7 @@ impl CdnSettings { /// * [getRating](struct.VideoGetRatingMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct VideoGetRatingResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -996,7 +1025,7 @@ impl ResponseResult for VideoGetRatingResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct VideoCategorySnippet { /// no description provided pub assignable: Option, @@ -1014,7 +1043,7 @@ impl ResponseResult for VideoCategorySnippet {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsChannelItem { /// The resourceId object contains information that identifies the resource that was added to the channel. pub resource_id: Option, @@ -1040,7 +1069,7 @@ impl ActivityContentDetailsChannelItem { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct LiveBroadcastSnippet { /// The date and time that the broadcast actually ended. This information is only available once the broadcast's state is complete. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format. pub actual_end_time: Option, @@ -1091,7 +1120,7 @@ impl LiveBroadcastSnippet { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct SubscriptionSnippet { /// The subscription's details. pub description: Option, @@ -1136,7 +1165,7 @@ impl SubscriptionSnippet { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelSectionContentDetails { /// The channel ids for type multiple_channels. pub channels: Vec, @@ -1172,7 +1201,7 @@ impl ChannelSectionContentDetails { /// * [list](struct.I18nRegionListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct I18nRegionListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -1199,7 +1228,7 @@ impl ResponseResult for I18nRegionListResponse {} /// * [list](struct.LiveStreamListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct LiveStreamListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -1228,7 +1257,7 @@ impl ResponseResult for LiveStreamListResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct LiveStreamContentDetails { /// Indicates whether the stream is reusable, which means that it can be bound to multiple broadcasts. It is common for broadcasters to reuse the same stream for many different broadcasts if those broadcasts occur at different times. /// @@ -1263,7 +1292,7 @@ impl LiveStreamContentDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct I18nLanguageSnippet { /// The human-readable name of the language in the language itself. pub name: Option, @@ -1286,7 +1315,7 @@ impl cmn::Resource for I18nLanguageSnippet {} /// * [set](struct.WatermarkSetMethodBuilder.html) (request) /// /// -#[derive(Default, Clone, RustcEncodable)] +#[derive(Default, Clone, Debug, RustcEncodable)] pub struct InvideoBranding { /// no description provided pub target_channel_id: Option, @@ -1322,7 +1351,7 @@ impl InvideoBranding { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PlaylistItemStatus { /// This resource's privacy status. pub privacy_status: Option, @@ -1349,7 +1378,7 @@ impl PlaylistItemStatus { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelConversionPing { /// Defines the context of the ping. pub context: Option, @@ -1379,7 +1408,7 @@ impl ChannelConversionPing { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoProjectDetails { /// A list of project tags associated with the video during the upload. pub tags: Vec, @@ -1424,7 +1453,7 @@ impl VideoProjectDetails { /// * [delete](struct.PlaylistItemDeleteMethodBuilder.html) (none) /// /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PlaylistItem { /// The status object contains information about the playlist item's privacy status. pub status: Option, @@ -1471,7 +1500,7 @@ impl PlaylistItem { /// * [list](struct.GuideCategoryListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct GuideCategoryListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -1500,7 +1529,7 @@ impl ResponseResult for GuideCategoryListResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoLocalization { /// Localized version of the video's description. pub description: Option, @@ -1530,7 +1559,7 @@ impl VideoLocalization { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelSectionSnippet { /// The style of the channel section. pub style: Option, @@ -1575,7 +1604,7 @@ impl ChannelSectionSnippet { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelContentDetails { /// no description provided pub related_playlists: Option, @@ -1605,7 +1634,7 @@ impl ChannelContentDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct TokenPagination; impl Part for TokenPagination {} @@ -1622,7 +1651,7 @@ impl ResponseResult for TokenPagination {} /// * [list](struct.I18nRegionListMethodBuilder.html) (none) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct I18nRegion { /// The snippet object contains basic details about the i18n region, such as region code and human-readable name. pub snippet: Option, @@ -1642,7 +1671,7 @@ impl cmn::Resource for I18nRegion {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ThumbnailDetails { /// The default image for this resource. pub default: Option, @@ -1681,7 +1710,7 @@ impl ThumbnailDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoMonetizationDetails { /// The value of access indicates whether the video can be monetized or not. pub access: Option, @@ -1708,7 +1737,7 @@ impl VideoMonetizationDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsRecommendation { /// The resourceId object contains information that identifies the recommended resource. pub resource_id: Option, @@ -1740,7 +1769,7 @@ impl ActivityContentDetailsRecommendation { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoRecordingDetails { /// The date and time when the video was recorded. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sssZ) format. pub recording_date: Option, @@ -1773,7 +1802,7 @@ impl VideoRecordingDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetailsSubscription { /// The resourceId object contains information that identifies the resource that the user subscribed to. pub resource_id: Option, @@ -1799,7 +1828,7 @@ impl ActivityContentDetailsSubscription { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelConversionPings { /// Pings that the app shall fire (authenticated by biscotti cookie). Each ping has a context, in which the app must fire the ping, and a url identifying the ping. pub pings: Vec, @@ -1826,7 +1855,7 @@ impl ChannelConversionPings { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ActivityContentDetails { /// The comment object contains information about a resource that received a comment. This property is only present if the snippet.type is comment. pub comment: Option, @@ -1888,7 +1917,7 @@ impl ActivityContentDetails { /// * [list](struct.PlaylistListMethodBuilder.html) (response) /// /// -#[derive(Default, Clone, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcDecodable)] pub struct PlaylistListResponse { /// Serialized EventId of the request which produced this response. pub event_id: Option, @@ -1917,7 +1946,7 @@ impl ResponseResult for PlaylistListResponse {} /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct PlaylistItemContentDetails { /// A user-generated note for this item. pub note: Option, @@ -1953,7 +1982,7 @@ impl PlaylistItemContentDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelContentOwnerDetails { /// The ID of the content owner linked to the channel. pub content_owner: Option, @@ -1983,7 +2012,7 @@ impl ChannelContentOwnerDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoProcessingDetails { /// This value indicates whether file details are available for the uploaded video. You can retrieve a video's file details by requesting the fileDetails part in your videos.list() request. pub file_details_availability: Option, @@ -2031,7 +2060,7 @@ impl VideoProcessingDetails { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct LiveBroadcastStatus { /// The broadcast's recording status. pub recording_status: Option, @@ -2067,7 +2096,7 @@ impl LiveBroadcastStatus { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct SubscriptionContentDetails { /// The number of new items in the subscription since its content was last read. pub new_item_count: Option, @@ -2111,7 +2140,7 @@ impl SubscriptionContentDetails { /// * [delete](struct.VideoDeleteMethodBuilder.html) (none) /// /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct Video { /// The status object contains information about the video's uploading, processing, and privacy statuses. pub status: Option, @@ -2193,7 +2222,7 @@ impl Video { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct GeoPoint { /// Latitude in degrees. pub latitude: Option, @@ -2226,7 +2255,7 @@ impl GeoPoint { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct ChannelBrandingSettings { /// Branding properties for branding images. pub image: Option, @@ -2262,7 +2291,7 @@ impl ChannelBrandingSettings { /// /// This type is not used in any activity, and only used as *part* of another schema. /// -#[derive(Default, Clone, RustcEncodable, RustcDecodable)] +#[derive(Default, Clone, Debug, RustcEncodable, RustcDecodable)] pub struct VideoPlayer { /// An