package supportgroup

import "time"

const (
	GroupCodeOwnerOnboarding = "owner_onboarding"
	GroupCodeRenterHandoff   = "renter_handoff"
)

type MemberDTO struct {
	ID            uint64 `json:"id"`
	Username      string `json:"username"`
	Nickname      string `json:"nickname"`
	SupportStatus string `json:"support_status"`
}

type GroupDTO struct {
	ID          uint64      `json:"id"`
	Code        string      `json:"code"`
	Name        string      `json:"name"`
	Description string      `json:"description"`
	Status      string      `json:"status"`
	SortOrder   int         `json:"sort_order"`
	Members     []MemberDTO `json:"members"`
	CreatedAt   time.Time   `json:"created_at"`
	UpdatedAt   time.Time   `json:"updated_at"`
}

type CreateGroupRequest struct {
	Code        string   `json:"code"`
	Name        string   `json:"name" binding:"required"`
	Description string   `json:"description"`
	Status      string   `json:"status"`
	SortOrder   int      `json:"sort_order"`
	MemberIDs   []uint64 `json:"member_ids"`
}

type UpdateGroupRequest struct {
	Name        string   `json:"name" binding:"required"`
	Description string   `json:"description"`
	Status      string   `json:"status"`
	SortOrder   int      `json:"sort_order"`
	MemberIDs   []uint64 `json:"member_ids"`
}

type AssignMembersRequest struct {
	MemberIDs []uint64 `json:"member_ids"`
}
