package statuscake
import (
+ "strconv"
"strings"
)
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,
CustomHeader: d.CustomHeader,
UserAgent: d.UserAgent,
ContactID: d.ContactID,
+ ContactGroup: contactGroupIds,
Status: d.Status,
Uptime: d.Uptime,
CheckRate: d.CheckRate,