package taskruns

import "github.com/pingcap/test-infra/common/model/tcms/general"

type SvcTaskRunList struct {
	general.GeneralHeader
	Items []SvcTaskRun `json:"items"`
	Total *int         `json:"total,omitempty"`
}

const (
	KindSvcTaskRun     = "SvcTaskRun"
	KindSvcTaskRunList = "SvcTaskRunList"
)

type ListSvcTaskRunOpts struct {
	general.GeneralListOpts
	Completed       *bool         `schema:"completed,omitempty"`
}

type GetSvcTaskRunOpts struct {
	general.GeneralGetOpts
}

type CreateSvcTaskRunOpts struct {
	general.GeneralCreateOpts
}

type DeleteSvcTaskRunOpts struct {
	general.GeneralDeleteOpts
}

type UpdateSvcTaskRunOpts struct {
	general.GeneralDeleteOpts
}

func (m *SvcTaskRun) FillHeader() {
	m.GeneralHeader = general.GeneralHeader{ApiVersion: general.CurrentApiVersion, Kind: KindSvcTaskRun}
}

func (m *SvcTaskRun) Validate() error {
	return nil
}

func (m *SvcTaskRunList) FillHeader() {
	m.GeneralHeader = general.GeneralHeader{ApiVersion: general.CurrentApiVersion, Kind: KindSvcTaskRunList}
}

type SvcTaskList struct {
	general.GeneralHeader
	Items []SvcTask `json:"items"`
	Total *int      `json:"total,omitempty"`
}

const (
	KindSvcTask     = "SvcTask"
	KindSvcTaskList = "SvcTaskList"
)

type ListSvcTaskOpts struct {
	general.GeneralListOpts
}

type GetSvcTaskOpts struct {
	general.GeneralGetOpts
}

type CreateSvcTaskOpts struct {
	general.GeneralCreateOpts
}

type DeleteSvcTaskOpts struct {
	general.GeneralDeleteOpts
}

type UpdateSvcTaskOpts struct {
	general.GeneralDeleteOpts
}

func (m *SvcTask) FillHeader() {
	m.GeneralHeader = general.GeneralHeader{ApiVersion: general.CurrentApiVersion, Kind: KindSvcTask}
}

func (m *SvcTask) Validate() error {
	return nil
}

func (m *SvcTaskList) FillHeader() {
	m.GeneralHeader = general.GeneralHeader{ApiVersion: general.CurrentApiVersion, Kind: KindSvcTaskList}
}
