// 프로젝트 멤버 도메인 타입 — 백엔드 ProjectMemberResponse / DTO 와 1:1

import type { ApiMember } from '@/types/repo'

// 권한 역할
export type MemberRoleType = 'admin' | 'member'

// 멤버(API 원시) — 백엔드 ProjectMemberResponse 와 1:1 (isYou 는 프론트가 산출)
export interface ApiProjectMember {
  user: ApiMember // { id, email, name, role }
  email: string
  taskCount: number
  roleType: MemberRoleType
  owner: boolean // 소유자(isOwner) — 역할 변경/제거 불가
}

// 멤버 초대 요청 — 이미 가입된 사용자를 이메일로 초대
export interface InviteMemberPayload {
  email: string
  roleType: MemberRoleType
}

// 멤버 역할 변경 요청
export interface UpdateMemberPayload {
  roleType?: MemberRoleType
}
