109 lines
3.9 KiB
C#
109 lines
3.9 KiB
C#
using LiveForum.Code.Base;
|
|
using LiveForum.IService.Messages;
|
|
using LiveForum.Model.Dto.Messages;
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
namespace LiveForum.WebApi.Controllers
|
|
{
|
|
/// <summary>
|
|
/// 消息相关接口
|
|
/// </summary>
|
|
/// <param name="messages"></param>
|
|
[Route("api/[controller]/[action]")]
|
|
[ApiController]
|
|
public class MessagesController(IMessagesService messages) : ControllerBase
|
|
{
|
|
/// <summary>
|
|
/// 获取消息列表
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public Task<BaseResponse<GetMessagesRespDto>> GetMessages([FromQuery] GetMessagesReq request) => messages.GetMessages(request);
|
|
|
|
/// <summary>
|
|
/// 获取系统通知列表
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public Task<BaseResponse<GetSystemNotificationsRespDto>> GetSystemNotifications([FromQuery] GetSystemNotificationsReq request) => messages.GetSystemNotifications(request);
|
|
|
|
/// <summary>
|
|
/// 标记消息为已读
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public Task<BaseResponse<ReadMessageRespDto>> ReadMessage([FromBody] ReadMessageReq request) => messages.ReadMessage(request);
|
|
|
|
/// <summary>
|
|
/// 批量标记消息为已读
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public Task<BaseResponse<ReadBatchMessagesRespDto>> ReadBatchMessages([FromBody] ReadBatchMessagesReq request) => messages.ReadBatchMessages(request);
|
|
|
|
/// <summary>
|
|
/// 全部标记为已读
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public Task<BaseResponse<ReadAllMessagesRespDto>> ReadAllMessages([FromBody] ReadAllMessagesReq request) => messages.ReadAllMessages(request);
|
|
|
|
/// <summary>
|
|
/// 删除消息
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public Task<BaseResponseBool> DeleteMessage([FromBody] DeleteMessageReq request) => messages.DeleteMessage(request);
|
|
|
|
/// <summary>
|
|
/// 获取未读消息数量
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public Task<BaseResponse<UnreadCountRespDto>> GetUnreadCount() => messages.GetUnreadCount();
|
|
|
|
/// <summary>
|
|
/// 获取评论回复消息列表
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public Task<BaseResponse<GetCommentRepliesMessagesRespDto>> GetCommentRepliesMessages([FromQuery] GetCommentRepliesMessagesReq request) => messages.GetCommentRepliesMessages(request);
|
|
|
|
/// <summary>
|
|
/// 获取点赞消息列表
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public Task<BaseResponse<GetLikesMessagesRespDto>> GetLikesMessages([FromQuery] GetLikesMessagesReq request) => messages.GetLikesMessages(request);
|
|
|
|
/// <summary>
|
|
/// 参与活动
|
|
/// </summary>
|
|
/// <param name="request">请求参数</param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public Task<BaseResponse<ParticipateActivityResp>> ParticipateActivity([FromBody] ParticipateActivityReq request) => messages.ParticipateActivity(request);
|
|
}
|
|
}
|