Files
helpdesk/backend/HelpDesk.Data/Repositories/IKnowledgeBaseRepository.cs
T

23 lines
991 B
C#

using HelpDesk.Models.Entities;
namespace HelpDesk.Data.Repositories;
public interface IKnowledgeBaseRepository
{
// Articles
Task<KnowledgeBaseArticle?> GetArticleByIdAsync(Guid id);
Task<IEnumerable<KnowledgeBaseArticle>> GetAllArticlesAsync();
Task<IEnumerable<KnowledgeBaseArticle>> GetPublishedArticlesAsync();
Task<IEnumerable<KnowledgeBaseArticle>> SearchArticlesAsync(string query);
Task<KnowledgeBaseArticle> CreateArticleAsync(KnowledgeBaseArticle article);
Task<KnowledgeBaseArticle?> UpdateArticleAsync(KnowledgeBaseArticle article);
Task<bool> DeleteArticleAsync(Guid id);
// Categories
Task<KnowledgeBaseCategory?> GetCategoryByIdAsync(Guid id);
Task<IEnumerable<KnowledgeBaseCategory>> GetAllCategoriesAsync();
Task<KnowledgeBaseCategory> CreateCategoryAsync(KnowledgeBaseCategory category);
Task<KnowledgeBaseCategory?> UpdateCategoryAsync(KnowledgeBaseCategory category);
Task<bool> DeleteCategoryAsync(Guid id);
}