mirror of
https://github.com/Waradu/streamshare.git
synced 2025-04-22 04:14:06 +02:00
added delete function
This commit is contained in:
parent
67788708fd
commit
04846fc51a
4 changed files with 38 additions and 8 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -1084,7 +1084,7 @@ checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "streamshare"
|
name = "streamshare"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"reqwest",
|
"reqwest",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[package]
|
[package]
|
||||||
name = "streamshare"
|
name = "streamshare"
|
||||||
version = "1.0.0"
|
version = "1.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Upload to streamshare library"
|
description = "Upload to streamshare library"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
|
|
|
@ -4,6 +4,7 @@ Upload files to [streamshare](https://streamshare.wireway.ch)
|
||||||
|
|
||||||
#### Example:
|
#### Example:
|
||||||
|
|
||||||
|
Upload:
|
||||||
```rust
|
```rust
|
||||||
match upload(&file_path).await {
|
match upload(&file_path).await {
|
||||||
Ok((file_identifier, _deletion_token)) => {
|
Ok((file_identifier, _deletion_token)) => {
|
||||||
|
@ -18,3 +19,11 @@ match upload(&file_path).await {
|
||||||
Err(e) => eprintln!("Error: {}", e),
|
Err(e) => eprintln!("Error: {}", e),
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Delete:
|
||||||
|
```rust
|
||||||
|
match streamshare::delete(identifier, deltoken).await {
|
||||||
|
Ok(_) => println!("File deleted successfully"),
|
||||||
|
Err(e) => eprintln!("Error deleting file: {}", e),
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
33
src/lib.rs
33
src/lib.rs
|
@ -1,11 +1,14 @@
|
||||||
use tokio::fs;
|
use futures::{SinkExt, StreamExt};
|
||||||
use tokio::io::AsyncReadExt;
|
|
||||||
use std::path::Path;
|
|
||||||
use reqwest::Client;
|
use reqwest::Client;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
use std::path::Path;
|
||||||
|
use tokio::fs;
|
||||||
use tokio::fs::File;
|
use tokio::fs::File;
|
||||||
use tokio_tungstenite::{connect_async, tungstenite::{self, Message}};
|
use tokio::io::AsyncReadExt;
|
||||||
use futures::{SinkExt, StreamExt};
|
use tokio_tungstenite::{
|
||||||
|
connect_async,
|
||||||
|
tungstenite::{self, Message},
|
||||||
|
};
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
#[serde(rename_all = "camelCase")]
|
#[serde(rename_all = "camelCase")]
|
||||||
|
@ -81,5 +84,23 @@ pub async fn upload(file_path: &str) -> Result<(String, String), Box<dyn std::er
|
||||||
}))
|
}))
|
||||||
.await?;
|
.await?;
|
||||||
|
|
||||||
Ok((create_response.file_identifier, create_response.deletion_token))
|
Ok((
|
||||||
|
create_response.file_identifier,
|
||||||
|
create_response.deletion_token,
|
||||||
|
))
|
||||||
|
}
|
||||||
|
|
||||||
|
pub async fn delete(identifier: &str, deltoken: &str) -> Result<(), Box<dyn std::error::Error>> {
|
||||||
|
let client = Client::new();
|
||||||
|
let delete_url = format!(
|
||||||
|
"https://streamshare.wireway.ch/api/delete/{}/{}",
|
||||||
|
identifier, deltoken
|
||||||
|
);
|
||||||
|
|
||||||
|
let res = client.delete(&delete_url).send().await?;
|
||||||
|
if res.status().is_success() {
|
||||||
|
Ok(())
|
||||||
|
} else {
|
||||||
|
Err(format!("Failed to delete file: {}", res.status()).into())
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue