示例#1
0
        public void OnActionExecuting(ActionExecutingContext context)
        {
            foreach (var argument in context.ActionArguments.Values.Where(v => v is AddUserToChatRequest))
            {
                AddUserToChatRequest command = argument as AddUserToChatRequest;

                _chatValidationService.RequireUserIsGroupMemberFromChat(command.Username, command.ChatId);
                _chatValidationService.RequireUserIsNotChatMember(command.Username, command.ChatId);
            }
        }
示例#2
0
        public async Task <IActionResult> AddUserToChat(string chatId, AddUserToChatRequest request)
        {
            using (var db = ArangoDatabase.CreateWithSetting())
            {
                var usersInChatGraph = db.Graph("ChatsUserGraph");
                var edge             = new ChatMembers {
                    Chat = chatId, User = request.UserId
                };
                await usersInChatGraph.InsertEdgeAsync <ChatMembers>(edge);

                return(Ok());
            }
        }
示例#3
0
        public IActionResult AddUserToChat(AddUserToChatRequest command)
        {
            _chatUserService.AddUserToChatByUsername(command.Username, command.ChatId);

            return(NoContent());
        }