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' export interface DogDetail { id: number name: string breed: string | null size: string | null gender: string | null neutered: boolean birthDate: string | null imageUrl: string | null } export interface CheckInDetail { spotName: string region: string | null checkedInAt: string } export interface MatchDetail { id: number direction: string counterpartDog: string status: string createdAt: string } export interface SubscriptionDetail { tier: string platform: string startedAt: string expiresAt: string active: boolean } export interface MemberDetail { member: Member dogs: DogDetail[] checkIns: CheckInDetail[] matches: MatchDetail[] subscriptions: SubscriptionDetail[] } /** 관리자 회원관리 API — /api/admin/members (ADMIN 전용) */ export const adminMembersApi = { list: () => http.get('/api/admin/members'), detail: (id: number) => http.get(`/api/admin/members/${id}`), updateStatus: (id: number, status: MemberStatus) => http.put(`/api/admin/members/${id}/status`, { status }), updateTier: (id: number, tier: MemberTier) => http.put(`/api/admin/members/${id}/tier`, { tier }), updateRole: (id: number, role: MemberRole) => http.put(`/api/admin/members/${id}/role`, { role }), remove: (id: number) => http.del(`/api/admin/members/${id}`), }