Skip to content
Open
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
688 changes: 688 additions & 0 deletions apps/web/src/apis/.bruno-cache/hashes.json

Large diffs are not rendered by default.

52 changes: 36 additions & 16 deletions apps/web/src/apis/Admin/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,14 @@ export interface LanguageTestListResponse {
empty: boolean;
}

export type μœ μ € 차단 μˆ˜λ™ ν•΄μ œResponse = Record<string, never>;

export type μœ μ € 차단 μˆ˜λ™ ν•΄μ œRequest = Record<string, never>;

export type μœ μ € 차단Response = Record<string, never>;

export type μœ μ € 차단Request = Record<string, never>;

export interface VerifyGpaResponse {
id: number;
gpa: number;
Expand Down Expand Up @@ -143,34 +151,46 @@ export interface GpaListResponse {
}

export const adminApi = {
putVerifyLanguageTest: async (params: {
languageTestScoreId: string | number;
data?: VerifyLanguageTestRequest;
}): Promise<VerifyLanguageTestResponse> => {
putVerifyLanguageTest: async (params: { languageTestScoreId: string | number, data?: VerifyLanguageTestRequest }): Promise<VerifyLanguageTestResponse> => {
const res = await axiosInstance.put<VerifyLanguageTestResponse>(
`/admin/scores/language-tests/${params.languageTestScoreId}`,
params?.data,
`/admin/scores/language-tests/${params.languageTestScoreId}`, params?.data
);
return res.data;
},

getLanguageTestList: async (params: { params?: Record<string, any> }): Promise<LanguageTestListResponse> => {
const res = await axiosInstance.get<LanguageTestListResponse>(`/admin/scores/language-tests?page=1&size=10`, {
params: params?.params,
});
const res = await axiosInstance.get<LanguageTestListResponse>(
`/admin/scores/language-tests?page=1&size=10`, { params: params?.params }
);
return res.data;
},

patchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ: async (params: { userId: string | number, data?: μœ μ € 차단 μˆ˜λ™ ν•΄μ œRequest }): Promise<μœ μ € 차단 μˆ˜λ™ ν•΄μ œResponse> => {
const res = await axiosInstance.patch<μœ μ € 차단 μˆ˜λ™ ν•΄μ œResponse>(
`/admin/users/${params.userId}/unban`, params?.data
);
return res.data;
},

postμœ μ € 차단: async (params: { userId: string | number, data?: μœ μ € 차단Request }): Promise<μœ μ € 차단Response> => {
const res = await axiosInstance.post<μœ μ € 차단Response>(
`/admin/users/${params.userId}/ban`, params?.data
);
return res.data;
},

putVerifyGpa: async (params: {
gpaScoreId: string | number;
data?: VerifyGpaRequest;
}): Promise<VerifyGpaResponse> => {
const res = await axiosInstance.put<VerifyGpaResponse>(`/admin/scores/gpas/${params.gpaScoreId}`, params?.data);
putVerifyGpa: async (params: { gpaScoreId: string | number, data?: VerifyGpaRequest }): Promise<VerifyGpaResponse> => {
const res = await axiosInstance.put<VerifyGpaResponse>(
`/admin/scores/gpas/${params.gpaScoreId}`, params?.data
);
return res.data;
},

getGpaList: async (params: { params?: Record<string, any> }): Promise<GpaListResponse> => {
const res = await axiosInstance.get<GpaListResponse>(`/admin/scores/gpas`, { params: params?.params });
const res = await axiosInstance.get<GpaListResponse>(
`/admin/scores/gpas`, { params: params?.params }
);
return res.data;
},
};

};
6 changes: 3 additions & 3 deletions apps/web/src/apis/Admin/getGpaList.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AxiosError } from "axios";
import { useQuery } from "@tanstack/react-query";
import type { AxiosError } from "axios";
import { adminApi, GpaListResponse } from "./api";
import { QueryKeys } from "../queryKeys";
import { adminApi, type GpaListResponse } from "./api";

const useGetGpaList = (params?: Record<string, any>) => {
return useQuery<GpaListResponse, AxiosError>({
Expand All @@ -10,4 +10,4 @@ const useGetGpaList = (params?: Record<string, any>) => {
});
};

export default useGetGpaList;
export default useGetGpaList;
6 changes: 3 additions & 3 deletions apps/web/src/apis/Admin/getLanguageTestList.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { AxiosError } from "axios";
import { useQuery } from "@tanstack/react-query";
import type { AxiosError } from "axios";
import { adminApi, LanguageTestListResponse } from "./api";
import { QueryKeys } from "../queryKeys";
import { adminApi, type LanguageTestListResponse } from "./api";

const useGetLanguageTestList = (params?: Record<string, any>) => {
return useQuery<LanguageTestListResponse, AxiosError>({
Expand All @@ -10,4 +10,4 @@ const useGetLanguageTestList = (params?: Record<string, any>) => {
});
};

export default useGetLanguageTestList;
export default useGetLanguageTestList;
12 changes: 7 additions & 5 deletions apps/web/src/apis/Admin/index.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
export { adminApi } from "./api";
export { default as getGpaList } from "./getGpaList";
export { default as getLanguageTestList } from "./getLanguageTestList";
export { default as putVerifyGpa } from "./putVerifyGpa";
export { default as putVerifyLanguageTest } from "./putVerifyLanguageTest";
export { adminApi } from './api';
export { default as getGpaList } from './getGpaList';
export { default as getLanguageTestList } from './getLanguageTestList';
export { default as patchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ } from './patchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ';
export { default as postμœ μ € 차단 } from './postμœ μ € 차단';
export { default as putVerifyGpa } from './putVerifyGpa';
export { default as putVerifyLanguageTest } from './putVerifyLanguageTest';
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { AxiosError } from "axios";
import { useMutation } from "@tanstack/react-query";
import { adminApi, μœ μ € 차단 μˆ˜λ™ ν•΄μ œResponse, μœ μ € 차단 μˆ˜λ™ ν•΄μ œRequest } from "./api";

const usePatchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ = () => {
return useMutation<μœ μ € 차단 μˆ˜λ™ ν•΄μ œResponse, AxiosError, { userId: string | number; data: μœ μ € 차단 μˆ˜λ™ ν•΄μ œRequest }>({
mutationFn: (variables) => adminApi.patchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ(variables),
});
};

export default usePatchμœ μ € 차단 μˆ˜λ™ ν•΄μ œ;
11 changes: 11 additions & 0 deletions apps/web/src/apis/Admin/postμœ μ € 차단.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { AxiosError } from "axios";
import { useMutation } from "@tanstack/react-query";
import { adminApi, μœ μ € 차단Response, μœ μ € 차단Request } from "./api";

const usePostμœ μ € 차단 = () => {
return useMutation<μœ μ € 차단Response, AxiosError, { userId: string | number; data: μœ μ € 차단Request }>({
mutationFn: (variables) => adminApi.postμœ μ € 차단(variables),
});
};

export default usePostμœ μ € 차단;
6 changes: 3 additions & 3 deletions apps/web/src/apis/Admin/putVerifyGpa.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { AxiosError } from "axios";
import { useMutation } from "@tanstack/react-query";
import type { AxiosError } from "axios";
import { adminApi, type VerifyGpaRequest, type VerifyGpaResponse } from "./api";
import { adminApi, VerifyGpaResponse, VerifyGpaRequest } from "./api";

const usePutVerifyGpa = () => {
return useMutation<VerifyGpaResponse, AxiosError, { gpaScoreId: string | number; data: VerifyGpaRequest }>({
mutationFn: (variables) => adminApi.putVerifyGpa(variables),
});
};

export default usePutVerifyGpa;
export default usePutVerifyGpa;
12 changes: 4 additions & 8 deletions apps/web/src/apis/Admin/putVerifyLanguageTest.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,11 @@
import { AxiosError } from "axios";
import { useMutation } from "@tanstack/react-query";
import type { AxiosError } from "axios";
import { adminApi, type VerifyLanguageTestRequest, type VerifyLanguageTestResponse } from "./api";
import { adminApi, VerifyLanguageTestResponse, VerifyLanguageTestRequest } from "./api";

const usePutVerifyLanguageTest = () => {
return useMutation<
VerifyLanguageTestResponse,
AxiosError,
{ languageTestScoreId: string | number; data: VerifyLanguageTestRequest }
>({
return useMutation<VerifyLanguageTestResponse, AxiosError, { languageTestScoreId: string | number; data: VerifyLanguageTestRequest }>({
mutationFn: (variables) => adminApi.putVerifyLanguageTest(variables),
});
};

export default usePutVerifyLanguageTest;
export default usePutVerifyLanguageTest;
121 changes: 44 additions & 77 deletions apps/web/src/apis/Auth/api.ts
Original file line number Diff line number Diff line change
@@ -1,29 +1,18 @@
import { axiosInstance, publicAxiosInstance } from "@/utils/axiosInstance";
import { axiosInstance } from "@/utils/axiosInstance";

export type SignOutResponse = Record<string, never>;

export type SignOutRequest = Record<string, never>;

// Apple Auth Types
export interface RegisteredAppleAuthResponse {
isRegistered: true;
accessToken: string;
refreshToken: string;
}

export interface UnregisteredAppleAuthResponse {
isRegistered: false;
export interface AppleAuthResponse {
isRegistered: boolean;
nickname: null;
email: string;
profileImageUrl: null;
signUpToken: string;
}

export type AppleAuthResponse = RegisteredAppleAuthResponse | UnregisteredAppleAuthResponse;

export interface AppleAuthRequest {
code: string;
}
export type AppleAuthRequest = Record<string, never>;

export interface RefreshTokenResponse {
accessToken: string;
Expand All @@ -36,110 +25,88 @@ export interface EmailLoginResponse {
refreshToken: string;
}

export interface EmailLoginRequest {
email: string;
password: string;
}
export type EmailLoginRequest = Record<string, never>;

export interface EmailVerificationResponse {
signUpToken: string;
}

export interface EmailVerificationRequest {
email: string;
verificationCode: string;
}

// Kakao Auth Types
export interface RegisteredKakaoAuthResponse {
isRegistered: true;
accessToken: string;
refreshToken: string;
}
export type EmailVerificationRequest = Record<string, never>;

export interface UnregisteredKakaoAuthResponse {
isRegistered: false;
export interface KakaoAuthResponse {
isRegistered: boolean;
nickname: string;
email: string;
profileImageUrl: string;
signUpToken: string;
}

export type KakaoAuthResponse = RegisteredKakaoAuthResponse | UnregisteredKakaoAuthResponse;
export type KakaoAuthRequest = Record<string, never>;

export interface KakaoAuthRequest {
code: string;
}

export type AccountResponse = undefined;
export type AccountResponse = void;

export interface SignUpResponse {
accessToken: string;
refreshToken: string;
}

export interface SignUpRequest {
signUpToken: string;
nickname: string;
profileImageUrl: string;
preparationStatus: string;
interestedRegions: string[];
interestedCountries: string[];
}

export interface EmailSignUpRequest {
email: string;
password: string;
}

export interface EmailSignUpResponse {
signUpToken: string;
}
export type SignUpRequest = Record<string, never>;

export const authApi = {
postSignOut: async (): Promise<SignOutResponse> => {
const res = await axiosInstance.post<SignOutResponse>(`/auth/sign-out`);
postSignOut: async (params: { data?: SignOutRequest }): Promise<SignOutResponse> => {
const res = await axiosInstance.post<SignOutResponse>(
`/auth/sign-out`, params?.data
);
return res.data;
},

postAppleAuth: async (data: AppleAuthRequest): Promise<AppleAuthResponse> => {
const res = await publicAxiosInstance.post<AppleAuthResponse>(`/auth/apple`, data);
postAppleAuth: async (params: { data?: AppleAuthRequest }): Promise<AppleAuthResponse> => {
const res = await axiosInstance.post<AppleAuthResponse>(
`/auth/apple`, params?.data
);
return res.data;
},

postRefreshToken: async (): Promise<RefreshTokenResponse> => {
const res = await publicAxiosInstance.post<RefreshTokenResponse>(`/auth/reissue`);
postRefreshToken: async (params: { data?: RefreshTokenRequest }): Promise<RefreshTokenResponse> => {
const res = await axiosInstance.post<RefreshTokenResponse>(
`/auth/reissue`, params?.data
);
return res.data;
},

postEmailLogin: async (data: EmailLoginRequest): Promise<EmailLoginResponse> => {
const res = await publicAxiosInstance.post<EmailLoginResponse>(`/auth/email/sign-in`, data);
postEmailLogin: async (params: { data?: EmailLoginRequest }): Promise<EmailLoginResponse> => {
const res = await axiosInstance.post<EmailLoginResponse>(
`/auth/email/sign-in`, params?.data
);
return res.data;
},

postEmailSignUp: async (data: EmailSignUpRequest): Promise<EmailSignUpResponse> => {
const res = await publicAxiosInstance.post<EmailSignUpResponse>(`/auth/email/sign-up`, data);
postEmailVerification: async (params: { data?: EmailVerificationRequest }): Promise<EmailVerificationResponse> => {
const res = await axiosInstance.post<EmailVerificationResponse>(
`/auth/email/sign-up`, params?.data
);
return res.data;
},

postKakaoAuth: async (data: KakaoAuthRequest): Promise<KakaoAuthResponse> => {
const res = await publicAxiosInstance.post<KakaoAuthResponse>(`/auth/kakao`, data);
postKakaoAuth: async (params: { data?: KakaoAuthRequest }): Promise<KakaoAuthResponse> => {
const res = await axiosInstance.post<KakaoAuthResponse>(
`/auth/kakao`, params?.data
);
return res.data;
},

deleteAccount: async (): Promise<AccountResponse> => {
const res = await axiosInstance.delete<AccountResponse>(`/auth/quit`);
const res = await axiosInstance.delete<AccountResponse>(
`/auth/quit`
);
return res.data;
},

postSignUp: async (data: SignUpRequest): Promise<SignUpResponse> => {
// μž„μ‹œ 성별, 생년월일 μΆ”κ°€. API λ³€κ²½ μ‹œ μ‚­μ œ
const payload = {
...data,
birth: "2000-01-01",
gender: "PREFER_NOT_TO_SAY",
};
const res = await publicAxiosInstance.post<SignUpResponse>(`/auth/sign-up`, payload);
postSignUp: async (params: { data?: SignUpRequest }): Promise<SignUpResponse> => {
const res = await axiosInstance.post<SignUpResponse>(
`/auth/sign-up`, params?.data
);
return res.data;
},
};

};
Loading
Loading