31 lines
801 B
TypeScript
31 lines
801 B
TypeScript
|
|
import {
|
|||
|
|
AUTH_ERROR_CODE_MESSAGES,
|
|||
|
|
AUTH_ERROR_MESSAGES,
|
|||
|
|
AUTH_ERROR_STATUS_MESSAGES,
|
|||
|
|
} from "./constants";
|
|||
|
|
|
|||
|
|
export type AuthApiErrorLike = {
|
|||
|
|
message?: string | null;
|
|||
|
|
code?: string | null;
|
|||
|
|
status?: number | null;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
/**
|
|||
|
|
* Supabase Auth 에러 데이터를 인간이 읽을 수 있는 한글 메시지로 변환합니다.
|
|||
|
|
*/
|
|||
|
|
export function getAuthErrorMessage(error: AuthApiErrorLike): string {
|
|||
|
|
if (error.code && error.code in AUTH_ERROR_CODE_MESSAGES) {
|
|||
|
|
return AUTH_ERROR_CODE_MESSAGES[
|
|||
|
|
error.code as keyof typeof AUTH_ERROR_CODE_MESSAGES
|
|||
|
|
];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (error.status && error.status in AUTH_ERROR_STATUS_MESSAGES) {
|
|||
|
|
return AUTH_ERROR_STATUS_MESSAGES[
|
|||
|
|
error.status as keyof typeof AUTH_ERROR_STATUS_MESSAGES
|
|||
|
|
];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return AUTH_ERROR_MESSAGES.DEFAULT;
|
|||
|
|
}
|