mirror of
				https://github.com/taigrr/wtf
				synced 2025-01-18 04:03:14 -08:00 
			
		
		
		
	Cleaner extraction code in the OpsGenie client
This commit is contained in:
		
							parent
							
								
									ff994cb793
								
							
						
					
					
						commit
						5c9da163b2
					
				@ -17,6 +17,13 @@ type OnCallResponse struct {
 | 
			
		||||
type OnCallData struct {
 | 
			
		||||
	Recipients []string `json:"onCallRecipients"`
 | 
			
		||||
	Parent     Parent   `json:"_parent"`
 | 
			
		||||
	Users      []OnCallUserData
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type OnCallUserData struct {
 | 
			
		||||
	ID       string `json:"id"`
 | 
			
		||||
	Username string `json:"username"`
 | 
			
		||||
	FullName string `json:"fullName"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
type Parent struct {
 | 
			
		||||
@ -25,11 +32,21 @@ type Parent struct {
 | 
			
		||||
	Enabled bool   `json:"enabled"`
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* -------------------- Exported Functions -------------------- */
 | 
			
		||||
 | 
			
		||||
func Fetch() *OnCallResponse {
 | 
			
		||||
	apiKey := os.Getenv("WTF_OPS_GENIE_API_KEY")
 | 
			
		||||
	scheduleUrl := "https://api.opsgenie.com/v2/schedules/on-calls?flat=true"
 | 
			
		||||
 | 
			
		||||
	url := "https://api.opsgenie.com/v2/schedules/on-calls?flat=true"
 | 
			
		||||
	var onCallResponse OnCallResponse
 | 
			
		||||
	opsGenieRequest(scheduleUrl, apiKey, &onCallResponse)
 | 
			
		||||
 | 
			
		||||
	return &onCallResponse
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* -------------------- Unexported Functions -------------------- */
 | 
			
		||||
 | 
			
		||||
func opsGenieRequest(url string, apiKey string, payload interface{}) {
 | 
			
		||||
	req, err := http.NewRequest("GET", url, nil)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
@ -45,10 +62,7 @@ func Fetch() *OnCallResponse {
 | 
			
		||||
	}
 | 
			
		||||
	defer resp.Body.Close()
 | 
			
		||||
 | 
			
		||||
	var onCallResponse OnCallResponse
 | 
			
		||||
	if err := json.NewDecoder(resp.Body).Decode(&onCallResponse); err != nil {
 | 
			
		||||
	if err := json.NewDecoder(resp.Body).Decode(payload); err != nil {
 | 
			
		||||
		panic(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return &onCallResponse
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user