Example #1
0
        public async Task <IActionResult> CreateChatRoom(string chatUserId)
        {
            var accessToken = HttpContext.Request.Headers["Authorization"].ToString().GetAccessTokenFromHeaderString();
            var userId      = await _identityService.GetUserId(accessToken);

            var isInContact = _contactService.IsInContact(userId, chatUserId);

            if (!isInContact)
            {
                return(BadRequest(_localizer.GetString("NotContact")));
            }

            var chatRoom = _chatRoomService.GetChatRoom(userId, chatUserId);

            if (chatRoom != null)
            {
                return(Ok(new { ChatRoomId = chatRoom.Id }));
            }

            var chatRoomParams = _chatRoomService.CreateOrUpdate(new ChatRoomParams(accessToken, chatUserId));

            return(Ok(new { ChatRoomId = chatRoomParams.Id }));
        }