public async Task Follow(Follower follower) { await _followerRepository.AddAsync(follower); if (!_inMemoryStorage.UserFollowers.TryGetValue(follower.FollowedUserId, out List <int> followers)) { followers = new List <int>(); _inMemoryStorage.UserFollowers[follower.FollowedUserId] = followers; } followers.Add(follower.FollowingUserId); if (followers.Count >= Constants.CELEBRITY_FOLLOWERS_MIN_AMOUNT) { _inMemoryStorage.Celebrities.Add(follower.FollowedUserId); } _feedManager.AddFollowerToFeed(follower.FollowingUserId, follower.FollowedUserId); }