generated from pricelees/issue-pr-template
<!-- 제목 양식 --> <!-- [이슈번호] 작업 요약 (예시: [#10] Gitea 템플릿 생성) --> ## 📝 관련 이슈 및 PR **PR과 관련된 이슈 번호** - #22 ## ✨ 작업 내용 <!-- 어떤 작업을 했는지 알려주세요! --> - 기존 Thymeleaf 기반의 프론트엔드 코드를 React + Typescript 기반으로 마이그레이션 - 프론트엔드 분리에 따른 인증 API 수정 및 회원가입 API 추가 ## 🧪 테스트 <!-- 어떤 테스트를 생각했고 진행했는지 알려주세요! --> - 새로 추가된 API, 변경된 API 테스트 반영 ## 📚 참고 자료 및 기타 <!-- 참고한 자료, 또는 논의할 사항이 있다면 알려주세요! --> 프론트엔드 코드는 Gemini CLI가 구현하였고, API 관련 코드(ee21782ef9, frontend/src/api/**) 만 직접 구성 Reviewed-on: #23 Co-authored-by: pricelees <priceelees@gmail.com> Co-committed-by: pricelees <priceelees@gmail.com>
20 lines
666 B
TypeScript
20 lines
666 B
TypeScript
import apiClient from '@_api/apiClient';
|
|
import type { LoginRequest, LoginResponse, LoginCheckResponse } from './authTypes';
|
|
|
|
|
|
export const login = async (data: LoginRequest): Promise<LoginResponse> => {
|
|
const response = await apiClient.post<LoginResponse>('/login', data, false);
|
|
localStorage.setItem('accessToken', response.accessToken);
|
|
|
|
return response;
|
|
};
|
|
|
|
export const checkLogin = async (): Promise<LoginCheckResponse> => {
|
|
return await apiClient.get<LoginCheckResponse>('/login/check', true);
|
|
};
|
|
|
|
export const logout = async (): Promise<void> => {
|
|
await apiClient.post('/logout', {}, true);
|
|
localStorage.removeItem('accessToken');
|
|
};
|