Skip to content

feat: 프로젝트 생성 API 구현 #256

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

Merged
merged 5 commits into from
Apr 3, 2024
Merged

Conversation

kimsj-git
Copy link
Collaborator

🎟️ 태스크

프로젝트 생성 API 구현

✅ 작업 내용

🖊️ 구체적인 작업

Project 엔티티 생성 및 Member 엔티티와 다대다 관계 구현

  • Project, Member 엔티티를 ProjectToMember 엔티티에 각각 OneToMany 관계로 연결하여 다대다 관계 구현

ProjectRepository 구현

  • 프로젝트 생성하는 create 메서드 구현
  • 프로젝트 멤버를 추가하는 addProjectMember 메서드 구현

프로젝트 생성 API 서비스, 컨트롤러 로직 구현

프로젝트 생성 API e2e 테스트 작성

🤔 고민 및 의논할 거리

  • 페어 프로그래밍 과정에서는 ProjectRepository와 ProjectToMemberRepository를 따로 만들었는데, ProjectRepository 안에서 ProjectToMember 엔티티와 관련한 처리까지 같이 하면 구조를 단순화할 수 있을 것 같아서 ProjectRepository에 addProjectMember라는 메서드를 만들었습니다. ProjectRepository 생성자에 projectToMemberRepository를 주입하고, 기존 ProjectToMemberRepository는 제거하였습니다.
    @Injectable()
    export class ProjectRepository {
      constructor(
        @InjectRepository(Project)
        private readonly projectRepository: Repository<Project>,
        @InjectRepository(ProjectToMember)
        private readonly projectToMemberRepository: Repository<ProjectToMember>,
      ) {}
    
      create(project: Project): Promise<Project> {
        return this.projectRepository.save(project);
      }
    
      addProjectMember(project: Project, member: Member): Promise<ProjectToMember> {
        return this.projectToMemberRepository.save(
          ProjectToMember.of(project, member),
        );
      }
    }

kimsj-git and others added 5 commits April 3, 2024 13:26
- Project, Member 엔티티를 ProjectToMember 엔티티에 각각 OneToMany 관계로 연결하여 다대다 관계 구현

Co-Authored-By: 조영우 <[email protected]>
- 프로젝트 생성하는 create 메서드 구현
- 프로젝트 멤버를 추가하는 addProjectMember 메서드 구현

Co-Authored-By: 조영우 <[email protected]>
@choyoungwoo9
Copy link
Collaborator

LGTM

@choyoungwoo9 choyoungwoo9 merged commit f09d3fc into dev Apr 3, 2024
1 check passed
@choyoungwoo9 choyoungwoo9 deleted the feature/create-project branch April 3, 2024 23:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants