1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
use serde::{Deserialize, Serialize};
use crate::handlers::{upload, download, delete, find};
use crate::models::client::file_upload::{DriveFileUpload, DriveFolderUpload};
use crate::models::server::file_upload_response::FileUploadResponse;
use crate::models::client::error::{GoogleClientError};
use crate::models::client::file_search::DriveFileSearch;
use crate::models::server::file_list::DriveFileList;
use crate::models::client::file_download::FileDownloadResponse;
#[derive(Serialize, Deserialize, Clone, Debug)]
pub struct GoogleDriveClient {}
impl GoogleDriveClient {
pub fn upload_file(self, drive_file: DriveFileUpload) -> Result<FileUploadResponse, GoogleClientError> {
upload::handle_file_upload(&drive_file)
}
pub fn download_file(self, file_id: &String) -> Result<FileDownloadResponse, GoogleClientError> {
download::handle_file_download(file_id)
}
pub fn create_folder(self, drive_folder: DriveFolderUpload) -> Result<String, GoogleClientError> {
upload::handle_create_folder(&drive_folder)
}
pub fn delete_file_or_folder(self, file_or_folder_id: &String) -> Result<(), GoogleClientError> {
delete::delete_file_or_folder(file_or_folder_id)
}
pub fn find(self, search: DriveFileSearch) -> Result<DriveFileList, GoogleClientError> {
find::handle_find(search)
}
pub fn default() -> GoogleDriveClient {
GoogleDriveClient::new()
}
fn new() -> GoogleDriveClient {
GoogleDriveClient {}
}
}