oxide_cli/templates/
update.rs1use anyhow::Result;
2use serde::{Deserialize, Serialize};
3
4use crate::{AppContext, auth::token::get_auth_user};
5
6#[derive(Deserialize, Serialize)]
7pub struct UpdateTemplateDto {
8 pub url: String,
9}
10
11#[derive(Deserialize, Serialize)]
12pub struct UpdateTemplateRsponse {
13 pub message: String,
14}
15
16pub async fn update(ctx: &AppContext, template_url: &str) -> Result<()> {
17 let user = get_auth_user(&ctx.paths.auth)?;
18
19 let res: UpdateTemplateRsponse = ctx
20 .client
21 .patch(format!("{}/template", ctx.backend_url))
22 .bearer_auth(user.token)
23 .header("Content-Type", "application/json")
24 .json(&UpdateTemplateDto {
25 url: template_url.to_string(),
26 })
27 .send()
28 .await?
29 .error_for_status()?
30 .json()
31 .await?;
32
33 println!("✅ {}", res.message);
34 Ok(())
35}