package cluster

import (
	"github.com/tidbcloud/devops/api"
	maintent "github.com/tidbcloud/devops/entity/maintenance"
)

type ListMaintenancesReq struct {
	api.PaginationReq

	Statues    []maintent.ClusterMaintenanceTaskStatus `form:"statues"`
	ProjectIDs []string                                `form:"project_ids"`
}

type ListMaintenancesResp struct {
	api.BaseResp `json:",inline"`

	Maintenances []*maintent.ClusterMaintenance `json:"items"`
	Total        int64                          `json:"total"`
}

type GetMaintenanceReq struct {
	WithExecutions bool `form:"with_executions"`
}

type GetMaintenanceResp struct {
	api.BaseResp `json:",inline"`

	Maintenance *maintent.ClusterMaintenance `json:"maintenance"`
}

type CreateMaintenanceReq struct {
	ProjectID   string   `json:"project_id"`
	Description string   `json:"description"`
	Deadline    int64    `json:"deadline"` // unix
	ClusterIDs  []string `json:"cluster_ids"`
}

type CreateMaintenanceResp struct {
	api.BaseResp `json:",inline"`

	ID *uint64 `json:"id"`
}
