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 (
"encoding/json"
"fmt"
//"fmt"
"log"
)
@ -73,32 +73,17 @@ func listTickets(pag ...string) (*TicketArray, error) {
}
func newTickets() ([]string, error) {
var newTickets []string
func newTickets() ([]Ticket, error) {
newTickets := []Ticket{}
tickets, err := listTickets()
if err != nil {
log.Fatal(err)
}
for i := range tickets.Tickets {
if tickets.Tickets[i].Status == "new" {
requester := tickets.Tickets[i].Via
req, _ := requester.(map[string]interface{})
source := req["source"]
fromMap, _ := source.(map[string]interface{})
from := fromMap["from"]
fromValue, _ := from.(map[string]interface{})
name := fromValue["name"]
for _, Ticket := range tickets.Tickets {
if Ticket.Status == "new" {
newTickets = append(newTickets, Ticket)
}
}
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
}

View File

@ -34,15 +34,35 @@ func (widget *Widget) Refresh() {
/* -------------------- Unexported Functions -------------------- */
func (widget *Widget) textContent(items []string) string {
func (widget *Widget) textContent(items []Ticket) string {
if len(items) == 0 {
return fmt.Sprintf("No unassigned tickets in queue - woop!!")
}
str := ""
for i := range items {
str = items[i]
for _, data := range items {
//str = items[i]
//str = fmt.Sprintf(data.Id)
str = str + widget.format(data)
}
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
}