Skip to content

Fix/#186 calendar event 권한 오류 해결 및 colorchip enum 생성#201

Merged
yeongsinkeem merged 3 commits intodev_tempfrom
fix/#186-calendar-event-colorchip-enum
Feb 27, 2026
Merged

Fix/#186 calendar event 권한 오류 해결 및 colorchip enum 생성#201
yeongsinkeem merged 3 commits intodev_tempfrom
fix/#186-calendar-event-colorchip-enum

Conversation

@tishakong
Copy link
Collaborator

이슈 번호

#186

작업 내용

  • EventService 내 메서드를 MemberOrgValidate로 이관했던 것이 롤백되어 권한 오류가 발생하고 있던 것을 다시 수정했습니다.
  • ColorChip Enum을 만들어 event 관련 API에서 ColorChip을 헥사코드가 아닌 사전 지정한 색상 이름으로 주고받을 수 있게 했습니다.

- 프론트엔드와 협의 후 기존 헥사 코드로 주고 받도록 구현되어있던 colorChip을 enum으로 리팩토링했습니다.
- @JsonCreator와 @jsonvalue를 활용해 프론트엔드에서는 소문자로, 백엔드에서는 대문자로 관리해도 자동 변환되도록 했습니다.
@tishakong tishakong self-assigned this Feb 26, 2026
@tishakong tishakong linked an issue Feb 26, 2026 that may be closed by this pull request
10 tasks
@tishakong tishakong changed the base branch from main to dev_temp February 26, 2026 13:50
@gemini-code-assist
Copy link

Summary of Changes

Hello @tishakong, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

이 Pull Request는 Tackit 애플리케이션의 핵심 사용자 및 조직 관리 모델을 대대적으로 개편하여 멀티 프로필 기능을 지원하고, 이를 기반으로 새로운 이벤트 및 투표 기능을 추가합니다. 기존 시스템의 여러 컴포넌트가 새로운 MemberOrg 중심의 구조에 맞춰 재설계되었으며, 이는 향후 확장성과 유연성을 크게 향상시킬 것으로 기대됩니다. 또한, 이전 작업에서 발생했던 권한 관련 문제를 해결하고, 사용자 경험을 개선하기 위한 ColorChip Enum을 도입했습니다.

Highlights

  • 멀티 프로필 및 조직 관리 시스템 도입: 단일 사용자 계정이 여러 조직(동아리/커뮤니티)에 속할 수 있도록 MemberOrg 엔티티를 중심으로 사용자-조직 관계를 재구성했습니다. 이를 위해 Organization 및 School 엔티티를 새로 추가하고, 기존 게시글, 댓글, 신고, 스크랩, 로그, 알림 등 대부분의 도메인 엔티티가 MemberOrg를 참조하도록 변경되었습니다.
  • ActiveProfile 기반의 동적 프로필 컨텍스트 처리: 현재 활성화된 MemberOrg 프로필의 ID를 HTTP 헤더에서 추출하여 컨트롤러 메서드 파라미터에 주입하는 @ActiveProfile 어노테이션과 ProfileContextResolver를 도입했습니다. 이를 통해 각 요청이 특정 조직의 컨텍스트에서 처리될 수 있도록 합니다.
  • 이벤트 및 투표 기능 추가: 새로운 Event 및 Poll 도메인과 관련 컨트롤러, 서비스, 리포지토리가 추가되었습니다. 이 기능들은 새로 도입된 멀티 프로필 및 조직 관리 시스템 위에서 동작하며, ColorChip Enum을 활용하여 이벤트 색상을 관리합니다.
  • 기존 모듈의 대규모 리팩토링 및 패키지 구조 변경: Free, QnA, Tip, Notice 게시판 관련 서비스, 컨트롤러, 리포지토리 파일들의 패키지 구조가 변경(예: Free_board -> freeBoard)되었으며, MemberOrg 엔티티를 사용하도록 대규모 리팩토링이 진행되었습니다. 이 과정에서 Status Enum은 ActiveStatus로 이름이 변경되었습니다.
  • 권한 오류 수정 및 ColorChip Enum 도입: 이전 롤백으로 발생했던 캘린더 이벤트 권한 오류를 수정하고, 이벤트 관련 API에서 헥사코드 대신 사전 정의된 색상 이름(ColorChip Enum)을 사용할 수 있도록 개선했습니다.
