diff --git a/src/api/auth.ts b/src/api/auth.ts index f84c3cc..4e02e61 100644 --- a/src/api/auth.ts +++ b/src/api/auth.ts @@ -1,33 +1,23 @@ import { http } from './http' -export interface Member { +/** 관리자 계정 (아이디/비밀번호 로그인). 회원(users)과 분리. */ +export interface Admin { id: number - email: string - nickname: string - role: 'USER' | 'ADMIN' - provider: 'GOOGLE' | 'APPLE' - subscriptionTier: 'FREE' | 'AD_FREE' | 'PREMIUM' - status: 'ACTIVE' | 'DORMANT' | 'BANNED' - profileImage: string | null - createdAt: string + username: string + name: string } -export interface LoginResponse { +export interface AdminLoginResponse { token: string expiresInSeconds: number - member: Member + admin: Admin } export const authApi = { - googleClientId: () => http.get<{ clientId: string }>('/api/auth/google-client-id'), + login: (username: string, password: string) => + http.post('/api/admin/auth/login', { username, password }), - googleLogin: (idToken: string, rememberMe = true) => - http.post('/api/auth/google', { idToken, rememberMe }), + me: () => http.get('/api/admin/auth/me'), - me: () => http.get('/api/auth/me'), - - logout: () => http.post('/api/auth/logout'), - - /** 개발자 로그인 — local 백엔드 전용(구글 없이 이메일로 세션 발급). */ - devLogin: (email: string) => http.post('/api/auth/dev-login', { email }), + logout: () => http.post('/api/admin/auth/logout'), } diff --git a/src/api/members.ts b/src/api/members.ts index e37c77b..c415d44 100644 --- a/src/api/members.ts +++ b/src/api/members.ts @@ -1,5 +1,17 @@ import { http } from './http' -import type { Member } from './auth' + +/** 앱 회원(users) — 소셜 로그인. 관리자(Admin)와 별개. */ +export interface Member { + id: number + email: string + nickname: string + role: 'USER' | 'ADMIN' + provider: 'GOOGLE' | 'APPLE' + subscriptionTier: 'FREE' | 'AD_FREE' | 'PREMIUM' + status: 'ACTIVE' | 'DORMANT' | 'BANNED' + profileImage: string | null + createdAt: string +} export type MemberStatus = 'ACTIVE' | 'DORMANT' | 'BANNED' export type MemberTier = 'FREE' | 'AD_FREE' | 'PREMIUM' diff --git a/src/layouts/AdminLayout.vue b/src/layouts/AdminLayout.vue index 723d97b..c45861b 100644 --- a/src/layouts/AdminLayout.vue +++ b/src/layouts/AdminLayout.vue @@ -9,7 +9,7 @@ - {{ auth.member?.nickname ?? '관리자' }} + {{ auth.admin?.name ?? '관리자' }} diff --git a/src/pages/LoginPage.vue b/src/pages/LoginPage.vue index 9a897cc..00d8572 100644 --- a/src/pages/LoginPage.vue +++ b/src/pages/LoginPage.vue @@ -9,34 +9,43 @@
관리자 계정으로 로그인하세요
-
-
-
+ + + + + + + + + + + {{ error }} + -
- -
개발용 (local 백엔드)
-
- - - - - - {{ error }} - - -
- 구글 로그인이 설정되지 않았습니다. (서버 GOOGLE_CLIENT_ID 확인) -
+
@@ -44,82 +53,24 @@