feat: add CountActiveByDirectoryID method to KnowledgeDocument and KnowledgeFAQ repositories; update directory deletion logic to allow soft-deleted documents

This commit is contained in:
mlogclub
2026-06-07 20:28:33 +08:00
parent a9952a821d
commit 9cfbd57b07
4 changed files with 45 additions and 2 deletions
@@ -117,10 +117,10 @@ func (s *knowledgeDirectoryService) DeleteDirectory(id int64) error {
if s.Count(sqls.NewCnd().Eq("parent_id", id)) > 0 {
return errorsx.InvalidParamI18n("error.e0316")
}
if KnowledgeDocumentService.Count(sqls.NewCnd().Eq("directory_id", id)) > 0 {
if repositories.KnowledgeDocumentRepository.CountActiveByDirectoryID(sqls.DB(), id) > 0 {
return errorsx.InvalidParamI18n("error.e0317")
}
if KnowledgeFAQService.Count(sqls.NewCnd().Eq("directory_id", id)) > 0 {
if repositories.KnowledgeFAQRepository.CountActiveByDirectoryID(sqls.DB(), id) > 0 {
return errorsx.InvalidParamI18n("error.e0315")
}
return repositories.KnowledgeDirectoryRepository.Delete(sqls.DB(), id)