You've already forked AstralRinth
forked from didirus/AstralRinth
* Inital creation stuff * File Reader * Upload bodies * Major rework: * Finish Multiple Files * Proper Error Handling * Switch to database models * Run formatter * Make dependencies dependent on Versions over mods * Fixes * Fix clippy * Run lint one last time * Update src/models/mods.rs Co-authored-by: AppleTheGolden <scotsbox@protonmail.com> Co-authored-by: AppleTheGolden <scotsbox@protonmail.com>
79 lines
1.9 KiB
Rust
79 lines
1.9 KiB
Rust
use thiserror::Error;
|
|
|
|
mod authorization;
|
|
mod delete;
|
|
mod upload;
|
|
|
|
pub use authorization::authorize_account;
|
|
pub use authorization::get_upload_url;
|
|
pub use authorization::AuthorizationData;
|
|
pub use authorization::AuthorizationPermissions;
|
|
pub use authorization::UploadUrlData;
|
|
|
|
pub use upload::upload_file;
|
|
pub use upload::UploadFileData;
|
|
|
|
pub use delete::delete_file_version;
|
|
pub use delete::DeleteFileData;
|
|
|
|
#[derive(Error, Debug)]
|
|
pub enum FileHostingError {
|
|
#[error("Error while accessing the data from backblaze")]
|
|
BackblazeError(#[from] reqwest::Error),
|
|
}
|
|
|
|
#[cfg(test)]
|
|
mod tests {
|
|
use super::*;
|
|
|
|
#[actix_rt::test]
|
|
async fn test_authorization() {
|
|
println!("{}", dotenv::var("BACKBLAZE_BUCKET_ID").unwrap());
|
|
let authorization_data = authorize_account(
|
|
dotenv::var("BACKBLAZE_KEY_ID").unwrap(),
|
|
dotenv::var("BACKBLAZE_KEY").unwrap(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
|
|
get_upload_url(
|
|
authorization_data,
|
|
dotenv::var("BACKBLAZE_BUCKET_ID").unwrap(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
}
|
|
|
|
#[actix_rt::test]
|
|
async fn test_file_management() {
|
|
let authorization_data = authorize_account(
|
|
dotenv::var("BACKBLAZE_KEY_ID").unwrap(),
|
|
dotenv::var("BACKBLAZE_KEY").unwrap(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
let upload_url_data = get_upload_url(
|
|
authorization_data.clone(),
|
|
dotenv::var("BACKBLAZE_BUCKET_ID").unwrap(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
let upload_data = upload_file(
|
|
upload_url_data,
|
|
"text/plain".to_string(),
|
|
"test.txt".to_string(),
|
|
"test file".to_string().into_bytes(),
|
|
)
|
|
.await
|
|
.unwrap();
|
|
|
|
delete_file_version(
|
|
authorization_data,
|
|
upload_data.file_id,
|
|
upload_data.file_name,
|
|
)
|
|
.await
|
|
.unwrap();
|
|
}
|
|
}
|