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(()) }