38 lines
1.3 KiB
C#
38 lines
1.3 KiB
C#
|
|
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<ForumSearchResultDto> SearchAsync(SearchForumInput input);
|
|||
|
|
|
|||
|
|
// Categories
|
|||
|
|
Task<PagedResultDto<ForumCategoryDto>> GetCategoriesAsync(GetCategoriesInput input);
|
|||
|
|
Task<ForumCategoryDto> GetCategoryAsync(Guid id);
|
|||
|
|
Task<ForumCategoryDto> GetCategoryBySlugAsync(string slug);
|
|||
|
|
|
|||
|
|
// Topics
|
|||
|
|
Task<PagedResultDto<ForumTopicDto>> GetTopicsAsync(GetTopicsInput input);
|
|||
|
|
Task<ForumTopicDto> GetTopicAsync(Guid id);
|
|||
|
|
Task<ForumTopicDto> CreateTopicAsync(CreateForumTopicDto input);
|
|||
|
|
Task<ForumTopicDto> UpdateTopicAsync(Guid id, UpdateForumTopicDto input);
|
|||
|
|
Task DeleteTopicAsync(Guid id);
|
|||
|
|
|
|||
|
|
// Posts
|
|||
|
|
Task<PagedResultDto<ForumPostDto>> GetPostsAsync(GetPostsInput input);
|
|||
|
|
Task<ForumPostDto> GetPostAsync(Guid id);
|
|||
|
|
Task<ForumPostDto> CreatePostAsync(CreateForumPostDto input);
|
|||
|
|
Task<ForumPostDto> UpdatePostAsync(Guid id, UpdateForumPostDto input);
|
|||
|
|
Task DeletePostAsync(Guid id);
|
|||
|
|
Task<ForumPostDto> LikePostAsync(Guid id);
|
|||
|
|
Task<ForumPostDto> UnlikePostAsync(Guid id);
|
|||
|
|
|
|||
|
|
// Statistics
|
|||
|
|
Task<ForumStatsDto> GetForumStatsAsync();
|
|||
|
|
}
|
|||
|
|
|