Skip to content
Clone
d5939db
57 lines 1.6 KB Rust
use uuid::Uuid;
use crate::error::IssueResult;
use crate::features::IssueService;
use super::{CreateReactionOption, ReactionAggView};
use super::usecase;
impl IssueService {
pub async fn create_issue_reaction(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
input: CreateReactionOption,
) -> IssueResult<crate::features::issue_reaction::ReactionView> {
usecase::create_issue_reaction(self, actor, channel_id, issue_id, input).await
}
pub async fn create_comment_reaction(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
comment_id: Uuid,
input: CreateReactionOption,
) -> IssueResult<crate::features::issue_reaction::ReactionView> {
usecase::create_comment_reaction(self, actor, channel_id, issue_id, comment_id, input).await
}
pub async fn delete_reaction(
&self,
actor: Uuid,
reaction_id: Uuid,
) -> IssueResult<()> {
usecase::delete_reaction(self, actor, reaction_id).await
}
pub async fn list_reactions_for_issue(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
) -> IssueResult<Vec<ReactionAggView>> {
usecase::list_reactions_for_issue(self, actor, channel_id, issue_id).await
}
pub async fn list_reactions_for_comment(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
comment_id: Uuid,
) -> IssueResult<Vec<ReactionAggView>> {
usecase::list_reactions_for_comment(self, actor, channel_id, issue_id, comment_id).await
}
}