]> git.immae.eu Git - github/fretlink/terraform-provider-statuscake.git/blobdiff - vendor/github.com/DreamItGetIT/statuscake/responses.go
Update github.com/DreamItGetIT/statuscake to PR-28
[github/fretlink/terraform-provider-statuscake.git] / vendor / github.com / DreamItGetIT / statuscake / responses.go
index 9cdcb118b47db9b9597ea6eaf843637278cc5e19..e8d4af4a476dab33a68528da936040ddccda1ad8 100644 (file)
@@ -1,6 +1,7 @@
 package statuscake
 
 import (
+       "strconv"
        "strings"
 )
 
@@ -21,43 +22,55 @@ type deleteResponse struct {
        Error   string `json:"Error"`
 }
 
+type contactGroupDetailResponse struct {
+       ID    int    `json:"ID"`
+       Name  string `json:"Name"`
+       Email string `json:"Email"`
+}
+
 type detailResponse struct {
-       Method          string   `json:"Method"`
-       TestID          int      `json:"TestID"`
-       TestType        string   `json:"TestType"`
-       Paused          bool     `json:"Paused"`
-       WebsiteName     string   `json:"WebsiteName"`
-       URI             string   `json:"URI"`
-       ContactID       string   `json:"ContactID"`
-       Status          string   `json:"Status"`
-       Uptime          float64  `json:"Uptime"`
-       CustomHeader    string   `json:"CustomHeader"`
-       UserAgent       string   `json:"UserAgent"`
-       CheckRate       int      `json:"CheckRate"`
-       Timeout         int      `json:"Timeout"`
-       LogoImage       string   `json:"LogoImage"`
-       Confirmation    int      `json:"Confirmation,string"`
-       WebsiteHost     string   `json:"WebsiteHost"`
-       NodeLocations   []string `json:"NodeLocations"`
-       FindString      string   `json:"FindString"`
-       DoNotFind       bool     `json:"DoNotFind"`
-       LastTested      string   `json:"LastTested"`
-       NextLocation    string   `json:"NextLocation"`
-       Port            int      `json:"Port"`
-       Processing      bool     `json:"Processing"`
-       ProcessingState string   `json:"ProcessingState"`
-       ProcessingOn    string   `json:"ProcessingOn"`
-       DownTimes       int      `json:"DownTimes,string"`
-       Sensitive       bool     `json:"Sensitive"`
-       TriggerRate     int      `json:"TriggerRate,string"`
-       UseJar          int      `json:"UseJar"`
-       PostRaw         string   `json:"PostRaw"`
-       FinalEndpoint   string   `json:"FinalEndpoint"`
-       FollowRedirect  bool     `json:"FollowRedirect"`
-       StatusCodes     []string `json:"StatusCodes"`
+       Method          string                       `json:"Method"`
+       TestID          int                          `json:"TestID"`
+       TestType        string                       `json:"TestType"`
+       Paused          bool                         `json:"Paused"`
+       WebsiteName     string                       `json:"WebsiteName"`
+       URI             string                       `json:"URI"`
+       ContactID       int                          `json:"ContactID"`
+       ContactGroups   []contactGroupDetailResponse `json:"ContactGroups"`
+       Status          string                       `json:"Status"`
+       Uptime          float64                      `json:"Uptime"`
+       CustomHeader    string                       `json:"CustomHeader"`
+       UserAgent       string                       `json:"UserAgent"`
+       CheckRate       int                          `json:"CheckRate"`
+       Timeout         int                          `json:"Timeout"`
+       LogoImage       string                       `json:"LogoImage"`
+       Confirmation    int                          `json:"Confirmation,string"`
+       WebsiteHost     string                       `json:"WebsiteHost"`
+       NodeLocations   []string                     `json:"NodeLocations"`
+       FindString      string                       `json:"FindString"`
+       DoNotFind       bool                         `json:"DoNotFind"`
+       LastTested      string                       `json:"LastTested"`
+       NextLocation    string                       `json:"NextLocation"`
+       Port            int                          `json:"Port"`
+       Processing      bool                         `json:"Processing"`
+       ProcessingState string                       `json:"ProcessingState"`
+       ProcessingOn    string                       `json:"ProcessingOn"`
+       DownTimes       int                          `json:"DownTimes,string"`
+       Sensitive       bool                         `json:"Sensitive"`
+       TriggerRate     int                          `json:"TriggerRate,string"`
+       UseJar          int                          `json:"UseJar"`
+       PostRaw         string                       `json:"PostRaw"`
+       FinalEndpoint   string                       `json:"FinalEndpoint"`
+       FollowRedirect  bool                         `json:"FollowRedirect"`
+       StatusCodes     []string                     `json:"StatusCodes"`
 }
 
 func (d *detailResponse) test() *Test {
+       contactGroupIds := make([]string, len(d.ContactGroups))
+       for i, v := range d.ContactGroups {
+               contactGroupIds[i] = strconv.Itoa(v.ID)
+       }
+
        return &Test{
                TestID:         d.TestID,
                TestType:       d.TestType,
@@ -67,6 +80,7 @@ func (d *detailResponse) test() *Test {
                CustomHeader:   d.CustomHeader,
                UserAgent:      d.UserAgent,
                ContactID:      d.ContactID,
+               ContactGroup:   contactGroupIds,
                Status:         d.Status,
                Uptime:         d.Uptime,
                CheckRate:      d.CheckRate,