1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

Merge pull request #2 from fimtitzgerald/item_struct

Item struct
This commit is contained in:
Tim Fitzgerald 2018-07-23 15:25:05 -07:00 committed by GitHub
commit ddc2e9669a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 26 deletions

Binary file not shown.

View File

@ -2,7 +2,7 @@ package zendesk
import ( import (
"encoding/json" "encoding/json"
"fmt" //"fmt"
"log" "log"
) )
@ -73,32 +73,17 @@ func listTickets(pag ...string) (*TicketArray, error) {
} }
func newTickets() ([]string, error) { func newTickets() ([]Ticket, error) {
var newTickets []string newTickets := []Ticket{}
tickets, err := listTickets() tickets, err := listTickets()
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }
for i := range tickets.Tickets { for _, Ticket := range tickets.Tickets {
if tickets.Tickets[i].Status == "new" { if Ticket.Status == "new" {
requester := tickets.Tickets[i].Via newTickets = append(newTickets, Ticket)
req, _ := requester.(map[string]interface{}) }
source := req["source"] }
fromMap, _ := source.(map[string]interface{})
from := fromMap["from"]
fromValue, _ := from.(map[string]interface{})
name := fromValue["name"]
newTicket := fmt.Sprintf("%v - %v - %v - %v", tickets.Tickets[i].Id, tickets.Tickets[i].Status, tickets.Tickets[i].Subject, name)
newTickets = append(newTickets, newTicket)
}
}
if len(newTickets) < 1 {
fmt.Println("No unassigned tickets in queue - woop!!")
} else {
for i := range newTickets {
fmt.Println(newTickets[i])
}
}
return newTickets, nil return newTickets, nil
} }

View File

@ -34,15 +34,35 @@ func (widget *Widget) Refresh() {
/* -------------------- Unexported Functions -------------------- */ /* -------------------- Unexported Functions -------------------- */
func (widget *Widget) textContent(items []string) string { func (widget *Widget) textContent(items []Ticket) string {
if len(items) == 0 { if len(items) == 0 {
return fmt.Sprintf("No unassigned tickets in queue - woop!!") return fmt.Sprintf("No unassigned tickets in queue - woop!!")
} }
str := "" str := ""
for i := range items { for _, data := range items {
str = items[i] //str = items[i]
//str = fmt.Sprintf(data.Id)
str = str + widget.format(data)
} }
return str return str
} }
func (widget *Widget) format(ticket Ticket) string {
var str string
requesterName := widget.parseRequester(ticket)
str = fmt.Sprintf(" [green]%d - %s\n %s\n\n", ticket.Id, requesterName, ticket.Subject)
return str
}
func (widget *Widget) parseRequester(ticket Ticket) interface{} {
viaMap := ticket.Via
via := viaMap.(map[string]interface{})
source := via["source"]
fromMap, _ := source.(map[string]interface{})
from := fromMap["from"]
fromValMap := from.(map[string]interface{})
fromName := fromValMap["name"]
return fromName
}