Changelog
  • src/main/java/org/example/tackit/common/aop/logging/LoggingAspect.java
    • 로깅 Aspect의 임포트 경로가 업데이트되었습니다.
    • logUserAction 메서드가 주석 처리되었으며, MemberRole 및 MemberType 관련 필드가 제거되었습니다.
    • 주석 처리된 코드 블록 내에서 userLogRepository가 memberLogRepository로 변경되었습니다.
  • src/main/java/org/example/tackit/common/dto/ActiveProfile.java
    • 활성 프로필 컨텍스트 매개변수 해결을 위한 @ActiveProfile 어노테이션이 추가되었습니다.
  • src/main/java/org/example/tackit/common/dto/ProfileContext.java
    • 활성 프로필 ID를 담는 ProfileContext 레코드가 추가되었습니다.
  • src/main/java/org/example/tackit/common/homePopular/HomePopularPostController.java
    • 인기 게시물 조회 시 조직 ID를 ProfileContext에서 가져오도록 변경되었습니다.
  • src/main/java/org/example/tackit/common/homePopular/HomePopularPostService.java
    • 인기 게시물 서비스가 Long 타입의 조직 ID와 ActiveStatus Enum을 사용하도록 리팩토링되었습니다.
    • 기존의 String 타입 조직명을 받는 메서드는 주석 처리되었습니다.
  • src/main/java/org/example/tackit/config/AdminDataInitializer.java
    • 클래스 이름이 CommonDataInitializer로 변경되었습니다.
    • 관리자 계정 생성 로직이 업데이트되었고, 기본 학교 데이터 초기화 로직이 추가되었습니다.
  • src/main/java/org/example/tackit/config/FreeTagInitializer.java
    • 임포트 경로가 업데이트되었고, @component 어노테이션이 주석 처리되었습니다.
  • src/main/java/org/example/tackit/config/QnATagInitializer.java
    • 임포트 경로가 업데이트되었고, @component 어노테이션이 주석 처리되었습니다.
  • src/main/java/org/example/tackit/config/Resolver/ProfileContextResolver.java
    • HTTP 헤더에서 Active-Profile-Id를 추출하여 ProfileContext 객체로 변환하는 새로운 Argument Resolver가 추가되었습니다.
  • src/main/java/org/example/tackit/config/TipTagInitializer.java
    • 임포트 경로가 업데이트되었고, @component 어노테이션이 주석 처리되었습니다.
  • src/main/java/org/example/tackit/config/WebConfig.java
    • ProfileContextResolver를 웹 설정에 등록하는 WebConfig 클래스가 추가되었습니다.
  • src/main/java/org/example/tackit/config/jwt/TokenProvider.java
    • Status Enum이 ActiveStatus로 변경되었고, TokenDto에서 role 필드가 제거되었습니다.
    • CustomUserDetails 생성자에서 조직 및 회원 유형 관련 매개변수가 제거되었습니다.
    • 특정 프로필 ID를 포함하는 토큰을 생성하는 generateTokenDtoWithProfile 메서드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/controller/FreeCommentController.java
    • 파일 이름이 freeBoard/Free_comment/controller/FreeCommentController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/dto/req/FreeCommentCreateDto.java
    • 파일 이름이 freeBoard/Free_comment/dto/req/FreeCommentCreateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/dto/req/FreeCommentUpdateDto.java
    • 파일 이름이 freeBoard/Free_comment/dto/req/FreeCommentUpdateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/dto/resp/FreeCommentRespDto.java
    • 파일 이름이 freeBoard/Free_comment/dto/resp/FreeCommentRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/repository/FreeCommentRepository.java
    • 파일 이름이 freeBoard/Free_comment/repository/FreeCommentRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_comment/service/FreeCommentService.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/controller/FreePostController.java
    • 파일 이름이 freeBoard/Free_post/controller/FreePostController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/dto/request/FreePostReqDto.java
    • 파일 이름이 freeBoard/Free_post/dto/request/FreePostReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/dto/request/UpdateFreeReqDto.java
    • 파일 이름이 freeBoard/Free_post/dto/request/UpdateFreeReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/dto/response/FreePopularPostRespDto.java
    • 파일 이름이 freeBoard/Free_post/dto/response/FreePopularPostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/dto/response/FreePostRespDto.java
    • 파일 이름이 freeBoard/Free_post/dto/response/FreePostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/dto/response/FreeScrapResponseDto.java
    • 파일 이름이 freeBoard/Free_post/dto/response/FreeScrapResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/repository/FreeMemberJPARepository.java
    • 파일 이름이 freeBoard/Free_post/repository/FreeMemberJPARepository.java로 변경되었고, findByEmailAndOrganization 메서드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/repository/FreePostImageRepository.java
    • 파일 이름이 freeBoard/Free_post/repository/FreePostImageRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/repository/FreePostJPARepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/repository/FreePostReportRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/repository/FreeScrapJPARepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/service/FreePostService.java
    • 파일 이름이 freeBoard/Free_post/service/FreePostService.java로 변경되었고, MemberOrg를 사용하도록 대대적으로 리팩토링되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_post/service/FreePostTagService.java
    • 파일 이름이 freeBoard/Free_post/service/FreePostTagService.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/controller/FreeTagController.java
    • 파일 이름이 freeBoard/Free_tag/controller/FreeTagController.java로 변경되었고, getPostsByTag 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/dto/response/FreeTagPostResponseDto.java
    • 파일 이름이 freeBoard/Free_tag/dto/response/FreeTagPostResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/dto/response/FreeTagResponseDto.java
    • 파일 이름이 freeBoard/Free_tag/dto/response/FreeTagResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/repository/FreePostTagMapRepository.java
    • 파일 이름이 freeBoard/Free_tag/repository/FreePostTagMapRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/repository/FreeTagCustomRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/repository/FreeTagCustomRepositoryImpl.java
    • 파일 이름이 freeBoard/Free_tag/repository/FreeTagCustomRepositoryImpl.java로 변경되었고, ActiveStatus를 사용하도록 쿼리가 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/repository/FreeTagRepository.java
    • 파일 이름이 freeBoard/Free_tag/repository/FreeTagRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Free_board/Free_tag/service/FreeTagService.java
    • 파일 이름이 freeBoard/Free_tag/service/FreeTagService.java로 변경되었고, getFreePostsByTag 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/controller/NoticeCommentController.java
    • 파일 이름이 noticeBoard/Notice_comment/controller/NoticeCommentController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/dto/req/NoticeCommentCreateDto.java
    • 파일 이름이 noticeBoard/Notice_comment/dto/req/NoticeCommentCreateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/dto/req/NoticeCommentUpdateDto.java
    • 파일 이름이 noticeBoard/Notice_comment/dto/req/NoticeCommentUpdateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/dto/resp/NoticeCommentRespDto.java
    • 파일 이름이 noticeBoard/Notice_comment/dto/resp/NoticeCommentRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/repository/NoticeCommentRepository.java
    • 파일 이름이 noticeBoard/Notice_comment/repository/NoticeCommentRepository.java로 변경되었고, findByWriter 메서드가 MemberOrg를 받도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_comment/service/NoticeCommentService.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/controller/NoticePostController.java
    • 파일 이름이 noticeBoard/Notice_post/controller/NoticePostController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/dto/request/NoticePostReqDto.java
    • 파일 이름이 noticeBoard/Notice_post/dto/request/NoticePostReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/dto/request/UpdateNoticeReqDto.java
    • 파일 이름이 noticeBoard/Notice_post/dto/request/UpdateNoticeReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/dto/response/NoticePostRespDto.java
    • 파일 이름이 noticeBoard/Notice_post/dto/response/NoticePostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/dto/response/NoticeScrapRespDto.java
    • 파일 이름이 noticeBoard/Notice_post/dto/response/NoticeScrapRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/repository/NoticePostImageRepository.java
    • 파일 이름이 noticeBoard/Notice_post/repository/NoticePostImageRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/repository/NoticePostRepository.java
    • 파일 이름이 noticeBoard/Notice_post/repository/NoticePostRepository.java로 변경되었고, findByOrganization 메서드가 제거되고 findByWriterId가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/repository/NoticeScrapRepository.java
    • 파일 이름이 noticeBoard/Notice_post/repository/NoticeScrapRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Notice_board/Notice_post/service/NoticePostService.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/controller/QnACommentController.java
    • 파일 이름이 qnaBoard/QnA_comment/controller/QnACommentController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/dto/request/QnACommentCreateDto.java
    • 파일 이름이 qnaBoard/QnA_comment/dto/request/QnACommentCreateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/dto/request/QnACommentUpdateDto.java
    • 파일 이름이 qnaBoard/QnA_comment/dto/request/QnACommentUpdateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/dto/response/QnACommentResponseDto.java
    • 파일 이름이 qnaBoard/QnA_comment/dto/response/QnACommentResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/repository/QnACommentRepository.java
    • 파일 이름이 qnaBoard/QnA_comment/repository/QnACommentRepository.java로 변경되었고, findByWriter 메서드가 MemberOrg를 받도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_comment/service/QnACommentService.java
    • 파일 이름이 qnaBoard/QnA_comment/service/QnACommentService.java로 변경되었고, MemberOrg를 사용하도록 대대적으로 리팩토링되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/controller/QnAPostController.java
    • 파일 이름이 qnaBoard/QnA_post/controller/QnAPostController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/controller/QnAPostScrapController.java
    • 파일 이름이 qnaBoard/QnA_post/controller/QnAPostScrapController.java로 변경되었고, 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/request/QnAPostReqDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/request/QnAPostReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/request/UpdateQnARequestDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/request/UpdateQnARequestDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/response/QnACheckScrapResponseDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/response/QnACheckScrapResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/response/QnAPopularPostRespDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/response/QnAPopularPostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/response/QnAPostRespDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/response/QnAPostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/dto/response/QnAScrapResponseDto.java
    • 파일 이름이 qnaBoard/QnA_post/dto/response/QnAScrapResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/repository/QnAMemberRepository.java
    • 파일 이름이 qnaBoard/QnA_post/repository/QnAMemberRepository.java로 변경되었고, findByEmailAndOrganization 메서드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/repository/QnAPostReportRepository.java
    • 파일 이름이 qnaBoard/QnA_post/repository/QnAPostReportRepository.java로 변경되었고, MemberOrg를 사용하는 existsByMemberAndQnaPost 메서드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/repository/QnAPostRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/repository/QnAScrapRepository.java
    • 파일 이름이 qnaBoard/QnA_post/repository/QnAScrapRepository.java로 변경되었고, 일부 조회 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/service/QnAPostService.java
    • 파일 이름이 qnaBoard/QnA_post/service/QnAPostService.java로 변경되었고, MemberOrg를 사용하도록 대대적으로 리팩토링되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/service/QnAPostTagService.java
    • 파일 이름이 qnaBoard/QnA_post/service/QnAPostTagService.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_post/service/QnAScrapService.java
    • 파일 이름이 qnaBoard/QnA_post/service/QnAScrapService.java로 변경되었고, 서비스 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/controller/QnATagController.java
    • 파일 이름이 qnaBoard/QnA_tag/controller/QnATagController.java로 변경되었고, 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/dto/response/QnATagPostResponseDto.java
    • 파일 이름이 qnaBoard/QnA_tag/dto/response/QnATagPostResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/dto/response/QnATagResponseDto.java
    • 파일 이름이 qnaBoard/QnA_tag/dto/response/QnATagResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/repository/QnAPostTagMapRepository.java
    • 파일 이름이 qnaBoard/QnA_tag/repository/QnAPostTagMapRepository.java로 변경되었고, QnATag 임포트가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/repository/QnATagCustomRepository.java
    • 파일 이름이 qnaBoard/QnA_tag/repository/QnATagCustomRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/repository/QnATagCustomRepositoryImpl.java
    • 파일 이름이 qnaBoard/QnA_tag/repository/QnATagCustomRepositoryImpl.java로 변경되었고, ActiveStatus를 사용하도록 쿼리가 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/repository/QnATagRepository.java
    • 파일 이름이 qnaBoard/QnA_tag/repository/QnATagRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/QnA_board/QnA_tag/service/QnATagService.java
    • 파일 이름이 qnaBoard/QnA_tag/service/QnATagService.java로 변경되었고, 서비스 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/controller/TipCommentController.java
    • 파일 이름이 tipBoard/Tip_comment/controller/TipCommentController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/dto/req/TipCommentCreateDto.java
    • 파일 이름이 tipBoard/Tip_comment/dto/req/TipCommentCreateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/dto/req/TipCommentUpdateDto.java
    • 파일 이름이 tipBoard/Tip_comment/dto/req/TipCommentUpdateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/dto/resp/TipCommentResponseDto.java
    • 파일 이름이 tipBoard/Tip_comment/dto/resp/TipCommentResponseDto.java로 변경되었고, id 필드 타입이 Long으로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/repository/TipCommentRepository.java
    • 파일 이름이 tipBoard/Tip_comment/repository/TipCommentRepository.java로 변경되었고, findByWriter 메서드가 MemberOrg를 받도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_comment/service/TipCommentService.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/controller/TipController.java
    • 파일 이름이 tipBoard/Tip_post/controller/TipController.java로 변경되었고, ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/dto/request/TipPostReqDto.java
    • 파일 이름이 tipBoard/Tip_post/dto/request/TipPostReqDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/dto/request/TipPostUpdateDto.java
    • 파일 이름이 tipBoard/Tip_post/dto/request/TipPostUpdateDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/dto/response/TipPopularPostRespDto.java
    • 파일 이름이 tipBoard/Tip_post/dto/response/TipPopularPostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/dto/response/TipPostRespDto.java
    • 파일 이름이 tipBoard/Tip_post/dto/response/TipPostRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/dto/response/TipScrapRespDto.java
    • 파일 이름이 tipBoard/Tip_post/dto/response/TipScrapRespDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/repository/TipMemberRepository.java
    • 파일 이름이 tipBoard/Tip_post/repository/TipMemberRepository.java로 변경되었고, findByEmailAndOrganization 메서드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/repository/TipPostReportRepository.java
    • 파일 이름이 tipBoard/Tip_post/repository/TipPostReportRepository.java로 변경되었고, existsByMemberAndTipPost가 existsByReporterAndTipPost로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/repository/TipPostRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/repository/TipScrapRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/service/TipPostService.java
    • 파일 이름이 tipBoard/Tip_post/service/TipPostService.java로 변경되었고, MemberOrg를 사용하도록 대대적으로 리팩토링되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_post/service/TipTagService.java
    • 파일 이름이 tipBoard/Tip_post/service/TipTagService.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/controller/TipTagController.java
    • 파일 이름이 tipBoard/Tip_tag/controller/TipTagController.java로 변경되었고, 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/dto/response/TipTagPostResponseDto.java
    • 파일 이름이 tipBoard/Tip_tag/dto/response/TipTagPostResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/dto/response/TipTagResponseDto.java
    • 파일 이름이 tipBoard/Tip_tag/dto/response/TipTagResponseDto.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/repository/TipPostTagMapRepository.java
    • 파일 이름이 tipBoard/Tip_tag/repository/TipPostTagMapRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/repository/TipTagCustomRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/repository/TipTagCustomRepositoryImpl.java
    • 파일 이름이 tipBoard/Tip_tag/repository/TipTagCustomRepositoryImpl.java로 변경되었고, ActiveStatus를 사용하도록 쿼리가 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/repository/TipTagRepository.java
    • 파일 이름이 tipBoard/Tip_tag/repository/TipTagRepository.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/Tip_board/Tip_tag/service/TipTagService.java
    • 파일 이름이 tipBoard/Tip_tag/service/TipTagService.java로 변경되었고, getPostsByTag 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/admin/controller/AdminDashboardController.java
    • DAU 및 회원 통계 관련 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/admin/controller/AdminMemberController.java
    • 모든 사용자 및 탈퇴 사용자 조회 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/admin/dto/DeletedMemberDTO.java
    • Status Enum이 ActiveStatus로 변경되었고, 닉네임 필드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/admin/dto/MemberDTO.java
    • Status Enum이 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/dto/ReportedPostDTO.java
    • ReportedPostDTO가 MemberOrg를 사용하도록 업데이트되었고, organization 필드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/admin/model/ReportablePost.java
    • getWriter() 메서드의 반환 타입이 MemberOrg로 변경되었고, getOrganization() 메서드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/admin/repository/AdminFreePostRepository.java
    • Status Enum이 ActiveStatus로 변경되었고, 관련 쿼리 메서드 이름이 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/admin/repository/AdminMemberRepository.java
    • Status Enum이 ActiveStatus로 변경되었고, 일부 쿼리 메서드가 주석 처리되거나 이름이 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/repository/AdminQnAPostRepository.java
    • Status Enum이 ActiveStatus로 변경되었고, 관련 쿼리 메서드 이름이 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/admin/repository/AdminTipPostRepository.java
    • Status Enum이 ActiveStatus로 변경되었고, 관련 쿼리 메서드 이름이 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/admin/repository/UserLogRepository.java
    • 파일 이름이 MemberLogRepository로 변경되었고, DAU/MAU 관련 쿼리 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/admin/service/AdminDashboardService.java
    • MemberLogRepository를 사용하도록 임포트 및 필드가 업데이트되었고, 일부 통계 메서드가 주석 처리되거나 ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/service/AdminFreePostService.java
    • 패키지 임포트 경로가 업데이트되었고, getDeletedPosts 메서드가 ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/service/AdminMemberService.java
    • DTO 및 엔티티 임포트가 제거되었고, 대부분의 회원 관리 메서드가 주석 처리되거나 ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/service/AdminQnAPostService.java
    • getDeletedPosts 메서드가 ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/admin/service/AdminTipPostService.java
    • getDeletedPosts 메서드가 ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/controller/AuthController.java
    • 로그인 응답 타입이 SignInResponse로 변경되었고, 이메일/비밀번호 찾기 관련 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/controller/CheckController.java
    • 닉네임 중복 확인 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/dto/MultiProfileDto.java
    • 사용자의 조직별 프로필 정보를 담는 MultiProfileDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/dto/SignInResponse.java
    • 로그인 응답으로 토큰과 멀티 프로필 목록을 제공하는 SignInResponse DTO가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/dto/SignUpDto.java
    • 조직 및 역할/유형 관련 필드가 제거되어 회원가입 DTO가 간소화되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/dto/TokenDto.java
    • role 필드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/repository/MemberRepository.java
    • 파일이 삭제되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/security/CustomUserDetails.java
    • 조직 및 회원 유형 관련 필드가 제거되어 CustomUserDetails가 간소화되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/service/AuthService.java
    • 멀티 프로필 지원을 위해 MemberOrgRepository를 사용하도록 리팩토링되었고, 로그인 및 프로필 선택 로직이 추가되었습니다.
    • 기존의 이메일/비밀번호 찾기 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/service/CheckService.java
    • 닉네임 중복 확인 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/service/CustomUserDetailsService.java
    • ActiveStatus를 사용하도록 변경되었고, CustomUserDetails 생성 시 기본 ROLE_USER 권한만 부여하도록 간소화되었습니다.
  • src/main/java/org/example/tackit/domain/auth/login/service/RejoinCheckService.java
    • ActiveStatus를 사용하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/auth/logout/repository/LogoutRepository.java
    • 사용하지 않는 Status 임포트가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/auth/logout/service/WithdrawService.java
    • 사용하지 않는 임포트가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/entity/ColorChip.java
    • 이벤트 색상 정의를 위한 ColorChip Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Event.java
    • 캘린더 이벤트를 나타내는 Event 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/EventParticipant.java
    • 이벤트 참여자를 나타내는 EventParticipant 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/EventScope.java
    • 이벤트 공개 범위를 정의하는 EventScope Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/FreeComment.java
    • 작성자 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/FreePost.java
    • 작성자 필드가 MemberOrg를 참조하고, 조직 필드가 Organization 엔티티를 참조하도록 변경되었습니다.
    • 상태 필드가 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/FreeReport.java
    • 신고자 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/FreeScrap.java
    • 회원 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Member.java
    • 핵심 사용자 계정 엔티티로 리팩토링되었고, 조직별 세부 정보는 MemberOrg로 위임되었습니다.
    • ActiveStatus 필드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/MemberLog.java
    • 로그 엔티티가 Member 및 MemberOrg 프로필을 기반으로 추적하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/NoticeComment.java
    • 작성자 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/NoticePost.java
    • 작성자 필드가 MemberOrg를 참조하도록 변경되었고, 조직 필드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Notification.java
    • memberOrgId 필드가 추가되었고, fromMemberId가 fromMemberOrgId로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/MemberOrg.java
    • 사용자의 조직별 프로필을 나타내는 MemberOrg 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/OrgStatus.java
    • 조직 내 회원 상태를 정의하는 OrgStatus Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/OrgType.java
    • 조직 유형을 정의하는 OrgType Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/Organization.java
    • 조직 정보를 나타내는 Organization 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/School.java
    • 학교 정보를 나타내는 School 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Org/SchoolType.java
    • 학교 유형을 정의하는 SchoolType Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/QnAComment.java
    • 작성자 필드가 MemberOrg를 참조하고, 상태 필드가 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/QnAPost.java
    • 작성자 필드가 MemberOrg를 참조하고, 상태 필드가 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/QnAReport.java
    • 신고자 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Report.java
    • 신고자 및 작성자 필드가 MemberOrg를 참조하도록 변경되었고, postType 및 activeStatus 필드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/ReportPost.java
    • 신고된 게시물을 나타내는 ReportPost 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/Status.java
    • 파일 이름이 ActiveStatus.java로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/TargetType.java
    • TIP_COMMENT가 TargetType Enum에 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/TipComment.java
    • 작성자 필드가 MemberOrg를 참조하고, 상태 필드가 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/TipPost.java
    • 작성자 필드가 MemberOrg를 참조하고, 상태 필드가 ActiveStatus로 변경되었으며, 조직 필드가 제거되었습니다.
  • src/main/java/org/example/tackit/domain/entity/TipReport.java
    • 신고자 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/TipScrap.java
    • 회원 필드가 MemberOrg를 참조하도록 변경되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/Poll.java
    • 투표 기능을 나타내는 Poll 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollOption.java
    • 투표 항목을 나타내는 PollOption 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollParticipant.java
    • 투표 참여자를 나타내는 PollParticipant 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollScope.java
    • 투표 공개 범위를 정의하는 PollScope Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollStatus.java
    • 투표 상태를 정의하는 PollStatus Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollTarget.java
    • 부분 공개 투표의 대상자를 나타내는 PollTarget 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/PollType.java
    • 투표 항목 유형을 정의하는 PollType Enum이 추가되었습니다.
  • src/main/java/org/example/tackit/domain/entity/poll/Vote.java
    • 사용자의 투표 선택을 기록하는 Vote 엔티티가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/controller/EventController.java
    • 캘린더 이벤트 관리를 위한 새로운 REST 컨트롤러가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/dto/EventCreateReqDto.java
    • 이벤트 생성을 위한 EventCreateReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/dto/EventDetailResDto.java
    • 이벤트 상세 응답을 위한 EventDetailResDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/dto/EventSimpleResDto.java
    • 간소화된 이벤트 응답을 위한 EventSimpleResDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/dto/EventUpdateReqDto.java
    • 이벤트 업데이트를 위한 EventUpdateReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/repository/EventRepository.java
    • Event 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/event/service/EventService.java
    • 이벤트 관련 비즈니스 로직을 처리하는 EventService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/controller/ExecutiveMemberController.java
    • 운영진이 조직 회원을 관리하는 새로운 REST 컨트롤러가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/controller/ExecutiveReportController.java
    • 운영진이 신고된 게시물을 관리하는 새로운 REST 컨트롤러가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/dto/response/MemberListResDto.java
    • 운영진용 회원 목록 응답 DTO가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/dto/response/ReportedPostResDto.java
    • 운영진용 신고된 게시물 상세 응답 DTO가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/repository/ExecutiveMemberRepository.java
    • 운영진 전용 회원 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/service/ExecutiveMemberService.java
    • 운영진 회원 관리 비즈니스 로직을 처리하는 ExecutiveMemberService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/executive/service/ExecutiveReportedPostService.java
    • 운영진 신고 게시물 관리 비즈니스 로직을 처리하는 ExecutiveReportedPostService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/freeBoard/Free_comment/service/FreeCommentService.java
    • 자유 게시판 댓글 관련 비즈니스 로직을 처리하는 FreeCommentService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/freeBoard/Free_post/repository/FreePostJPARepository.java
    • FreePost 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/freeBoard/Free_post/repository/FreePostReportRepository.java
    • FreeReport 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/freeBoard/Free_post/repository/FreeScrapJPARepository.java
    • FreeScrap 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/freeBoard/Free_tag/repository/FreeTagCustomRepository.java
    • FreeTagCustomRepository 인터페이스가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/member/component/MemberOrgValidator.java
    • MemberOrg 프로필 유효성 검증 로직을 중앙화하는 MemberOrgValidator 컴포넌트가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/member/dto/SimpleMemberProfileDto.java
    • 간소화된 회원 프로필 정보를 담는 SimpleMemberProfileDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/member/repository/MemberOrgRepository.java
    • MemberOrg 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/member/repository/MemberRepository.java
    • Member 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/controller/MemberController.java
    • 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/controller/MypageFreeController.java
    • 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/controller/MypageQnAController.java
    • ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/controller/MypageTipController.java
    • 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/dto/response/MemberMypageResponse.java
    • DTO 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/dto/response/QnAMyCommentResponseDto.java
    • 사소한 포맷 변경이 있었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/MemberScheduler.java
    • updateSeniorMembers 메서드가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/MemberService.java
    • 서비스 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/MyPageFreeService.java
    • 스크랩 및 댓글 조회 메서드가 주석 처리되었고, 게시물 조회 메서드가 AccountStatus를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/MyPageQnAService.java
    • MemberOrg를 사용하도록 리팩토링되었고, orgId를 받는 메서드로 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/MyPageTipService.java
    • MemberOrg를 사용하도록 리팩토링되었고, orgId를 받는 메서드로 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/mypage/service/UpdateMemberService.java
    • 서비스 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/noticeBoard/Notice_comment/service/NoticeCommentService.java
    • 공지 게시판 댓글 관련 비즈니스 로직을 처리하는 NoticeCommentService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/noticeBoard/Notice_post/service/NoticePostService.java
    • 공지 게시판 게시물 관련 비즈니스 로직을 처리하는 NoticePostService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/notification/controller/NotificationController.java
    • ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/notification/repository/NotificationRepository.java
    • memberId와 memberOrgId로 알림을 조회하는 메서드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/notification/service/NotificationService.java
    • 멀티 프로필 알림을 지원하도록 리팩토링되었고, MemberOrg 및 ProfileContext를 사용하도록 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/organization/controller/OrganizationController.java
    • 조직 생성 및 참여를 위한 새로운 REST 컨트롤러가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/dto/req/OrgCreateReqDto.java
    • 조직 생성을 위한 OrgCreateReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/dto/req/OrgJoinReqDto.java
    • 조직 참여를 위한 OrgJoinReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/dto/resp/OrgRespDto.java
    • 조직 응답 DTO가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/repository/OrganizationRepository.java
    • Organization 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/repository/SchoolRepository.java
    • School 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/organization/service/OrganizationService.java
    • 조직 생성 및 참여 비즈니스 로직을 처리하는 OrganizationService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/controller/PollController.java
    • 투표 관리를 위한 새로운 REST 컨트롤러가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/PollCreateReqDto.java
    • 투표 생성을 위한 PollCreateReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/PollDetailResDto.java
    • 투표 상세 응답을 위한 PollDetailResDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/PollSidebarResDto.java
    • 사이드바 투표 요약 응답을 위한 PollSidebarResDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/PollSimpleResDto.java
    • 간소화된 투표 응답을 위한 PollSimpleResDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/PollUpdateReqDto.java
    • 투표 업데이트를 위한 PollUpdateReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/dto/VoteReqDto.java
    • 투표 제출을 위한 VoteReqDto가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/repository/PollOptionRepository.java
    • PollOption 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/repository/PollParticipantRepository.java
    • PollParticipant 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/repository/PollRepository.java
    • Poll 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/repository/PollTargetRepository.java
    • PollTarget 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/repository/VoteRepository.java
    • Vote 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/poll/service/PollService.java
    • 투표 관련 비즈니스 로직을 처리하는 PollService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/qnaBoard/QnA_post/repository/QnAPostRepository.java
    • QnAPost 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/report/controller/ReportController.java
    • 컨트롤러 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/report/dto/ReportContentDetailDto.java
    • Status Enum이 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/report/dto/ReportListDto.java
    • Status Enum이 ActiveStatus로 변경되었습니다.
  • src/main/java/org/example/tackit/domain/report/dto/ReportLogDto.java
    • Report 엔티티 필드명 변경에 따라 DTO가 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/report/dto/ReportRequestDto.java
    • postType 필드가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/report/repository/ReportRepository.java
    • ActiveStatus를 기반으로 신고를 조회하는 메서드가 추가되었고, findReportedTargets 쿼리가 업데이트되었습니다.
  • src/main/java/org/example/tackit/domain/report/service/ReportService.java
    • 서비스 전체가 주석 처리되었습니다.
  • src/main/java/org/example/tackit/domain/tipBoard/Tip_comment/service/TipCommentService.java
    • 팁 게시판 댓글 관련 비즈니스 로직을 처리하는 TipCommentService가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/tipBoard/Tip_post/repository/TipPostRepository.java
    • TipPost 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/tipBoard/Tip_post/repository/TipScrapRepository.java
    • TipScrap 엔티티를 위한 새로운 JPA 리포지토리가 추가되었습니다.
  • src/main/java/org/example/tackit/domain/tipBoard/Tip_tag/repository/TipTagCustomRepository.java
    • TipTagCustomRepository 인터페이스가 추가되었습니다.
  • src/main/java/org/example/tackit/global/response/ApiResponse.java
    • 표준화된 API 응답을 위한 ApiResponse 클래스가 추가되었습니다.
  • src/test/java/org/example/tackit/MemberSchedulerTest.java
    • 테스트 클래스 전체가 주석 처리되었습니다.
