26 lines
685 B
Rust
26 lines
685 B
Rust
use crate::{gitea::*, *};
|
|
use anyhow::{anyhow, Result};
|
|
|
|
pub(crate) async fn run(common: Common, tag: String) -> Result<()> {
|
|
let cli = client(&common)?;
|
|
let release =
|
|
get_release_by_tag(&cli, &common.server, &common.owner, &common.repo, &tag).await?;
|
|
|
|
let resp = cli
|
|
.delete(
|
|
format!(
|
|
"{}/api/v1/repos/{}/{}/releases/{}",
|
|
&common.server, &common.owner, &common.repo, release.id
|
|
)
|
|
.as_str(),
|
|
)
|
|
.send()
|
|
.await?;
|
|
|
|
if resp.status() != http::StatusCode::from_u16(204)? {
|
|
Err(anyhow!("wanted 204, got {}", resp.status()))
|
|
} else {
|
|
Ok(())
|
|
}
|
|
}
|