live-forum/server/webapi/LiveForum/LiveForum.IService/Posts/IPostsService.cs
2026-03-24 11:27:37 +08:00

83 lines
2.6 KiB
C#

using LiveForum.Code.Base;
using LiveForum.Model.Dto.Base;
using LiveForum.Model.Dto.Posts;
using LiveForum.Model.Dto.PostComments;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LiveForum.IService.Posts
{
/// <summary>
/// 帖子服务接口
/// </summary>
public interface IPostsService
{
/// <summary>
/// 获取帖子列表(瀑布流)
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<GetPostsRespDto>> GetPosts(GetPostsReq request);
/// <summary>
/// 获取帖子详情
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<PostDetailDto>> GetPostDetail(GetPostDetailReq request);
/// <summary>
/// 发布帖子
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<PublishPostsRespDto>> PublishPosts(PublishPostsReq request);
/// <summary>
/// 编辑帖子
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<UpdatePostsRespDto>> UpdatePosts(UpdatePostsReq request);
/// <summary>
/// 删除帖子
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponseBool> DeletePosts(DeletePostsReq request);
/// <summary>
/// 获取我的帖子列表
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<GetMyPostsRespDto>> GetMyPosts(GetMyPostsReq request);
/// <summary>
/// 点赞/取消点赞帖子
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<LikePostRespDto>> LikePost(LikePostReq request);
/// <summary>
/// 获取我点赞的帖子列表
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<GetLikedPostsRespDto>> GetLikedPosts(GetLikedPostsReq request);
/// <summary>
/// 修改帖子回复权限
/// </summary>
/// <param name="request">请求参数</param>
/// <returns></returns>
Task<BaseResponse<UpdateReplyPermissionRespDto>> UpdateReplyPermission(UpdateReplyPermissionReq request);
}
}