package dto

import "time"

// APIKeyDTO defines inbound payload for API key creation/update.
type APIKeyDTO struct {
	GroupID     uint      `json:"group_id"`
	APIKey      string    `json:"api_key"`
	AccessToken string    `json:"access_token,omitempty"`
	RefreshToken string   `json:"refresh_token,omitempty"`
	ExpiresAt   time.Time `json:"expires_at,omitempty"`
	AccountID   string    `json:"account_id,omitempty"`
	ProjectID   string    `json:"project_id,omitempty"`
	Weight      int       `json:"weight,omitempty"`
	Status      string    `json:"status"`
	AutoBan     *bool     `json:"auto_ban,omitempty"`
	BanReason   string    `json:"ban_reason,omitempty"`
	BanUntil    time.Time `json:"ban_until,omitempty"`
}
