diff --git a/backend/IM_API/Controllers/MessageController.cs b/backend/IM_API/Controllers/MessageController.cs new file mode 100644 index 0000000..bb12e65 --- /dev/null +++ b/backend/IM_API/Controllers/MessageController.cs @@ -0,0 +1,37 @@ +using IM_API.Dtos; +using IM_API.Interface.Services; +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using System.Security.Claims; + +namespace IM_API.Controllers +{ + [Authorize] + [Route("api/[controller]/[action]")] + [ApiController] + public class MessageController : ControllerBase + { + private readonly IMessageSevice _messageService; + private readonly ILogger _logger; + public MessageController(IMessageSevice messageService, ILogger logger) + { + _messageService = messageService; + _logger = logger; + } + [HttpPost] + public async Task SendPrivateMessage(MessageBaseDto dto) + { + var userIdstr = User.FindFirstValue(ClaimTypes.NameIdentifier); + await _messageService.SendPrivateMessageAsync(int.Parse(userIdstr), dto.ReceiverId, dto); + return Ok(new BaseResponse()); + } + [HttpPost] + public async Task SendGroupMessage(MessageBaseDto dto) + { + var userIdstr = User.FindFirstValue(ClaimTypes.NameIdentifier); + await _messageService.SendGroupMessageAsync(int.Parse(userIdstr), dto.ReceiverId, dto); + return Ok(new BaseResponse()); + } + } +}