]> 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 b9216b726dfe7b816cc64ff45649be050035de3d..e8d4af4a476dab33a68528da936040ddccda1ad8 100644 (file)
@@ -1,5 +1,10 @@
 package statuscake
 
+import (
+       "strconv"
+       "strings"
+)
+
 type autheticationErrorResponse struct {
        ErrNo int
        Error string
@@ -17,54 +22,81 @@ 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       int      `json:"ContactID"`
-       Status          string   `json:"Status"`
-       Uptime          float64  `json:"Uptime"`
-       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"`
+       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,
-               Paused:        d.Paused,
-               WebsiteName:   d.WebsiteName,
-               WebsiteURL:    d.URI,
-               ContactID:     d.ContactID,
-               Status:        d.Status,
-               Uptime:        d.Uptime,
-               CheckRate:     d.CheckRate,
-               Timeout:       d.Timeout,
-               LogoImage:     d.LogoImage,
-               Confirmation:  d.Confirmation,
-               WebsiteHost:   d.WebsiteHost,
-               NodeLocations: d.NodeLocations,
-               FindString:    d.FindString,
-               DoNotFind:     d.DoNotFind,
-               Port:          d.Port,
-               TriggerRate:   d.TriggerRate,
+               TestID:         d.TestID,
+               TestType:       d.TestType,
+               Paused:         d.Paused,
+               WebsiteName:    d.WebsiteName,
+               WebsiteURL:     d.URI,
+               CustomHeader:   d.CustomHeader,
+               UserAgent:      d.UserAgent,
+               ContactID:      d.ContactID,
+               ContactGroup:   contactGroupIds,
+               Status:         d.Status,
+               Uptime:         d.Uptime,
+               CheckRate:      d.CheckRate,
+               Timeout:        d.Timeout,
+               LogoImage:      d.LogoImage,
+               Confirmation:   d.Confirmation,
+               WebsiteHost:    d.WebsiteHost,
+               NodeLocations:  d.NodeLocations,
+               FindString:     d.FindString,
+               DoNotFind:      d.DoNotFind,
+               Port:           d.Port,
+               TriggerRate:    d.TriggerRate,
+               UseJar:         d.UseJar,
+               PostRaw:        d.PostRaw,
+               FinalEndpoint:  d.FinalEndpoint,
+               FollowRedirect: d.FollowRedirect,
+               StatusCodes:    strings.Join(d.StatusCodes[:], ","),
        }
 }