Skip to content
Closed
Show file tree
Hide file tree
Changes from all 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
36 changes: 22 additions & 14 deletions src/api/service/user-service/index.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,29 @@
import { api } from '@/api/core';
import {
Availability,
FollowParams,
GetEmailAvailabilityParams,
GetNickNameAvailabilityParams,
GetUserParams,
UpdateMePayload,
UpdateMyImagePayload,
UpdateMyNotiParams,
UpdateMyProfileImagePayload,
User,
} from '@/types/service/user';

export const userServiceRemote = () => ({
// 2. 프로필 편집
// 1. 사용자 팔로우
followUser: async (payload: FollowParams) => {
return api.post<void>(`/follows/${payload.followNickname}`);
},

// 2. 유저 프로필 변경
updateMe: async (payload: UpdateMePayload) => {
return api.patch<User>('/users', payload);
},

// 3. 프로필 이미지 편집
updateMyImage: async (payload: UpdateMyImagePayload) => {
// 3. 프로필 이미지 변경
updateMyProfileImage: async (payload: UpdateMyProfileImagePayload) => {
return api.patch<User>(`/users/profile-image`, payload);
},

Expand All @@ -24,23 +32,23 @@ export const userServiceRemote = () => ({
return api.patch<User>(`/users/notification/${payload.isNotificationEnabled}`);
},

// 5. 사용자 단건 조회
// 5. 유저 프로필 조회
getUser: async (payload: GetUserParams) => {
return api.get<User>(`/users/${payload.userId}`);
},

// 1. 사용자 팔로우
followUser: async (payload: FollowParams) => {
return api.post<void>(`/follows/${payload.followNickname}`);
// 6. 닉네임 중복 검사
getNicknameAvailability: async (params: GetNickNameAvailabilityParams) => {
return api.get<Availability>(`/users/nickname/availability?nickname=${params.nickName}`);
},

// 7. 이메일 중복 검사
getEmailAvailability: async (params: GetEmailAvailabilityParams) => {
return api.get<Availability>(`/users/email/availability?email=${params.email}`);
},

// 6. 사용자 언팔로우
// 8. 사용자 언팔로우
unfollowUser: async (payload: FollowParams) => {
return api.delete<void>(`/follows/${payload.followNickname}`);
},

// 7. 회원탈퇴
deleteMe: async () => api.delete<User>(`/users`),

// 8. 사용자 프로필 이미지 변경
});
1 change: 0 additions & 1 deletion src/hooks/use-user/index.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
export { useDeleteUser } from './use-user-delete';
export { useFollowUser } from './use-user-follow';
export { useGetUser } from './use-user-get';
export { useUnfollowUser } from './use-user-unfollow';
Expand Down
19 changes: 0 additions & 19 deletions src/hooks/use-user/use-user-delete/index.ts

This file was deleted.

14 changes: 13 additions & 1 deletion src/types/service/user.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ export interface UpdateMePayload {
profileMessage?: string;
}

export interface UpdateMyImagePayload {
export interface UpdateMyProfileImagePayload {
file: File;
}

Expand All @@ -35,3 +35,15 @@ export interface UpdateMyNotiParams {
export interface FollowParams {
followNickname: string;
}

export interface Availability {
available: boolean;
}

export interface GetNickNameAvailabilityParams {
nickName: string;
}

export interface GetEmailAvailabilityParams {
email: string;
}