package ticket

import (
	baseapi "github.com/tidbcloud/aisupport/packages/sdk-go/contracts/api/base"
	dispatchent "github.com/tidbcloud/aisupport/packages/sdk-go/contracts/entity/ticket-manager/dispatch"
	tktent "github.com/tidbcloud/aisupport/packages/sdk-go/contracts/entity/ticket-manager/ticket"
)

type ListTicketsRequest struct{}

type ListTicketsResponse struct {
	*baseapi.BaseResponse

	Tickets []*tktent.Ticket `json:"tickets"`
}

type GetTicketRequest struct {
	JiraIssueKey string `json:"jiraIssueKey" uri:"jiraIssueKey"`
}

type GetTicketResponse struct {
	*baseapi.BaseResponse

	Ticket *tktent.Ticket `json:"ticket"`
}

type CreateTicketRequest struct {
	JiraIssue *tktent.JiraIssue `json:"jiraIssue,omitempty"`
}

type CreateTicketResponse struct {
	*baseapi.BaseResponse

	DispatchTrigger *dispatchent.DispatchTrigger `json:"dispatchTrigger"`
}

type UpdateTicketJiraIssueRequest struct {
	JiraIssue *tktent.JiraIssue `json:"jiraIssue,omitempty"`
}
