feat(issues): add issue_watch usecase delete
zhenyi committed
Added lib/issues/features/issue_watch/usecase/delete.rs lib/issues/features/issue_watch/usecase/delete.rs +22 −0 View lib/issues/features/issue_watch/usecase/delete.rs
@@ -0,0 +1,22 @@
1use db::conn::sea_orm::*;
2use uuid::Uuid;
3
4use crate::error::IssueResult;
5use crate::features::IssueService;
6
7use super::helpers::{load_my_watch, require_authenticated};
8
9pub async fn delete_watch(
10 svc: &IssueService,
11 actor: Uuid,
12 channel_id: Uuid,
13 issue_id: Uuid,
14) -> IssueResult<()> {
15 require_authenticated(actor)?;
16 crate::features::issue::usecase::load_issue(svc, channel_id, issue_id).await?;
17 let cur = load_my_watch(svc, issue_id, actor).await?;
18 let db = svc.db.writer();
19 let active: db::issue::issue_watch::ActiveModel = cur.into();
20 active.delete(&db).await?;
21 Ok(())
22}
No newline at end of file