Change ticket from struct to map

This commit is contained in:
Miguel de la Cruz 2020-03-04 21:57:16 +01:00
parent 089a61bd41
commit ae4b6e6620
2 changed files with 8 additions and 12 deletions

View file

@ -104,9 +104,9 @@ func parseGrepLine(line string) (*model.Ticket, error) {
text := strings.Join(parts[2:], "")
return &model.Ticket{
Filename: filename,
LineNo: lineNo,
Text: text,
"filename": filename,
"lineNo": lineNo,
"text": text,
}, nil
}

View file

@ -4,21 +4,17 @@ import (
"fmt"
)
type Ticket struct {
Filename string `json:"filename"`
LineNo int `json:"line_no"`
Text string `json:"text"`
}
type Ticket map[string]interface{}
func RemoveDuplicateTickets(tickets []*Ticket, fileOnly bool) []*Ticket {
ticketMap := map[string]*Ticket{}
for _, t := range tickets {
filename, _ := (*t)["filename"].(string)
lineNo, _ := (*t)["lineNo"].(int)
if fileOnly {
t.Text = ""
t.LineNo = 0
ticketMap[t.Filename] = t
ticketMap[filename] = t
} else {
ticketMap[fmt.Sprintf("%s:%d", t.Filename, t.LineNo)] = t
ticketMap[fmt.Sprintf("%s:%d", filename, lineNo)] = t
}
}