types

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 7, 2026 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ExitSuccess   = 0
	ExitGeneral   = 1
	ExitArgError  = 2
	ExitAuthError = 3
	ExitRetryable = 4
	ExitNotFound  = 5
)

Variables

This section is empty.

Functions

This section is empty.

Types

type AppError

type AppError struct {
	Code       string `json:"code"`
	Message    string `json:"message"`
	ExitCode   int    `json:"exitCode"`
	RetryAfter int    `json:"retryAfter,omitempty"`
}

func NewArgError

func NewArgError(msg string) *AppError

func NewAuthError

func NewAuthError(msg string) *AppError

func NewGeneralError

func NewGeneralError(msg string) *AppError

func NewNotFoundError

func NewNotFoundError(msg string) *AppError

func NewRetryableError

func NewRetryableError(msg string, retryAfter int) *AppError

func (*AppError) Error

func (e *AppError) Error() string

type Comment

type Comment struct {
	ID        int64     `json:"id,omitempty"`
	Body      string    `json:"body"`
	Public    *bool     `json:"public,omitempty"`
	AuthorID  int64     `json:"author_id,omitempty"`
	CreatedAt time.Time `json:"created_at,omitempty"`
}

type CreateTicketRequest

type CreateTicketRequest struct {
	Subject        string        `json:"subject"`
	Comment        Comment       `json:"comment"`
	Priority       string        `json:"priority,omitempty"`
	Type           string        `json:"type,omitempty"`
	Status         string        `json:"status,omitempty"`
	AssigneeID     int64         `json:"assignee_id,omitempty"`
	GroupID        int64         `json:"group_id,omitempty"`
	Tags           []string      `json:"tags,omitempty"`
	CustomFields   []CustomField `json:"custom_fields,omitempty"`
	RequesterEmail string        `json:"-"`
	RequesterName  string        `json:"-"`
	Requester      *Requester    `json:"requester,omitempty"`
}

type CustomField

type CustomField struct {
	ID    int64       `json:"id"`
	Value interface{} `json:"value"`
}

type GetTicketOptions

type GetTicketOptions struct {
	Include string
}

type ListTicketsOptions

type ListTicketsOptions struct {
	Limit     int
	Cursor    string
	Sort      string
	SortOrder string
	Status    string
	Assignee  int64
	Group     int64
	Include   string
}
type PageLinks struct {
	Next string `json:"next,omitempty"`
	Prev string `json:"prev,omitempty"`
}

type PageMeta

type PageMeta struct {
	HasMore      bool   `json:"has_more"`
	AfterCursor  string `json:"after_cursor,omitempty"`
	BeforeCursor string `json:"before_cursor,omitempty"`
}

type Requester

type Requester struct {
	Email string `json:"email,omitempty"`
	Name  string `json:"name,omitempty"`
}

type SearchOptions

type SearchOptions struct {
	Limit     int
	Cursor    string
	SortBy    string
	SortOrder string
	Export    bool
	Include   string
}

type SearchPage

type SearchPage struct {
	Results []SearchResult `json:"results"`
	Users   []User         `json:"users,omitempty"`
	Meta    PageMeta       `json:"meta"`
	Links   PageLinks      `json:"links"`
	Count   int            `json:"count"`
}

type SearchResult

type SearchResult struct {
	Ticket
	ResultType string `json:"result_type"`
}

type Ticket

type Ticket struct {
	ID             int64         `json:"id"`
	URL            string        `json:"url,omitempty"`
	Subject        string        `json:"subject"`
	Description    string        `json:"description,omitempty"`
	Status         string        `json:"status"`
	Priority       string        `json:"priority,omitempty"`
	Type           string        `json:"type,omitempty"`
	RequesterID    int64         `json:"requester_id,omitempty"`
	AssigneeID     int64         `json:"assignee_id,omitempty"`
	GroupID        int64         `json:"group_id,omitempty"`
	OrganizationID int64         `json:"organization_id,omitempty"`
	Tags           []string      `json:"tags,omitempty"`
	CustomFields   []CustomField `json:"custom_fields,omitempty"`
	CreatedAt      time.Time     `json:"created_at"`
	UpdatedAt      time.Time     `json:"updated_at"`
}

type TicketPage

type TicketPage struct {
	Tickets []Ticket  `json:"tickets"`
	Users   []User    `json:"users,omitempty"`
	Meta    PageMeta  `json:"meta"`
	Links   PageLinks `json:"links"`
	Count   int       `json:"count,omitempty"`
}

type TicketResult added in v0.2.0

type TicketResult struct {
	Ticket Ticket `json:"ticket"`
	Users  []User `json:"users,omitempty"`
}

type UpdateTicketRequest

type UpdateTicketRequest struct {
	Subject      string        `json:"subject,omitempty"`
	Comment      *Comment      `json:"comment,omitempty"`
	Priority     string        `json:"priority,omitempty"`
	Status       string        `json:"status,omitempty"`
	AssigneeID   *int64        `json:"assignee_id,omitempty"`
	GroupID      *int64        `json:"group_id,omitempty"`
	Tags         []string      `json:"tags,omitempty"`
	AddTags      []string      `json:"additional_tags,omitempty"`
	RemoveTags   []string      `json:"remove_tags,omitempty"`
	CustomFields []CustomField `json:"custom_fields,omitempty"`
	SafeUpdate   bool          `json:"safe_update,omitempty"`
}

type User added in v0.2.0

type User struct {
	ID     int64  `json:"id"`
	Name   string `json:"name"`
	Email  string `json:"email"`
	Role   string `json:"role"`
	Active bool   `json:"active"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL