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

[정용준] Week14 #422

Conversation

dkile
Copy link
Collaborator

@dkile dkile commented Jan 23, 2024

요구사항

기본

  • 폴더 페이지에서 유저가 access token이 없는 경우 ‘/signin’페이지로 이동하게 해주세요.
  • 폴더 페이지의 url path가 ‘/folder’일 경우 폴더 목록에서 “전체” 가 선택되어 있고, ‘/folder/{folderId}’일 경우 폴더 목록에서 {folderId} 에 해당하는 폴더가 선택되어 있고 폴더에 있는 링크들을 볼 수 있게 해주세요.
  • 폴더 페이지에서 현재 유저의 폴더 목록 데이터를 받아올 때 ‘/api/folders’를 활용해 주세요.
  • 폴더 페이지에서 전체 링크 데이터를 받아올 때 ‘/api/links’, 특정 폴더의 링크를 받아올 때 ‘/api/links?folderId={folderId}’를 활용해 주세요.
  • 링크 공유 페이지의 url path를 ‘/shared’에서 ‘/shared/{folderId}’로 변경해 주세요.
  • 폴더의 정보는 ‘/api/folders/{folderId}’, 폴더 소유자의 정보는 ‘/api/users/{userId}’를 활용해 주세요.
  • 링크 공유 페이지에서 폴더의 링크 데이터는 ‘/api/users/{userId}/links?folderId={folderId}’를 사용해 주세요.

심화

  • 리퀘스트 헤더에 인증 토큰을 첨부할 때 axios interceptors 또는 이와 유사한 기능을 활용해 주세요.

주요 변경사항

스크린샷

image

멘토에게

  • 파멸적인 file change 21개...pr과 코드가 많이 더럽습니다... 15주차 과제에서 수정하겠습니다.
  • 공유 페이지는 미구현 상태입니다.
  • 셀프 코드 리뷰를 통해 질문 이어가겠습니다.

@dkile dkile self-assigned this Jan 23, 2024
@dkile dkile added 미완성 죄송합니다... 순한맛🐏 마음이 많이 여립니다... labels Jan 23, 2024
Copy link
Collaborator

@JaeSang1998 JaeSang1998 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

용준님 오늘은 코드량이 많진 않네용

근데 왜 순한맛인가요 ㅋㅋㅋ


useEffect(() => {
setUser(user);
});
if (!checkAuthenticated()) router.push(PAGE_ROUTES.SIGNIN);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@@ -16,3 +16,12 @@ export const FolderListResponse = z.object({
data: z.array(FolderVO),
});
export type FolderList = z.infer<typeof FolderListResponse>;

export const MyFolderVO = FolderVO.omit({ link: true });
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

VO, DTO, DO 등등이 사실 layer 가 많이 나뉘어지고 외부 api 연동이 많은 백엔드에서 많이 사용하는 방식이긴 합니다 🤣

@@ -13,8 +12,7 @@ export default function LinkCardListSection({
headerRightSection,
search = "",
}: Props) {
const user = useUser();
const { linkList } = useLinkListQuery(user.id, folder.id);
const { linkList } = useLinkListQuery(folder.id);
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

여기는 query 안에 isLoading 과 같은 util 변수들이 있는데


export default function GNB() {
const isLoggedIn = useAuth();
const currentUser = useCurrentUserQuery();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요긴 없네요?

}));
};

export const createMyFolderListWithMyFolderListVO = (
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이름이 어마무시한군요

@JaeSang1998 JaeSang1998 merged commit 9a575fe into codeit-bootcamp-frontend:part3-정용준 Jan 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
미완성 죄송합니다... 순한맛🐏 마음이 많이 여립니다...
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants