package cluster

import (
	jiraentity "github.com/tidbcloud/devops/entity/jira"
)

type ListAlertsReq struct {
	ListAlertsFilter
	Search    string `form:"search" json:"search"`
	PageToken string `form:"page_token" json:"page_token"`
	PageSize  int    `form:"page_size,default=100,gt=0,lte=100" json:"page_size"`
}

type ListAlertsFilter struct {
	Type      string   `form:"type" binding:"required,oneof=internal external"`
	StartTs   int64    `form:"start_ts" binding:"required"`
	EndTs     int64    `form:"end_ts" binding:"required"`
	Recovered *bool    `form:"recovered"`
	Priority  []string `form:"priority" binding:"dive,oneof=Major Critical" enums:"Major,Critical"`
}

type ListAlertsResp struct {
	IsLast        bool                `json:"is_last"`
	NextPageToken string              `json:"next_page_token"`
	Alerts        []*jiraentity.Alert `json:"items"`
}

type GetAlertSummaryReq struct {
	StartTs int64 `form:"start_ts" binding:"required"`
	EndTs   int64 `form:"end_ts" binding:"required"`
}

type GetAlertSummaryResp struct {
	jiraentity.AlertSummary
}
