use uuid::Uuid; use crate::error::RepoResult; use crate::features::RepoService; use super::types::{RepoTopicOptions, TopicList, TopicSearchQuery, TopicSearchResult, TopicView}; use super::usecase; impl RepoService { pub async fn list_repo_topics(&self, actor: Uuid, repo_id: Uuid) -> RepoResult { usecase::list_repo_topics(self, actor, repo_id).await } pub async fn update_repo_topics( &self, actor: Uuid, repo_id: Uuid, input: RepoTopicOptions, ) -> RepoResult<()> { usecase::update_repo_topics(self, actor, repo_id, input).await } pub async fn add_repo_topic(&self, actor: Uuid, repo_id: Uuid, topic: &str) -> RepoResult<()> { usecase::add_repo_topic(self, actor, repo_id, topic).await } pub async fn delete_repo_topic( &self, actor: Uuid, repo_id: Uuid, topic: &str, ) -> RepoResult<()> { usecase::delete_repo_topic(self, actor, repo_id, topic).await } pub async fn search_topics( &self, actor: Uuid, q: TopicSearchQuery, ) -> RepoResult { usecase::search_topics(self, actor, q).await } }