ffaa401
use uuid::Uuid;
use crate::error::IssueResult;
use crate::features::IssueService;
use super::{
CloseIssueOption, CreateIssueOption, IssuePage, IssueView, ListIssueQuery, UpdateIssueOption,
};
use super::usecase;
impl IssueService {
pub async fn create_issue(
&self,
actor: Uuid,
channel_id: Uuid,
input: CreateIssueOption,
) -> IssueResult<IssueView> {
usecase::create_issue(self, actor, channel_id, input).await
}
pub async fn get_issue(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
) -> IssueResult<IssueView> {
usecase::get_issue(self, actor, channel_id, issue_id).await
}
pub async fn list_issues(
&self,
actor: Uuid,
channel_id: Uuid,
q: ListIssueQuery,
) -> IssueResult<IssuePage> {
usecase::list_issues(self, actor, channel_id, q).await
}
pub async fn update_issue(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
input: UpdateIssueOption,
) -> IssueResult<IssueView> {
usecase::update_issue(self, actor, channel_id, issue_id, input).await
}
pub async fn close_issue(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
input: CloseIssueOption,
) -> IssueResult<IssueView> {
usecase::close_issue(self, actor, channel_id, issue_id, input).await
}
pub async fn delete_issue(
&self,
actor: Uuid,
channel_id: Uuid,
issue_id: Uuid,
) -> IssueResult<()> {
usecase::delete_issue(self, actor, channel_id, issue_id).await
}
}