sozsoft-platform/api/src/Sozsoft.Platform.Application.Contracts/Forum/IForumAppService.cs
2026-09-04 15:51:58 +03:00

37 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();
}