Activity
  • EventService 내 메서드를 MemberOrgValidate로 이관했던 것이 롤백되어 권한 오류가 발생하고 있던 것을 다시 수정했습니다.
  • ColorChip Enum을 만들어 event 관련 API에서 ColorChip을 헥사코드가 아닌 사전 지정한 색상 이름으로 주고받을 수 있게 했습니다.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

이 PR은 EventService에서 MemberOrgValidatormemberOrgId를 올바르게 사용하여 권한 문제를 해결했습니다. 또한, 문자열 기반의 색상 코드를 ColorChip 열거형으로 대체하여 타입 안정성과 유지보수성을 향상시켰습니다. 전반적으로 변경 사항이 잘 적용되었습니다. 몇 가지 개선 사항을 제안합니다. 새로 추가된 ColorChip 열거형의 성능 최적화와 EventCreateReqDto에서 더 적절한 유효성 검사 어노테이션을 사용하는 것에 대한 제안입니다.

Comment on lines +19 to +28
// 프론트엔드 -> 백엔드 역직렬화 용
@JsonCreator
public static ColorChip from(String value) {
for (ColorChip color : ColorChip.values()) {
if (color.getColorName().equalsIgnoreCase(value)) {
return color;
}
}
throw new IllegalArgumentException("지원하지 않는 컬러칩 색상입니다: " + value);
}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

