use uuid::Uuid; use crate::error::IssueResult; use crate::features::IssueService; use super::{CreateLabelOption, LabelPage, LabelView, ListLabelQuery, UpdateLabelOption}; use super::usecase; impl IssueService { pub async fn create_label( &self, actor: Uuid, channel_id: Uuid, input: CreateLabelOption, ) -> IssueResult { usecase::create_label(self, actor, channel_id, input).await } pub async fn get_label( &self, actor: Uuid, channel_id: Uuid, label_id: Uuid, ) -> IssueResult { usecase::get_label(self, actor, channel_id, label_id).await } pub async fn list_labels( &self, actor: Uuid, channel_id: Uuid, q: ListLabelQuery, ) -> IssueResult { usecase::list_labels(self, actor, channel_id, q).await } pub async fn update_label( &self, actor: Uuid, channel_id: Uuid, label_id: Uuid, input: UpdateLabelOption, ) -> IssueResult { usecase::update_label(self, actor, channel_id, label_id, input).await } pub async fn delete_label( &self, actor: Uuid, channel_id: Uuid, label_id: Uuid, ) -> IssueResult<()> { usecase::delete_label(self, actor, channel_id, label_id).await } pub async fn bind_label_to_issue( &self, actor: Uuid, channel_id: Uuid, issue_id: Uuid, label_id: Uuid, ) -> IssueResult<()> { usecase::bind_label_to_issue(self, actor, channel_id, issue_id, label_id).await } pub async fn unbind_label_from_issue( &self, actor: Uuid, channel_id: Uuid, issue_id: Uuid, label_id: Uuid, ) -> IssueResult<()> { usecase::unbind_label_from_issue(self, actor, channel_id, issue_id, label_id).await } pub async fn list_labels_for_issue( &self, actor: Uuid, channel_id: Uuid, issue_id: Uuid, ) -> IssueResult> { usecase::list_labels_for_issue(self, actor, channel_id, issue_id).await } }