Skip to content

Commit 3062ed3

Browse files
committed
refactor: 파라미터 형식 변경
- 레포지토리의 getProjectToMember 메서드 파라미터를 project가 아닌 projectId만 받도록 변경 - 서비스의 isProjectMember, isProjectLeader 메서드 파라미터를 project가 아닌 projectId만 받도록 변경 - 서비스 메서드의 변경으로 인해 영향을 받는 컨트롤러 계층의 인수 수정
1 parent 99e98ba commit 3062ed3

File tree

6 files changed

+14
-24
lines changed

6 files changed

+14
-24
lines changed

backend/src/project/project.controller.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ export class ProjectController {
6161
if (!project) throw new NotFoundException();
6262

6363
const isProjectMember = await this.projectService.isProjectMember(
64-
project,
64+
project.id,
6565
request.member,
6666
);
6767
if (isProjectMember)
@@ -71,7 +71,9 @@ export class ProjectController {
7171
await this.projectService.addMember(project, request.member);
7272
} catch (err) {
7373
if (err.message === 'Project reached its maximum member capacity')
74-
throw new ConflictException('Project reached its maximum member capacity');
74+
throw new ConflictException(
75+
'Project reached its maximum member capacity',
76+
);
7577
throw err;
7678
}
7779
this.projectWebsocketGateway.notifyJoinToConnectedMembers(

backend/src/project/project.repository.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ export class ProjectRepository {
9595
}
9696

9797
getProjectToMember(
98-
project: Project,
98+
projectId: number,
9999
member: Member,
100100
): Promise<ProjectToMember | null> {
101101
return this.projectToMemberRepository.findOne({
102-
where: { project: { id: project.id }, member: { id: member.id } },
102+
where: { project: { id: projectId }, member: { id: member.id } },
103103
});
104104
}
105105

backend/src/project/service/project.service.spec.ts

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,6 @@ describe('ProjectService', () => {
8585
});
8686
});
8787

88-
describe('Get project', () => {
89-
const project = Project.of('title', 'subject');
90-
const projectId = 1;
91-
it('should return project', async () => {
92-
jest.spyOn(projectRepository, 'getProject').mockResolvedValue(project);
93-
const result = await projectService.getProject(projectId);
94-
95-
expect(projectRepository.getProject).toHaveBeenCalledWith(projectId);
96-
expect(result).toEqual(project);
97-
});
98-
});
99-
10088
describe('Add Member', () => {
10189
const project = Project.of('title', 'subject');
10290
project.inviteLinkId = 'inviteUuid';

backend/src/project/service/project.service.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export class ProjectService {
3232
title: string,
3333
subject: string,
3434
): Promise<boolean> {
35-
if (!(await this.isProjectLeader(project, member))) {
35+
if (!(await this.isProjectLeader(project.id, member))) {
3636
throw new Error('Member is not the project leader');
3737
}
3838
return this.projectRepository.updateProjectInfo(project, title, subject);
@@ -47,7 +47,7 @@ export class ProjectService {
4747
}
4848

4949
async addMember(project: Project, member: Member): Promise<void> {
50-
const isProjectMember = await this.isProjectMember(project, member);
50+
const isProjectMember = await this.isProjectMember(project.id, member);
5151
if (isProjectMember) throw new Error('already joined member');
5252

5353
if ((await this.getProjectMemberList(project)).length >= 10)
@@ -64,16 +64,16 @@ export class ProjectService {
6464
return this.projectRepository.getProjectMemberList(project);
6565
}
6666

67-
async isProjectMember(project: Project, member: Member): Promise<boolean> {
67+
async isProjectMember(projectId: number, member: Member): Promise<boolean> {
6868
const projectToMember: ProjectToMember | null =
69-
await this.projectRepository.getProjectToMember(project, member);
69+
await this.projectRepository.getProjectToMember(projectId, member);
7070
if (!projectToMember) return false;
7171
return true;
7272
}
7373

74-
async isProjectLeader(project: Project, member: Member): Promise<boolean> {
74+
async isProjectLeader(projectId: number, member: Member): Promise<boolean> {
7575
const projectToMember = await this.projectRepository.getProjectToMember(
76-
project,
76+
projectId,
7777
member,
7878
);
7979
return projectToMember?.role === MemberRole.LEADER;

backend/src/project/websocket.gateway.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ export class ProjectWebsocketGateway
229229
const project = await this.projectService.getProject(client.projectId);
230230
if (!project) throw new Error('Project not found');
231231
const isProjectMember = await this.projectService.isProjectMember(
232-
project,
232+
project.id,
233233
client.member,
234234
);
235235
if (!isProjectMember) throw new Error('Not project member');

backend/src/project/ws-controller/ws-project.controller.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export class WsProjectController {
6767
async joinSettingPage(client: ClientSocket) {
6868
if (
6969
!(await this.projectService.isProjectLeader(
70-
client.project,
70+
client.project.id,
7171
client.member,
7272
))
7373
) {

0 commit comments

Comments
 (0)