23 lines
812 B
TypeScript
23 lines
812 B
TypeScript
|
|
import { http } from './http'
|
||
|
|
import type { Member } from './auth'
|
||
|
|
|
||
|
|
export type MemberStatus = 'ACTIVE' | 'DORMANT' | 'BANNED'
|
||
|
|
export type MemberTier = 'FREE' | 'AD_FREE' | 'PREMIUM'
|
||
|
|
export type MemberRole = 'USER' | 'ADMIN'
|
||
|
|
|
||
|
|
/** 관리자 회원관리 API — /api/admin/members (ADMIN 전용) */
|
||
|
|
export const adminMembersApi = {
|
||
|
|
list: () => http.get<Member[]>('/api/admin/members'),
|
||
|
|
|
||
|
|
updateStatus: (id: number, status: MemberStatus) =>
|
||
|
|
http.put<Member>(`/api/admin/members/${id}/status`, { status }),
|
||
|
|
|
||
|
|
updateTier: (id: number, tier: MemberTier) =>
|
||
|
|
http.put<Member>(`/api/admin/members/${id}/tier`, { tier }),
|
||
|
|
|
||
|
|
updateRole: (id: number, role: MemberRole) =>
|
||
|
|
http.put<Member>(`/api/admin/members/${id}/role`, { role }),
|
||
|
|
|
||
|
|
remove: (id: number) => http.del<void>(`/api/admin/members/${id}`),
|
||
|
|
}
|