public async Task <ActionResult <ChatMessage> > PutReadStatus(Guid chatMessageID, [FromBody] ApiMessageReadModel message) { /* * Message logicMessage = await repository.GetMessageByIDAsync(chatMessageID); * BaseClient checkerClient = await repository.GetBasicClientInformationByEmail(User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value); * * if (checkerClient.isAdmin || logicMessage.recieverClient.clientId == checkerClient.clientID) * { * try * { * Message targetMessage = await repository.GetMessageByIDAsync(chatMessageID); * targetMessage.isMessageRead = message.isMessageRead; * * await repository.UpdateMessageByIDAsync(targetMessage); * await repository.SaveAsync(); * Message modifiedLogicMessage = await repository.GetMessageByIDAsync(chatMessageID); * await yuleLogger.logModifiedMessageReadStatus(checkerClient, modifiedLogicMessage); * return Ok(modifiedLogicMessage); * } * catch (Exception) * { * await yuleLogger.logError(checkerClient, LoggingConstants.MODIFIED_MESSAGE_READ_STATUS_CATEGORY); * return StatusCode(StatusCodes.Status424FailedDependency); * } * } * else * { * return StatusCode(StatusCodes.Status401Unauthorized); * } */ return(StatusCode(StatusCodes.Status501NotImplemented)); }
public async Task <ActionResult <Logic.Objects.Message> > PutReadStatus(Guid chatMessageID, [FromBody] ApiMessageReadModel message) { Logic.Objects.Message logicMessage = await repository.GetMessageByIDAsync(chatMessageID); BaseClient checkerClient = await repository.GetBasicClientInformationByEmail(User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Email).Value); if (checkerClient.isAdmin || logicMessage.recieverClient.clientId == checkerClient.clientID) { try { Logic.Objects.Message targetMessage = await repository.GetMessageByIDAsync(chatMessageID); targetMessage.isMessageRead = message.isMessageRead; await repository.UpdateMessageByIDAsync(targetMessage); await repository.SaveAsync(); Logic.Objects.Message modifiedLogicMessage = await repository.GetMessageByIDAsync(chatMessageID); await yuleLogger.logModifiedMessageReadStatus(checkerClient, modifiedLogicMessage); return(Ok(modifiedLogicMessage)); } catch (Exception) { await yuleLogger.logError(checkerClient, LoggingConstants.MODIFIED_MESSAGE_READ_STATUS_CATEGORY); return(StatusCode(StatusCodes.Status424FailedDependency)); } } else { return(StatusCode(StatusCodes.Status401Unauthorized)); } }