a06673b
use db::conn::sea_orm::*;
use uuid::Uuid;
use crate::error::IssueResult;
use crate::features::IssueService;
use super::helpers::{load_my_watch, require_authenticated};
pub async fn delete_watch(
svc: &IssueService,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
) -> IssueResult<()> {
require_authenticated(actor)?;
crate::features::issue::usecase::load_issue(svc, channel_id, issue_id).await?;
let cur = load_my_watch(svc, issue_id, actor).await?;
let db = svc.db.writer();
let active: db::issue::issue_watch::ActiveModel = cur.into();
active.delete(&db).await?;
Ok(())
}