package response

type MCFAttributes struct {
	HelicopterID string  `json:"helicopter_id" example:"019d6771-5fb5-7337-837f-bc5ed85181a1"`
	FlightID     string  `json:"flight_id,omitempty" example:"019d6774-98e8-7fba-9ef4-3795c0da8a13"`
	Date         string  `json:"date" example:"2026-06-17"`
	AFHours      string  `json:"af_hours,omitempty" example:"1245.3"`
	LandingCount int     `json:"landing_count" example:"3"`
	UTCTime      *string `json:"utc_time,omitempty" example:"2026-06-17T08:30:00Z"`
	DecidedBy    string  `json:"decided_by,omitempty" example:"019d61db-53c6-7280-87ec-e65f205c6d3b"`
	DecidedAt    *string `json:"decided_at,omitempty" example:"2026-06-16T03:04:05Z"`
	Result       *string `json:"result,omitempty" example:"passed" enums:"passed,failed"`

	Notes       *string `json:"notes,omitempty" example:"Vibration within limits"`
	CompletedBy string  `json:"completed_by,omitempty" example:"019d61db-53c6-7280-87ec-e65f205c6d3b"`
	CompletedAt *string `json:"completed_at,omitempty" example:"2026-06-16T03:04:05Z"`

	IsComplete bool   `json:"is_complete" example:"false"`
	IsCleared  bool   `json:"is_cleared" example:"false"`
	IsPending  bool   `json:"is_pending" example:"true"`
	CreatedAt  string `json:"created_at,omitempty" example:"2026-06-16T03:04:05Z"`
	UpdatedAt  string `json:"updated_at,omitempty" example:"2026-06-16T03:04:05Z"`
}

type MCFResource struct {
	Type       string        `json:"type" example:"mcf"`
	ID         string        `json:"id" example:"019d6771-5fb5-7337-837f-bc5ed85181a1"`
	Attributes MCFAttributes `json:"attributes"`
}

type MCFResponse struct {
	Data MCFResource `json:"data"`
}

type MCFListResponse struct {
	Data []MCFResource `json:"data"`
	Meta struct {
		Total int64 `json:"total" example:"1"`
	} `json:"meta"`
}
