Skip to content
Clone
7f45a05
84 lines 2.1 KB Rust
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<LabelView> {
usecase::create_label(self, actor, channel_id, input).await
}
pub async fn get_label(
&self,
actor: Uuid,
channel_id: Uuid,
label_id: Uuid,
) -> IssueResult<LabelView> {
usecase::get_label(self, actor, channel_id, label_id).await
}
pub async fn list_labels(
&self,
actor: Uuid,
channel_id: Uuid,
q: ListLabelQuery,
) -> IssueResult<LabelPage> {
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<LabelView> {
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<Vec<LabelView>> {
usecase::list_labels_for_issue(self, actor, channel_id, issue_id).await
}
}