devnotcom / devnot-mentor-back-end

Devnot Mentor projesinin Back-end ve Rest API kaynak kodlarını içermektedir.
MIT License
69 stars 21 forks source link

Mentoru ve mentee'yi username ile edinme #25

Closed halilkocaoz closed 3 years ago

halilkocaoz commented 3 years ago
        public async Task<ApiResponse<MentorDto>> GetMentorProfile(string userName)
        {
            var user = await userRepository.GetByUserName(userName);

            if (user == null)
            {
                return new ErrorApiResponse<MentorDto>(data: default, ResultMessage.NotFoundUser);
            }

            var mentor = await mentorRepository.GetByUserId(user.Id);

            if (mentor == null)
            {
                return new ErrorApiResponse<MentorDto>(data: default, ResultMessage.NotFoundMentor);
            }

            var mappedMentor = mapper.Map<MentorDto>(mentor);
            return new SuccessApiResponse<MentorDto>(mappedMentor);
        }

Mentor ve Mentee servisi içinde UserName ile profil bilgilerini getirmek için olan metot ile ilk önce User'i edinip, sonradan User üzerinden Mentor veya Mentee olup olmadığına bakılıyor, bunun özel bir sebebi var mı? Sonuçta en son böyle bir mentor veya mentee yok diyebiliyoruz, User'in olmadığına dair bir dönüş yapmamız gerekli mi?

Benim aklıma gelmeyen özel bir sebebi yoksa, isterseniz aşağıdaki uygulama şekli ile refactor edebilirim.

        public async Task<ApiResponse<MentorDto>> GetMentorProfile(string userName)
        {
            var mentor = await mentorRepository.GetByUserName(userName);
            if (mentor == null)
            {
                return new ErrorApiResponse<MentorDto>(data: default, ResultMessage.NotFoundMentor);
            }

            var mappedMentor = mapper.Map<MentorDto>(mentor);
            return new SuccessApiResponse<MentorDto>(mappedMentor);
        }
yusufyilmazfr commented 3 years ago

Halil merhaba, 👋

Eline sağlık öncelikle, açıkçası özel bir sebebi yok. Projeyi ile aldığımdaki hali öyle diye ben de öyle bıraktım anlamlı hata mesajı verdim orada, kullanıcı olmaması çok da önemli değil gibi duruyor. Refactor edebiliriz evet, her seferinde fazladan sorgu atmaya gerek yok. 2 servisten de o kısmı kaldırabiliriz. 🚀

halilkocaoz commented 3 years ago

Merhaba @yusufyilmazfr,

Ben halletim öyleyse bunu.

halilkocaoz commented 3 years ago

🚀 https://github.com/devnotcom/devnot-mentor-back-end/pull/24/commits/6843f2734df226a3adf7d0e6b2baa74624a8ef8b