diff --git a/backend/src/main/java/moadong/club/controller/ClubProfileController.java b/backend/src/main/java/moadong/club/controller/ClubProfileController.java index d15eb17c9..a2e499014 100644 --- a/backend/src/main/java/moadong/club/controller/ClubProfileController.java +++ b/backend/src/main/java/moadong/club/controller/ClubProfileController.java @@ -6,7 +6,7 @@ import jakarta.servlet.http.HttpServletRequest; import lombok.AllArgsConstructor; import moadong.club.payload.request.ClubCreateRequest; -import moadong.club.payload.request.ClubDescriptionUpdateRequest; +import moadong.club.payload.request.ClubRecruitmentInfoUpdateRequest; import moadong.club.payload.request.ClubInfoRequest; import moadong.club.payload.response.ClubDetailedResponse; import moadong.club.service.ClubMetricService; @@ -33,8 +33,7 @@ public class ClubProfileController { + "category는 분류(취미교양 등), division은 분과(중동 등)입니다.") @PreAuthorize("isAuthenticated()") @SecurityRequirement(name = "BearerAuth") - public ResponseEntity createClub(@CurrentUser CustomUserDetails user, - @RequestBody ClubCreateRequest request) { + public ResponseEntity createClub(@RequestBody ClubCreateRequest request) { String clubId = clubProfileService.createClub(request); return Response.ok("success create club", "clubId : " + clubId); } @@ -60,8 +59,10 @@ public ResponseEntity getClubDetail( + "introduction은 24글자 이내로 입력해야 합니다.") @PreAuthorize("isAuthenticated()") // 인증 필요 @SecurityRequirement(name = "BearerAuth") - public ResponseEntity updateClubInfo(@RequestBody @Validated ClubInfoRequest request) { - clubProfileService.updateClubInfo(request); + public ResponseEntity updateClubInfo( + @CurrentUser CustomUserDetails user, + @RequestBody @Validated ClubInfoRequest request) { + clubProfileService.updateClubInfo(request, user); return Response.ok("success update club"); } @@ -69,9 +70,10 @@ public ResponseEntity updateClubInfo(@RequestBody @Validated ClubInfoRequest @Operation(summary = "클럽 모집정보 수정", description = "클럽의 모집정보 내용을 수정합니다.") @PreAuthorize("isAuthenticated()") @SecurityRequirement(name = "BearerAuth") - public ResponseEntity updateClubDescription( - @RequestBody ClubDescriptionUpdateRequest request) { - clubProfileService.updateClubDescription(request); + public ResponseEntity updateClubRecruitmentInfo( + @CurrentUser CustomUserDetails user, + @RequestBody ClubRecruitmentInfoUpdateRequest request) { + clubProfileService.updateClubRecruitmentInfo(request, user); return Response.ok("success update club"); } } diff --git a/backend/src/main/java/moadong/club/controller/ClubSearchController.java b/backend/src/main/java/moadong/club/controller/ClubSearchController.java index 8863e2f4e..98de4b9d1 100644 --- a/backend/src/main/java/moadong/club/controller/ClubSearchController.java +++ b/backend/src/main/java/moadong/club/controller/ClubSearchController.java @@ -5,6 +5,8 @@ import lombok.AllArgsConstructor; import moadong.club.payload.response.ClubSearchResponse; import moadong.club.service.ClubSearchService; +import moadong.global.exception.ErrorCode; +import moadong.global.exception.RestApiException; import moadong.global.payload.Response; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; @@ -29,15 +31,19 @@ public class ClubSearchController { public ResponseEntity searchClubsByKeyword( @RequestParam(value = "keyword", required = false, defaultValue = "") String keyword, @RequestParam(value = "recruitmentStatus", required = false, defaultValue = "all") String recruitmentStatus, - @RequestParam(value = "category", required = false, defaultValue = "all") String category, - @RequestParam(value = "division", required = false, defaultValue = "all") String division + @RequestParam(value = "division", required = false, defaultValue = "all") String division, + @RequestParam(value = "category", required = false, defaultValue = "all") String category ) { - ClubSearchResponse clubSearchResponse = clubSearchService.searchClubsByKeyword( - keyword, - recruitmentStatus, - division, - category - ); - return Response.ok(clubSearchResponse); + try { + ClubSearchResponse clubSearchResponse = clubSearchService.searchClubsByKeyword( + keyword, + recruitmentStatus, + division, + category + ); + return Response.ok(clubSearchResponse); + } catch (Exception e) { + throw new RestApiException(ErrorCode.CLUB_SEARCH_FAILED); + } } } diff --git a/backend/src/main/java/moadong/club/entity/Club.java b/backend/src/main/java/moadong/club/entity/Club.java index d303d8ca0..53d39f179 100644 --- a/backend/src/main/java/moadong/club/entity/Club.java +++ b/backend/src/main/java/moadong/club/entity/Club.java @@ -10,7 +10,7 @@ import lombok.Builder; import lombok.Getter; import moadong.club.enums.ClubState; -import moadong.club.payload.request.ClubDescriptionUpdateRequest; +import moadong.club.payload.request.ClubRecruitmentInfoUpdateRequest; import moadong.club.payload.request.ClubInfoRequest; import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @@ -77,7 +77,7 @@ public void update(ClubInfoRequest request) { this.clubRecruitmentInformation.update(request); } - public void update(ClubDescriptionUpdateRequest request) { + public void update(ClubRecruitmentInfoUpdateRequest request) { clubRecruitmentInformation.updateDescription(request); } diff --git a/backend/src/main/java/moadong/club/entity/ClubRecruitmentInformation.java b/backend/src/main/java/moadong/club/entity/ClubRecruitmentInformation.java index 473f7db79..a5f6f0433 100644 --- a/backend/src/main/java/moadong/club/entity/ClubRecruitmentInformation.java +++ b/backend/src/main/java/moadong/club/entity/ClubRecruitmentInformation.java @@ -14,12 +14,11 @@ import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter; -import moadong.club.enums.RecruitmentStatus; -import moadong.club.payload.request.ClubDescriptionUpdateRequest; +import moadong.club.enums.ClubRecruitmentStatus; +import moadong.club.payload.request.ClubRecruitmentInfoUpdateRequest; import moadong.club.payload.request.ClubInfoRequest; import moadong.global.RegexConstants; import org.checkerframework.common.aliasing.qual.Unique; -import org.springframework.data.mongodb.core.mapping.Document; @AllArgsConstructor @Getter @@ -57,7 +56,7 @@ public class ClubRecruitmentInformation { @Enumerated(EnumType.STRING) @NotNull - private RecruitmentStatus recruitmentStatus; + private ClubRecruitmentStatus clubRecruitmentStatus; private String recruitmentForm; @@ -66,11 +65,11 @@ public ClubRecruitmentInformation updateLogo(String logo) { return this; } - public void updateRecruitmentStatus(RecruitmentStatus status) { - this.recruitmentStatus = status; + public void updateRecruitmentStatus(ClubRecruitmentStatus status) { + this.clubRecruitmentStatus = status; } - public void updateDescription(ClubDescriptionUpdateRequest request) { + public void updateDescription(ClubRecruitmentInfoUpdateRequest request) { this.description = request.description(); this.recruitmentStart = request.recruitmentStart(); this.recruitmentEnd = request.recruitmentEnd(); diff --git a/backend/src/main/java/moadong/club/enums/ClubCategory.java b/backend/src/main/java/moadong/club/enums/ClubCategory.java index 1d6c9752d..ff060af18 100644 --- a/backend/src/main/java/moadong/club/enums/ClubCategory.java +++ b/backend/src/main/java/moadong/club/enums/ClubCategory.java @@ -1,5 +1,10 @@ package moadong.club.enums; +import lombok.Getter; + +import java.util.Arrays; + +@Getter public enum ClubCategory { //봉사,종교,취미교양,학술,운동,공연 봉사(0), @@ -16,17 +21,11 @@ public enum ClubCategory { this.priority = priority; } - public int getPriority() { - return priority; - } - public static ClubCategory fromString(String category) { - for (ClubCategory c : values()) { - if (c.name().equals(category)) { - return c; - } - } - return null; + return Arrays.stream(values()) + .filter(rs -> rs.name().equalsIgnoreCase(category)) + .findFirst() + .orElse(null); } public static int getPriorityFromString(String category) { ClubCategory c = fromString(category); diff --git a/backend/src/main/java/moadong/club/enums/RecruitmentStatus.java b/backend/src/main/java/moadong/club/enums/ClubRecruitmentStatus.java similarity index 65% rename from backend/src/main/java/moadong/club/enums/RecruitmentStatus.java rename to backend/src/main/java/moadong/club/enums/ClubRecruitmentStatus.java index 54b973a13..6810c0c8f 100644 --- a/backend/src/main/java/moadong/club/enums/RecruitmentStatus.java +++ b/backend/src/main/java/moadong/club/enums/ClubRecruitmentStatus.java @@ -1,8 +1,11 @@ package moadong.club.enums; +import lombok.Getter; + import java.util.Arrays; -public enum RecruitmentStatus { +@Getter +public enum ClubRecruitmentStatus { ALWAYS("상시모집", 1), OPEN("모집중", 2), CLOSED("모집마감", 3), @@ -12,27 +15,19 @@ public enum RecruitmentStatus { private final String description; private final int priority; - RecruitmentStatus(String description, int priority) { + ClubRecruitmentStatus(String description, int priority) { this.description = description; this.priority = priority; } - public String getDescription() { - return description; - } - - public int getPriority() { - return priority; - } - - public static RecruitmentStatus fromString(String status) { + public static ClubRecruitmentStatus fromString(String status) { return Arrays.stream(values()) .filter(rs -> rs.name().equalsIgnoreCase(status)) .findFirst() .orElse(null); } public static int getPriorityFromString(String status) { - RecruitmentStatus rs = fromString(status); + ClubRecruitmentStatus rs = fromString(status); return (rs != null) ? rs.getPriority() : Integer.MAX_VALUE; } } diff --git a/backend/src/main/java/moadong/club/payload/dto/ClubDetailedResult.java b/backend/src/main/java/moadong/club/payload/dto/ClubDetailedResult.java index a20fe417c..6f506e406 100644 --- a/backend/src/main/java/moadong/club/payload/dto/ClubDetailedResult.java +++ b/backend/src/main/java/moadong/club/payload/dto/ClubDetailedResult.java @@ -49,8 +49,8 @@ public static ClubDetailedResult of(Club club) { .presidentPhoneNumber(clubRecruitmentInformation.getPresidentTelephoneNumber() == null ? "" : clubRecruitmentInformation.getPresidentTelephoneNumber()) .recruitmentPeriod(period) .recruitmentTarget(clubRecruitmentInformation.getRecruitmentTarget() == null ? "" : clubRecruitmentInformation.getRecruitmentTarget()) - .recruitmentStatus(clubRecruitmentInformation.getRecruitmentStatus() == null - ? "" : clubRecruitmentInformation.getRecruitmentStatus().getDescription()) + .recruitmentStatus(clubRecruitmentInformation.getClubRecruitmentStatus() == null + ? "" : clubRecruitmentInformation.getClubRecruitmentStatus().getDescription()) .recruitmentForm(clubRecruitmentInformation.getRecruitmentForm() == null ? "" : clubRecruitmentInformation.getRecruitmentForm()) .build(); } diff --git a/backend/src/main/java/moadong/club/payload/request/ClubDescriptionUpdateRequest.java b/backend/src/main/java/moadong/club/payload/request/ClubDescriptionUpdateRequest.java deleted file mode 100644 index f80b6c6ce..000000000 --- a/backend/src/main/java/moadong/club/payload/request/ClubDescriptionUpdateRequest.java +++ /dev/null @@ -1,13 +0,0 @@ -package moadong.club.payload.request; - -import java.time.LocalDateTime; - -public record ClubDescriptionUpdateRequest( - String id, - LocalDateTime recruitmentStart, - LocalDateTime recruitmentEnd, - String recruitmentTarget, - String description -) { - -} diff --git a/backend/src/main/java/moadong/club/payload/request/ClubRecruitmentInfoUpdateRequest.java b/backend/src/main/java/moadong/club/payload/request/ClubRecruitmentInfoUpdateRequest.java new file mode 100644 index 000000000..e610044ff --- /dev/null +++ b/backend/src/main/java/moadong/club/payload/request/ClubRecruitmentInfoUpdateRequest.java @@ -0,0 +1,13 @@ +package moadong.club.payload.request; + +import java.time.LocalDateTime; + +public record ClubRecruitmentInfoUpdateRequest( + String id, + LocalDateTime recruitmentStart, + LocalDateTime recruitmentEnd, + String recruitmentTarget, + String description +) { + +} diff --git a/backend/src/main/java/moadong/club/service/ClubProfileService.java b/backend/src/main/java/moadong/club/service/ClubProfileService.java index 2e83fd1d4..6640a1fa2 100644 --- a/backend/src/main/java/moadong/club/service/ClubProfileService.java +++ b/backend/src/main/java/moadong/club/service/ClubProfileService.java @@ -4,12 +4,14 @@ import moadong.club.entity.Club; import moadong.club.payload.dto.ClubDetailedResult; import moadong.club.payload.request.ClubCreateRequest; -import moadong.club.payload.request.ClubDescriptionUpdateRequest; +import moadong.club.payload.request.ClubRecruitmentInfoUpdateRequest; import moadong.club.payload.request.ClubInfoRequest; import moadong.club.payload.response.ClubDetailedResponse; import moadong.club.repository.ClubRepository; import moadong.global.exception.ErrorCode; import moadong.global.exception.RestApiException; +import moadong.global.util.ObjectIdConverter; +import moadong.user.payload.CustomUserDetails; import org.bson.types.ObjectId; import org.springframework.stereotype.Service; @@ -31,18 +33,16 @@ public String createClub(ClubCreateRequest request) { return club.getId(); } - public void updateClubInfo(ClubInfoRequest request) { - Club club = clubRepository.findById(request.id()) - .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); + public void updateClubInfo(ClubInfoRequest request, CustomUserDetails user) { + Club club = validateClubUpdateRequest(request.id(), user); club.update(request); clubRepository.save(club); - } - public void updateClubDescription(ClubDescriptionUpdateRequest request) { - Club club = clubRepository.findById(request.id()) - .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); + public void updateClubRecruitmentInfo(ClubRecruitmentInfoUpdateRequest request, CustomUserDetails user) { + Club club = validateClubUpdateRequest(request.id(), user); + club.update(request); clubRepository.save(club); @@ -54,7 +54,7 @@ public void updateClubDescription(ClubDescriptionUpdateRequest request) { } public ClubDetailedResponse getClubDetail(String clubId) { - ObjectId objectId = new ObjectId(clubId); + ObjectId objectId = ObjectIdConverter.convertString(clubId); Club club = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); @@ -63,4 +63,13 @@ public ClubDetailedResponse getClubDetail(String clubId) { ); return new ClubDetailedResponse(clubDetailedResult); } + + private Club validateClubUpdateRequest(String clubId, CustomUserDetails user){ + Club club = clubRepository.findById(clubId) + .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); + if (!user.getId().equals(club.getUserId())){ + throw new RestApiException(ErrorCode.USER_UNAUTHORIZED); + } + return club; + } } diff --git a/backend/src/main/java/moadong/club/service/ClubSearchService.java b/backend/src/main/java/moadong/club/service/ClubSearchService.java index aaddd0b36..62df39f43 100644 --- a/backend/src/main/java/moadong/club/service/ClubSearchService.java +++ b/backend/src/main/java/moadong/club/service/ClubSearchService.java @@ -2,7 +2,7 @@ import lombok.AllArgsConstructor; import moadong.club.enums.ClubCategory; -import moadong.club.enums.RecruitmentStatus; +import moadong.club.enums.ClubRecruitmentStatus; import moadong.club.payload.dto.ClubSearchResult; import moadong.club.payload.response.ClubSearchResponse; import moadong.club.repository.ClubSearchRepository; @@ -34,7 +34,7 @@ public ClubSearchResponse searchClubsByKeyword(String keyword, .sorted( // Comparator - .comparingInt((ClubSearchResult club) -> RecruitmentStatus.getPriorityFromString(club.recruitmentStatus())) + .comparingInt((ClubSearchResult club) -> ClubRecruitmentStatus.getPriorityFromString(club.recruitmentStatus())) .thenComparingInt((ClubSearchResult club) -> ClubCategory.getPriorityFromString(club.category())) .thenComparing(ClubSearchResult::name) ) diff --git a/backend/src/main/java/moadong/club/service/RecruitmentScheduler.java b/backend/src/main/java/moadong/club/service/RecruitmentScheduler.java index 5cf108227..cd1e25d82 100644 --- a/backend/src/main/java/moadong/club/service/RecruitmentScheduler.java +++ b/backend/src/main/java/moadong/club/service/RecruitmentScheduler.java @@ -9,11 +9,11 @@ import java.util.concurrent.ScheduledFuture; import lombok.RequiredArgsConstructor; import moadong.club.entity.Club; -import moadong.club.entity.ClubRecruitmentInformation; -import moadong.club.enums.RecruitmentStatus; +import moadong.club.enums.ClubRecruitmentStatus; import moadong.club.repository.ClubRepository; import moadong.global.exception.ErrorCode; import moadong.global.exception.RestApiException; +import moadong.global.util.ObjectIdConverter; import org.bson.types.ObjectId; import org.springframework.scheduling.TaskScheduler; import org.springframework.stereotype.Component; @@ -33,12 +33,12 @@ public void scheduleRecruitment(String clubId, LocalDateTime startDate, // 모집 시작 스케줄링 ScheduledFuture startFuture = taskScheduler.schedule( - () -> updateRecruitmentStatus(clubId, RecruitmentStatus.OPEN), + () -> updateRecruitmentStatus(clubId, ClubRecruitmentStatus.OPEN), Date.from(startDate.atZone(ZoneId.systemDefault()).toInstant())); // 모집 종료 스케줄링 ScheduledFuture endFuture = taskScheduler.schedule( - () -> updateRecruitmentStatus(clubId, RecruitmentStatus.CLOSED), + () -> updateRecruitmentStatus(clubId, ClubRecruitmentStatus.CLOSED), Date.from(endDate.atZone(ZoneId.systemDefault()).toInstant())); scheduledTasks.put(clubId, startFuture); @@ -53,8 +53,8 @@ public void cancelScheduledTask(String clubId) { } @Transactional - public void updateRecruitmentStatus(String clubId, RecruitmentStatus status) { - ObjectId objectId = new ObjectId(clubId); + public void updateRecruitmentStatus(String clubId, ClubRecruitmentStatus status) { + ObjectId objectId = ObjectIdConverter.convertString(clubId); Club club = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); diff --git a/backend/src/main/java/moadong/gcs/service/ClubImageService.java b/backend/src/main/java/moadong/gcs/service/ClubImageService.java index 5b0b71d83..99f5c774b 100644 --- a/backend/src/main/java/moadong/gcs/service/ClubImageService.java +++ b/backend/src/main/java/moadong/gcs/service/ClubImageService.java @@ -12,6 +12,7 @@ import moadong.gcs.domain.FileType; import moadong.global.exception.ErrorCode; import moadong.global.exception.RestApiException; +import moadong.global.util.ObjectIdConverter; import moadong.global.util.RandomStringUtil; import org.bson.types.ObjectId; import org.springframework.beans.factory.annotation.Value; @@ -32,7 +33,7 @@ public class ClubImageService { public String uploadLogo(String clubId, MultipartFile file) { - ObjectId objectId = new ObjectId(clubId); + ObjectId objectId = ObjectIdConverter.convertString(clubId); Club club = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); @@ -47,7 +48,7 @@ public String uploadLogo(String clubId, MultipartFile file) { } public void deleteLogo(String clubId) { - ObjectId objectId = new ObjectId(clubId); + ObjectId objectId = ObjectIdConverter.convertString(clubId); Club club = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); @@ -57,7 +58,7 @@ public void deleteLogo(String clubId) { } public String uploadFeed(String clubId, MultipartFile file) { - ObjectId objectId = new ObjectId(clubId); + ObjectId objectId = ObjectIdConverter.convertString(clubId); int feedImagesCount = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)) .getClubRecruitmentInformation().getFeedImages().size(); @@ -69,7 +70,7 @@ public String uploadFeed(String clubId, MultipartFile file) { } public void updateFeeds(String clubId, List newFeedImageList) { - ObjectId objectId = new ObjectId(clubId); + ObjectId objectId = ObjectIdConverter.convertString(clubId); Club club = clubRepository.findClubById(objectId) .orElseThrow(() -> new RestApiException(ErrorCode.CLUB_NOT_FOUND)); diff --git a/backend/src/main/java/moadong/global/exception/ErrorCode.java b/backend/src/main/java/moadong/global/exception/ErrorCode.java index 459fd92c1..f157b61cf 100644 --- a/backend/src/main/java/moadong/global/exception/ErrorCode.java +++ b/backend/src/main/java/moadong/global/exception/ErrorCode.java @@ -8,6 +8,8 @@ public enum ErrorCode { CLUB_NOT_FOUND(HttpStatus.NOT_FOUND, "600-1", "동아리가 존재하지 않습니다."), CLUB_INFORMATION_NOT_FOUND(HttpStatus.NOT_FOUND, "600-2", "동아리 상세 정보가 존재하지 않습니다."), CLUB_FEED_IMAGES_NOT_FOUND(HttpStatus.NOT_FOUND, "600-3", "동아리 피드가 존재하지 않습니다."), + CLUB_ID_INVALID(HttpStatus.BAD_REQUEST,"600-4","올바르지 않은 클럽 요청입니다."), + CLUB_SEARCH_FAILED(HttpStatus.BAD_REQUEST,"600-5","검색 중 오류가 발생했습니다."), IMAGE_UPLOAD_FAILED(HttpStatus.INTERNAL_SERVER_ERROR, "601-1", "이미지 업로드에 실패하였습니다."), FILE_NOT_FOUND(HttpStatus.NOT_FOUND, "601-2", "이미지 파일을 찾을 수 없습니다."), TOO_MANY_FILES(HttpStatus.PAYLOAD_TOO_LARGE, "601-3", "이미지 파일이 최대치보다 많습니다."), @@ -17,6 +19,7 @@ public enum ErrorCode { USER_NOT_EXIST(HttpStatus.BAD_REQUEST, "700-2","존재하지 않는 계정입니다."), USER_INVALID_FORMAT(HttpStatus.BAD_REQUEST, "700-3","올바르지 않은 유저 형식입니다."), USER_INVALID_LOGIN(HttpStatus.BAD_REQUEST, "700-4","올바르지 않은 로그인"), + USER_UNAUTHORIZED(HttpStatus.FORBIDDEN, "700-5","권한이 없습니다."), TOKEN_INVALID(HttpStatus.UNAUTHORIZED, "701-1", "올바르지 않은 토큰 양식입니다."), TOKEN_EXPIRED(HttpStatus.UNAUTHORIZED, "701-2", "토큰이 만료되었습니다."), ; diff --git a/backend/src/main/java/moadong/global/util/ObjectIdConverter.java b/backend/src/main/java/moadong/global/util/ObjectIdConverter.java new file mode 100644 index 000000000..cc9755043 --- /dev/null +++ b/backend/src/main/java/moadong/global/util/ObjectIdConverter.java @@ -0,0 +1,17 @@ +package moadong.global.util; + +import moadong.global.exception.ErrorCode; +import moadong.global.exception.RestApiException; +import org.bson.types.ObjectId; + +public class ObjectIdConverter { + public static ObjectId convertString(String id){ + ObjectId objectId; + try{ + objectId = new ObjectId(id); + } catch (IllegalArgumentException e){ + throw new RestApiException(ErrorCode.CLUB_ID_INVALID); + } + return objectId; + } +} diff --git a/backend/src/main/java/moadong/user/payload/CustomUserDetails.java b/backend/src/main/java/moadong/user/payload/CustomUserDetails.java index 679eefc27..8fe6cce65 100644 --- a/backend/src/main/java/moadong/user/payload/CustomUserDetails.java +++ b/backend/src/main/java/moadong/user/payload/CustomUserDetails.java @@ -8,8 +8,9 @@ @Getter public class CustomUserDetails implements UserDetails { - + // 유저 다큐먼트 _id private String id; + // 로그인에 쓰는 유저 아이디 private String userId; private String password; private Collection authorities;