7e38eae2b7
CI / build (push) Failing after 11m35s
- 헤더에 내 아바타(계정정보 링크) + 앱 시작 시 프로필 동기화(재로그인 없이 아바타/포인트) - 목록: 인기 글 상단 배지(🔥), 비추천 20+ 블라인드 표시 - 상세: 본인 글/댓글 추천·비추천 비활성, 비추천 20+ 글/댓글 블라인드(그래도 보기) - 댓글: 인기 댓글 배지, 본문 작성자에 작성자 뱃지, 목록 하단 새로고침 버튼(입력폼 위) - 추천자 목록 가로 줄바꿈(아바타+이름 단위, 이름 안 잘리게) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
51 lines
1.4 KiB
JavaScript
51 lines
1.4 KiB
JavaScript
import http from './http'
|
|
|
|
// 백엔드 /api/auth 엔드포인트와 매핑
|
|
export const authApi = {
|
|
signup(payload) {
|
|
return http.post('/auth/signup', payload)
|
|
},
|
|
signupEnabled() {
|
|
return http.get('/auth/signup-enabled')
|
|
},
|
|
login(payload) {
|
|
return http.post('/auth/login', payload)
|
|
},
|
|
// 구글 로그인/가입 — GIS에서 받은 ID 토큰 전달
|
|
googleLogin(payload) {
|
|
return http.post('/auth/google', payload)
|
|
},
|
|
googleClientId() {
|
|
return http.get('/auth/google-client-id')
|
|
},
|
|
logout() {
|
|
return http.post('/auth/logout')
|
|
},
|
|
me() {
|
|
return http.get('/auth/me')
|
|
},
|
|
changePassword(payload) {
|
|
return http.put('/auth/password', payload)
|
|
},
|
|
// 가입정보 변경 진입 전 비밀번호 재인증
|
|
verifyPassword(password) {
|
|
return http.post('/auth/verify-password', { password })
|
|
},
|
|
// 가입정보(이름/이메일) 변경
|
|
updateProfile(payload) {
|
|
return http.put('/auth/profile', payload)
|
|
},
|
|
// 프로필 사진 변경/해제 — image 가 null/빈값이면 해제(구글 사진으로 폴백)
|
|
updateProfileImage(image) {
|
|
return http.put('/auth/profile-image', { image })
|
|
},
|
|
// 현재 사용자 활동 포인트 (최신값)
|
|
points() {
|
|
return http.get('/auth/points')
|
|
},
|
|
// 현재 사용자 전체 프로필(아바타·포인트 포함) — 재로그인 없이 최신값 동기화
|
|
profile() {
|
|
return http.get('/auth/profile')
|
|
},
|
|
}
|