From cf1c6e4f7707ce6f10d32cca7cd62b38d1e81c8f Mon Sep 17 00:00:00 2001 From: Jung SongYi Date: Fri, 4 Jun 2021 23:13:05 +0900 Subject: [PATCH] Add #220 project data to response in getProfile --- controllers/profile/getProfile.ts | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/controllers/profile/getProfile.ts b/controllers/profile/getProfile.ts index 9ecf7bc..77260d7 100644 --- a/controllers/profile/getProfile.ts +++ b/controllers/profile/getProfile.ts @@ -1,6 +1,7 @@ import { Request, Response } from 'express'; -import { Users } from '../../src/entity/Users'; import { getRepository } from 'typeorm'; +import { Users } from '../../src/entity/Users'; +import { Projects } from '../../src/entity/Projects'; const getProfile = async (req: Request, res: Response) => { // 프로필 정보 조회 @@ -31,6 +32,21 @@ const getProfile = async (req: Request, res: Response) => { stackArray.push(stack.name); }); }); + // project 데이터 가져오기 + const allProjects = await getRepository(Projects).find({ + relations: ['members'], + order: { + createdAt: 'DESC', // 순서: 최신순 + }, + }); + let projectList = []; + for (let idx = 0; idx < allProjects.length; idx++) { + let members: number[] = allProjects[idx].members.map(el => el.id); + if (members.includes(userInfo.id)) { + let obj = { ...allProjects[idx], members }; + projectList.push(obj); + } + } console.log( '🧡getProfile-result:', { @@ -43,6 +59,7 @@ const getProfile = async (req: Request, res: Response) => { ...userInfo, career: userInfo.career !== undefined && userInfo.career !== '' ? JSON.parse(userInfo.career) : '{}', stacks: stackArray, + projectList, }); } };