using System; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; namespace Sozsoft.Platform.Forum; public interface IForumAppService : IApplicationService { // Search Task SearchAsync(SearchForumInput input); // Categories Task> GetCategoriesAsync(GetCategoriesInput input); Task GetCategoryAsync(Guid id); Task GetCategoryBySlugAsync(string slug); // Topics Task> GetTopicsAsync(GetTopicsInput input); Task GetTopicAsync(Guid id); Task CreateTopicAsync(CreateForumTopicDto input); Task UpdateTopicAsync(Guid id, UpdateForumTopicDto input); Task DeleteTopicAsync(Guid id); // Posts Task> GetPostsAsync(GetPostsInput input); Task GetPostAsync(Guid id); Task CreatePostAsync(CreateForumPostDto input); Task UpdatePostAsync(Guid id, UpdateForumPostDto input); Task DeletePostAsync(Guid id); Task LikePostAsync(Guid id); Task UnlikePostAsync(Guid id); // Statistics Task GetForumStatsAsync(); }