Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/api/service/user-service/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,11 +59,6 @@ export const userServiceRemote = () => ({
return baseAPI.get<User>(`/api/v1/users/me`);
},

// 8-1. 본인 프로필 조회(redirect skip)
getMeSkipRedirect: async () => {
return baseAPI.get<User>(`/api/v1/users/me`);
},

// 9. 이메일 중복 검사
getEmailAvailability: async (queryParams: GetEmailAvailabilityQueryParams) => {
return baseAPI.get<Availability>(`/api/v1/users/email/availability`, {
Expand Down
2 changes: 1 addition & 1 deletion src/app/(user)/profile/[userId]/layout.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ const ProfileLayout = async ({ children, params }: Props) => {
queryClient
.fetchQuery({
queryKey: userKeys.me(),
queryFn: () => API.userService.getMeSkipRedirect(),
queryFn: () => API.userService.getMe(),
})
.catch(() => null),
]);
Expand Down
16 changes: 1 addition & 15 deletions src/app/(user)/profile/[userId]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,33 +1,19 @@
'use client';

import { useRouter } from 'next/navigation';

import { use, useEffect } from 'react';
import { use } from 'react';

import { ProfileInfo } from '@/components/pages/user/profile';
import { useGetUser } from '@/hooks/use-user';
import { useUserGetMeSkipRedirect } from '@/hooks/use-user/use-user-get-me';

interface Props {
params: Promise<{ userId: string }>;
}

const ProfilePage = ({ params }: Props) => {
const router = useRouter();

const { userId: id } = use(params);
const userId = Number(id);

const { data: user } = useGetUser({ userId });
const { data: me } = useUserGetMeSkipRedirect();

useEffect(() => {
if (user?.userId === me?.userId) {
router.replace('/mypage');
}
}, [me?.userId, router, user?.userId]);

if (!user) return null;

return <ProfileInfo user={user} />;
};
Expand Down
4 changes: 2 additions & 2 deletions src/app/message/chat/[roomId]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ export default async function Page({ params }: { params: Promise<{ roomId: strin
const cookieStore = await cookies();
const accessToken = cookieStore.get('accessToken')?.value;

const me = await API.userService.getMeSkipRedirect();
const userId = me.userId;
const me = await API.userService.getMe();
const userId = me?.userId;

return (
<ChatRoomPage
Expand Down
2 changes: 1 addition & 1 deletion src/app/message/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ export default async function MessagePage() {
const accessToken = cookieStore.get('accessToken')?.value || null;
const queryClient = getQueryClient();

const me = await API.userService.getMeSkipRedirect();
const me = await API.userService.getMe();
const userId = me.userId;

await Promise.all([
Expand Down
23 changes: 2 additions & 21 deletions src/hooks/use-user/use-user-get-me/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import { useQuery } from '@tanstack/react-query';
import { useSuspenseQuery } from '@tanstack/react-query';

import { API } from '@/api';
import { userKeys } from '@/lib/query-key/query-key-user';
import { useAuth } from '@/providers';

export const useUserGetMe = () => {
const query = useQuery({
const query = useSuspenseQuery({
queryKey: userKeys.me(),
queryFn: () => API.userService.getMe(),
select: (data) => ({
Expand All @@ -17,21 +16,3 @@ export const useUserGetMe = () => {
});
return query;
};

export const useUserGetMeSkipRedirect = () => {
const { isAuthenticated } = useAuth();

const query = useQuery({
queryKey: userKeys.me(),
queryFn: () => API.userService.getMeSkipRedirect(),
select: (data) => ({
...data,
profileImage: data.profileImage ?? '',
profileMessage: data.profileMessage ?? '',
mbti: data.mbti ?? '',
}),
retry: false,
enabled: isAuthenticated,
});
return query;
};
4 changes: 2 additions & 2 deletions src/hooks/use-user/use-user-get/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { useQuery } from '@tanstack/react-query';
import { useSuspenseQuery } from '@tanstack/react-query';

import { API } from '@/api';
import { userKeys } from '@/lib/query-key/query-key-user';
import { GetUserPathParams } from '@/types/service/user';

export const useGetUser = ({ userId }: GetUserPathParams, options?: { enabled?: boolean }) => {
const query = useQuery({
const query = useSuspenseQuery({
queryKey: userKeys.item(userId),
queryFn: () => API.userService.getUser({ userId }),
...options,
Expand Down