sozsoft-platform/api/src/Sozsoft.Platform.Application.Contracts/Forum/IForumAppService.cs
Sedat Öztürk 429227df1d Initial
2026-02-24 23:44:16 +03:00

40 lines
1.5 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);
Task<ForumCategoryDto> CreateCategoryAsync(CreateForumCategoryDto input);
Task<ForumCategoryDto> UpdateCategoryAsync(Guid id, UpdateForumCategoryDto input);
Task DeleteCategoryAsync(Guid id);
// 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();
}