성능 향상을 위해 from 메서드를 최적화하는 것을 제안합니다. 현재 구현은 from 메서드가 호출될 때마다 ColorChip.values()를 순회하여 O(N)의 시간 복잡도를 가집니다. Enum의 값이 많아지면 성능에 영향을 줄 수 있습니다.
정적 Map을 사용하여 색상 이름을 키로 ColorChip 인스턴스를 저장하면 O(1) 시간 복잡도로 조회가 가능합니다.

아래와 같이 수정할 수 있습니다. 이 변경을 적용하려면 파일 상단에 java.util.Map, java.util.stream.Stream, java.util.stream.Collectors, java.util.function.Function을 임포트해야 합니다.

  private static final Map<String, ColorChip> nameMap = Stream.of(values())
      .collect(Collectors.toMap(color -> color.colorName.toLowerCase(), Function.identity()));

  // 프론트엔드 -> 백엔드 역직렬화 용
  @JsonCreator
  public static ColorChip from(String value) {
    if (value == null) {
      throw new IllegalArgumentException("ColorChip 이름은 null일 수 없습니다.");
    }
    ColorChip result = nameMap.get(value.toLowerCase());
    if (result == null) {
      throw new IllegalArgumentException("지원하지 않는 컬러칩 색상입니다: " + value);
    }
    return result;
  }

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@yeongsinkeem yeongsinkeem merged commit 36f5ce9 into dev_temp Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] 캘린더 일정 생성

2 participants