Skip to content

Commit

Permalink
Merge pull request #82 from Codiary-UMC-6th/feature/#79-myPage
Browse files Browse the repository at this point in the history
Feat: ์œ ์ € ํ”„๋กœํ•„ ์กฐํšŒ ๋ฐ CORS ์„ค์ •
  • Loading branch information
yumzen authored Aug 5, 2024
2 parents b6b5762 + ec660f1 commit c11d2ba
Show file tree
Hide file tree
Showing 6 changed files with 79 additions and 3 deletions.
16 changes: 16 additions & 0 deletions src/main/java/com/codiary/backend/global/config/WebCorsConfig.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.codiary.backend.global.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class WebCorsConfig implements WebMvcConfigurer {

@Override
public void addCorsMappings(CorsRegistry corsRegistry) {

corsRegistry.addMapping("/**")
.allowedOrigins("http://localhost:3000");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ public enum Gender {Male, Female}
@Column(name = "linkedin", columnDefinition = "varchar(500)")
private String linkedin;

@Column(name = "discord", columnDefinition = "varchar(500)")
private String discord;

@Column(name="introduction", columnDefinition = "varchar(500)")
private String introduction;

@OneToMany(mappedBy = "member", cascade = CascadeType.ALL, orphanRemoval = true)
private List<TechStacks> techStackList = new ArrayList<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
import com.codiary.backend.global.domain.entity.Member;
import com.codiary.backend.global.domain.entity.Post;
import com.codiary.backend.global.domain.entity.Bookmark;
import com.codiary.backend.global.web.dto.Member.MemberResponseDTO;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

Expand All @@ -12,4 +13,6 @@ public interface MemberQueryService {
// ํšŒ์›๋ณ„ ๋ถ๋งˆํฌ ๋ฆฌ์ŠคํŠธ ์กฐํšŒ
Page<Bookmark> getBookmarkList(Long memberId, Integer page);

MemberResponseDTO.UserProfileDTO getUserProfile(Long userId, Member member);

}
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,13 @@
import com.codiary.backend.global.domain.entity.Bookmark;
import com.codiary.backend.global.domain.entity.Member;
import com.codiary.backend.global.domain.entity.Post;
import com.codiary.backend.global.domain.entity.Team;
import com.codiary.backend.global.domain.entity.mapping.TeamMember;
import com.codiary.backend.global.domain.entity.mapping.TechStacks;
import com.codiary.backend.global.repository.BookmarkRepository;
import com.codiary.backend.global.repository.MemberRepository;
import com.codiary.backend.global.repository.PostRepository;
import com.codiary.backend.global.web.dto.Member.MemberResponseDTO;
import lombok.RequiredArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
Expand All @@ -17,7 +21,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;
import java.util.stream.Collectors;

@Service
@RequiredArgsConstructor
Expand Down Expand Up @@ -61,4 +65,28 @@ public Page<Bookmark> getBookmarkList(Long memberId, Integer page) {

}

@Override
public MemberResponseDTO.UserProfileDTO getUserProfile(Long userId, Member member) {
Member user = memberRepository.findById(userId)
.orElseThrow(() -> new GeneralException(ErrorStatus.MEMBER_NOT_FOUND));

return MemberResponseDTO.UserProfileDTO.builder()
.currentMemberId(member.getMemberId())
.userId(userId)
.photoUrl(user.getPhotoUrl())
.githubUrl(user.getGithub())
.linkedinUrl(user.getLinkedin())
.discordUrl(user.getDiscord())
.introduction(user.getIntroduction())
.techStacksList(user.getTechStackList().stream()
.map(TechStacks::getName)
.collect(Collectors.toList()))
.teamList(user.getTeamMemberList().stream()
.map(TeamMember::getTeam)
.map(Team::getName)
.collect(Collectors.toList()))
.myPage(userId.equals(member.getMemberId()))
.build();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -176,4 +176,11 @@ public ApiResponse<MemberResponseDTO.MemberImageDTO> setProfileImage(@ModelAttri

return memberCommandService.setProfileImage(member, request);
}

@GetMapping(path = "/profile/{userId}")
@Operation(summary = "์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ", description = "๋งˆ์ดํŽ˜์ด์ง€ ์‚ฌ์šฉ์ž ์ •๋ณด ์กฐํšŒ ๊ธฐ๋Šฅ")
public ApiResponse<MemberResponseDTO.UserProfileDTO> getUserProfile(@PathVariable(value = "userId") Long userId){
Member member = memberCommandService.getRequester();
return ApiResponse.onSuccess(SuccessStatus.MEMBER_OK, memberQueryService.getUserProfile(userId, member));
}
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package com.codiary.backend.global.web.dto.Member;

import com.codiary.backend.global.jwt.TokenInfo;
import com.codiary.backend.global.web.dto.Bookmark.BookmarkResponseDTO;
import lombok.*;
import org.springframework.web.multipart.MultipartFile;

import java.time.LocalDateTime;
import java.util.List;
Expand Down Expand Up @@ -83,4 +81,22 @@ public static class MemberImageDTO {
String url;
}

@Builder
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public static class UserProfileDTO {
Long currentMemberId;
Long userId;
String photoUrl;
String githubUrl;
String linkedinUrl;
String discordUrl;
String introduction;
List<String> techStacksList;
List<String> teamList;
Boolean myPage;
}

}

0 comments on commit c11d2ba

Please sign in to comment.