package jira

type IssueLink struct {
	TypeName        string  `json:"type_name"`
	InwardIssueKey  *string `json:"inward_issue,omitempty"`
	OutwardIssueKey *string `json:"outward_issue,omitempty"`
}

// IssueInJira represents the issue structure fetched from Jira API
type IssueInJira struct {
	ID           string             `json:"id"` // raw ID in jira
	Key          string             `json:"key"`
	Summary      string             `json:"summary"`
	Status       string             `json:"status"`
	CreatedAt    int64              `json:"created_at"`
	UpdatedAt    int64              `json:"updated_at"`
	ResolvedAt   *int64             `json:"resolved_at,omitempty"`
	ETA          *int64             `json:"eta,omitempty"`
	Description  string             `json:"description"`
	Priority     string             `json:"priority"`
	Project      Project            `json:"project"`
	Assignee     *User              `json:"assignee"`
	Reporter     *User              `json:"reporter"`
	Components   []string           `json:"components,omitempty"`
	IssueLinks   []IssueLink        `json:"issue_links"`
	Comments     []Comment          `json:"comments,omitempty"`
	CustomerInfo *IssueCustomerInfo `json:"customer_info,omitempty"`
}
