Skip to content

Commit 432ad41

Browse files
authored
Merge pull request #103 from 9roomMoa/feat-29
[FEAT]: 팀원 정보 조회 api 개발
2 parents 85cbc11 + 69ac63a commit 432ad41

3 files changed

Lines changed: 48 additions & 1 deletion

File tree

src/controllers/project-controller.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,22 @@ exports.getAllProjects = async (req, res, next) => {
103103
}
104104
};
105105

106+
exports.getProjectMemberInfo = async (req, res, next) => {
107+
try {
108+
const { pid } = req.params;
109+
110+
const userList = await projectService.getProjectMemberInfo(pid);
111+
112+
return res.status(StatusCodes.OK).json({
113+
data: userList,
114+
success: true,
115+
message: 'User Info retrieved successfully',
116+
});
117+
} catch (err) {
118+
next(err);
119+
}
120+
};
121+
106122
exports.patchProject = async (req, res) => {
107123
try {
108124
const { pid } = req.params;

src/routes/project-route.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ router.get(
1919
projectController.getAllProjects
2020
);
2121

22+
router.get(
23+
'/:pid/members',
24+
authMiddleware.verifyToken,
25+
projectController.getProjectMemberInfo
26+
);
27+
2228
router.patch(
2329
'/:pid',
2430
authMiddleware.verifyToken,
@@ -32,7 +38,7 @@ router.patch(
3238
);
3339

3440
router.get(
35-
'/:pid/members',
41+
'/:pid/members/search',
3642
authMiddleware.verifyToken,
3743
userController.getUserInfoByKeyword
3844
);

src/services/project-service.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,31 @@ exports.getAllProjects = async (userId, teamId) => {
6262
}
6363
};
6464

65+
exports.getProjectMemberInfo = async (pid) => {
66+
try {
67+
const isExistingProject = await taskUtil.isExistingResource(Project, pid);
68+
if (!isExistingProject) {
69+
const error = new Error('No Project Found');
70+
error.statusCode = StatusCodes.NOT_FOUND;
71+
throw error;
72+
}
73+
74+
const project = await Project.findById(pid)
75+
.populate('createdBy', 'name rank')
76+
.populate('members', 'name rank');
77+
78+
const creator = project.createdBy;
79+
const members = project.members;
80+
81+
return {
82+
creator,
83+
members,
84+
};
85+
} catch (err) {
86+
throw err;
87+
}
88+
};
89+
6590
exports.patchProject = async (pid, userId, data) => {
6691
try {
6792
const isExistingProject = await taskUtil.isExistingResource(Project, pid);

0 commit comments

Comments
 (0)