Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: 프로젝트에 팀장 추가 #332

Merged
merged 3 commits into from
Sep 9, 2024
Merged

Conversation

choyoungwoo9
Copy link
Collaborator

🎟️ 태스크

팀장 추가하기

✅ 작업 내용

  • feat: 프로젝트의 회원 엔티티에 Role추가
  • style: 들여쓰기 수정
  • test: 프로젝트의 회원 role 추가로 인한 테스트 변경

🖊️ 구체적인 작업

feat: 프로젝트의 회원 엔티티에 Role추가

  • 프로젝트 생성 시 해당 회원의 role이 LEADER가 되도록 구현
  • 프로젝트 생성 시 해당 회원의 role이 MEMBER가 되도록 구현
  • MemberRole Enum 추가
  • project-member Entity에 role 추가
  • 서비스, 레포지토리에 role추가
  • InitLandingResponse DTO에서 role 정보를 함께 반환하도록 구현
  • role관련 E2E 테스트 추가

style: 들여쓰기 수정

test: 프로젝트의 회원 role 추가로 인한 테스트 변경

🤔 고민 및 의논할 거리

  • 개발서버에서 기존의 데이터에도 일관된 role 규칙을 부여하기 위해 개발서버에 접속해 아래의 쿼리를 실행시켰습니다.
    • 테이블에 role 컬럼 추가

      ALTER TABLE project_to_member
      ADD COLUMN role ENUM('LEADER', 'MEMBER') NOT NULL;
    • 첫 번째로 참여한 회원은 LEADER, 나머지는 MEMBER로 설정하는 쿼리 작성

      • 모든 회원의 role을 MEMBER로 설정한다.

        UPDATE project_to_member SET role = 'MEMBER';
      • 프로젝트에 가장 먼저 가입한 회원을 LEADER로 만든다.

        • 서브쿼리는 project별 가장 먼저 가입한 시간을 찾는 쿼리임
        UPDATE project_to_member ptm
        JOIN (
            SELECT project_id, MIN(created_at) AS first_join
            FROM project_to_member
            GROUP BY project_id
        ) first_members ON ptm.project_id = first_members.project_id
        AND ptm.created_at = first_members.first_join
        SET ptm.role = 'LEADER';

- 프로젝트 생성 시 해당 회원의 role이 LEADER가 되도록 구현
- 프로젝트 생성 시 해당 회원의 role이 MEMBER가 되도록 구현
- MemberRole Enum 추가
- project-member Entity에 role 추가
- 서비스, 레포지토리에 role추가
- InitLandingResponse DTO에서 role 정보를 함께 반환하도록 구현
- role관련 E2E 테스트 추가
@choyoungwoo9 choyoungwoo9 added BE 🎉feature 새로운 기능 labels Sep 9, 2024
@choyoungwoo9 choyoungwoo9 merged commit 4fdad7b into dev Sep 9, 2024
1 check passed
@choyoungwoo9 choyoungwoo9 deleted the feature/appendLeader branch September 9, 2024 06:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
BE 🎉feature 새로운 기능
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant