using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Volo.Abp.Domain.Repositories; using Volo.CmsKit.Users; namespace Volo.CmsKit.Blogs; public interface IBlogPostRepository : IBasicRepository { Task GetCountAsync( string filter = null, Guid? blogId = null, Guid? authorId = null, BlogPostStatus? statusFilter = null, CancellationToken cancellationToken = default); Task> GetListAsync( string filter = null, Guid? blogId = null, Guid? authorId = null, BlogPostStatus? statusFilter = null, int maxResultCount = int.MaxValue, int skipCount = 0, string sorting = null, CancellationToken cancellationToken = default); Task SlugExistsAsync(Guid blogId, string slug, CancellationToken cancellationToken = default); Task GetBySlugAsync(Guid blogId, string slug, CancellationToken cancellationToken = default); Task> GetAuthorsHasBlogPostsAsync( int skipCount, int maxResultCount, string sorting, string filter, CancellationToken cancellationToken = default); Task GetAuthorsHasBlogPostsCountAsync(string filter, CancellationToken cancellationToken = default); Task GetAuthorHasBlogPostAsync(Guid id, CancellationToken cancellationToken = default); Task HasBlogPostWaitingForReviewAsync(CancellationToken cancellationToken = default); }