mirror of
https://github.com/MichaelMure/git-bug.git
synced 2024-12-14 17:51:44 +03:00
1f365b2369
Use ExportResult chan to send export events Remove exportedBugs and exportedLabels
102 lines
1.8 KiB
Go
102 lines
1.8 KiB
Go
package core
|
|
|
|
import "fmt"
|
|
|
|
type EventStatus int
|
|
|
|
const (
|
|
_ EventStatus = iota
|
|
EventStatusBug
|
|
EventStatusComment
|
|
EventStatusCommentEdition
|
|
EventStatusStatusChange
|
|
EventStatusTitleEdition
|
|
EventStatusLabelChange
|
|
EventStatusNothing
|
|
)
|
|
|
|
type ExportResult struct {
|
|
Err error
|
|
Event EventStatus
|
|
ID string
|
|
Reason string
|
|
}
|
|
|
|
func (er ExportResult) String() string {
|
|
switch er.Event {
|
|
case EventStatusBug:
|
|
return "new issue"
|
|
case EventStatusComment:
|
|
return "new comment"
|
|
case EventStatusCommentEdition:
|
|
return "updated comment"
|
|
case EventStatusStatusChange:
|
|
return "changed status"
|
|
case EventStatusTitleEdition:
|
|
return "changed title"
|
|
case EventStatusLabelChange:
|
|
return "changed label"
|
|
case EventStatusNothing:
|
|
return fmt.Sprintf("no event: %v", er.Reason)
|
|
default:
|
|
panic("unknown export result")
|
|
}
|
|
}
|
|
|
|
func NewExportError(err error, reason string) ExportResult {
|
|
return ExportResult{
|
|
Err: err,
|
|
Reason: reason,
|
|
}
|
|
}
|
|
|
|
func NewExportNothing(id string, reason string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Reason: reason,
|
|
Event: EventStatusNothing,
|
|
}
|
|
}
|
|
|
|
func NewExportBug(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusBug,
|
|
}
|
|
}
|
|
|
|
func NewExportComment(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusComment,
|
|
}
|
|
}
|
|
|
|
func NewExportCommentEdition(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusCommentEdition,
|
|
}
|
|
}
|
|
|
|
func NewExportStatusChange(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusStatusChange,
|
|
}
|
|
}
|
|
|
|
func NewExportLabelChange(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusLabelChange,
|
|
}
|
|
}
|
|
|
|
func NewExportTitleEdition(id string) ExportResult {
|
|
return ExportResult{
|
|
ID: id,
|
|
Event: EventStatusTitleEdition,
|
|
}
|
|
}
|