From 2f10dcd9fc67767f78946e78a7346c9f6127e896 Mon Sep 17 00:00:00 2001 From: Steven Polley Date: Fri, 22 Mar 2019 09:24:07 -0600 Subject: [PATCH] BREAKING - assignTicketToMember now returns if action was taken --- 3.0/connectwise/service.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/3.0/connectwise/service.go b/3.0/connectwise/service.go index cd459b4..467ac99 100644 --- a/3.0/connectwise/service.go +++ b/3.0/connectwise/service.go @@ -693,23 +693,23 @@ func (cw *Site) AssignTicketToTeam(ticketID, teamID int) (*Ticket, error) { } //AssignTicketToMember will create a new schedule entry for the member and specify the ticket as the object -func (cw *Site) AssignTicketToMember(ticketID, memberID int) (*ScheduleEntry, error) { +func (cw *Site) AssignTicketToMember(ticketID, memberID int) (*ScheduleEntry, bool, error) { req := cw.NewRequest("/schedule/entries", "GET", nil) req.URLValues.Add("conditions", fmt.Sprintf("member/id=%d and objectId=%d and doneFlag=false", memberID, ticketID)) err := req.Do() if err != nil { - return nil, fmt.Errorf("failed to get schedule entries on ticketID '%d' and memberID '%d': %v", ticketID, memberID, err) + return nil, false, fmt.Errorf("failed to get schedule entries on ticketID '%d' and memberID '%d': %v", ticketID, memberID, err) } scheduleEntries := &[]ScheduleEntry{} err = json.Unmarshal(req.Body, scheduleEntries) if err != nil { - return nil, fmt.Errorf("failed to unmarshal body into struct: %s", err) + return nil, false, fmt.Errorf("failed to unmarshal body into struct: %s", err) } // The member is already assined to the ticket, so return the first schedule entry if len(*scheduleEntries) > 0 { - return &(*scheduleEntries)[0], nil + return &(*scheduleEntries)[0], false, nil } scheduleEntry := &ScheduleEntry{} @@ -719,22 +719,22 @@ func (cw *Site) AssignTicketToMember(ticketID, memberID int) (*ScheduleEntry, er jsonScheduleEntry, err := json.Marshal(scheduleEntry) if err != nil { - return nil, fmt.Errorf("could not marshal json data: %s", err) + return nil, false, fmt.Errorf("could not marshal json data: %s", err) } req = cw.NewRequest("/schedule/entries", "POST", jsonScheduleEntry) err = req.Do() if err != nil { - return nil, fmt.Errorf("request failed for %s: %s", req.RestAction, err) + return nil, false, fmt.Errorf("request failed for %s: %s", req.RestAction, err) } scheduleEntry = &ScheduleEntry{} err = json.Unmarshal(req.Body, scheduleEntry) if err != nil { - return nil, fmt.Errorf("failed to unmarshal body into struct: %s", err) + return nil, false, fmt.Errorf("failed to unmarshal body into struct: %s", err) } - return scheduleEntry, nil + return scheduleEntry, true, nil } // RemoveTicketFromMember accepts a ticketID and a memberID and will mark the member as done, will return an error if it fails