Beispiel #1
0
        public async Task <IActionResult> CreateUserChat([FromRoute] int userId)
        {
            try
            {
                //TODO: Add validation to make sure chat is not created twice
                var chat       = new Chat();
                var rootUserId = HttpContext.GetUserId();
                await _chatsRepository.CreateUserChat(chat, rootUserId, userId);

                var baseUrl     = HttpContext.GetBaseURL();
                var locationUri = baseUrl + ApiRoutes.Chats.GetChat.Replace("{chatId}", chat.Id.ToString());
                return(Created(locationUri, new
                {
                    Created = true,
                    Message = "Chat successfully created.",
                    ChatId = chat.Id
                }));
            }
            catch (ArgumentNullException)
            {
                return(Unauthorized());
            }
        }