Mercurial > lbo > hg > async-google-apis
changeset 185:9e5b86630da1
Update drive example with new enums API
author | Lewin Bormann <lbo@spheniscida.de> |
---|---|
date | Fri, 29 Jan 2021 11:43:46 +0100 |
parents | 4168f61afd5e |
children | 0fd7f1413b65 |
files | example_crates/drive_example/Cargo.lock example_crates/drive_example/src/drive_v3_types.rs example_crates/drive_example/src/main.rs |
diffstat | 3 files changed, 133 insertions(+), 55 deletions(-) [+] |
line wrap: on
line diff
--- a/example_crates/drive_example/Cargo.lock Fri Jan 29 10:29:31 2021 +0100 +++ b/example_crates/drive_example/Cargo.lock Fri Jan 29 11:43:46 2021 +0100 @@ -23,7 +23,7 @@ [[package]] name = "async-google-apis-common" -version = "0.1.7" +version = "0.2.0" dependencies = [ "anyhow", "chrono",
--- a/example_crates/drive_example/src/drive_v3_types.rs Fri Jan 29 10:29:31 2021 +0100 +++ b/example_crates/drive_example/src/drive_v3_types.rs Fri Jan 29 11:43:46 2021 +0100 @@ -1643,7 +1643,7 @@ /// Data format for the response. #[serde(rename = "alt")] #[serde(skip_serializing_if = "Option::is_none")] - pub alt: Option<String>, + pub alt: Option<DriveParamsAlt>, /// Selector specifying which fields to include in a partial response. #[serde(rename = "fields")] #[serde(skip_serializing_if = "Option::is_none")] @@ -1670,6 +1670,33 @@ pub user_ip: Option<String>, } +#[derive(Debug, Clone, Copy, Serialize, Deserialize)] +pub enum DriveParamsAlt { + Undefined, + /// Responses with Content-Type of application/json + #[serde(rename = "json")] + Json, + #[serde(rename = "media")] + Media, +} + +impl std::default::Default for DriveParamsAlt { + fn default() -> DriveParamsAlt { + DriveParamsAlt::Undefined + } +} + +impl std::fmt::Display for DriveParamsAlt { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + let s = match self { + DriveParamsAlt::Undefined => write!(f, "undefined"), + DriveParamsAlt::Json => write!(f, "json"), + DriveParamsAlt::Media => write!(f, "media"), + }; + Ok(()) + } +} + /// Parameters for the `about.get` method. #[derive(Serialize, Deserialize, Debug, Clone, Default)] pub struct AboutGetParams { @@ -4290,7 +4317,7 @@ ) -> Result<Comment> { let rel_path = format!( "files/{fileId}/comments", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4323,8 +4350,11 @@ pub async fn delete(&mut self, params: &CommentsDeleteParams) -> Result<()> { let rel_path = format!( "files/{fileId}/comments/{commentId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -4356,8 +4386,11 @@ pub async fn get(&mut self, params: &CommentsGetParams) -> Result<Comment> { let rel_path = format!( "files/{fileId}/comments/{commentId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -4389,7 +4422,7 @@ pub async fn list(&mut self, params: &CommentsListParams) -> Result<CommentList> { let rel_path = format!( "files/{fileId}/comments", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4425,8 +4458,11 @@ ) -> Result<Comment> { let rel_path = format!( "files/{fileId}/comments/{commentId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -4560,7 +4596,7 @@ pub async fn delete(&mut self, params: &DrivesDeleteParams) -> Result<()> { let rel_path = format!( "drives/{driveId}", - driveId = percent_encode(params.drive_id.as_bytes(), NON_ALPHANUMERIC) + driveId = percent_encode(format!("{}", params.drive_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4592,7 +4628,7 @@ pub async fn get(&mut self, params: &DrivesGetParams) -> Result<Drive> { let rel_path = format!( "drives/{driveId}", - driveId = percent_encode(params.drive_id.as_bytes(), NON_ALPHANUMERIC) + driveId = percent_encode(format!("{}", params.drive_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4624,7 +4660,7 @@ pub async fn hide(&mut self, params: &DrivesHideParams) -> Result<Drive> { let rel_path = format!( "drives/{driveId}/hide", - driveId = percent_encode(params.drive_id.as_bytes(), NON_ALPHANUMERIC) + driveId = percent_encode(format!("{}", params.drive_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4685,7 +4721,7 @@ pub async fn unhide(&mut self, params: &DrivesUnhideParams) -> Result<Drive> { let rel_path = format!( "drives/{driveId}/unhide", - driveId = percent_encode(params.drive_id.as_bytes(), NON_ALPHANUMERIC) + driveId = percent_encode(format!("{}", params.drive_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4717,7 +4753,7 @@ pub async fn update(&mut self, params: &DrivesUpdateParams, req: &Drive) -> Result<Drive> { let rel_path = format!( "drives/{driveId}", - driveId = percent_encode(params.drive_id.as_bytes(), NON_ALPHANUMERIC) + driveId = percent_encode(format!("{}", params.drive_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4821,7 +4857,7 @@ pub async fn copy(&mut self, params: &FilesCopyParams, req: &File) -> Result<File> { let rel_path = format!( "files/{fileId}/copy", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -4976,7 +5012,7 @@ pub async fn delete(&mut self, params: &FilesDeleteParams) -> Result<()> { let rel_path = format!( "files/{fileId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5042,7 +5078,7 @@ ) -> Result<Download<'a, EmptyRequest, ()>> { let rel_path = format!( "files/{fileId}/export", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5108,7 +5144,7 @@ ) -> Result<Download<'a, EmptyRequest, File>> { let rel_path = format!( "files/{fileId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5169,7 +5205,7 @@ pub async fn update(&mut self, params: &FilesUpdateParams, req: &File) -> Result<File> { let rel_path = format!( "files/{fileId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5209,7 +5245,7 @@ ) -> Result<File> { let rel_path = format!( "/upload/drive/v3/files/{fileId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5260,7 +5296,7 @@ ) -> Result<ResumableUpload<'client, File>> { let rel_path = format!( "/resumable/upload/drive/v3/files/{fileId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5315,7 +5351,7 @@ ) -> Result<Download<'a, Channel, Channel>> { let rel_path = format!( "files/{fileId}/watch", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5423,7 +5459,7 @@ ) -> Result<Permission> { let rel_path = format!( "files/{fileId}/permissions", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5456,8 +5492,11 @@ pub async fn delete(&mut self, params: &PermissionsDeleteParams) -> Result<()> { let rel_path = format!( "files/{fileId}/permissions/{permissionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - permissionId = percent_encode(params.permission_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + permissionId = percent_encode( + format!("{}", params.permission_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5489,8 +5528,11 @@ pub async fn get(&mut self, params: &PermissionsGetParams) -> Result<Permission> { let rel_path = format!( "files/{fileId}/permissions/{permissionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - permissionId = percent_encode(params.permission_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + permissionId = percent_encode( + format!("{}", params.permission_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5522,7 +5564,7 @@ pub async fn list(&mut self, params: &PermissionsListParams) -> Result<PermissionList> { let rel_path = format!( "files/{fileId}/permissions", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5558,8 +5600,11 @@ ) -> Result<Permission> { let rel_path = format!( "files/{fileId}/permissions/{permissionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - permissionId = percent_encode(params.permission_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + permissionId = percent_encode( + format!("{}", params.permission_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5663,8 +5708,11 @@ pub async fn create(&mut self, params: &RepliesCreateParams, req: &Reply) -> Result<Reply> { let rel_path = format!( "files/{fileId}/comments/{commentId}/replies", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5697,9 +5745,12 @@ pub async fn delete(&mut self, params: &RepliesDeleteParams) -> Result<()> { let rel_path = format!( "files/{fileId}/comments/{commentId}/replies/{replyId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC), - replyId = percent_encode(params.reply_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ), + replyId = percent_encode(format!("{}", params.reply_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5731,9 +5782,12 @@ pub async fn get(&mut self, params: &RepliesGetParams) -> Result<Reply> { let rel_path = format!( "files/{fileId}/comments/{commentId}/replies/{replyId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC), - replyId = percent_encode(params.reply_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ), + replyId = percent_encode(format!("{}", params.reply_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5765,8 +5819,11 @@ pub async fn list(&mut self, params: &RepliesListParams) -> Result<ReplyList> { let rel_path = format!( "files/{fileId}/comments/{commentId}/replies", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5798,9 +5855,12 @@ pub async fn update(&mut self, params: &RepliesUpdateParams, req: &Reply) -> Result<Reply> { let rel_path = format!( "files/{fileId}/comments/{commentId}/replies/{replyId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - commentId = percent_encode(params.comment_id.as_bytes(), NON_ALPHANUMERIC), - replyId = percent_encode(params.reply_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + commentId = percent_encode( + format!("{}", params.comment_id).as_bytes(), + NON_ALPHANUMERIC + ), + replyId = percent_encode(format!("{}", params.reply_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -5904,8 +5964,11 @@ pub async fn delete(&mut self, params: &RevisionsDeleteParams) -> Result<()> { let rel_path = format!( "files/{fileId}/revisions/{revisionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - revisionId = percent_encode(params.revision_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + revisionId = percent_encode( + format!("{}", params.revision_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5942,8 +6005,11 @@ ) -> Result<Download<'a, EmptyRequest, Revision>> { let rel_path = format!( "files/{fileId}/revisions/{revisionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - revisionId = percent_encode(params.revision_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + revisionId = percent_encode( + format!("{}", params.revision_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -5975,7 +6041,7 @@ pub async fn list(&mut self, params: &RevisionsListParams) -> Result<RevisionList> { let rel_path = format!( "files/{fileId}/revisions", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC) ); let path = self.format_path(rel_path.as_str()); @@ -6011,8 +6077,11 @@ ) -> Result<Revision> { let rel_path = format!( "files/{fileId}/revisions/{revisionId}", - fileId = percent_encode(params.file_id.as_bytes(), NON_ALPHANUMERIC), - revisionId = percent_encode(params.revision_id.as_bytes(), NON_ALPHANUMERIC) + fileId = percent_encode(format!("{}", params.file_id).as_bytes(), NON_ALPHANUMERIC), + revisionId = percent_encode( + format!("{}", params.revision_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -6150,7 +6219,10 @@ pub async fn delete(&mut self, params: &TeamdrivesDeleteParams) -> Result<()> { let rel_path = format!( "teamdrives/{teamDriveId}", - teamDriveId = percent_encode(params.team_drive_id.as_bytes(), NON_ALPHANUMERIC) + teamDriveId = percent_encode( + format!("{}", params.team_drive_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -6182,7 +6254,10 @@ pub async fn get(&mut self, params: &TeamdrivesGetParams) -> Result<TeamDrive> { let rel_path = format!( "teamdrives/{teamDriveId}", - teamDriveId = percent_encode(params.team_drive_id.as_bytes(), NON_ALPHANUMERIC) + teamDriveId = percent_encode( + format!("{}", params.team_drive_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str()); @@ -6247,7 +6322,10 @@ ) -> Result<TeamDrive> { let rel_path = format!( "teamdrives/{teamDriveId}", - teamDriveId = percent_encode(params.team_drive_id.as_bytes(), NON_ALPHANUMERIC) + teamDriveId = percent_encode( + format!("{}", params.team_drive_id).as_bytes(), + NON_ALPHANUMERIC + ) ); let path = self.format_path(rel_path.as_str());
--- a/example_crates/drive_example/src/main.rs Fri Jan 29 10:29:31 2021 +0100 +++ b/example_crates/drive_example/src/main.rs Fri Jan 29 11:43:46 2021 +0100 @@ -60,7 +60,7 @@ params.file_id = file_id.clone(); params.drive_params = Some(general_params.clone()); // This parameter will trigger the download. - params.drive_params.as_mut().unwrap().alt = Some("media".into()); + params.drive_params.as_mut().unwrap().alt = Some(drive::DriveParamsAlt::Media); let mut dest = vec![0 as u8; 128]; // Get file contents.