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
@@ -80,6 +80,14 @@ func (r *knowledgeDocumentRepository) Count(db *gorm.DB, cnd *sqls.Cnd) int64 {
return cnd.Count(db, &models.KnowledgeDocument{})
}
func (r *knowledgeDocumentRepository) CountActiveByDirectoryID(db *gorm.DB, directoryID int64) int64 {
var count int64
db.Model(&models.KnowledgeDocument{}).
Where("directory_id = ? AND status <> ?", directoryID, enums.StatusDeleted).
Count(&count)
return count
}
func (r *knowledgeDocumentRepository) Create(db *gorm.DB, t *models.KnowledgeDocument) (err error) {
err = db.Create(t).Error
return
@@ -50,6 +50,14 @@ func (r *knowledgeFAQRepository) Count(db *gorm.DB, cnd *sqls.Cnd) int64 {
return cnd.Count(db, &models.KnowledgeFAQ{})
}
func (r *knowledgeFAQRepository) CountActiveByDirectoryID(db *gorm.DB, directoryID int64) int64 {
var count int64
db.Model(&models.KnowledgeFAQ{}).
Where("directory_id = ? AND status <> ?", directoryID, enums.StatusDeleted).
Count(&count)
return count
}
func (r *knowledgeFAQRepository) Create(db *gorm.DB, t *models.KnowledgeFAQ) error {
return db.Create(t).Error
}