Files
taxbaik/TaxBaik.Domain/Interfaces/IBlogPostRepository.cs
T
kjh2064 ad55bd1884
TaxBaik CI/CD / build-and-deploy (push) Successful in 4m57s
fix(blog): add restore path for archived posts
2026-07-02 11:05:53 +09:00

22 lines
1.3 KiB
C#

namespace TaxBaik.Domain.Interfaces;
using TaxBaik.Domain.Entities;
public interface IBlogPostRepository
{
Task<BlogPost?> GetByIdAsync(int id, CancellationToken cancellationToken = default);
Task<BlogPost?> GetBySlugAsync(string slug, CancellationToken cancellationToken = default);
Task<(IEnumerable<BlogPost> Items, int Total)> GetPublishedPagedAsync(
int page, int pageSize, int? categoryId = null, CancellationToken cancellationToken = default);
Task<IEnumerable<BlogPost>> GetByCategorySlugAsync(string categorySlug, int limit, CancellationToken cancellationToken = default);
Task<IEnumerable<BlogPost>> GetAllForAdminAsync(CancellationToken cancellationToken = default);
Task<(IEnumerable<BlogPost> Items, int Total)> GetAdminPagedAsync(
int page, int pageSize, CancellationToken cancellationToken = default);
Task<int> CreateAsync(BlogPost post, CancellationToken cancellationToken = default);
Task UpdateAsync(BlogPost post, CancellationToken cancellationToken = default);
Task DeleteAsync(int id, CancellationToken cancellationToken = default);
Task ArchiveAsync(int id, CancellationToken cancellationToken = default);
Task RestoreAsync(int id, CancellationToken cancellationToken = default);
Task IncrementViewCountAsync(int id, CancellationToken cancellationToken = default);
}