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

String formatting on returned data

This commit is contained in:
Tim Fitzgerald 2018-07-23 15:22:16 -07:00
parent 829a2519bd
commit 69cb4d0cd1
4 changed files with 29 additions and 32 deletions

Binary file not shown.

View File

@ -1,14 +0,0 @@
package zendesk
import (
"fmt"
"github.com/senorprogrammer/wtf/wtf"
)
type Item struct {
Requester string
TicketID string
Subject string
Status string
}

View File

@ -2,7 +2,7 @@ package zendesk
import (
"encoding/json"
"fmt"
//"fmt"
"log"
)
@ -73,24 +73,15 @@ 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"]
newTicket := fmt.Sprintf("%v - %v - %v - %v", tickets.Tickets[i].Id, tickets.Tickets[i].Status, tickets.Tickets[i].Subject, name)
newTickets = append(newTickets, newTicket)
for _, Ticket := range tickets.Tickets {
if Ticket.Status == "new" {
newTickets = append(newTickets, Ticket)
}
}

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
}