From 523f64f3164c4a4d18753a7749ac1c78f80a0325 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eren=20K=C4=B1z=C4=B1lay?= Date: Thu, 21 Feb 2019 16:13:32 +0300 Subject: [PATCH] refactor request pointers --- account/account.go | 12 +- account/request.go | 6 +- alert/acknowledge_request.go | 8 +- alert/add_details_request.go | 8 +- alert/add_note_request.go | 8 +- alert/add_responder.go | 20 +- alert/add_tags_request.go | 8 +- alert/add_team_request.go | 8 +- alert/alert.go | 190 +++++++++--------- alert/alert_consts.go | 1 - alert/assign_request.go | 8 +- alert/close_alert_request.go | 8 +- alert/count_alerts_request.go | 8 +- alert/create_alert_attachment_request.go | 10 +- alert/create_alert_request.go | 6 +- alert/create_saved_search_request.go | 6 +- alert/delete_alert_request.go | 8 +- alert/delete_attachment_request.go | 8 +- alert/delete_saved_search_request.go | 8 +- alert/escalate_to_next_request.go | 8 +- alert/execute_custom_action.go | 8 +- alert/get_alert_request.go | 8 +- alert/get_attachment_request.go | 8 +- alert/get_request_status_request.go | 6 +- alert/get_saved_search_request.go | 8 +- alert/list_alert_logs_request.go | 8 +- alert/list_alert_notes_request.go | 8 +- alert/list_alert_recipient_request.go | 8 +- alert/list_alert_request.go | 8 +- alert/list_attachments_request.go | 8 +- alert/list_saved_search_request.go | 6 +- alert/remove_details_request.go | 8 +- alert/remove_tags_request.go | 8 +- alert/result.go | 28 +-- alert/snooze_request.go | 8 +- alert/unacknowledge_request.go | 8 +- alert/update_description_request.go | 8 +- alert/update_message_request.go | 8 +- alert/update_priority_request.go | 8 +- alert/update_saved_search_request.go | 8 +- client/client.go | 6 +- client/client_test.go | 14 +- contact/contact.go | 35 ++-- contact/contact_test.go | 28 +-- contact/request.go | 76 +++---- customuserrole/custom_user_role.go | 26 +-- customuserrole/custom_user_role_test.go | 2 +- escalation/escalation.go | 28 ++- escalation/escalation_test.go | 6 +- escalation/request.go | 64 +++--- heartbeat/heartbeat.go | 44 ++--- heartbeat/request.go | 26 +-- incident/incident.go | 77 ++++---- incident/request.go | 132 ++++++------- integration/integration.go | 58 +++--- integration/integration_test.go | 2 +- integration/request.go | 66 +++---- logs/logs.go | 24 +-- logs/request.go | 14 +- maintenance/maintenance.go | 33 ++-- maintenance/request.go | 36 ++-- notification/notification.go | 66 +++---- notification/notification_test.go | 24 +-- notification/request.go | 204 +++++++++---------- og/entity.go | 16 +- policy/policy.go | 52 ++--- policy/request.go | 240 +++++++++++------------ schedule/request.go | 156 +++++++-------- schedule/result.go | 15 +- schedule/schedule.go | 30 ++- schedule/schedule_override.go | 20 +- schedule/schedule_override_request.go | 88 ++++----- schedule/schedule_rotation.go | 20 +- schedule/schedule_test.go | 2 +- schedule/who_is_oncall.go | 12 +- schedule/who_is_oncall_request.go | 52 ++--- schedule/who_is_oncall_result.go | 2 +- schedule/who_is_oncall_test.go | 2 +- service/service.go | 29 ++- service/service_request.go | 32 +-- team/request.go | 150 +++++++------- team/team.go | 90 ++++----- user/user.go | 54 ++--- user/user_result.go | 2 +- user/user_test.go | 9 +- 85 files changed, 1324 insertions(+), 1363 deletions(-) diff --git a/account/account.go b/account/account.go index 0eed583..46cc28e 100644 --- a/account/account.go +++ b/account/account.go @@ -1,12 +1,12 @@ package account import ( - "github.com/opsgenie/opsgenie-go-sdk-v2/client" "context" + "github.com/opsgenie/opsgenie-go-sdk-v2/client" ) type Client struct { - client client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,15 +14,13 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - client := &Client{} - client.client = *opsgenieClient - return client, nil + return &Client{opsgenieClient}, nil } -func (ac *Client) Get(ctx context.Context, req GetRequest) (*GetResult, error) { +func (c *Client) Get(ctx context.Context, req *GetRequest) (*GetResult, error) { getResult := &GetResult{} - err := ac.client.Exec(ctx, req, getResult) + err := c.client.Exec(ctx, req, getResult) if err != nil { return nil, err } diff --git a/account/request.go b/account/request.go index b45eea2..5817a5e 100644 --- a/account/request.go +++ b/account/request.go @@ -6,14 +6,14 @@ type GetRequest struct { client.BaseRequest } -func (lr GetRequest) Validate() error { +func (r *GetRequest) Validate() error { return nil } -func (lr GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { return "/v2/account" } -func (lr GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } diff --git a/alert/acknowledge_request.go b/alert/acknowledge_request.go index 8ca8fbf..2ac6735 100644 --- a/alert/acknowledge_request.go +++ b/alert/acknowledge_request.go @@ -14,24 +14,24 @@ type AcknowledgeAlertRequest struct { Note string `json:"note,omitempty"` } -func (r AcknowledgeAlertRequest) Validate() error { +func (r *AcknowledgeAlertRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } return nil } -func (r AcknowledgeAlertRequest) ResourcePath() string { +func (r *AcknowledgeAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/acknowledge" } -func (r AcknowledgeAlertRequest) Method() string { +func (r *AcknowledgeAlertRequest) Method() string { return "POST" } -func (r AcknowledgeAlertRequest) RequestParams() map[string]string { +func (r *AcknowledgeAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/add_details_request.go b/alert/add_details_request.go index 87b1427..255ccfd 100644 --- a/alert/add_details_request.go +++ b/alert/add_details_request.go @@ -15,7 +15,7 @@ type AddDetailsRequest struct { Note string `json:"note,omitempty"` } -func (r AddDetailsRequest) Validate() error { +func (r *AddDetailsRequest) Validate() error { if len(r.Details) == 0 { return errors.New("Details can not be empty") } @@ -26,17 +26,17 @@ func (r AddDetailsRequest) Validate() error { return nil } -func (r AddDetailsRequest) ResourcePath() string { +func (r *AddDetailsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/details" } -func (r AddDetailsRequest) Method() string { +func (r *AddDetailsRequest) Method() string { return "POST" } -func (r AddDetailsRequest) RequestParams() map[string]string { +func (r *AddDetailsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/add_note_request.go b/alert/add_note_request.go index 0a81285..1450fab 100644 --- a/alert/add_note_request.go +++ b/alert/add_note_request.go @@ -14,7 +14,7 @@ type AddNoteRequest struct { Note string `json:"note,omitempty"` } -func (r AddNoteRequest) Validate() error { +func (r *AddNoteRequest) Validate() error { if r.Note == "" { return errors.New("Note can not be empty") } @@ -24,17 +24,17 @@ func (r AddNoteRequest) Validate() error { return nil } -func (r AddNoteRequest) ResourcePath() string { +func (r *AddNoteRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/notes" } -func (r AddNoteRequest) Method() string { +func (r *AddNoteRequest) Method() string { return "POST" } -func (r AddNoteRequest) RequestParams() map[string]string { +func (r *AddNoteRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/add_responder.go b/alert/add_responder.go index 52f7990..4d44390 100644 --- a/alert/add_responder.go +++ b/alert/add_responder.go @@ -15,17 +15,17 @@ type AddResponderRequest struct { Note string `json:"note,omitempty"` } -func (r AddResponderRequest) Validate() error { +func (r *AddResponderRequest) Validate() error { if r.Responder.Type != UserResponder && r.Responder.Type != TeamResponder { - return errors.New("Responder type must be user or team") - } + return errors.New("Responder type must be user or team") + } if r.Responder.Type == UserResponder && r.Responder.Id == "" && r.Responder.Username == "" { - return errors.New("User ID or username must be defined") - } + return errors.New("User ID or username must be defined") + } if r.Responder.Type == TeamResponder && r.Responder.Id == "" && r.Responder.Name == "" { - return errors.New("Team ID or name must be defined") - } + return errors.New("Team ID or name must be defined") + } if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") @@ -33,17 +33,17 @@ func (r AddResponderRequest) Validate() error { return nil } -func (r AddResponderRequest) ResourcePath() string { +func (r *AddResponderRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/responders" } -func (r AddResponderRequest) Method() string { +func (r *AddResponderRequest) Method() string { return "POST" } -func (r AddResponderRequest) RequestParams() map[string]string { +func (r *AddResponderRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/add_tags_request.go b/alert/add_tags_request.go index cf5c142..2c2f0ff 100644 --- a/alert/add_tags_request.go +++ b/alert/add_tags_request.go @@ -15,7 +15,7 @@ type AddTagsRequest struct { Note string `json:"note,omitempty"` } -func (r AddTagsRequest) Validate() error { +func (r *AddTagsRequest) Validate() error { if len(r.Tags) == 0 { return errors.New("Tags list can not be empty") } @@ -26,17 +26,17 @@ func (r AddTagsRequest) Validate() error { return nil } -func (r AddTagsRequest) ResourcePath() string { +func (r *AddTagsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/tags" } -func (r AddTagsRequest) Method() string { +func (r *AddTagsRequest) Method() string { return "POST" } -func (r AddTagsRequest) RequestParams() map[string]string { +func (r *AddTagsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/add_team_request.go b/alert/add_team_request.go index d37cec4..b22d2b6 100644 --- a/alert/add_team_request.go +++ b/alert/add_team_request.go @@ -15,7 +15,7 @@ type AddTeamRequest struct { Note string `json:"note,omitempty"` } -func (r AddTeamRequest) Validate() error { +func (r *AddTeamRequest) Validate() error { if r.Team.ID == "" && r.Team.Name == "" { return errors.New("Team ID or name must be defined") } @@ -26,17 +26,17 @@ func (r AddTeamRequest) Validate() error { return nil } -func (r AddTeamRequest) ResourcePath() string { +func (r *AddTeamRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/teams" } -func (r AddTeamRequest) Method() string { +func (r *AddTeamRequest) Method() string { return "POST" } -func (r AddTeamRequest) RequestParams() map[string]string { +func (r *AddTeamRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/alert.go b/alert/alert.go index 998296f..f04b600 100644 --- a/alert/alert.go +++ b/alert/alert.go @@ -6,30 +6,24 @@ import ( ) type Client struct { - restClient *client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { - restClient, err := client.NewOpsGenieClient( - config, - ) - - OpsGenieAlertClient := &Client{ - restClient: restClient, - } + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - return OpsGenieAlertClient, nil + return &Client{client: opsgenieClient}, nil } -func (ac *Client) Create(ctx context.Context, req CreateAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Create(ctx context.Context, req *CreateAlertRequest) (*client.ResultMetadata, error) { asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } @@ -38,11 +32,11 @@ func (ac *Client) Create(ctx context.Context, req CreateAlertRequest) (*client.R } -func (ac *Client) Delete(ctx context.Context, req DeleteAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Delete(ctx context.Context, req *DeleteAlertRequest) (*client.ResultMetadata, error) { asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } @@ -51,11 +45,11 @@ func (ac *Client) Delete(ctx context.Context, req DeleteAlertRequest) (*client.R } -func (ac *Client) Get(ctx context.Context, req GetAlertRequest) (*GetAlertResult, error) { +func (c *Client) Get(ctx context.Context, req *GetAlertRequest) (*GetAlertResult, error) { getAlertResult := &GetAlertResult{} - err := ac.restClient.Exec(ctx, req, getAlertResult) + err := c.client.Exec(ctx, req, getAlertResult) if err != nil { return nil, err } @@ -64,11 +58,11 @@ func (ac *Client) Get(ctx context.Context, req GetAlertRequest) (*GetAlertResult } -func (ac *Client) List(ctx context.Context, req ListAlertRequest) (*ListAlertResult, error) { +func (c *Client) List(ctx context.Context, req *ListAlertRequest) (*ListAlertResult, error) { listAlertGet := &ListAlertResult{} - err := ac.restClient.Exec(ctx, req, listAlertGet) + err := c.client.Exec(ctx, req, listAlertGet) if err != nil { return nil, err } @@ -77,210 +71,209 @@ func (ac *Client) List(ctx context.Context, req ListAlertRequest) (*ListAlertRes } -func (ac *Client) CountAlerts(ctx context.Context, req CountAlertsRequest) (*CountAlertResult, error) { +func (c *Client) CountAlerts(ctx context.Context, req *CountAlertsRequest) (*CountAlertResult, error) { countAlertsGet := &CountAlertResult{} - err := ac.restClient.Exec(ctx, req, countAlertsGet) + err := c.client.Exec(ctx, req, countAlertsGet) if err != nil { return nil, err } return countAlertsGet, nil } -func (ac *Client) Acknowledge(ctx context.Context, req AcknowledgeAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Acknowledge(ctx context.Context, req *AcknowledgeAlertRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) Close(ctx context.Context, req CloseAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Close(ctx context.Context, req *CloseAlertRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) AddNote(ctx context.Context, req AddNoteRequest) (*client.ResultMetadata, error) { +func (c *Client) AddNote(ctx context.Context, req *AddNoteRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) ExecuteCustomAction(ctx context.Context, req ExecuteCustomActionAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) ExecuteCustomAction(ctx context.Context, req *ExecuteCustomActionAlertRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) Unacknowledge(ctx context.Context, req UnacknowledgeAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Unacknowledge(ctx context.Context, req *UnacknowledgeAlertRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) Snooze(ctx context.Context, req SnoozeAlertRequest) (*client.ResultMetadata, error) { +func (c *Client) Snooze(ctx context.Context, req *SnoozeAlertRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) EscalateToNext(ctx context.Context, req EscalateToNextRequest) (*client.ResultMetadata, error) { +func (c *Client) EscalateToNext(ctx context.Context, req *EscalateToNextRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) AssignAlert(ctx context.Context, req AssignRequest) (*client.ResultMetadata, error) { +func (c *Client) AssignAlert(ctx context.Context, req *AssignRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) AddTeam(ctx context.Context, req AddTeamRequest) (*client.ResultMetadata, error) { +func (c *Client) AddTeam(ctx context.Context, req *AddTeamRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } +func (c *Client) AddResponder(ctx context.Context, req *AddResponderRequest) (*client.ResultMetadata, error) { -func (ac *Client) AddResponder(ctx context.Context, req AddResponderRequest) (*client.ResultMetadata, error) { - - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) AddTags(ctx context.Context, req AddTagsRequest) (*client.ResultMetadata, error) { +func (c *Client) AddTags(ctx context.Context, req *AddTagsRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) RemoveTags(ctx context.Context, req RemoveTagsRequest) (*client.ResultMetadata, error) { +func (c *Client) RemoveTags(ctx context.Context, req *RemoveTagsRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) AddDetails(ctx context.Context, req AddDetailsRequest) (*client.ResultMetadata, error) { +func (c *Client) AddDetails(ctx context.Context, req *AddDetailsRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) RemoveDetails(ctx context.Context, req RemoveDetailsRequest) (*client.ResultMetadata, error) { +func (c *Client) RemoveDetails(ctx context.Context, req *RemoveDetailsRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) UpdatePriority(ctx context.Context, req UpdatePriorityRequest) (*client.ResultMetadata, error) { +func (c *Client) UpdatePriority(ctx context.Context, req *UpdatePriorityRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) UpdateMessage(ctx context.Context, req UpdateMessageRequest) (*client.ResultMetadata, error) { +func (c *Client) UpdateMessage(ctx context.Context, req *UpdateMessageRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) UpdateDescription(ctx context.Context, req UpdateDescriptionRequest) (*client.ResultMetadata, error) { +func (c *Client) UpdateDescription(ctx context.Context, req *UpdateDescriptionRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } -func (ac *Client) ListAlertRecipients(ctx context.Context, req ListAlertRecipientRequest) (*ListAlertRecipientResult, error) { +func (c *Client) ListAlertRecipients(ctx context.Context, req *ListAlertRecipientRequest) (*ListAlertRecipientResult, error) { listAlertRecipientResult := &ListAlertRecipientResult{} - err := ac.restClient.Exec(ctx, req, listAlertRecipientResult) + err := c.client.Exec(ctx, req, listAlertRecipientResult) if err != nil { return nil, err } @@ -289,11 +282,11 @@ func (ac *Client) ListAlertRecipients(ctx context.Context, req ListAlertRecipien } -func (ac *Client) ListAlertLogs(ctx context.Context, req ListAlertLogsRequest) (*ListAlertLogsResult, error) { +func (c *Client) ListAlertLogs(ctx context.Context, req *ListAlertLogsRequest) (*ListAlertLogsResult, error) { listAlertLogsResult := &ListAlertLogsResult{} - err := ac.restClient.Exec(ctx, req, listAlertLogsResult) + err := c.client.Exec(ctx, req, listAlertLogsResult) if err != nil { return nil, err } @@ -302,11 +295,11 @@ func (ac *Client) ListAlertLogs(ctx context.Context, req ListAlertLogsRequest) ( } -func (ac *Client) ListAlertNotes(ctx context.Context, req ListAlertNotesRequest) (*ListAlertNotesResult, error) { +func (c *Client) ListAlertNotes(ctx context.Context, req *ListAlertNotesRequest) (*ListAlertNotesResult, error) { listAlertNotesResult := &ListAlertNotesResult{} - err := ac.restClient.Exec(ctx, req, listAlertNotesResult) + err := c.client.Exec(ctx, req, listAlertNotesResult) if err != nil { return nil, err } @@ -315,11 +308,11 @@ func (ac *Client) ListAlertNotes(ctx context.Context, req ListAlertNotesRequest) } -func (ac *Client) CreateSavedSearch(ctx context.Context, req CreateSavedSearchRequest) (*SavedSearchResult, error) { +func (c *Client) CreateSavedSearch(ctx context.Context, req *CreateSavedSearchRequest) (*SavedSearchResult, error) { SavedSearchResult := &SavedSearchResult{} - err := ac.restClient.Exec(ctx, req, SavedSearchResult) + err := c.client.Exec(ctx, req, SavedSearchResult) if err != nil { return nil, err } @@ -328,11 +321,11 @@ func (ac *Client) CreateSavedSearch(ctx context.Context, req CreateSavedSearchRe } -func (ac *Client) UpdateSavedSearch(ctx context.Context, req UpdateSavedSearchRequest) (*SavedSearchResult, error) { +func (c *Client) UpdateSavedSearch(ctx context.Context, req *UpdateSavedSearchRequest) (*SavedSearchResult, error) { SavedSearchResult := &SavedSearchResult{} - err := ac.restClient.Exec(ctx, req, SavedSearchResult) + err := c.client.Exec(ctx, req, SavedSearchResult) if err != nil { return nil, err } @@ -341,34 +334,33 @@ func (ac *Client) UpdateSavedSearch(ctx context.Context, req UpdateSavedSearchRe } -func (ac *Client) GetSavedSearch(ctx context.Context, req GetSavedSearchRequest) (*GetSavedSearchResult, error) { +func (c *Client) GetSavedSearch(ctx context.Context, req *GetSavedSearchRequest) (*GetSavedSearchResult, error) { SavedSearchResult := &GetSavedSearchResult{} - err := ac.restClient.Exec(ctx, req, SavedSearchResult) + err := c.client.Exec(ctx, req, SavedSearchResult) if err != nil { return nil, err } return SavedSearchResult, nil } -func (ac *Client) DeleteSavedSearch(ctx context.Context, req DeleteSavedSearchRequest) (*client.ResultMetadata, error) { +func (c *Client) DeleteSavedSearch(ctx context.Context, req *DeleteSavedSearchRequest) (*client.ResultMetadata, error) { - asyncRequestGet:= &client.ResultMetadata{} + asyncRequestGet := &client.ResultMetadata{} - err := ac.restClient.Exec(ctx, req, asyncRequestGet) + err := c.client.Exec(ctx, req, asyncRequestGet) if err != nil { return nil, err } return asyncRequestGet, nil } - -func (ac *Client) ListSavedSearches(ctx context.Context, req ListSavedSearchRequest) (*SavedSearchResult, error) { +func (c *Client) ListSavedSearches(ctx context.Context, req *ListSavedSearchRequest) (*SavedSearchResult, error) { SavedSearchResult := &SavedSearchResult{} - err := ac.restClient.Exec(ctx, req, SavedSearchResult) + err := c.client.Exec(ctx, req, SavedSearchResult) if err != nil { return nil, err } @@ -377,11 +369,11 @@ func (ac *Client) ListSavedSearches(ctx context.Context, req ListSavedSearchRequ } -func (ac *Client) GetAsyncRequestStatus(ctx context.Context, req GetAsyncRequestStatusRequest) (*GetAsyncRequestStatusResult, error) { +func (c *Client) GetAsyncRequestStatus(ctx context.Context, req *GetAsyncRequestStatusRequest) (*GetAsyncRequestStatusResult, error) { asyncRequestStatusGet := &GetAsyncRequestStatusResult{} - err := ac.restClient.Exec(ctx, req, asyncRequestStatusGet) + err := c.client.Exec(ctx, req, asyncRequestStatusGet) if err != nil { return nil, err } @@ -390,11 +382,11 @@ func (ac *Client) GetAsyncRequestStatus(ctx context.Context, req GetAsyncRequest } -func (ac *Client) CreateAlertAttachments(ctx context.Context, req CreateAlertAttachmentRequest) (*CreateAlertAttachmentsResult, error) { +func (c *Client) CreateAlertAttachments(ctx context.Context, req *CreateAlertAttachmentRequest) (*CreateAlertAttachmentsResult, error) { createAlertAttachmentsResult := &CreateAlertAttachmentsResult{} - err := ac.restClient.Exec(ctx, req, createAlertAttachmentsResult) + err := c.client.Exec(ctx, req, createAlertAttachmentsResult) if err != nil { return nil, err } @@ -403,11 +395,11 @@ func (ac *Client) CreateAlertAttachments(ctx context.Context, req CreateAlertAtt } -func (ac *Client) GetAlertAttachment(ctx context.Context, req GetAttachmentRequest) (*GetAttachmentResult, error) { +func (c *Client) GetAlertAttachment(ctx context.Context, req *GetAttachmentRequest) (*GetAttachmentResult, error) { GetAttachmentResult := &GetAttachmentResult{} - err := ac.restClient.Exec(ctx, req, GetAttachmentResult) + err := c.client.Exec(ctx, req, GetAttachmentResult) if err != nil { return nil, err } @@ -415,11 +407,11 @@ func (ac *Client) GetAlertAttachment(ctx context.Context, req GetAttachmentReque return GetAttachmentResult, nil } -func (ac *Client) ListAlertsAttachments(ctx context.Context, req ListAttachmentsRequest) (*ListAttachmentsResult, error) { +func (c *Client) ListAlertsAttachments(ctx context.Context, req *ListAttachmentsRequest) (*ListAttachmentsResult, error) { ListAttachmentsResult := &ListAttachmentsResult{} - err := ac.restClient.Exec(ctx, req, ListAttachmentsResult) + err := c.client.Exec(ctx, req, ListAttachmentsResult) if err != nil { return nil, err } @@ -427,11 +419,11 @@ func (ac *Client) ListAlertsAttachments(ctx context.Context, req ListAttachments return ListAttachmentsResult, nil } -func (ac *Client) DeleteAlertAttachment(ctx context.Context, req DeleteAttachmentRequest) (*DeleteAlertAttachmentResult, error) { +func (c *Client) DeleteAlertAttachment(ctx context.Context, req *DeleteAttachmentRequest) (*DeleteAlertAttachmentResult, error) { DeleteAlertAttachmentsResult := &DeleteAlertAttachmentResult{} - err := ac.restClient.Exec(ctx, req, DeleteAlertAttachmentsResult) + err := c.client.Exec(ctx, req, DeleteAlertAttachmentsResult) if err != nil { return nil, err } diff --git a/alert/alert_consts.go b/alert/alert_consts.go index d146eb7..b2b2fe9 100644 --- a/alert/alert_consts.go +++ b/alert/alert_consts.go @@ -58,7 +58,6 @@ const ( NAME SearchIdentifierType = "name" ) - type AlertIdentifier uint32 const ( diff --git a/alert/assign_request.go b/alert/assign_request.go index d6c705f..321d0dc 100644 --- a/alert/assign_request.go +++ b/alert/assign_request.go @@ -15,7 +15,7 @@ type AssignRequest struct { Note string `json:"note,omitempty"` } -func (r AssignRequest) Validate() error { +func (r *AssignRequest) Validate() error { if r.Owner.ID == "" && r.Owner.Username == "" { return errors.New("Owner ID or username must be defined") } @@ -26,17 +26,17 @@ func (r AssignRequest) Validate() error { return nil } -func (r AssignRequest) ResourcePath() string { +func (r *AssignRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/assign" } -func (r AssignRequest) Method() string { +func (r *AssignRequest) Method() string { return "POST" } -func (r AssignRequest) RequestParams() map[string]string { +func (r *AssignRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/close_alert_request.go b/alert/close_alert_request.go index 2781925..84b586f 100644 --- a/alert/close_alert_request.go +++ b/alert/close_alert_request.go @@ -14,24 +14,24 @@ type CloseAlertRequest struct { Note string `json:"note,omitempty"` } -func (r CloseAlertRequest) Validate() error { +func (r *CloseAlertRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } return nil } -func (r CloseAlertRequest) ResourcePath() string { +func (r *CloseAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/close" } -func (r CloseAlertRequest) Method() string { +func (r *CloseAlertRequest) Method() string { return "POST" } -func (r CloseAlertRequest) RequestParams() map[string]string { +func (r *CloseAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/count_alerts_request.go b/alert/count_alerts_request.go index 9feae6f..8d966ba 100644 --- a/alert/count_alerts_request.go +++ b/alert/count_alerts_request.go @@ -11,19 +11,19 @@ type CountAlertsRequest struct { SearchIdentifierType SearchIdentifierType } -func (r CountAlertsRequest) Validate() error { +func (r *CountAlertsRequest) Validate() error { return nil } -func (r CountAlertsRequest) ResourcePath() string { +func (r *CountAlertsRequest) ResourcePath() string { return "/v2/alerts/count" } -func (r CountAlertsRequest) Method() string { +func (r *CountAlertsRequest) Method() string { return "GET" } -func (r CountAlertsRequest) RequestParams() map[string]string { +func (r *CountAlertsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/create_alert_attachment_request.go b/alert/create_alert_attachment_request.go index 18766e5..abbd618 100644 --- a/alert/create_alert_attachment_request.go +++ b/alert/create_alert_attachment_request.go @@ -19,7 +19,7 @@ type CreateAlertAttachmentRequest struct { IndexFile string } -func (r CreateAlertAttachmentRequest) Metadata(ar client.ApiRequest) map[string]interface{} { +func (r *CreateAlertAttachmentRequest) Metadata(ar client.ApiRequest) map[string]interface{} { headers := make(map[string]interface{}) formDataMap := make(map[string]io.Reader) @@ -34,7 +34,7 @@ func (r CreateAlertAttachmentRequest) Metadata(ar client.ApiRequest) map[string] return headers } -func (r CreateAlertAttachmentRequest) Validate() error { +func (r *CreateAlertAttachmentRequest) Validate() error { if r.FileName == "" { return errors.New("FileName can not be empty") } @@ -47,16 +47,16 @@ func (r CreateAlertAttachmentRequest) Validate() error { return nil } -func (r CreateAlertAttachmentRequest) ResourcePath() string { +func (r *CreateAlertAttachmentRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/attachments" } -func (r CreateAlertAttachmentRequest) Method() string { +func (r *CreateAlertAttachmentRequest) Method() string { return "POST" } -func (r CreateAlertAttachmentRequest) RequestParams() map[string]string { +func (r *CreateAlertAttachmentRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/create_alert_request.go b/alert/create_alert_request.go index e9c30f0..a5922ed 100644 --- a/alert/create_alert_request.go +++ b/alert/create_alert_request.go @@ -22,7 +22,7 @@ type CreateAlertRequest struct { Note string `json:"note,omitempty"` } -func (r CreateAlertRequest) Validate() error { +func (r *CreateAlertRequest) Validate() error { if r.Message == "" { return errors.New("message can not be empty") } @@ -32,11 +32,11 @@ func (r CreateAlertRequest) Validate() error { return nil } -func (r CreateAlertRequest) ResourcePath() string { +func (r *CreateAlertRequest) ResourcePath() string { return "/v2/alerts" } -func (r CreateAlertRequest) Method() string { +func (r *CreateAlertRequest) Method() string { return "POST" } diff --git a/alert/create_saved_search_request.go b/alert/create_saved_search_request.go index dc706dd..c2aa209 100644 --- a/alert/create_saved_search_request.go +++ b/alert/create_saved_search_request.go @@ -14,7 +14,7 @@ type CreateSavedSearchRequest struct { Teams []Team `json:"teams,omitempty"` } -func (r CreateSavedSearchRequest) Validate() error { +func (r *CreateSavedSearchRequest) Validate() error { if r.Name == "" { return errors.New("Name can not be empty") } @@ -30,11 +30,11 @@ func (r CreateSavedSearchRequest) Validate() error { return nil } -func (r CreateSavedSearchRequest) ResourcePath() string { +func (r *CreateSavedSearchRequest) ResourcePath() string { return "/v2/alerts/saved-searches" } -func (r CreateSavedSearchRequest) Method() string { +func (r *CreateSavedSearchRequest) Method() string { return "POST" } diff --git a/alert/delete_alert_request.go b/alert/delete_alert_request.go index fb1aa4b..be3391a 100644 --- a/alert/delete_alert_request.go +++ b/alert/delete_alert_request.go @@ -11,7 +11,7 @@ type DeleteAlertRequest struct { Source string } -func (r DeleteAlertRequest) Validate() error { +func (r *DeleteAlertRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -19,16 +19,16 @@ func (r DeleteAlertRequest) Validate() error { return nil } -func (r DeleteAlertRequest) ResourcePath() string { +func (r *DeleteAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue } -func (r DeleteAlertRequest) Method() string { +func (r *DeleteAlertRequest) Method() string { return "DELETE" } -func (r DeleteAlertRequest) RequestParams() map[string]string { +func (r *DeleteAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/delete_attachment_request.go b/alert/delete_attachment_request.go index 9e407ad..bf969b3 100644 --- a/alert/delete_attachment_request.go +++ b/alert/delete_attachment_request.go @@ -13,7 +13,7 @@ type DeleteAttachmentRequest struct { User string } -func (r DeleteAttachmentRequest) Validate() error { +func (r *DeleteAttachmentRequest) Validate() error { if r.AttachmentId == "" { return errors.New("AttachmentId can not be empty") } @@ -24,16 +24,16 @@ func (r DeleteAttachmentRequest) Validate() error { return nil } -func (r DeleteAttachmentRequest) ResourcePath() string { +func (r *DeleteAttachmentRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/attachments/" + r.AttachmentId } -func (r DeleteAttachmentRequest) Method() string { +func (r *DeleteAttachmentRequest) Method() string { return "DELETE" } -func (r DeleteAttachmentRequest) RequestParams() map[string]string { +func (r *DeleteAttachmentRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/delete_saved_search_request.go b/alert/delete_saved_search_request.go index cac14e7..3c7493f 100644 --- a/alert/delete_saved_search_request.go +++ b/alert/delete_saved_search_request.go @@ -10,7 +10,7 @@ type DeleteSavedSearchRequest struct { IdentifierValue string } -func (r DeleteSavedSearchRequest) Validate() error { +func (r *DeleteSavedSearchRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -18,16 +18,16 @@ func (r DeleteSavedSearchRequest) Validate() error { return nil } -func (r DeleteSavedSearchRequest) ResourcePath() string { +func (r *DeleteSavedSearchRequest) ResourcePath() string { return "/v2/alerts/saved-searches/" + r.IdentifierValue } -func (r DeleteSavedSearchRequest) Method() string { +func (r *DeleteSavedSearchRequest) Method() string { return "DELETE" } -func (r DeleteSavedSearchRequest) RequestParams() map[string]string { +func (r *DeleteSavedSearchRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/escalate_to_next_request.go b/alert/escalate_to_next_request.go index cba0fed..e9667e1 100644 --- a/alert/escalate_to_next_request.go +++ b/alert/escalate_to_next_request.go @@ -15,7 +15,7 @@ type EscalateToNextRequest struct { Note string `json:"note,omitempty"` } -func (r EscalateToNextRequest) Validate() error { +func (r *EscalateToNextRequest) Validate() error { if r.Escalation.ID == "" && r.Escalation.Name == "" { return errors.New("Escalation ID or name must be defined") } @@ -26,17 +26,17 @@ func (r EscalateToNextRequest) Validate() error { return nil } -func (r EscalateToNextRequest) ResourcePath() string { +func (r *EscalateToNextRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/escalate" } -func (r EscalateToNextRequest) Method() string { +func (r *EscalateToNextRequest) Method() string { return "POST" } -func (r EscalateToNextRequest) RequestParams() map[string]string { +func (r *EscalateToNextRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/execute_custom_action.go b/alert/execute_custom_action.go index 2f54426..df825a2 100644 --- a/alert/execute_custom_action.go +++ b/alert/execute_custom_action.go @@ -15,7 +15,7 @@ type ExecuteCustomActionAlertRequest struct { Note string `json:"note,omitempty"` } -func (r ExecuteCustomActionAlertRequest) Validate() error { +func (r *ExecuteCustomActionAlertRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } @@ -25,17 +25,17 @@ func (r ExecuteCustomActionAlertRequest) Validate() error { return nil } -func (r ExecuteCustomActionAlertRequest) ResourcePath() string { +func (r *ExecuteCustomActionAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/actions/" + r.Action } -func (r ExecuteCustomActionAlertRequest) Method() string { +func (r *ExecuteCustomActionAlertRequest) Method() string { return "POST" } -func (r ExecuteCustomActionAlertRequest) RequestParams() map[string]string { +func (r *ExecuteCustomActionAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/get_alert_request.go b/alert/get_alert_request.go index 5e6d0d2..bcb8d47 100644 --- a/alert/get_alert_request.go +++ b/alert/get_alert_request.go @@ -8,7 +8,7 @@ type GetAlertRequest struct { IdentifierValue string } -func (r GetAlertRequest) Validate() error { +func (r *GetAlertRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -16,15 +16,15 @@ func (r GetAlertRequest) Validate() error { return nil } -func (r GetAlertRequest) ResourcePath() string { +func (r *GetAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue } -func (r GetAlertRequest) Method() string { +func (r *GetAlertRequest) Method() string { return "GET" } -func (r GetAlertRequest) RequestParams() map[string]string { +func (r *GetAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/get_attachment_request.go b/alert/get_attachment_request.go index c46befc..f3204ce 100644 --- a/alert/get_attachment_request.go +++ b/alert/get_attachment_request.go @@ -12,7 +12,7 @@ type GetAttachmentRequest struct { AttachmentId string } -func (r GetAttachmentRequest) Validate() error { +func (r *GetAttachmentRequest) Validate() error { if r.AttachmentId == "" { return errors.New("AttachmentId can not be empty") } @@ -23,16 +23,16 @@ func (r GetAttachmentRequest) Validate() error { return nil } -func (r GetAttachmentRequest) ResourcePath() string { +func (r *GetAttachmentRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/attachments/" + r.AttachmentId } -func (r GetAttachmentRequest) Method() string { +func (r *GetAttachmentRequest) Method() string { return "GET" } -func (r GetAttachmentRequest) RequestParams() map[string]string { +func (r *GetAttachmentRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/get_request_status_request.go b/alert/get_request_status_request.go index 8bb8191..a8674cc 100644 --- a/alert/get_request_status_request.go +++ b/alert/get_request_status_request.go @@ -10,7 +10,7 @@ type GetAsyncRequestStatusRequest struct { RequestID string `json:"requestId,omitempty"` } -func (r GetAsyncRequestStatusRequest) Validate() error { +func (r *GetAsyncRequestStatusRequest) Validate() error { if r.RequestID == "" { return errors.New("RequestID can not be empty") } @@ -18,10 +18,10 @@ func (r GetAsyncRequestStatusRequest) Validate() error { return nil } -func (r GetAsyncRequestStatusRequest) ResourcePath() string { +func (r *GetAsyncRequestStatusRequest) ResourcePath() string { return "/v2/alerts/requests/" + r.RequestID } -func (r GetAsyncRequestStatusRequest) Method() string { +func (r *GetAsyncRequestStatusRequest) Method() string { return "GET" } diff --git a/alert/get_saved_search_request.go b/alert/get_saved_search_request.go index 6fbff93..aadda17 100644 --- a/alert/get_saved_search_request.go +++ b/alert/get_saved_search_request.go @@ -8,7 +8,7 @@ type GetSavedSearchRequest struct { IdentifierValue string } -func (r GetSavedSearchRequest) Validate() error { +func (r *GetSavedSearchRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -16,16 +16,16 @@ func (r GetSavedSearchRequest) Validate() error { return nil } -func (r GetSavedSearchRequest) ResourcePath() string { +func (r *GetSavedSearchRequest) ResourcePath() string { return "/v2/alerts/saved-searches/" + r.IdentifierValue } -func (r GetSavedSearchRequest) Method() string { +func (r *GetSavedSearchRequest) Method() string { return "GET" } -func (r GetSavedSearchRequest) RequestParams() map[string]string { +func (r *GetSavedSearchRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_alert_logs_request.go b/alert/list_alert_logs_request.go index cf46608..fc5b1d3 100644 --- a/alert/list_alert_logs_request.go +++ b/alert/list_alert_logs_request.go @@ -15,7 +15,7 @@ type ListAlertLogsRequest struct { Limit uint32 } -func (r ListAlertLogsRequest) Validate() error { +func (r *ListAlertLogsRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -23,15 +23,15 @@ func (r ListAlertLogsRequest) Validate() error { return nil } -func (r ListAlertLogsRequest) ResourcePath() string { +func (r *ListAlertLogsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/logs" } -func (r ListAlertLogsRequest) Method() string { +func (r *ListAlertLogsRequest) Method() string { return "GET" } -func (r ListAlertLogsRequest) RequestParams() map[string]string { +func (r *ListAlertLogsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_alert_notes_request.go b/alert/list_alert_notes_request.go index 3e70035..251206e 100644 --- a/alert/list_alert_notes_request.go +++ b/alert/list_alert_notes_request.go @@ -15,7 +15,7 @@ type ListAlertNotesRequest struct { Limit uint32 } -func (r ListAlertNotesRequest) Validate() error { +func (r *ListAlertNotesRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -23,15 +23,15 @@ func (r ListAlertNotesRequest) Validate() error { return nil } -func (r ListAlertNotesRequest) ResourcePath() string { +func (r *ListAlertNotesRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/notes" } -func (r ListAlertNotesRequest) Method() string { +func (r *ListAlertNotesRequest) Method() string { return "GET" } -func (r ListAlertNotesRequest) RequestParams() map[string]string { +func (r *ListAlertNotesRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_alert_recipient_request.go b/alert/list_alert_recipient_request.go index 3f76c73..1e42ae5 100644 --- a/alert/list_alert_recipient_request.go +++ b/alert/list_alert_recipient_request.go @@ -8,7 +8,7 @@ type ListAlertRecipientRequest struct { IdentifierValue string } -func (r ListAlertRecipientRequest) Validate() error { +func (r *ListAlertRecipientRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -16,16 +16,16 @@ func (r ListAlertRecipientRequest) Validate() error { return nil } -func (r ListAlertRecipientRequest) ResourcePath() string { +func (r *ListAlertRecipientRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/recipients" } -func (r ListAlertRecipientRequest) Method() string { +func (r *ListAlertRecipientRequest) Method() string { return "GET" } -func (r ListAlertRecipientRequest) RequestParams() map[string]string { +func (r *ListAlertRecipientRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_alert_request.go b/alert/list_alert_request.go index 2d8c0c1..4c59473 100644 --- a/alert/list_alert_request.go +++ b/alert/list_alert_request.go @@ -16,21 +16,21 @@ type ListAlertRequest struct { SearchIdentifierType SearchIdentifierType } -func (r ListAlertRequest) Validate() error { +func (r *ListAlertRequest) Validate() error { return nil } -func (r ListAlertRequest) ResourcePath() string { +func (r *ListAlertRequest) ResourcePath() string { return "/v2/alerts" } -func (r ListAlertRequest) Method() string { +func (r *ListAlertRequest) Method() string { return "GET" } -func (r ListAlertRequest) RequestParams() map[string]string { +func (r *ListAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_attachments_request.go b/alert/list_attachments_request.go index 0ceacb9..673d325 100644 --- a/alert/list_attachments_request.go +++ b/alert/list_attachments_request.go @@ -11,23 +11,23 @@ type ListAttachmentsRequest struct { IdentifierValue string } -func (r ListAttachmentsRequest) Validate() error { +func (r *ListAttachmentsRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } return nil } -func (r ListAttachmentsRequest) ResourcePath() string { +func (r *ListAttachmentsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/attachments" } -func (r ListAttachmentsRequest) Method() string { +func (r *ListAttachmentsRequest) Method() string { return "GET" } -func (r ListAttachmentsRequest) RequestParams() map[string]string { +func (r *ListAttachmentsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/list_saved_search_request.go b/alert/list_saved_search_request.go index a5ea6f0..c33fc2c 100644 --- a/alert/list_saved_search_request.go +++ b/alert/list_saved_search_request.go @@ -6,16 +6,16 @@ type ListSavedSearchRequest struct { client.BaseRequest } -func (ssr ListSavedSearchRequest) Validate() error { +func (r *ListSavedSearchRequest) Validate() error { return nil } -func (ssr ListSavedSearchRequest) ResourcePath() string { +func (r *ListSavedSearchRequest) ResourcePath() string { return "/v2/alerts/saved-searches" } -func (ssr ListSavedSearchRequest) Method() string { +func (r *ListSavedSearchRequest) Method() string { return "GET" } diff --git a/alert/remove_details_request.go b/alert/remove_details_request.go index f2357ce..f19d576 100644 --- a/alert/remove_details_request.go +++ b/alert/remove_details_request.go @@ -15,7 +15,7 @@ type RemoveDetailsRequest struct { Note string } -func (r RemoveDetailsRequest) Validate() error { +func (r *RemoveDetailsRequest) Validate() error { if r.Keys == "" { return errors.New("Keys can not be empty") } @@ -26,16 +26,16 @@ func (r RemoveDetailsRequest) Validate() error { return nil } -func (r RemoveDetailsRequest) ResourcePath() string { +func (r *RemoveDetailsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/details" } -func (r RemoveDetailsRequest) Method() string { +func (r *RemoveDetailsRequest) Method() string { return "DELETE" } -func (r RemoveDetailsRequest) RequestParams() map[string]string { +func (r *RemoveDetailsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/remove_tags_request.go b/alert/remove_tags_request.go index b1acf16..1398a3f 100644 --- a/alert/remove_tags_request.go +++ b/alert/remove_tags_request.go @@ -15,7 +15,7 @@ type RemoveTagsRequest struct { Note string } -func (r RemoveTagsRequest) Validate() error { +func (r *RemoveTagsRequest) Validate() error { if r.Tags == "" { return errors.New("Tags can not be empty") } @@ -26,16 +26,16 @@ func (r RemoveTagsRequest) Validate() error { return nil } -func (r RemoveTagsRequest) ResourcePath() string { +func (r *RemoveTagsRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/tags" } -func (r RemoveTagsRequest) Method() string { +func (r *RemoveTagsRequest) Method() string { return "DELETE" } -func (r RemoveTagsRequest) RequestParams() map[string]string { +func (r *RemoveTagsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/result.go b/alert/result.go index e107c6c..71b44ba 100644 --- a/alert/result.go +++ b/alert/result.go @@ -113,12 +113,12 @@ type AlertLog struct { type ListAlertLogsResult struct { client.ResultMetadata - AlertLog []AlertLog `json:"data"` - Paging map[string]string `json:"paging,omitempty"` + AlertLog []AlertLog `json:"data"` + Paging map[string]string `json:"paging,omitempty"` } type AlertNote struct { - Note string `json:"log,omitempty"` + Note string `json:"note,omitempty"` Owner string `json:"owner,omitempty"` CreatedAt time.Time `json:"createdAt,omitempty"` Offset string `json:"offset,omitempty"` @@ -126,19 +126,19 @@ type AlertNote struct { type ListAlertNotesResult struct { client.ResultMetadata - AlertLog []AlertNote `json:"data"` - Paging map[string]string `json:"paging,omitempty"` + AlertLog []AlertNote `json:"data"` + Paging map[string]string `json:"paging,omitempty"` } type GetSavedSearchResult struct { client.ResultMetadata - Id string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - CreatedAt time.Time `json:"createdAt,omitempty"` - UpdatedAt time.Time `json:"updatedAt,omitempty"` - Teams []Team `json:"teams,omitempty"` - Description string `json:"description,omitempty"` - Query string `json:"query,omitempty"` + Id string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + CreatedAt time.Time `json:"createdAt,omitempty"` + UpdatedAt time.Time `json:"updatedAt,omitempty"` + Teams []Team `json:"teams,omitempty"` + Description string `json:"description,omitempty"` + Query string `json:"query,omitempty"` } type CreateAlertAttachmentsResult struct { @@ -148,7 +148,7 @@ type CreateAlertAttachmentsResult struct { } type CreatedAttachment struct { - Id string `json:id,omitempty"` + Id string `json:id,omitempty"` } type GetAttachmentResult struct { @@ -170,4 +170,4 @@ type ListedAttachment struct { type DeleteAlertAttachmentResult struct { client.ResultMetadata Result string `json:"result,omitempty"` -} \ No newline at end of file +} diff --git a/alert/snooze_request.go b/alert/snooze_request.go index f2b8c56..0336d86 100644 --- a/alert/snooze_request.go +++ b/alert/snooze_request.go @@ -16,7 +16,7 @@ type SnoozeAlertRequest struct { Note string `json:"note,omitempty"` } -func (r SnoozeAlertRequest) Validate() error { +func (r *SnoozeAlertRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } @@ -27,17 +27,17 @@ func (r SnoozeAlertRequest) Validate() error { return nil } -func (r SnoozeAlertRequest) ResourcePath() string { +func (r *SnoozeAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/snooze" } -func (r SnoozeAlertRequest) Method() string { +func (r *SnoozeAlertRequest) Method() string { return "POST" } -func (r SnoozeAlertRequest) RequestParams() map[string]string { +func (r *SnoozeAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/unacknowledge_request.go b/alert/unacknowledge_request.go index 2ccfd66..98db89b 100644 --- a/alert/unacknowledge_request.go +++ b/alert/unacknowledge_request.go @@ -14,24 +14,24 @@ type UnacknowledgeAlertRequest struct { Note string `json:"note,omitempty"` } -func (r UnacknowledgeAlertRequest) Validate() error { +func (r *UnacknowledgeAlertRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") } return nil } -func (r UnacknowledgeAlertRequest) ResourcePath() string { +func (r *UnacknowledgeAlertRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/unacknowledge" } -func (r UnacknowledgeAlertRequest) Method() string { +func (r *UnacknowledgeAlertRequest) Method() string { return "POST" } -func (r UnacknowledgeAlertRequest) RequestParams() map[string]string { +func (r *UnacknowledgeAlertRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/update_description_request.go b/alert/update_description_request.go index 3c69fa6..1eea6a7 100644 --- a/alert/update_description_request.go +++ b/alert/update_description_request.go @@ -12,7 +12,7 @@ type UpdateDescriptionRequest struct { Description string `json:"description,omitempty"` } -func (r UpdateDescriptionRequest) Validate() error { +func (r *UpdateDescriptionRequest) Validate() error { if r.Description == "" { return errors.New("Description can not be empty") } @@ -22,16 +22,16 @@ func (r UpdateDescriptionRequest) Validate() error { return nil } -func (r UpdateDescriptionRequest) ResourcePath() string { +func (r *UpdateDescriptionRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/description" } -func (r UpdateDescriptionRequest) Method() string { +func (r *UpdateDescriptionRequest) Method() string { return "PUT" } -func (r UpdateDescriptionRequest) RequestParams() map[string]string { +func (r *UpdateDescriptionRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/update_message_request.go b/alert/update_message_request.go index 86df0e8..09d3b8a 100644 --- a/alert/update_message_request.go +++ b/alert/update_message_request.go @@ -12,7 +12,7 @@ type UpdateMessageRequest struct { Message string `json:"message,omitempty"` } -func (r UpdateMessageRequest) Validate() error { +func (r *UpdateMessageRequest) Validate() error { if r.Message == "" { return errors.New("Message can not be empty") } @@ -22,16 +22,16 @@ func (r UpdateMessageRequest) Validate() error { return nil } -func (r UpdateMessageRequest) ResourcePath() string { +func (r *UpdateMessageRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/message" } -func (r UpdateMessageRequest) Method() string { +func (r *UpdateMessageRequest) Method() string { return "PUT" } -func (r UpdateMessageRequest) RequestParams() map[string]string { +func (r *UpdateMessageRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/update_priority_request.go b/alert/update_priority_request.go index aa1f960..399f624 100644 --- a/alert/update_priority_request.go +++ b/alert/update_priority_request.go @@ -12,7 +12,7 @@ type UpdatePriorityRequest struct { Priority Priority `json:"priority,omitempty"` } -func (r UpdatePriorityRequest) Validate() error { +func (r *UpdatePriorityRequest) Validate() error { if r.Priority == "" { return errors.New("Priority can not be empty") } @@ -26,17 +26,17 @@ func (r UpdatePriorityRequest) Validate() error { return nil } -func (r UpdatePriorityRequest) ResourcePath() string { +func (r *UpdatePriorityRequest) ResourcePath() string { return "/v2/alerts/" + r.IdentifierValue + "/priority" } -func (r UpdatePriorityRequest) Method() string { +func (r *UpdatePriorityRequest) Method() string { return "PUT" } -func (r UpdatePriorityRequest) RequestParams() map[string]string { +func (r *UpdatePriorityRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/alert/update_saved_search_request.go b/alert/update_saved_search_request.go index 1f7e73c..cd4c4c2 100644 --- a/alert/update_saved_search_request.go +++ b/alert/update_saved_search_request.go @@ -16,7 +16,7 @@ type UpdateSavedSearchRequest struct { Teams []Team `json:"teams,omitempty"` } -func (r UpdateSavedSearchRequest) Validate() error { +func (r *UpdateSavedSearchRequest) Validate() error { if r.IdentifierValue == "" { return errors.New("Identifier can not be empty") @@ -37,16 +37,16 @@ func (r UpdateSavedSearchRequest) Validate() error { return nil } -func (r UpdateSavedSearchRequest) ResourcePath() string { +func (r *UpdateSavedSearchRequest) ResourcePath() string { return "/v2/alerts/saved-searches/" + r.IdentifierValue } -func (r UpdateSavedSearchRequest) Method() string { +func (r *UpdateSavedSearchRequest) Method() string { return "PATCH" } -func (r UpdateSavedSearchRequest) RequestParams() map[string]string { +func (r *UpdateSavedSearchRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/client/client.go b/client/client.go index f20573d..e47772b 100644 --- a/client/client.go +++ b/client/client.go @@ -41,7 +41,7 @@ type ApiRequest interface { type BaseRequest struct { } -func (r BaseRequest) Metadata(apiRequest ApiRequest) map[string]interface{} { +func (r *BaseRequest) Metadata(apiRequest ApiRequest) map[string]interface{} { headers := make(map[string]interface{}) if apiRequest.Method() != "GET" && apiRequest.Method() != "DELETE" { headers["Content-Type"] = "application/json; charset=utf-8" @@ -51,7 +51,7 @@ func (r BaseRequest) Metadata(apiRequest ApiRequest) map[string]interface{} { return headers } -func (r BaseRequest) RequestParams() map[string]string { +func (r *BaseRequest) RequestParams() map[string]string { return nil } @@ -258,7 +258,7 @@ type ApiError struct { ErrorHeader string } -func (ar ApiError) Error() string { +func (ar *ApiError) Error() string { errMessage := "Error occurred with Status code: " + ar.StatusCode + ", " + "Message: " + ar.Message + ", " + "Took: " + fmt.Sprintf("%f", ar.Took) + ", " + diff --git a/client/client_test.go b/client/client_test.go index 79c21cb..2d80832 100644 --- a/client/client_test.go +++ b/client/client_test.go @@ -122,7 +122,7 @@ func TestParsingWithoutDataField(t *testing.T) { result := &aResultDoesNotWantDataFieldsToBeParsed{} localUrl := strings.Replace(ts.URL, "http://", "", len(ts.URL)-1) ogClient.Config.apiUrl = localUrl - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) if err != nil { t.Fail() } @@ -152,7 +152,7 @@ func TestParsingWhenApiDoesNotReturnDataField(t *testing.T) { result := &ResultWithoutDataField{} localUrl := strings.Replace(ts.URL, "http://", "", len(ts.URL)-1) ogClient.Config.apiUrl = localUrl - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) if err != nil { t.Fail() } @@ -209,7 +209,7 @@ func TestExec(t *testing.T) { result := &testResult{} localUrl := strings.Replace(ts.URL, "http://", "", len(ts.URL)-1) ogClient.Config.apiUrl = localUrl - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) assert.Equal(t, result.Data, "processed") if err != nil { t.Fail() @@ -229,7 +229,7 @@ func TestParsingErrorExec(t *testing.T) { result := &testResult{} localUrl := strings.Replace(ts.URL, "http://", "", len(ts.URL)-1) ogClient.Config.apiUrl = localUrl - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) assert.Contains(t, err.Error(), "Response could not be parsed, unexpected end of JSON input") } @@ -250,7 +250,7 @@ func TestExecWhenRequestIsNotValid(t *testing.T) { request := testRequest{ExtraField: "extra"} result := &testResult{} - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) assert.Equal(t, err.Error(), "mandatory field cannot be empty") } @@ -276,7 +276,7 @@ func TestExecWhenApiReturns422(t *testing.T) { request := testRequest{MandatoryField: "afield", ExtraField: "extra"} result := &testResult{} - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) fmt.Println(err.Error()) assert.Contains(t, err.Error(), "422") assert.Contains(t, err.Error(), "Invalid recipient") @@ -303,7 +303,7 @@ func TestExecWhenApiReturns5XX(t *testing.T) { request := testRequest{MandatoryField: "afield", ExtraField: "extra"} result := &testResult{} - err = ogClient.Exec(nil, request, result) + err = ogClient.Exec(nil, &request, result) fmt.Println(err.Error()) assert.Contains(t, err.Error(), "Internal Server Error") assert.Contains(t, err.Error(), "500") diff --git a/contact/contact.go b/contact/contact.go index c9a99f0..c060d32 100644 --- a/contact/contact.go +++ b/contact/contact.go @@ -6,7 +6,7 @@ import ( ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,67 +14,66 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - newClient := &Client{} - newClient.ogClient = *opsgenieClient - return newClient, nil + + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Enable(context context.Context, request EnableRequest) (*EnableResult, error) { +func (c *Client) Enable(context context.Context, request *EnableRequest) (*EnableResult, error) { result := &EnableResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Disable(context context.Context, request DisableRequest) (*DisableResult, error) { +func (c *Client) Disable(context context.Context, request *DisableRequest) (*DisableResult, error) { result := &DisableResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/contact/contact_test.go b/contact/contact_test.go index 69d12f0..5b3f7a2 100644 --- a/contact/contact_test.go +++ b/contact/contact_test.go @@ -31,8 +31,8 @@ func TestCreateRequest_Validate(t *testing.T) { func TestGetRequest_Validate(t *testing.T) { var err error - getRequest := &GetRequest{} - err = GetRequest{}.Validate() + getRequest := GetRequest{} + err = getRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) getRequest.UserIdentifier = "123" @@ -51,7 +51,7 @@ func TestGetRequest_Validate(t *testing.T) { func TestUpdateRequest_Validate(t *testing.T) { var err error updateRequest := &UpdateRequest{} - err = GetRequest{}.Validate() + err = updateRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) updateRequest.UserIdentifier = "123" @@ -73,7 +73,7 @@ func TestUpdateRequest_Validate(t *testing.T) { func TestDeleteRequest_Validate(t *testing.T) { var err error deleteRequest := &DeleteRequest{} - err = DeleteRequest{}.Validate() + err = deleteRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) deleteRequest.UserIdentifier = "123" @@ -92,7 +92,7 @@ func TestDeleteRequest_Validate(t *testing.T) { func TestListRequest_Validate(t *testing.T) { var err error listRequest := &ListRequest{} - err = ListRequest{}.Validate() + err = listRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) listRequest.UserIdentifier = "123" @@ -107,7 +107,7 @@ func TestListRequest_Validate(t *testing.T) { func TestEnableRequest_Validate(t *testing.T) { var err error enableRequest := &EnableRequest{} - err = EnableRequest{}.Validate() + err = enableRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) enableRequest.UserIdentifier = "123" @@ -125,19 +125,19 @@ func TestEnableRequest_Validate(t *testing.T) { func TestDisableRequest_Validate(t *testing.T) { var err error - enableRequest := &DisableRequest{} - err = DisableRequest{}.Validate() + disableRequest := &DisableRequest{} + err = disableRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) - enableRequest.UserIdentifier = "123" - err = enableRequest.Validate() + disableRequest.UserIdentifier = "123" + err = disableRequest.Validate() assert.Equal(t, err.Error(), errors.New("Contact identifier cannot be empty.").Error()) - enableRequest.ContactIdentifier = "1234" - err = enableRequest.Validate() + disableRequest.ContactIdentifier = "1234" + err = disableRequest.Validate() assert.Nil(t, err) - assert.Equal(t, enableRequest.ResourcePath(), "/v2/users/123/contacts/1234/disable") - assert.Equal(t, enableRequest.Method(), "POST") + assert.Equal(t, disableRequest.ResourcePath(), "/v2/users/123/contacts/1234/disable") + assert.Equal(t, disableRequest.Method(), "POST") } diff --git a/contact/request.go b/contact/request.go index 7f0c324..4c50a20 100644 --- a/contact/request.go +++ b/contact/request.go @@ -12,25 +12,25 @@ type CreateRequest struct { MethodOfContact MethodType `json:"method"` } -func (cr CreateRequest) Validate() error { - if cr.UserIdentifier == "" { +func (r *CreateRequest) Validate() error { + if r.UserIdentifier == "" { return errors.New("User identifier cannot be empty.") } - if cr.To == "" { + if r.To == "" { return errors.New("to cannot be empty.") } - if cr.MethodOfContact == "" { + if r.MethodOfContact == "" { return errors.New("Method cannot be empty.") } return nil } -func (cr CreateRequest) ResourcePath() string { - return "/v2/users/" + cr.UserIdentifier + "/contacts" +func (r *CreateRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts" } -func (cr CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -40,19 +40,19 @@ type GetRequest struct { ContactIdentifier string } -func (gr GetRequest) Validate() error { - err := validateIdentifier(gr.UserIdentifier, gr.ContactIdentifier) +func (r *GetRequest) Validate() error { + err := validateIdentifier(r.UserIdentifier, r.ContactIdentifier) if err != nil { return err } return nil } -func (gr GetRequest) ResourcePath() string { - return "/v2/users/" + gr.UserIdentifier + "/contacts/" + gr.ContactIdentifier +func (r *GetRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts/" + r.ContactIdentifier } -func (gr GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } @@ -63,25 +63,25 @@ type UpdateRequest struct { To string `json:"to"` } -func (ur UpdateRequest) Validate() error { +func (r *UpdateRequest) Validate() error { - err := validateIdentifier(ur.UserIdentifier, ur.ContactIdentifier) + err := validateIdentifier(r.UserIdentifier, r.ContactIdentifier) if err != nil { return err } - if ur.To == "" { + if r.To == "" { return errors.New("to cannot be empty.") } return nil } -func (ur UpdateRequest) ResourcePath() string { - return "/v2/users/" + ur.UserIdentifier + "/contacts/" + ur.ContactIdentifier +func (r *UpdateRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts/" + r.ContactIdentifier } -func (ur UpdateRequest) Method() string { +func (r *UpdateRequest) Method() string { return "PATCH" } @@ -91,18 +91,18 @@ type DeleteRequest struct { ContactIdentifier string } -func (dr DeleteRequest) Validate() error { - err := validateIdentifier(dr.UserIdentifier, dr.ContactIdentifier) +func (r *DeleteRequest) Validate() error { + err := validateIdentifier(r.UserIdentifier, r.ContactIdentifier) if err != nil { return err } return nil } -func (dr DeleteRequest) ResourcePath() string { - return "/v2/users/" + dr.UserIdentifier + "/contacts/" + dr.ContactIdentifier +func (r *DeleteRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts/" + r.ContactIdentifier } -func (dr DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } @@ -111,17 +111,17 @@ type ListRequest struct { UserIdentifier string } -func (lr ListRequest) Validate() error { - if lr.UserIdentifier == "" { +func (r *ListRequest) Validate() error { + if r.UserIdentifier == "" { return errors.New("User identifier cannot be empty.") } return nil } -func (lr ListRequest) ResourcePath() string { - return "/v2/users/" + lr.UserIdentifier + "/contacts" +func (r *ListRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts" } -func (lr ListRequest) Method() string { +func (r *ListRequest) Method() string { return "GET" } @@ -131,18 +131,18 @@ type EnableRequest struct { ContactIdentifier string } -func (er EnableRequest) Validate() error { - err := validateIdentifier(er.UserIdentifier, er.ContactIdentifier) +func (r *EnableRequest) Validate() error { + err := validateIdentifier(r.UserIdentifier, r.ContactIdentifier) if err != nil { return err } return nil } -func (er EnableRequest) ResourcePath() string { - return "/v2/users/" + er.UserIdentifier + "/contacts/" + er.ContactIdentifier + "/enable" +func (r *EnableRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts/" + r.ContactIdentifier + "/enable" } -func (er EnableRequest) Method() string { +func (r *EnableRequest) Method() string { return "POST" } @@ -152,18 +152,18 @@ type DisableRequest struct { ContactIdentifier string } -func (dr DisableRequest) Validate() error { - err := validateIdentifier(dr.UserIdentifier, dr.ContactIdentifier) +func (r *DisableRequest) Validate() error { + err := validateIdentifier(r.UserIdentifier, r.ContactIdentifier) if err != nil { return err } return nil } -func (dr DisableRequest) ResourcePath() string { - return "/v2/users/" + dr.UserIdentifier + "/contacts/" + dr.ContactIdentifier + "/disable" +func (r *DisableRequest) ResourcePath() string { + return "/v2/users/" + r.UserIdentifier + "/contacts/" + r.ContactIdentifier + "/disable" } -func (dr DisableRequest) Method() string { +func (r *DisableRequest) Method() string { return "POST" } diff --git a/customuserrole/custom_user_role.go b/customuserrole/custom_user_role.go index e6afff6..e7257d9 100644 --- a/customuserrole/custom_user_role.go +++ b/customuserrole/custom_user_role.go @@ -1,12 +1,12 @@ package customuserrole import ( - "golang.org/x/net/context" "github.com/opsgenie/opsgenie-go-sdk-v2/client" + "golang.org/x/net/context" ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,48 +14,48 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - return &Client{*opsgenieClient}, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/customuserrole/custom_user_role_test.go b/customuserrole/custom_user_role_test.go index 8e777d8..2f385e8 100644 --- a/customuserrole/custom_user_role_test.go +++ b/customuserrole/custom_user_role_test.go @@ -1,9 +1,9 @@ package customuserrole import ( + "github.com/pkg/errors" "github.com/stretchr/testify/assert" "testing" - "github.com/pkg/errors" ) func TestCreateCustomUserRoleRequest_Validate(t *testing.T) { diff --git a/escalation/escalation.go b/escalation/escalation.go index 50a6d2f..1df56b8 100644 --- a/escalation/escalation.go +++ b/escalation/escalation.go @@ -1,12 +1,12 @@ package escalation import ( - "github.com/opsgenie/opsgenie-go-sdk-v2/client" "context" + "github.com/opsgenie/opsgenie-go-sdk-v2/client" ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,50 +14,48 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - client := &Client{} - client.ogClient = *opsgenieClient - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context) (*ListResult, error) { +func (c *Client) List(context context.Context) (*ListResult, error) { result := &ListResult{} - err := client.ogClient.Exec(context, listRequest{}, result) + err := c.client.Exec(context, &listRequest{}, result) if err != nil { return nil, err } diff --git a/escalation/escalation_test.go b/escalation/escalation_test.go index 89470c2..ccc138c 100644 --- a/escalation/escalation_test.go +++ b/escalation/escalation_test.go @@ -1,10 +1,10 @@ package escalation import ( - "testing" - "github.com/stretchr/testify/assert" - "github.com/pkg/errors" "github.com/opsgenie/opsgenie-go-sdk-v2/og" + "github.com/pkg/errors" + "github.com/stretchr/testify/assert" + "testing" ) func TestCreateRequest_Validate(t *testing.T) { diff --git a/escalation/request.go b/escalation/request.go index 4fc22d5..f6c3927 100644 --- a/escalation/request.go +++ b/escalation/request.go @@ -1,8 +1,8 @@ package escalation import ( - "github.com/opsgenie/opsgenie-go-sdk-v2/og" "github.com/opsgenie/opsgenie-go-sdk-v2/client" + "github.com/opsgenie/opsgenie-go-sdk-v2/og" "github.com/pkg/errors" ) @@ -40,25 +40,25 @@ type CreateRequest struct { Repeat *RepeatRequest `json:"repeat,omitempty"` } -func (request CreateRequest) Validate() error { - if request.Name == "" { +func (r *CreateRequest) Validate() error { + if r.Name == "" { return errors.New("Name cannot be empty.") } - if len(request.Rules) == 0 { + if len(r.Rules) == 0 { return errors.New("Rules list cannot be empty.") } - err := validateRules(request.Rules) + err := validateRules(r.Rules) if err != nil { return err } return nil } -func (request CreateRequest) ResourcePath() string { +func (r *CreateRequest) ResourcePath() string { return "/v2/escalations" } -func (request CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -68,27 +68,27 @@ type GetRequest struct { Identifier string } -func (request GetRequest) Validate() error { - err := validateIdentifiers(request.Identifier, request.IdentifierType) +func (r *GetRequest) Validate() error { + err := validateIdentifiers(r.Identifier, r.IdentifierType) if err != nil { return err } return nil } -func (request GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } -func (request GetRequest) ResourcePath() string { - return "/v2/escalations/" + request.Identifier +func (r *GetRequest) ResourcePath() string { + return "/v2/escalations/" + r.Identifier } -func (request GetRequest) RequestParams() map[string]string { +func (r *GetRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -108,27 +108,27 @@ type UpdateRequest struct { Identifier string } -func (request UpdateRequest) Validate() error { - err := validateIdentifiers(request.Identifier, request.IdentifierType) +func (r *UpdateRequest) Validate() error { + err := validateIdentifiers(r.Identifier, r.IdentifierType) if err != nil { return err } - err = validateRules(request.Rules) + err = validateRules(r.Rules) if err != nil { return err } return nil } -func (request UpdateRequest) ResourcePath() string { - return "/v2/escalations/" + request.Identifier +func (r *UpdateRequest) ResourcePath() string { + return "/v2/escalations/" + r.Identifier } -func (request UpdateRequest) RequestParams() map[string]string { +func (r *UpdateRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -137,7 +137,7 @@ func (request UpdateRequest) RequestParams() map[string]string { return params } -func (r UpdateRequest) Method() string { +func (r *UpdateRequest) Method() string { return "PATCH" } @@ -147,27 +147,27 @@ type DeleteRequest struct { Identifier string } -func (request DeleteRequest) Validate() error { - err := validateIdentifiers(request.Identifier, request.IdentifierType) +func (r *DeleteRequest) Validate() error { + err := validateIdentifiers(r.Identifier, r.IdentifierType) if err != nil { return err } return nil } -func (request DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } -func (request DeleteRequest) ResourcePath() string { - return "/v2/escalations/" + request.Identifier +func (r *DeleteRequest) ResourcePath() string { + return "/v2/escalations/" + r.Identifier } -func (request DeleteRequest) RequestParams() map[string]string { +func (r *DeleteRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -180,15 +180,15 @@ type listRequest struct { client.BaseRequest } -func (request listRequest) Validate() error { +func (r *listRequest) Validate() error { return nil } -func (request listRequest) Method() string { +func (r *listRequest) Method() string { return "GET" } -func (request listRequest) ResourcePath() string { +func (r *listRequest) ResourcePath() string { return "/v2/escalations" } diff --git a/heartbeat/heartbeat.go b/heartbeat/heartbeat.go index 7bdb255..eebc337 100644 --- a/heartbeat/heartbeat.go +++ b/heartbeat/heartbeat.go @@ -6,7 +6,7 @@ import ( ) type Client struct { - executor client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,73 +14,71 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - client := &Client{} - client.executor = *opsgenieClient - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Ping(context context.Context, heartbeatName string) (*PingResult, error) { +func (c *Client) Ping(context context.Context, heartbeatName string) (*PingResult, error) { pingResult := &PingResult{} - request := pingRequest{HeartbeatName: heartbeatName} - err := client.executor.Exec(context, request, pingResult) + request := &pingRequest{HeartbeatName: heartbeatName} + err := c.client.Exec(context, request, pingResult) if err != nil { return nil, err } return pingResult, nil } -func (client *Client) Get(context context.Context, heartbeatName string) (*GetResult, error) { +func (c *Client) Get(context context.Context, heartbeatName string) (*GetResult, error) { getResult := &GetResult{} - request := getRequest{HeartbeatName: heartbeatName} - err := client.executor.Exec(context, request, getResult) + request := &getRequest{HeartbeatName: heartbeatName} + err := c.client.Exec(context, request, getResult) if err != nil { return nil, err } return getResult, nil } -func (client *Client) List(context context.Context) (*ListResult, error) { - request := listRequest{} +func (c *Client) List(context context.Context) (*ListResult, error) { listResult := &ListResult{} - err := client.executor.Exec(context, request, listResult) + request := &listRequest{} + err := c.client.Exec(context, request, listResult) if err != nil { return nil, err } return listResult, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*HeartbeatInfo, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*HeartbeatInfo, error) { updateResult := &HeartbeatInfo{} - err := client.executor.Exec(context, request, updateResult) + err := c.client.Exec(context, request, updateResult) if err != nil { return nil, err } return updateResult, nil } -func (client *Client) Add(context context.Context, request AddRequest) (*AddResult, error) { +func (c *Client) Add(context context.Context, request *AddRequest) (*AddResult, error) { result := &AddResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Enable(context context.Context, heartbeatName string) (*HeartbeatInfo, error) { +func (c *Client) Enable(context context.Context, heartbeatName string) (*HeartbeatInfo, error) { result := &HeartbeatInfo{} - request := enableRequest{heartbeatName: heartbeatName} - err := client.executor.Exec(context, request, result) + request := &enableRequest{heartbeatName: heartbeatName} + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Disable(context context.Context, heartbeatName string) (*HeartbeatInfo, error) { +func (c *Client) Disable(context context.Context, heartbeatName string) (*HeartbeatInfo, error) { result := &HeartbeatInfo{} - request := disableRequest{heartbeatName: heartbeatName} - err := client.executor.Exec(context, request, result) + request := &disableRequest{heartbeatName: heartbeatName} + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/heartbeat/request.go b/heartbeat/request.go index ec45293..b2d6dbc 100644 --- a/heartbeat/request.go +++ b/heartbeat/request.go @@ -18,15 +18,15 @@ func nameValidation(name string) error { return nil } -func (pr pingRequest) Validate() error { - return nameValidation(pr.HeartbeatName) +func (r pingRequest) Validate() error { + return nameValidation(r.HeartbeatName) } -func (pr pingRequest) ResourcePath() string { - return "/v2/heartbeats/" + pr.HeartbeatName + "/ping" +func (r pingRequest) ResourcePath() string { + return "/v2/heartbeats/" + r.HeartbeatName + "/ping" } -func (pr pingRequest) Method() string { +func (r pingRequest) Method() string { return "GET" } @@ -35,15 +35,15 @@ type getRequest struct { HeartbeatName string } -func (gr getRequest) Validate() error { - return nameValidation(gr.HeartbeatName) +func (r getRequest) Validate() error { + return nameValidation(r.HeartbeatName) } -func (gr getRequest) ResourcePath() string { - return "/v2/heartbeats/" + gr.HeartbeatName +func (r getRequest) ResourcePath() string { + return "/v2/heartbeats/" + r.HeartbeatName } -func (gr getRequest) Method() string { +func (r getRequest) Method() string { return "GET" } @@ -51,15 +51,15 @@ type listRequest struct { client.BaseRequest } -func (lr listRequest) Validate() error { +func (r listRequest) Validate() error { return nil } -func (lr listRequest) ResourcePath() string { +func (r listRequest) ResourcePath() string { return "/v2/heartbeats" } -func (lr listRequest) Method() string { +func (r listRequest) Method() string { return "GET" } diff --git a/incident/incident.go b/incident/incident.go index 035043d..c5625fc 100644 --- a/incident/incident.go +++ b/incident/incident.go @@ -6,167 +6,164 @@ import ( ) type Client struct { - executor *client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { - newClient, err := client.NewOpsGenieClient(config) + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - client := &Client{ - executor: newClient, - } - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) GetRequestStatus(context context.Context, request RequestStatusRequest) (*RequestStatusResult, error) { +func (c *Client) GetRequestStatus(context context.Context, request *RequestStatusRequest) (*RequestStatusResult, error) { result := &RequestStatusResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*AsyncResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*AsyncResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Close(context context.Context, request CloseRequest) (*AsyncResult, error) { +func (c *Client) Close(context context.Context, request *CloseRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) AddNote(context context.Context, request AddNoteRequest) (*AsyncResult, error) { +func (c *Client) AddNote(context context.Context, request *AddNoteRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) AddResponder(context context.Context, request AddResponderRequest) (*AsyncResult, error) { +func (c *Client) AddResponder(context context.Context, request *AddResponderRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) AddTags(context context.Context, request AddTagsRequest) (*AsyncResult, error) { +func (c *Client) AddTags(context context.Context, request *AddTagsRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) RemoveTags(context context.Context, request RemoveTagsRequest) (*AsyncResult, error) { +func (c *Client) RemoveTags(context context.Context, request *RemoveTagsRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) AddDetails(context context.Context, request AddDetailsRequest) (*AsyncResult, error) { +func (c *Client) AddDetails(context context.Context, request *AddDetailsRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) RemoveDetails(context context.Context, request RemoveDetailsRequest) (*AsyncResult, error) { +func (c *Client) RemoveDetails(context context.Context, request *RemoveDetailsRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdatePriority(context context.Context, request UpdatePriorityRequest) (*AsyncResult, error) { +func (c *Client) UpdatePriority(context context.Context, request *UpdatePriorityRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateMessage(context context.Context, request UpdateMessageRequest) (*AsyncResult, error) { +func (c *Client) UpdateMessage(context context.Context, request *UpdateMessageRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateDescription(context context.Context, request UpdateDescriptionRequest) (*AsyncResult, error) { +func (c *Client) UpdateDescription(context context.Context, request *UpdateDescriptionRequest) (*AsyncResult, error) { result := &AsyncResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListLogs(context context.Context, request ListLogsRequest) (*ListLogsResult, error) { +func (c *Client) ListLogs(context context.Context, request *ListLogsRequest) (*ListLogsResult, error) { result := &ListLogsResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListNotes(context context.Context, request ListNotesRequest) (*ListNotesResult, error) { +func (c *Client) ListNotes(context context.Context, request *ListNotesRequest) (*ListNotesResult, error) { result := &ListNotesResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/incident/request.go b/incident/request.go index 735b540..47b68dd 100644 --- a/incident/request.go +++ b/incident/request.go @@ -12,18 +12,18 @@ type RequestStatusRequest struct { Id string } -func (r RequestStatusRequest) Validate() error { +func (r *RequestStatusRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } return nil } -func (r RequestStatusRequest) ResourcePath() string { +func (r *RequestStatusRequest) ResourcePath() string { return "/v1/incidents/requests/" + r.Id } -func (r RequestStatusRequest) Method() string { +func (r *RequestStatusRequest) Method() string { return "GET" } @@ -46,7 +46,7 @@ type StatusPageEntity struct { Description string `json:"description,omitempty"` } -func (r CreateRequest) Validate() error { +func (r *CreateRequest) Validate() error { if r.Message == "" || r.ServiceId == "" { return errors.New("Message and ServiceId fields cannot be blank.") } @@ -66,11 +66,11 @@ func (r CreateRequest) Validate() error { return nil } -func (r CreateRequest) ResourcePath() string { +func (r *CreateRequest) ResourcePath() string { return "/v1/incidents/create" } -func (r CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -80,7 +80,7 @@ type DeleteRequest struct { Identifier IdentifierType } -func (r DeleteRequest) Validate() error { +func (r *DeleteRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -90,15 +90,15 @@ func (r DeleteRequest) Validate() error { return nil } -func (r DeleteRequest) ResourcePath() string { +func (r *DeleteRequest) ResourcePath() string { return "/v1/incidents/" + r.Id } -func (r DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } -func (r DeleteRequest) RequestParams() map[string]string { +func (r *DeleteRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -117,7 +117,7 @@ type GetRequest struct { Identifier IdentifierType } -func (r GetRequest) Validate() error { +func (r *GetRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -127,15 +127,15 @@ func (r GetRequest) Validate() error { return nil } -func (r GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { return "/v1/incidents/" + r.Id } -func (r GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } -func (r GetRequest) RequestParams() map[string]string { +func (r *GetRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -156,22 +156,22 @@ type ListRequest struct { Query string } -func (r ListRequest) Validate() error { +func (r *ListRequest) Validate() error { if r.Query == "" { return errors.New("Query field cannot be empty.") } return nil } -func (r ListRequest) ResourcePath() string { +func (r *ListRequest) ResourcePath() string { return "/v1/incidents" } -func (r ListRequest) Method() string { +func (r *ListRequest) Method() string { return "GET" } -func (r ListRequest) RequestParams() map[string]string { +func (r *ListRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -202,7 +202,7 @@ type CloseRequest struct { Note string `json:"note,omitempty"` } -func (r CloseRequest) Validate() error { +func (r *CloseRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -212,15 +212,15 @@ func (r CloseRequest) Validate() error { return nil } -func (r CloseRequest) ResourcePath() string { +func (r *CloseRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/close" } -func (r CloseRequest) Method() string { +func (r *CloseRequest) Method() string { return "POST" } -func (r CloseRequest) RequestParams() map[string]string { +func (r *CloseRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -240,7 +240,7 @@ type AddNoteRequest struct { Note string `json:"note"` } -func (r AddNoteRequest) Validate() error { +func (r *AddNoteRequest) Validate() error { if r.Id == "" || r.Note == "" { return errors.New("Incident ID and Note fields cannot be blank.") } @@ -250,16 +250,16 @@ func (r AddNoteRequest) Validate() error { return nil } -func (r AddNoteRequest) ResourcePath() string { +func (r *AddNoteRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/notes" } -func (r AddNoteRequest) Method() string { +func (r *AddNoteRequest) Method() string { return "POST" } -func (r AddNoteRequest) RequestParams() map[string]string { +func (r *AddNoteRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -280,7 +280,7 @@ type AddResponderRequest struct { Responders []Responder `json:"responder"` } -func (r AddResponderRequest) Validate() error { +func (r *AddResponderRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -297,16 +297,16 @@ func (r AddResponderRequest) Validate() error { return nil } -func (r AddResponderRequest) ResourcePath() string { +func (r *AddResponderRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/responders" } -func (r AddResponderRequest) Method() string { +func (r *AddResponderRequest) Method() string { return "POST" } -func (r AddResponderRequest) RequestParams() map[string]string { +func (r *AddResponderRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -327,7 +327,7 @@ type AddTagsRequest struct { Tags []string `json:"tags"` } -func (r AddTagsRequest) Validate() error { +func (r *AddTagsRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -340,15 +340,15 @@ func (r AddTagsRequest) Validate() error { return nil } -func (r AddTagsRequest) ResourcePath() string { +func (r *AddTagsRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/tags" } -func (r AddTagsRequest) Method() string { +func (r *AddTagsRequest) Method() string { return "POST" } -func (r AddTagsRequest) RequestParams() map[string]string { +func (r *AddTagsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -369,7 +369,7 @@ type RemoveTagsRequest struct { Tags []string } -func (r RemoveTagsRequest) Validate() error { +func (r *RemoveTagsRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -382,15 +382,15 @@ func (r RemoveTagsRequest) Validate() error { return nil } -func (r RemoveTagsRequest) ResourcePath() string { +func (r *RemoveTagsRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/tags" } -func (r RemoveTagsRequest) Method() string { +func (r *RemoveTagsRequest) Method() string { return "DELETE" } -func (r RemoveTagsRequest) RequestParams() map[string]string { +func (r *RemoveTagsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -418,7 +418,7 @@ type AddDetailsRequest struct { Details map[string]string `json:"details"` } -func (r AddDetailsRequest) Validate() error { +func (r *AddDetailsRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -431,15 +431,15 @@ func (r AddDetailsRequest) Validate() error { return nil } -func (r AddDetailsRequest) ResourcePath() string { +func (r *AddDetailsRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/details" } -func (r AddDetailsRequest) Method() string { +func (r *AddDetailsRequest) Method() string { return "POST" } -func (r AddDetailsRequest) RequestParams() map[string]string { +func (r *AddDetailsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -460,7 +460,7 @@ type RemoveDetailsRequest struct { Keys []string } -func (r RemoveDetailsRequest) Validate() error { +func (r *RemoveDetailsRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -473,15 +473,15 @@ func (r RemoveDetailsRequest) Validate() error { return nil } -func (r RemoveDetailsRequest) ResourcePath() string { +func (r *RemoveDetailsRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/details" } -func (r RemoveDetailsRequest) Method() string { +func (r *RemoveDetailsRequest) Method() string { return "DELETE" } -func (r RemoveDetailsRequest) RequestParams() map[string]string { +func (r *RemoveDetailsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -508,7 +508,7 @@ type UpdatePriorityRequest struct { Priority Priority `json:"priority"` } -func (r UpdatePriorityRequest) Validate() error { +func (r *UpdatePriorityRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -522,16 +522,16 @@ func (r UpdatePriorityRequest) Validate() error { return nil } -func (r UpdatePriorityRequest) ResourcePath() string { +func (r *UpdatePriorityRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/priority" } -func (r UpdatePriorityRequest) Method() string { +func (r *UpdatePriorityRequest) Method() string { return "PUT" } -func (r UpdatePriorityRequest) RequestParams() map[string]string { +func (r *UpdatePriorityRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -551,7 +551,7 @@ type UpdateMessageRequest struct { Message string `json:"message"` } -func (r UpdateMessageRequest) Validate() error { +func (r *UpdateMessageRequest) Validate() error { if r.Id == "" || r.Message == "" { return errors.New("Incident ID and Message fields cannot be blank.") } @@ -561,16 +561,16 @@ func (r UpdateMessageRequest) Validate() error { return nil } -func (r UpdateMessageRequest) ResourcePath() string { +func (r *UpdateMessageRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/message" } -func (r UpdateMessageRequest) Method() string { +func (r *UpdateMessageRequest) Method() string { return "POST" } -func (r UpdateMessageRequest) RequestParams() map[string]string { +func (r *UpdateMessageRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -590,7 +590,7 @@ type UpdateDescriptionRequest struct { Description string `json:"description"` } -func (r UpdateDescriptionRequest) Validate() error { +func (r *UpdateDescriptionRequest) Validate() error { if r.Id == "" || r.Description == "" { return errors.New("Incident ID and Description fields cannot be blank.") } @@ -600,15 +600,15 @@ func (r UpdateDescriptionRequest) Validate() error { return nil } -func (r UpdateDescriptionRequest) ResourcePath() string { +func (r *UpdateDescriptionRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/description" } -func (r UpdateDescriptionRequest) Method() string { +func (r *UpdateDescriptionRequest) Method() string { return "POST" } -func (r UpdateDescriptionRequest) RequestParams() map[string]string { +func (r *UpdateDescriptionRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -631,7 +631,7 @@ type ListLogsRequest struct { Direction string } -func (r ListLogsRequest) Validate() error { +func (r *ListLogsRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -641,15 +641,15 @@ func (r ListLogsRequest) Validate() error { return nil } -func (r ListLogsRequest) ResourcePath() string { +func (r *ListLogsRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/logs" } -func (r ListLogsRequest) Method() string { +func (r *ListLogsRequest) Method() string { return "GET" } -func (r ListLogsRequest) RequestParams() map[string]string { +func (r *ListLogsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -686,7 +686,7 @@ type ListNotesRequest struct { Direction string } -func (r ListNotesRequest) Validate() error { +func (r *ListNotesRequest) Validate() error { if r.Id == "" { return errors.New("Incident ID cannot be blank.") } @@ -696,16 +696,16 @@ func (r ListNotesRequest) Validate() error { return nil } -func (r ListNotesRequest) ResourcePath() string { +func (r *ListNotesRequest) ResourcePath() string { return "/v1/incidents/" + r.Id + "/notes" } -func (r ListNotesRequest) Method() string { +func (r *ListNotesRequest) Method() string { return "GET" } -func (r ListNotesRequest) RequestParams() map[string]string { +func (r *ListNotesRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/integration/integration.go b/integration/integration.go index 83128b4..fe9b653 100644 --- a/integration/integration.go +++ b/integration/integration.go @@ -6,57 +6,55 @@ import ( ) type Client struct { - executor client.OpsGenieClient + client *client.OpsGenieClient } -func NewClient(config client.Config) (*Client, error) { - newClient, err := client.NewOpsGenieClient(&config) +func NewClient(config *client.Config) (*Client, error) { + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - client := &Client{} - client.executor = *newClient - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context) (*ListResult, error) { +func (c *Client) List(context context.Context) (*ListResult, error) { request := listRequest{} result := &ListResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, &request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CreateApiBased(context context.Context, request APIBasedIntegrationRequest) (*APIBasedIntegrationResult, error) { +func (c *Client) CreateApiBased(context context.Context, request *APIBasedIntegrationRequest) (*APIBasedIntegrationResult, error) { result := &APIBasedIntegrationResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CreateEmailBased(context context.Context, request EmailBasedIntegrationRequest) (*EmailBasedIntegrationResult, error) { +func (c *Client) CreateEmailBased(context context.Context, request *EmailBasedIntegrationRequest) (*EmailBasedIntegrationResult, error) { result := &EmailBasedIntegrationResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ForceUpdateAllFields(context context.Context, request UpdateIntegrationRequest) (*UpdateResult, error) { +func (c *Client) ForceUpdateAllFields(context context.Context, request *UpdateIntegrationRequest) (*UpdateResult, error) { result := &UpdateResult{} if len(request.OtherFields) == 0 { request.OtherFields = map[string]interface{}{} @@ -69,70 +67,70 @@ func (client *Client) ForceUpdateAllFields(context context.Context, request Upda request.OtherFields["ignoreTeamsFromPayload"] = request.IgnoreTeamsFromPayload request.OtherFields["suppressNotifications"] = request.SuppressNotifications request.OtherFields["recipients"] = request.Recipients - err := client.executor.Exec(context, request.OtherFields, result) + err := c.client.Exec(context, request.OtherFields, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteIntegrationRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteIntegrationRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Enable(context context.Context, request EnableIntegrationRequest) (*EnableResult, error) { +func (c *Client) Enable(context context.Context, request *EnableIntegrationRequest) (*EnableResult, error) { result := &EnableResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Disable(context context.Context, request DisableIntegrationRequest) (*DisableResult, error) { +func (c *Client) Disable(context context.Context, request *DisableIntegrationRequest) (*DisableResult, error) { result := &DisableResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Authenticate(context context.Context, request AuthenticateIntegrationRequest) (*AuthenticateResult, error) { +func (c *Client) Authenticate(context context.Context, request *AuthenticateIntegrationRequest) (*AuthenticateResult, error) { result := &AuthenticateResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetActions(context context.Context, request GetIntegrationActionsRequest) (*ActionsResult, error) { +func (c *Client) GetActions(context context.Context, request *GetIntegrationActionsRequest) (*ActionsResult, error) { result := &ActionsResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CreateActions(context context.Context, request CreateIntegrationActionsRequest) (*ActionsResult, error) { +func (c *Client) CreateActions(context context.Context, request *CreateIntegrationActionsRequest) (*ActionsResult, error) { result := &ActionsResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateAllActions(context context.Context, request UpdateAllIntegrationActionsRequest) (*ActionsResult, error) { +func (c *Client) UpdateAllActions(context context.Context, request *UpdateAllIntegrationActionsRequest) (*ActionsResult, error) { result := &ActionsResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/integration/integration_test.go b/integration/integration_test.go index 7315f34..d0ab7f8 100644 --- a/integration/integration_test.go +++ b/integration/integration_test.go @@ -1,10 +1,10 @@ package integration import ( + "github.com/opsgenie/opsgenie-go-sdk-v2/og" "github.com/pkg/errors" "github.com/stretchr/testify/assert" "testing" - "github.com/opsgenie/opsgenie-go-sdk-v2/og" ) func TestGetRequest_Validate(t *testing.T) { diff --git a/integration/request.go b/integration/request.go index afc804e..796cbab 100644 --- a/integration/request.go +++ b/integration/request.go @@ -11,18 +11,18 @@ type GetRequest struct { Id string } -func (r GetRequest) Validate() error { +func (r *GetRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } return nil } -func (r GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { return "/v2/integrations/" + r.Id } -func (r GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } @@ -30,15 +30,15 @@ type listRequest struct { client.BaseRequest } -func (lr listRequest) Validate() error { +func (r *listRequest) Validate() error { return nil } -func (lr listRequest) ResourcePath() string { +func (r *listRequest) ResourcePath() string { return "/v2/integrations" } -func (lr listRequest) Method() string { +func (r *listRequest) Method() string { return "GET" } @@ -54,7 +54,7 @@ type APIBasedIntegrationRequest struct { Recipients []Recipient `json:"recipients,omitempty"` } -func (r APIBasedIntegrationRequest) Validate() error { +func (r *APIBasedIntegrationRequest) Validate() error { if r.Name == "" || r.Type == "" { return errors.New("Name and Type fields cannot be empty.") } @@ -65,11 +65,11 @@ func (r APIBasedIntegrationRequest) Validate() error { return nil } -func (r APIBasedIntegrationRequest) ResourcePath() string { +func (r *APIBasedIntegrationRequest) ResourcePath() string { return "/v2/integrations" } -func (r APIBasedIntegrationRequest) Method() string { +func (r *APIBasedIntegrationRequest) Method() string { return "POST" } @@ -84,7 +84,7 @@ type EmailBasedIntegrationRequest struct { Recipients []Recipient `json:"recipients,omitempty"` } -func (r EmailBasedIntegrationRequest) Validate() error { +func (r *EmailBasedIntegrationRequest) Validate() error { if r.Name == "" || r.Type == "" || r.EmailUsername == "" { return errors.New("Name, Type and EmailUsername fields cannot be empty.") } @@ -95,11 +95,11 @@ func (r EmailBasedIntegrationRequest) Validate() error { return nil } -func (r EmailBasedIntegrationRequest) ResourcePath() string { +func (r *EmailBasedIntegrationRequest) ResourcePath() string { return "/v2/integrations" } -func (r EmailBasedIntegrationRequest) Method() string { +func (r *EmailBasedIntegrationRequest) Method() string { return "POST" } @@ -160,18 +160,18 @@ type DeleteIntegrationRequest struct { Id string } -func (r DeleteIntegrationRequest) Validate() error { +func (r *DeleteIntegrationRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } return nil } -func (r DeleteIntegrationRequest) ResourcePath() string { +func (r *DeleteIntegrationRequest) ResourcePath() string { return "/v2/integrations/" + r.Id } -func (r DeleteIntegrationRequest) Method() string { +func (r *DeleteIntegrationRequest) Method() string { return "DELETE" } @@ -180,18 +180,18 @@ type EnableIntegrationRequest struct { Id string } -func (r EnableIntegrationRequest) Validate() error { +func (r *EnableIntegrationRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } return nil } -func (r EnableIntegrationRequest) ResourcePath() string { +func (r *EnableIntegrationRequest) ResourcePath() string { return "/v2/integrations/" + r.Id + "/enable" } -func (r EnableIntegrationRequest) Method() string { +func (r *EnableIntegrationRequest) Method() string { return "POST" } @@ -200,18 +200,18 @@ type DisableIntegrationRequest struct { Id string } -func (r DisableIntegrationRequest) Validate() error { +func (r *DisableIntegrationRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } return nil } -func (r DisableIntegrationRequest) ResourcePath() string { +func (r *DisableIntegrationRequest) ResourcePath() string { return "/v2/integrations/" + r.Id + "/disable" } -func (r DisableIntegrationRequest) Method() string { +func (r *DisableIntegrationRequest) Method() string { return "POST" } @@ -220,18 +220,18 @@ type AuthenticateIntegrationRequest struct { Type string `json:"type"` } -func (r AuthenticateIntegrationRequest) Validate() error { +func (r *AuthenticateIntegrationRequest) Validate() error { if r.Type == "" { return errors.New("Type cannot be blank.") } return nil } -func (r AuthenticateIntegrationRequest) ResourcePath() string { +func (r *AuthenticateIntegrationRequest) ResourcePath() string { return "/v2/integrations/authenticate" } -func (r AuthenticateIntegrationRequest) Method() string { +func (r *AuthenticateIntegrationRequest) Method() string { return "POST" } @@ -240,18 +240,18 @@ type GetIntegrationActionsRequest struct { Id string } -func (r GetIntegrationActionsRequest) Validate() error { +func (r *GetIntegrationActionsRequest) Validate() error { if r.Id == "" { return errors.New("Type cannot be blank.") } return nil } -func (r GetIntegrationActionsRequest) ResourcePath() string { +func (r *GetIntegrationActionsRequest) ResourcePath() string { return "/v2/integrations/" + r.Id + "/actions" } -func (r GetIntegrationActionsRequest) Method() string { +func (r *GetIntegrationActionsRequest) Method() string { return "GET" } @@ -281,7 +281,7 @@ type CreateIntegrationActionsRequest struct { ExtraProperties map[string]string `json:"extraProperties,omitempty"` } -func (r CreateIntegrationActionsRequest) Validate() error { +func (r *CreateIntegrationActionsRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } @@ -305,11 +305,11 @@ func (r CreateIntegrationActionsRequest) Validate() error { return nil } -func (r CreateIntegrationActionsRequest) ResourcePath() string { +func (r *CreateIntegrationActionsRequest) ResourcePath() string { return "/v2/integrations/" + r.Id + "/actions" } -func (r CreateIntegrationActionsRequest) Method() string { +func (r *CreateIntegrationActionsRequest) Method() string { return "POST" } @@ -339,7 +339,7 @@ type UpdateAllIntegrationActionsRequest struct { ExtraProperties map[string]string `json:"extraProperties,omitempty"` } -func (r UpdateAllIntegrationActionsRequest) Validate() error { +func (r *UpdateAllIntegrationActionsRequest) Validate() error { if r.Id == "" { return errors.New("Integration ID cannot be blank.") } @@ -363,11 +363,11 @@ func (r UpdateAllIntegrationActionsRequest) Validate() error { return nil } -func (r UpdateAllIntegrationActionsRequest) ResourcePath() string { +func (r *UpdateAllIntegrationActionsRequest) ResourcePath() string { return "/v2/integrations/" + r.Id + "/actions" } -func (r UpdateAllIntegrationActionsRequest) Method() string { +func (r *UpdateAllIntegrationActionsRequest) Method() string { return "PUT" } diff --git a/logs/logs.go b/logs/logs.go index 3b0720b..194a230 100644 --- a/logs/logs.go +++ b/logs/logs.go @@ -12,31 +12,21 @@ type Log struct { } type Client struct { - retClient *client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { - restClient, err := client.NewOpsGenieClient( - config, - ) - - OpsGenieLogsClient := &Client{ - retClient: restClient, - } - + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - - return OpsGenieLogsClient, nil + return &Client{opsgenieClient}, nil } -// TODO: Bazi yerlerde once ctx, sonra paramlar bazilarinda tersi, bunlari ortaklayalim. - -func (lc *Client) ListLogFiles(ctx context.Context, req ListLogFilesRequest) (*ListLogFilesResult, error) { +func (c *Client) ListLogFiles(ctx context.Context, req *ListLogFilesRequest) (*ListLogFilesResult, error) { listLogFilesResponse := &ListLogFilesResult{} - err := lc.retClient.Exec(ctx, req, listLogFilesResponse) + err := c.client.Exec(ctx, req, listLogFilesResponse) if err != nil { return nil, err @@ -45,10 +35,10 @@ func (lc *Client) ListLogFiles(ctx context.Context, req ListLogFilesRequest) (*L return listLogFilesResponse, nil } -func (lc *Client) GenerateLogFileDownloadLink(ctx context.Context, req GenerateLogFileDownloadLinkRequest) (*GenerateLogFileDownloadLinkResult, error) { +func (c *Client) GenerateLogFileDownloadLink(ctx context.Context, req *GenerateLogFileDownloadLinkRequest) (*GenerateLogFileDownloadLinkResult, error) { generateLogFileDownloadLinkResponse := &GenerateLogFileDownloadLinkResult{} - err := lc.retClient.Exec(ctx, req, generateLogFileDownloadLinkResponse) + err := c.client.Exec(ctx, req, generateLogFileDownloadLinkResponse) if err != nil { return nil, err diff --git a/logs/request.go b/logs/request.go index bb216c8..5a46522 100644 --- a/logs/request.go +++ b/logs/request.go @@ -12,7 +12,7 @@ type ListLogFilesRequest struct { Limit int } -func (r ListLogFilesRequest) Validate() error { +func (r *ListLogFilesRequest) Validate() error { if len(r.Marker) == 0 { return errors.New("marker cannot be empty") } @@ -20,15 +20,15 @@ func (r ListLogFilesRequest) Validate() error { return nil } -func (r ListLogFilesRequest) ResourcePath() string { +func (r *ListLogFilesRequest) ResourcePath() string { return "/v2/logs/list/" + r.Marker } -func (r ListLogFilesRequest) Method() string { +func (r *ListLogFilesRequest) Method() string { return "GET" } -func (r ListLogFilesRequest) RequestParams() map[string]string { +func (r *ListLogFilesRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -44,7 +44,7 @@ type GenerateLogFileDownloadLinkRequest struct { FileName string } -func (r GenerateLogFileDownloadLinkRequest) Validate() error { +func (r *GenerateLogFileDownloadLinkRequest) Validate() error { if len(r.FileName) == 0 { return errors.New("fileName cannot be empty") } @@ -52,10 +52,10 @@ func (r GenerateLogFileDownloadLinkRequest) Validate() error { return nil } -func (r GenerateLogFileDownloadLinkRequest) ResourcePath() string { +func (r *GenerateLogFileDownloadLinkRequest) ResourcePath() string { return "/v2/logs/download/" + r.FileName } -func (r GenerateLogFileDownloadLinkRequest) Method() string { +func (r *GenerateLogFileDownloadLinkRequest) Method() string { return "GET" } diff --git a/maintenance/maintenance.go b/maintenance/maintenance.go index febe79b..ad7f1a7 100644 --- a/maintenance/maintenance.go +++ b/maintenance/maintenance.go @@ -6,68 +6,65 @@ import ( ) type Client struct { - executor *client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { - newClient, err := client.NewOpsGenieClient(config) + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - client := &Client{ - executor: newClient, - } - return client, nil + return &Client{client: opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Cancel(context context.Context, request CancelRequest) (*CloseResult, error) { +func (c *Client) Cancel(context context.Context, request *CancelRequest) (*CloseResult, error) { result := &CloseResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/maintenance/request.go b/maintenance/request.go index f874934..7d1f084 100644 --- a/maintenance/request.go +++ b/maintenance/request.go @@ -13,7 +13,7 @@ type CreateRequest struct { Rules []Rule `json:"rules"` } -func (r CreateRequest) Validate() error { +func (r *CreateRequest) Validate() error { err := validateTime(r.Time) if err != nil { return err @@ -28,11 +28,11 @@ func (r CreateRequest) Validate() error { return nil } -func (r CreateRequest) ResourcePath() string { +func (r *CreateRequest) ResourcePath() string { return "/v1/maintenance" } -func (r CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -41,18 +41,18 @@ type GetRequest struct { Id string } -func (r GetRequest) Validate() error { +func (r *GetRequest) Validate() error { if r.Id == "" { return errors.New("Maintenance ID cannot be blank.") } return nil } -func (r GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { return "/v1/maintenance/" + r.Id } -func (r GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } @@ -64,7 +64,7 @@ type UpdateRequest struct { Rules []Rule `json:"rules"` } -func (r UpdateRequest) Validate() error { +func (r *UpdateRequest) Validate() error { if r.Id == "" { return errors.New("Maintenance ID cannot be blank.") } @@ -82,11 +82,11 @@ func (r UpdateRequest) Validate() error { return nil } -func (r UpdateRequest) ResourcePath() string { +func (r *UpdateRequest) ResourcePath() string { return "/v1/maintenance/" + r.Id } -func (r UpdateRequest) Method() string { +func (r *UpdateRequest) Method() string { return "PUT" } @@ -95,18 +95,18 @@ type DeleteRequest struct { Id string } -func (r DeleteRequest) Validate() error { +func (r *DeleteRequest) Validate() error { if r.Id == "" { return errors.New("Maintenance ID cannot be blank.") } return nil } -func (r DeleteRequest) ResourcePath() string { +func (r *DeleteRequest) ResourcePath() string { return "/v1/maintenance/" + r.Id } -func (r DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } @@ -115,7 +115,7 @@ type ListRequest struct { Type StatusType } -func (r ListRequest) Validate() error { +func (r *ListRequest) Validate() error { err := validateStatusType(r.Type) if err != nil { return err @@ -123,11 +123,11 @@ func (r ListRequest) Validate() error { return nil } -func (r ListRequest) ResourcePath() string { +func (r *ListRequest) ResourcePath() string { return "/v1/maintenance" } -func (r ListRequest) Method() string { +func (r *ListRequest) Method() string { return "GET" } @@ -136,18 +136,18 @@ type CancelRequest struct { Id string } -func (r CancelRequest) Validate() error { +func (r *CancelRequest) Validate() error { if r.Id == "" { return errors.New("Maintenance ID cannot be blank.") } return nil } -func (r CancelRequest) ResourcePath() string { +func (r *CancelRequest) ResourcePath() string { return "/v1/maintenance/" + r.Id + "/cancel" } -func (r CancelRequest) Method() string { +func (r *CancelRequest) Method() string { return "POST" } diff --git a/notification/notification.go b/notification/notification.go index bea8fd0..5767682 100644 --- a/notification/notification.go +++ b/notification/notification.go @@ -6,7 +6,7 @@ import ( ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,138 +14,136 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - newClient := &Client{} - newClient.ogClient = *opsgenieClient - return newClient, nil + return &Client{client: opsgenieClient}, nil } -func (client *Client) CreateRuleStep(context context.Context, request CreateRuleStepRequest) (*CreateRuleStepResult, error) { +func (c *Client) CreateRuleStep(context context.Context, request *CreateRuleStepRequest) (*CreateRuleStepResult, error) { result := &CreateRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetRuleStep(context context.Context, request GetRuleStepRequest) (*GetRuleStepResult, error) { +func (c *Client) GetRuleStep(context context.Context, request *GetRuleStepRequest) (*GetRuleStepResult, error) { result := &GetRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateRuleStep(context context.Context, request UpdateRuleStepRequest) (*UpdateRuleStepResult, error) { +func (c *Client) UpdateRuleStep(context context.Context, request *UpdateRuleStepRequest) (*UpdateRuleStepResult, error) { result := &UpdateRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeleteRuleStep(context context.Context, request DeleteRuleStepRequest) (*DeleteRuleStepResult, error) { +func (c *Client) DeleteRuleStep(context context.Context, request *DeleteRuleStepRequest) (*DeleteRuleStepResult, error) { result := &DeleteRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListRuleStep(context context.Context, request ListRuleStepsRequest) (*ListRuleStepResult, error) { +func (c *Client) ListRuleStep(context context.Context, request *ListRuleStepsRequest) (*ListRuleStepResult, error) { result := &ListRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) EnableRuleStep(context context.Context, request EnableRuleStepRequest) (*EnableRuleStepResult, error) { +func (c *Client) EnableRuleStep(context context.Context, request *EnableRuleStepRequest) (*EnableRuleStepResult, error) { result := &EnableRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DisableRuleStep(context context.Context, request DisableRuleStepRequest) (*DisableRuleStepResult, error) { +func (c *Client) DisableRuleStep(context context.Context, request *DisableRuleStepRequest) (*DisableRuleStepResult, error) { result := &DisableRuleStepResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CreateRule(context context.Context, request CreateRuleRequest) (*CreateRuleResult, error) { +func (c *Client) CreateRule(context context.Context, request *CreateRuleRequest) (*CreateRuleResult, error) { result := &CreateRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetRule(context context.Context, request GetRuleRequest) (*GetRuleResult, error) { +func (c *Client) GetRule(context context.Context, request *GetRuleRequest) (*GetRuleResult, error) { result := &GetRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateRule(context context.Context, request UpdateRuleRequest) (*UpdateRuleResult, error) { +func (c *Client) UpdateRule(context context.Context, request *UpdateRuleRequest) (*UpdateRuleResult, error) { result := &UpdateRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeleteRule(context context.Context, request DeleteRuleRequest) (*DeleteRuleResult, error) { +func (c *Client) DeleteRule(context context.Context, request *DeleteRuleRequest) (*DeleteRuleResult, error) { result := &DeleteRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListRule(context context.Context, request ListRuleRequest) (*ListRuleResult, error) { +func (c *Client) ListRule(context context.Context, request *ListRuleRequest) (*ListRuleResult, error) { result := &ListRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) EnableRule(context context.Context, request EnableRuleRequest) (*EnableRuleResult, error) { +func (c *Client) EnableRule(context context.Context, request *EnableRuleRequest) (*EnableRuleResult, error) { result := &EnableRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DisableRule(context context.Context, request DisableRuleRequest) (*DisableRuleResult, error) { +func (c *Client) DisableRule(context context.Context, request *DisableRuleRequest) (*DisableRuleResult, error) { result := &DisableRuleResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CopyRule(context context.Context, request CopyNotificationRulesRequest) (*CopyNotificationRulesResult, error) { +func (c *Client) CopyRule(context context.Context, request *CopyNotificationRulesRequest) (*CopyNotificationRulesResult, error) { result := &CopyNotificationRulesResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/notification/notification_test.go b/notification/notification_test.go index 7983c0a..cb8ae3c 100644 --- a/notification/notification_test.go +++ b/notification/notification_test.go @@ -37,7 +37,7 @@ func TestCreateRequest_Validate(t *testing.T) { func TestGetRequest_Validate(t *testing.T) { var err error getRequest := &GetRuleStepRequest{} - err = GetRuleStepRequest{}.Validate() + err = getRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) getRequest.UserIdentifier = "123" @@ -60,7 +60,7 @@ func TestGetRequest_Validate(t *testing.T) { func TestUpdateRequest_Validate(t *testing.T) { var err error updateRequest := &UpdateRuleStepRequest{} - err = UpdateRuleStepRequest{}.Validate() + err = updateRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) updateRequest.UserIdentifier = "123" @@ -95,7 +95,7 @@ func TestUpdateRequest_Validate(t *testing.T) { func TestDeleteRequest_Validate(t *testing.T) { var err error deleteRequest := &DeleteRuleStepRequest{} - err = DeleteRuleStepRequest{}.Validate() + err = deleteRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) deleteRequest.UserIdentifier = "123" @@ -118,7 +118,7 @@ func TestDeleteRequest_Validate(t *testing.T) { func TestListRequest_Validate(t *testing.T) { var err error listRequest := &ListRuleStepsRequest{} - err = ListRuleStepsRequest{}.Validate() + err = listRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) listRequest.UserIdentifier = "123" @@ -137,7 +137,7 @@ func TestListRequest_Validate(t *testing.T) { func TestEnableRequest_Validate(t *testing.T) { var err error enableRequest := &EnableRuleStepRequest{} - err = EnableRuleStepRequest{}.Validate() + err = enableRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) enableRequest.UserIdentifier = "123" @@ -160,7 +160,7 @@ func TestEnableRequest_Validate(t *testing.T) { func TestDisableRequest_Validate(t *testing.T) { var err error disableRuleStepRequest := &DisableRuleStepRequest{} - err = DisableRuleStepRequest{}.Validate() + err = disableRuleStepRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) disableRuleStepRequest.UserIdentifier = "123" @@ -306,7 +306,7 @@ func TestCreateRuleRequest_Validate(t *testing.T) { func TestGetRuleRequest_Validate(t *testing.T) { var err error getRequest := &GetRuleRequest{} - err = GetRuleRequest{}.Validate() + err = getRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) getRequest.UserIdentifier = "123" @@ -437,7 +437,7 @@ func TestUpdateRuleRequest_Validate(t *testing.T) { func TestDeleteRuleRequest_Validate(t *testing.T) { var err error deleteRequest := &DeleteRuleRequest{} - err = DeleteRuleRequest{}.Validate() + err = deleteRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) deleteRequest.UserIdentifier = "123" @@ -456,7 +456,7 @@ func TestDeleteRuleRequest_Validate(t *testing.T) { func TestListRuleRequest_Validate(t *testing.T) { var err error listRequest := &ListRuleRequest{} - err = ListRuleRequest{}.Validate() + err = listRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) listRequest.UserIdentifier = "123" @@ -471,7 +471,7 @@ func TestListRuleRequest_Validate(t *testing.T) { func TestEnableRuleRequest_Validate(t *testing.T) { var err error enableRequest := &EnableRuleRequest{} - err = EnableRuleStepRequest{}.Validate() + err = enableRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) enableRequest.UserIdentifier = "123" @@ -490,7 +490,7 @@ func TestEnableRuleRequest_Validate(t *testing.T) { func TestDisableRuleRequest_Validate(t *testing.T) { var err error disableRuleRequest := &DisableRuleRequest{} - err = DisableRuleRequest{}.Validate() + err = disableRuleRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) disableRuleRequest.UserIdentifier = "123" @@ -508,7 +508,7 @@ func TestDisableRuleRequest_Validate(t *testing.T) { func TestCopyNotificationRulesRequest_Validate(t *testing.T) { var err error copyNotificationRulesRequest := &CopyNotificationRulesRequest{} - err = CopyNotificationRulesRequest{}.Validate() + err = copyNotificationRulesRequest.Validate() assert.Equal(t, err.Error(), errors.New("User identifier cannot be empty.").Error()) copyNotificationRulesRequest.UserIdentifier = "123" diff --git a/notification/request.go b/notification/request.go index b710132..1cb8d83 100644 --- a/notification/request.go +++ b/notification/request.go @@ -15,25 +15,25 @@ type CreateRuleStepRequest struct { Enabled bool `json:"enabled,omitempty"` } -func (crs CreateRuleStepRequest) Validate() error { - err := validateRuleIdentifier(crs.UserIdentifier, crs.RuleId) +func (r *CreateRuleStepRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } - err = validateContact(&crs.Contact) + err = validateContact(&r.Contact) if err != nil { return err } return nil } -func (crs CreateRuleStepRequest) ResourcePath() string { +func (r *CreateRuleStepRequest) ResourcePath() string { - return "/v2/users/" + crs.UserIdentifier + "/notification-rules/" + crs.RuleId + "/steps" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps" } -func (crs CreateRuleStepRequest) Method() string { +func (r *CreateRuleStepRequest) Method() string { return "POST" } @@ -44,20 +44,20 @@ type GetRuleStepRequest struct { RuleStepId string } -func (grs GetRuleStepRequest) Validate() error { - err := validateRuleStepIdentifier(grs.UserIdentifier, grs.RuleId, grs.RuleStepId) +func (r *GetRuleStepRequest) Validate() error { + err := validateRuleStepIdentifier(r.UserIdentifier, r.RuleId, r.RuleStepId) if err != nil { return err } return nil } -func (grs GetRuleStepRequest) ResourcePath() string { +func (r *GetRuleStepRequest) ResourcePath() string { - return "/v2/users/" + grs.UserIdentifier + "/notification-rules/" + grs.RuleId + "/steps/" + grs.RuleStepId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps/" + r.RuleStepId } -func (grs GetRuleStepRequest) Method() string { +func (r *GetRuleStepRequest) Method() string { return "GET" } @@ -71,13 +71,13 @@ type UpdateRuleStepRequest struct { Enabled bool `json:"enabled,omitempty"` } -func (urs UpdateRuleStepRequest) Validate() error { - err := validateRuleStepIdentifier(urs.UserIdentifier, urs.RuleId, urs.RuleStepId) +func (r *UpdateRuleStepRequest) Validate() error { + err := validateRuleStepIdentifier(r.UserIdentifier, r.RuleId, r.RuleStepId) if err != nil { return err } - if urs.Contact != nil { - err = validateContact(urs.Contact) + if r.Contact != nil { + err = validateContact(r.Contact) if err != nil { return err } @@ -86,12 +86,12 @@ func (urs UpdateRuleStepRequest) Validate() error { return nil } -func (urs UpdateRuleStepRequest) ResourcePath() string { +func (r *UpdateRuleStepRequest) ResourcePath() string { - return "/v2/users/" + urs.UserIdentifier + "/notification-rules/" + urs.RuleId + "/steps/" + urs.RuleStepId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps/" + r.RuleStepId } -func (urs UpdateRuleStepRequest) Method() string { +func (r *UpdateRuleStepRequest) Method() string { return "PATCH" } @@ -102,20 +102,20 @@ type DeleteRuleStepRequest struct { RuleStepId string } -func (drs DeleteRuleStepRequest) Validate() error { - err := validateRuleStepIdentifier(drs.UserIdentifier, drs.RuleId, drs.RuleStepId) +func (r *DeleteRuleStepRequest) Validate() error { + err := validateRuleStepIdentifier(r.UserIdentifier, r.RuleId, r.RuleStepId) if err != nil { return err } return nil } -func (drs DeleteRuleStepRequest) ResourcePath() string { +func (r *DeleteRuleStepRequest) ResourcePath() string { - return "/v2/users/" + drs.UserIdentifier + "/notification-rules/" + drs.RuleId + "/steps/" + drs.RuleStepId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps/" + r.RuleStepId } -func (drs DeleteRuleStepRequest) Method() string { +func (r *DeleteRuleStepRequest) Method() string { return "DELETE" } @@ -125,20 +125,20 @@ type ListRuleStepsRequest struct { RuleId string } -func (lrs ListRuleStepsRequest) Validate() error { - err := validateRuleIdentifier(lrs.UserIdentifier, lrs.RuleId) +func (r *ListRuleStepsRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } return nil } -func (lrs ListRuleStepsRequest) ResourcePath() string { +func (r *ListRuleStepsRequest) ResourcePath() string { - return "/v2/users/" + lrs.UserIdentifier + "/notification-rules/" + lrs.RuleId + "/steps" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps" } -func (lrs ListRuleStepsRequest) Method() string { +func (r *ListRuleStepsRequest) Method() string { return "GET" } @@ -149,20 +149,20 @@ type EnableRuleStepRequest struct { RuleStepId string } -func (ers EnableRuleStepRequest) Validate() error { - err := validateRuleStepIdentifier(ers.UserIdentifier, ers.RuleId, ers.RuleStepId) +func (r *EnableRuleStepRequest) Validate() error { + err := validateRuleStepIdentifier(r.UserIdentifier, r.RuleId, r.RuleStepId) if err != nil { return err } return nil } -func (ers EnableRuleStepRequest) ResourcePath() string { +func (r *EnableRuleStepRequest) ResourcePath() string { - return "/v2/users/" + ers.UserIdentifier + "/notification-rules/" + ers.RuleId + "/steps/" + ers.RuleStepId + "/enable" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps/" + r.RuleStepId + "/enable" } -func (ers EnableRuleStepRequest) Method() string { +func (r *EnableRuleStepRequest) Method() string { return "POST" } @@ -173,20 +173,20 @@ type DisableRuleStepRequest struct { RuleStepId string } -func (drs DisableRuleStepRequest) Validate() error { - err := validateRuleStepIdentifier(drs.UserIdentifier, drs.RuleId, drs.RuleStepId) +func (r *DisableRuleStepRequest) Validate() error { + err := validateRuleStepIdentifier(r.UserIdentifier, r.RuleId, r.RuleStepId) if err != nil { return err } return nil } -func (drs DisableRuleStepRequest) ResourcePath() string { +func (r *DisableRuleStepRequest) ResourcePath() string { - return "/v2/users/" + drs.UserIdentifier + "/notification-rules/" + drs.RuleId + "/steps/" + drs.RuleStepId + "/disable" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/steps/" + r.RuleStepId + "/disable" } -func (drs DisableRuleStepRequest) Method() string { +func (r *DisableRuleStepRequest) Method() string { return "POST" } @@ -205,62 +205,62 @@ type CreateRuleRequest struct { Enabled bool `json:"enabled,omitempty"` } -func (crr CreateRuleRequest) Validate() error { - if crr.UserIdentifier == "" { +func (r *CreateRuleRequest) Validate() error { + if r.UserIdentifier == "" { return errors.New("User identifier cannot be empty.") } - if crr.Name == "" { + if r.Name == "" { return errors.New("Name cannot be empty.") } - if crr.ActionType == "" { + if r.ActionType == "" { return errors.New("Action type cannot be empty.") } - if (crr.ActionType == ScheduleStart || crr.ActionType == ScheduleEnd) && len(crr.NotificationTime) == 0 { + if (r.ActionType == ScheduleStart || r.ActionType == ScheduleEnd) && len(r.NotificationTime) == 0 { return errors.New("Notification time cannot be empty.") } - if len(crr.Schedules) != 0 { - for _, schedule := range crr.Schedules { + if len(r.Schedules) != 0 { + for _, schedule := range r.Schedules { err := validateSchedule(schedule) if err != nil { return err } } } - if len(crr.Steps) != 0 { - for _, step := range crr.Steps { - err := validateStep(step, crr.ActionType) + if len(r.Steps) != 0 { + for _, step := range r.Steps { + err := validateStep(step, r.ActionType) if err != nil { return err } } } - if crr.Criteria != nil { - err := og.ValidateFilter(*crr.Criteria) + if r.Criteria != nil { + err := og.ValidateFilter(*r.Criteria) if err != nil { return err } } - if crr.TimeRestriction != nil { - err := og.ValidateRestrictions(crr.TimeRestriction) + if r.TimeRestriction != nil { + err := og.ValidateRestrictions(r.TimeRestriction) if err != nil { return err } } - if crr.Repeat != nil && crr.Repeat.LoopAfter <= 0 { + if r.Repeat != nil && r.Repeat.LoopAfter <= 0 { return errors.New("Loop after must have a positive integer value.") } return nil } -func (crr CreateRuleRequest) ResourcePath() string { +func (r *CreateRuleRequest) ResourcePath() string { - return "/v2/users/" + crr.UserIdentifier + "/notification-rules" + return "/v2/users/" + r.UserIdentifier + "/notification-rules" } -func (crr CreateRuleRequest) Method() string { +func (r *CreateRuleRequest) Method() string { return "POST" } @@ -270,20 +270,20 @@ type GetRuleRequest struct { RuleId string } -func (grr GetRuleRequest) Validate() error { - err := validateRuleIdentifier(grr.UserIdentifier, grr.RuleId) +func (r *GetRuleRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } return nil } -func (grr GetRuleRequest) ResourcePath() string { +func (r *GetRuleRequest) ResourcePath() string { - return "/v2/users/" + grr.UserIdentifier + "/notification-rules/" + grr.RuleId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId } -func (grr GetRuleRequest) Method() string { +func (r *GetRuleRequest) Method() string { return "GET" } @@ -301,13 +301,13 @@ type UpdateRuleRequest struct { Enabled bool `json:"enabled,omitempty"` } -func (urr UpdateRuleRequest) Validate() error { - err := validateRuleIdentifier(urr.UserIdentifier, urr.RuleId) +func (r *UpdateRuleRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } - if len(urr.Schedules) != 0 { - for _, schedule := range urr.Schedules { + if len(r.Schedules) != 0 { + for _, schedule := range r.Schedules { err := validateSchedule(schedule) if err != nil { return err @@ -315,40 +315,40 @@ func (urr UpdateRuleRequest) Validate() error { } } - if len(urr.Steps) != 0 { - for _, step := range urr.Steps { + if len(r.Steps) != 0 { + for _, step := range r.Steps { err := validateStepWithoutActionTypeInfo(step) if err != nil { return err } } } - if urr.Criteria != nil { - err := og.ValidateFilter(*urr.Criteria) + if r.Criteria != nil { + err := og.ValidateFilter(*r.Criteria) if err != nil { return err } } - if urr.TimeRestriction != nil { - err := og.ValidateRestrictions(urr.TimeRestriction) + if r.TimeRestriction != nil { + err := og.ValidateRestrictions(r.TimeRestriction) if err != nil { return err } } - if urr.Repeat != nil && urr.Repeat.LoopAfter <= 0 { + if r.Repeat != nil && r.Repeat.LoopAfter <= 0 { return errors.New("Loop after must have a positive integer value.") } return nil } -func (urr UpdateRuleRequest) ResourcePath() string { +func (r *UpdateRuleRequest) ResourcePath() string { - return "/v2/users/" + urr.UserIdentifier + "/notification-rules/" + urr.RuleId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId } -func (urr UpdateRuleRequest) Method() string { +func (r *UpdateRuleRequest) Method() string { return "PATCH" } @@ -358,20 +358,20 @@ type DeleteRuleRequest struct { RuleId string } -func (drr DeleteRuleRequest) Validate() error { - err := validateRuleIdentifier(drr.UserIdentifier, drr.RuleId) +func (r *DeleteRuleRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } return nil } -func (drr DeleteRuleRequest) ResourcePath() string { +func (r *DeleteRuleRequest) ResourcePath() string { - return "/v2/users/" + drr.UserIdentifier + "/notification-rules/" + drr.RuleId + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId } -func (drr DeleteRuleRequest) Method() string { +func (r *DeleteRuleRequest) Method() string { return "DELETE" } @@ -380,19 +380,19 @@ type ListRuleRequest struct { UserIdentifier string } -func (lrr ListRuleRequest) Validate() error { - if lrr.UserIdentifier == "" { +func (r *ListRuleRequest) Validate() error { + if r.UserIdentifier == "" { return errors.New("User identifier cannot be empty.") } return nil } -func (lrr ListRuleRequest) ResourcePath() string { +func (r *ListRuleRequest) ResourcePath() string { - return "/v2/users/" + lrr.UserIdentifier + "/notification-rules" + return "/v2/users/" + r.UserIdentifier + "/notification-rules" } -func (lrr ListRuleRequest) Method() string { +func (r *ListRuleRequest) Method() string { return "GET" } @@ -402,20 +402,20 @@ type EnableRuleRequest struct { RuleId string } -func (enr EnableRuleRequest) Validate() error { - err := validateRuleIdentifier(enr.UserIdentifier, enr.RuleId) +func (r *EnableRuleRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } return nil } -func (enr EnableRuleRequest) ResourcePath() string { +func (r *EnableRuleRequest) ResourcePath() string { - return "/v2/users/" + enr.UserIdentifier + "/notification-rules/" + enr.RuleId + "/enable" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/enable" } -func (enr EnableRuleRequest) Method() string { +func (r *EnableRuleRequest) Method() string { return "POST" } @@ -425,20 +425,20 @@ type DisableRuleRequest struct { RuleId string } -func (drr DisableRuleRequest) Validate() error { - err := validateRuleIdentifier(drr.UserIdentifier, drr.RuleId) +func (r *DisableRuleRequest) Validate() error { + err := validateRuleIdentifier(r.UserIdentifier, r.RuleId) if err != nil { return err } return nil } -func (drr DisableRuleRequest) ResourcePath() string { +func (r *DisableRuleRequest) ResourcePath() string { - return "/v2/users/" + drr.UserIdentifier + "/notification-rules/" + drr.RuleId + "/disable" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/" + r.RuleId + "/disable" } -func (drr DisableRuleRequest) Method() string { +func (r *DisableRuleRequest) Method() string { return "POST" } @@ -449,25 +449,25 @@ type CopyNotificationRulesRequest struct { RuleTypes []RuleTypes `json:"ruleTypes"` } -func (cnr CopyNotificationRulesRequest) Validate() error { - if cnr.UserIdentifier == "" { +func (r *CopyNotificationRulesRequest) Validate() error { + if r.UserIdentifier == "" { return errors.New("User identifier cannot be empty.") } - if len(cnr.ToUsers) == 0 { + if len(r.ToUsers) == 0 { return errors.New("You must specify a list of the users which you want to copy the rules to.") } - if len(cnr.RuleTypes) == 0 { + if len(r.RuleTypes) == 0 { return errors.New("Specify a list of the action types you want to copy the rules of.") } return nil } -func (cnr CopyNotificationRulesRequest) ResourcePath() string { +func (r *CopyNotificationRulesRequest) ResourcePath() string { - return "/v2/users/" + cnr.UserIdentifier + "/notification-rules/copy-to" + return "/v2/users/" + r.UserIdentifier + "/notification-rules/copy-to" } -func (cnr CopyNotificationRulesRequest) Method() string { +func (r *CopyNotificationRulesRequest) Method() string { return "POST" } diff --git a/og/entity.go b/og/entity.go index ab7b6b9..c6705d7 100644 --- a/og/entity.go +++ b/og/entity.go @@ -23,7 +23,7 @@ type Rotation struct { TimeRestriction *TimeRestriction `json:"timeRestriction,omitempty"` } -func (r Rotation) Validate() error { +func (r *Rotation) Validate() error { if r.Type == "" { return errors.New("Rotation type cannot be empty.") @@ -64,7 +64,7 @@ func ValidateRotations(rotations []Rotation) error { return nil } -func validateParticipants(rotation Rotation) error { +func validateParticipants(rotation *Rotation) error { for _, participant := range rotation.Participants { if participant.Type == "" { return errors.New("Participant type cannot be empty.") @@ -82,19 +82,19 @@ func validateParticipants(rotation Rotation) error { return nil } -func (r Rotation) WithParticipant(participant Participant) *Rotation { +func (r *Rotation) WithParticipant(participant Participant) *Rotation { r.Participants = append(r.Participants, participant) - return &r + return r } -func (r Rotation) WithParticipants(participant ...Participant) *Rotation { +func (r *Rotation) WithParticipants(participant ...Participant) *Rotation { r.Participants = participant - return &r + return r } -func (r Rotation) WithTimeRestriction(timeRestriction TimeRestriction) *Rotation { +func (r *Rotation) WithTimeRestriction(timeRestriction TimeRestriction) *Rotation { r.TimeRestriction = &timeRestriction - return &r + return r } func (tr *TimeRestriction) WithRestrictions(restrictions ...Restriction) *TimeRestriction { diff --git a/policy/policy.go b/policy/policy.go index a79f25e..2793a1b 100644 --- a/policy/policy.go +++ b/policy/policy.go @@ -7,7 +7,7 @@ import ( ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -15,32 +15,32 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - return &Client{*opsgenieClient}, nil + return &Client{opsgenieClient}, nil } -func (client *Client) CreateAlertPolicy(context context.Context, request *CreateAlertPolicyRequest) (*CreateResult, error) { +func (c *Client) CreateAlertPolicy(context context.Context, request *CreateAlertPolicyRequest) (*CreateResult, error) { request.PolicyType = "alert" result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) CreateNotificationPolicy(context context.Context, request CreateNotificationPolicyRequest) (*CreateResult, error) { +func (c *Client) CreateNotificationPolicy(context context.Context, request *CreateNotificationPolicyRequest) (*CreateResult, error) { request.PolicyType = "notification" result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetAlertPolicy(context context.Context, request GetAlertPolicyRequest) (*GetAlertPolicyResult, error) { +func (c *Client) GetAlertPolicy(context context.Context, request *GetAlertPolicyRequest) (*GetAlertPolicyResult, error) { result := &GetAlertPolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } @@ -50,9 +50,9 @@ func (client *Client) GetAlertPolicy(context context.Context, request GetAlertPo return result, nil } -func (client *Client) GetNotificationPolicy(context context.Context, request GetNotificationPolicyRequest) (*GetNotificationPolicyResult, error) { +func (c *Client) GetNotificationPolicy(context context.Context, request *GetNotificationPolicyRequest) (*GetNotificationPolicyResult, error) { result := &GetNotificationPolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } @@ -62,74 +62,74 @@ func (client *Client) GetNotificationPolicy(context context.Context, request Get return result, nil } -func (client *Client) UpdateAlertPolicy(context context.Context, request UpdateAlertPolicyRequest) (*PolicyResult, error) { +func (c *Client) UpdateAlertPolicy(context context.Context, request *UpdateAlertPolicyRequest) (*PolicyResult, error) { request.PolicyType = "alert" result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateNotificationPolicy(context context.Context, request UpdateNotificationPolicyRequest) (*PolicyResult, error) { +func (c *Client) UpdateNotificationPolicy(context context.Context, request *UpdateNotificationPolicyRequest) (*PolicyResult, error) { request.PolicyType = "notification" result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeletePolicy(context context.Context, request DeletePolicyRequest) (*PolicyResult, error) { +func (c *Client) DeletePolicy(context context.Context, request *DeletePolicyRequest) (*PolicyResult, error) { result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DisablePolicy(context context.Context, request DisablePolicyRequest) (*PolicyResult, error) { +func (c *Client) DisablePolicy(context context.Context, request *DisablePolicyRequest) (*PolicyResult, error) { result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) EnablePolicy(context context.Context, request EnablePolicyRequest) (*PolicyResult, error) { +func (c *Client) EnablePolicy(context context.Context, request *EnablePolicyRequest) (*PolicyResult, error) { result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ChangeOrder(context context.Context, request ChangeOrderRequest) (*PolicyResult, error) { +func (c *Client) ChangeOrder(context context.Context, request *ChangeOrderRequest) (*PolicyResult, error) { result := &PolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListAlertPolicies(context context.Context, request ListAlertPoliciesRequest) (*ListPolicyResult, error) { +func (c *Client) ListAlertPolicies(context context.Context, request *ListAlertPoliciesRequest) (*ListPolicyResult, error) { result := &ListPolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListNotificationPolicies(context context.Context, request ListNotificationPoliciesRequest) (*ListPolicyResult, error) { +func (c *Client) ListNotificationPolicies(context context.Context, request *ListNotificationPoliciesRequest) (*ListPolicyResult, error) { result := &ListPolicyResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/policy/request.go b/policy/request.go index cf6679d..2652e96 100644 --- a/policy/request.go +++ b/policy/request.go @@ -47,22 +47,22 @@ type MainFields struct { TeamId string } -func (cap CreateAlertPolicyRequest) Validate() error { - err := ValidateMainFields(&cap.MainFields) +func (r *CreateAlertPolicyRequest) Validate() error { + err := ValidateMainFields(&r.MainFields) if err != nil { return err } - if cap.Message == "" { + if r.Message == "" { return errors.New("alert message cannot be empty") } - if cap.Responders != nil { - err = ValidateResponders(cap.Responders) + if r.Responders != nil { + err = ValidateResponders(r.Responders) if err != nil { return err } } - if cap.Priority != "" { - err = alert.ValidatePriority(cap.Priority) + if r.Priority != "" { + err = alert.ValidatePriority(r.Priority) if err != nil { return err } @@ -70,42 +70,42 @@ func (cap CreateAlertPolicyRequest) Validate() error { return nil } -func (cap CreateAlertPolicyRequest) ResourcePath() string { +func (r *CreateAlertPolicyRequest) ResourcePath() string { return "/v2/policies" } -func (cap CreateAlertPolicyRequest) Method() string { +func (r *CreateAlertPolicyRequest) Method() string { return "POST" } -func (cnp CreateNotificationPolicyRequest) Validate() error { - err := ValidateMainFields(&cnp.MainFields) +func (r *CreateNotificationPolicyRequest) Validate() error { + err := ValidateMainFields(&r.MainFields) if err != nil { return err } - if cnp.TeamId == "" { + if r.TeamId == "" { return errors.New("policy team id should be provided") } - if cnp.AutoRestartAction != nil { - err = ValidateAutoRestartAction(*cnp.AutoRestartAction) + if r.AutoRestartAction != nil { + err = ValidateAutoRestartAction(*r.AutoRestartAction) if err != nil { return err } } - if cnp.AutoCloseAction != nil { - err = ValidateAutoCloseAction(*cnp.AutoCloseAction) + if r.AutoCloseAction != nil { + err = ValidateAutoCloseAction(*r.AutoCloseAction) if err != nil { return err } } - if cnp.DeDuplicationAction != nil { - err = ValidateDeDuplicationAction(*cnp.DeDuplicationAction) + if r.DeDuplicationAction != nil { + err = ValidateDeDuplicationAction(*r.DeDuplicationAction) if err != nil { return err } } - if cnp.DelayAction != nil { - err = ValidateDelayAction(*cnp.DelayAction) + if r.DelayAction != nil { + err = ValidateDelayAction(*r.DelayAction) if err != nil { return err } @@ -113,20 +113,20 @@ func (cnp CreateNotificationPolicyRequest) Validate() error { return nil } -func (cnp CreateNotificationPolicyRequest) ResourcePath() string { +func (r *CreateNotificationPolicyRequest) ResourcePath() string { return "/v2/policies" } -func (cnp CreateNotificationPolicyRequest) RequestParams() map[string]string { - if cnp.TeamId == "" { +func (r *CreateNotificationPolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = cnp.TeamId + params["teamId"] = r.TeamId return params } -func (cnp CreateNotificationPolicyRequest) Method() string { +func (r *CreateNotificationPolicyRequest) Method() string { return "POST" } @@ -136,27 +136,27 @@ type GetAlertPolicyRequest struct { TeamId string } -func (gap GetAlertPolicyRequest) Validate() error { - if gap.Id == "" { +func (r *GetAlertPolicyRequest) Validate() error { + if r.Id == "" { return errors.New("policy id should be provided") } return nil } -func (gap GetAlertPolicyRequest) ResourcePath() string { - return "/v2/policies/" + gap.Id +func (r *GetAlertPolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id } -func (gap GetAlertPolicyRequest) RequestParams() map[string]string { - if gap.TeamId == "" { +func (r *GetAlertPolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = gap.TeamId + params["teamId"] = r.TeamId return params } -func (gap GetAlertPolicyRequest) Method() string { +func (r *GetAlertPolicyRequest) Method() string { return "GET" } @@ -166,30 +166,30 @@ type GetNotificationPolicyRequest struct { TeamId string } -func (gnp GetNotificationPolicyRequest) Validate() error { - if gnp.Id == "" { +func (r *GetNotificationPolicyRequest) Validate() error { + if r.Id == "" { return errors.New("policy id should be provided") } - if gnp.TeamId == "" { + if r.TeamId == "" { return errors.New("policy team id should be provided") } return nil } -func (gnp GetNotificationPolicyRequest) ResourcePath() string { - return "/v2/policies/" + gnp.Id +func (r *GetNotificationPolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id } -func (gnp GetNotificationPolicyRequest) RequestParams() map[string]string { - if gnp.TeamId == "" { +func (r *GetNotificationPolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = gnp.TeamId + params["teamId"] = r.TeamId return params } -func (gnp GetNotificationPolicyRequest) Method() string { +func (r *GetNotificationPolicyRequest) Method() string { return "GET" } @@ -214,26 +214,26 @@ type UpdateAlertPolicyRequest struct { Id string } -func (uap UpdateAlertPolicyRequest) Validate() error { - err := ValidatePolicyIdentifier("alert", uap.Id, uap.TeamId) +func (r *UpdateAlertPolicyRequest) Validate() error { + err := ValidatePolicyIdentifier("alert", r.Id, r.TeamId) if err != nil { return err } - err = ValidateMainFields(&uap.MainFields) + err = ValidateMainFields(&r.MainFields) if err != nil { return err } - if uap.Message == "" { + if r.Message == "" { return errors.New("alert message cannot be empty") } - if uap.Responders != nil { - err = ValidateResponders(uap.Responders) + if r.Responders != nil { + err = ValidateResponders(r.Responders) if err != nil { return err } } - if uap.Priority != "" { - err = alert.ValidatePriority(uap.Priority) + if r.Priority != "" { + err = alert.ValidatePriority(r.Priority) if err != nil { return err } @@ -241,11 +241,11 @@ func (uap UpdateAlertPolicyRequest) Validate() error { return nil } -func (uap UpdateAlertPolicyRequest) ResourcePath() string { - return "/v2/policies/" + uap.Id +func (r *UpdateAlertPolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id } -func (uap UpdateAlertPolicyRequest) Method() string { +func (r *UpdateAlertPolicyRequest) Method() string { return "PUT" } @@ -260,38 +260,38 @@ type UpdateNotificationPolicyRequest struct { Id string } -func (unp UpdateNotificationPolicyRequest) Validate() error { - err := ValidatePolicyIdentifier("notification", unp.Id, unp.TeamId) +func (r *UpdateNotificationPolicyRequest) Validate() error { + err := ValidatePolicyIdentifier("notification", r.Id, r.TeamId) if err != nil { return err } - err = ValidateMainFields(&unp.MainFields) + err = ValidateMainFields(&r.MainFields) if err != nil { return err } - if unp.TeamId == "" { + if r.TeamId == "" { return errors.New("policy team id should be provided") } - if unp.AutoRestartAction != nil { - err = ValidateAutoRestartAction(*unp.AutoRestartAction) + if r.AutoRestartAction != nil { + err = ValidateAutoRestartAction(*r.AutoRestartAction) if err != nil { return err } } - if unp.AutoCloseAction != nil { - err = ValidateAutoCloseAction(*unp.AutoCloseAction) + if r.AutoCloseAction != nil { + err = ValidateAutoCloseAction(*r.AutoCloseAction) if err != nil { return err } } - if unp.DeDuplicationAction != nil { - err = ValidateDeDuplicationAction(*unp.DeDuplicationAction) + if r.DeDuplicationAction != nil { + err = ValidateDeDuplicationAction(*r.DeDuplicationAction) if err != nil { return err } } - if unp.DelayAction != nil { - err = ValidateDelayAction(*unp.DelayAction) + if r.DelayAction != nil { + err = ValidateDelayAction(*r.DelayAction) if err != nil { return err } @@ -299,17 +299,17 @@ func (unp UpdateNotificationPolicyRequest) Validate() error { return nil } -func (unp UpdateNotificationPolicyRequest) ResourcePath() string { - return "/v2/policies/" + unp.Id +func (r *UpdateNotificationPolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id } -func (unp UpdateNotificationPolicyRequest) RequestParams() map[string]string { +func (r *UpdateNotificationPolicyRequest) RequestParams() map[string]string { params := make(map[string]string) - params["teamId"] = unp.TeamId + params["teamId"] = r.TeamId return params } -func (unp UpdateNotificationPolicyRequest) Method() string { +func (r *UpdateNotificationPolicyRequest) Method() string { return "PUT" } @@ -320,31 +320,31 @@ type DeletePolicyRequest struct { Type PolicyType } -func (dpr DeletePolicyRequest) Validate() error { - if dpr.Type != AlertPolicy && dpr.Type != NotificationPolicy { +func (r *DeletePolicyRequest) Validate() error { + if r.Type != AlertPolicy && r.Type != NotificationPolicy { return errors.New("policy type should be one of alert or notification") } - err := ValidatePolicyIdentifier(string(dpr.Type), dpr.Id, dpr.TeamId) + err := ValidatePolicyIdentifier(string(r.Type), r.Id, r.TeamId) if err != nil { return err } return nil } -func (dpr DeletePolicyRequest) ResourcePath() string { - return "/v2/policies/" + dpr.Id +func (r *DeletePolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id } -func (dpr DeletePolicyRequest) Method() string { +func (r *DeletePolicyRequest) Method() string { return "DELETE" } -func (dpr DeletePolicyRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *DeletePolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } @@ -355,31 +355,31 @@ type DisablePolicyRequest struct { Type PolicyType } -func (dpr DisablePolicyRequest) Validate() error { - if dpr.Type != AlertPolicy && dpr.Type != NotificationPolicy { +func (r *DisablePolicyRequest) Validate() error { + if r.Type != AlertPolicy && r.Type != NotificationPolicy { return errors.New("policy type should be one of alert or notification") } - err := ValidatePolicyIdentifier(string(dpr.Type), dpr.Id, dpr.TeamId) + err := ValidatePolicyIdentifier(string(r.Type), r.Id, r.TeamId) if err != nil { return err } return nil } -func (dpr DisablePolicyRequest) ResourcePath() string { - return "/v2/policies/" + dpr.Id + "/disable" +func (r *DisablePolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id + "/disable" } -func (dpr DisablePolicyRequest) Method() string { +func (r *DisablePolicyRequest) Method() string { return "POST" } -func (dpr DisablePolicyRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *DisablePolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } @@ -390,31 +390,31 @@ type EnablePolicyRequest struct { Type PolicyType } -func (dpr EnablePolicyRequest) Validate() error { - if dpr.Type != AlertPolicy && dpr.Type != NotificationPolicy { +func (r *EnablePolicyRequest) Validate() error { + if r.Type != AlertPolicy && r.Type != NotificationPolicy { return errors.New("policy type should be one of alert or notification") } - err := ValidatePolicyIdentifier(string(dpr.Type), dpr.Id, dpr.TeamId) + err := ValidatePolicyIdentifier(string(r.Type), r.Id, r.TeamId) if err != nil { return err } return nil } -func (dpr EnablePolicyRequest) ResourcePath() string { - return "/v2/policies/" + dpr.Id + "/enable" +func (r *EnablePolicyRequest) ResourcePath() string { + return "/v2/policies/" + r.Id + "/enable" } -func (dpr EnablePolicyRequest) Method() string { +func (r *EnablePolicyRequest) Method() string { return "POST" } -func (dpr EnablePolicyRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *EnablePolicyRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } @@ -426,34 +426,34 @@ type ChangeOrderRequest struct { TargetIndex int `json:"targetIndex,omitempty"` } -func (dpr ChangeOrderRequest) Validate() error { - if dpr.Type != AlertPolicy && dpr.Type != NotificationPolicy { +func (r *ChangeOrderRequest) Validate() error { + if r.Type != AlertPolicy && r.Type != NotificationPolicy { return errors.New("policy type should be one of alert or notification") } - err := ValidatePolicyIdentifier(string(dpr.Type), dpr.Id, dpr.TeamId) + err := ValidatePolicyIdentifier(string(r.Type), r.Id, r.TeamId) if err != nil { return err } - if dpr.TargetIndex < 0 { + if r.TargetIndex < 0 { return errors.New("target index should be at least 0") } return nil } -func (dpr ChangeOrderRequest) ResourcePath() string { - return "/v2/policies/" + dpr.Id + "/change-order" +func (r *ChangeOrderRequest) ResourcePath() string { + return "/v2/policies/" + r.Id + "/change-order" } -func (dpr ChangeOrderRequest) Method() string { +func (r *ChangeOrderRequest) Method() string { return "POST" } -func (dpr ChangeOrderRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *ChangeOrderRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } @@ -462,24 +462,24 @@ type ListAlertPoliciesRequest struct { TeamId string } -func (dpr ListAlertPoliciesRequest) Validate() error { +func (r *ListAlertPoliciesRequest) Validate() error { return nil } -func (dpr ListAlertPoliciesRequest) ResourcePath() string { +func (r *ListAlertPoliciesRequest) ResourcePath() string { return "/v2/policies/alert" } -func (dpr ListAlertPoliciesRequest) Method() string { +func (r *ListAlertPoliciesRequest) Method() string { return "GET" } -func (dpr ListAlertPoliciesRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *ListAlertPoliciesRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } @@ -488,27 +488,27 @@ type ListNotificationPoliciesRequest struct { TeamId string } -func (dpr ListNotificationPoliciesRequest) Validate() error { - if dpr.TeamId == "" { +func (r *ListNotificationPoliciesRequest) Validate() error { + if r.TeamId == "" { return errors.New("team id should be provided") } return nil } -func (dpr ListNotificationPoliciesRequest) ResourcePath() string { +func (r *ListNotificationPoliciesRequest) ResourcePath() string { return "/v2/policies/notification" } -func (dpr ListNotificationPoliciesRequest) Method() string { +func (r *ListNotificationPoliciesRequest) Method() string { return "GET" } -func (dpr ListNotificationPoliciesRequest) RequestParams() map[string]string { - if dpr.TeamId == "" { +func (r *ListNotificationPoliciesRequest) RequestParams() map[string]string { + if r.TeamId == "" { return nil } params := make(map[string]string) - params["teamId"] = dpr.TeamId + params["teamId"] = r.TeamId return params } diff --git a/schedule/request.go b/schedule/request.go index 9b78cbd..267ec2c 100644 --- a/schedule/request.go +++ b/schedule/request.go @@ -4,8 +4,8 @@ import ( "github.com/opsgenie/opsgenie-go-sdk-v2/client" "github.com/opsgenie/opsgenie-go-sdk-v2/og" "github.com/pkg/errors" - "time" "strconv" + "time" ) type Identifier uint32 @@ -20,22 +20,22 @@ type CreateRequest struct { Rotations []og.Rotation `json:"rotations,omitempty"` } -func (cr CreateRequest) Validate() error { - if cr.Name == "" { +func (r *CreateRequest) Validate() error { + if r.Name == "" { return errors.New("Name cannot be empty.") } - err := og.ValidateRotations(cr.Rotations) + err := og.ValidateRotations(r.Rotations) if err != nil { return err } return nil } -func (cr CreateRequest) ResourcePath() string { +func (r *CreateRequest) ResourcePath() string { return "/v2/schedules" } -func (cr CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -45,28 +45,28 @@ type GetRequest struct { IdentifierValue string } -func (gr GetRequest) Validate() error { - err := validateIdentifier(gr.IdentifierValue) +func (r *GetRequest) Validate() error { + err := validateIdentifier(r.IdentifierValue) if err != nil { return err } return nil } -func (gr GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { - return "/v2/schedules/" + gr.IdentifierValue + return "/v2/schedules/" + r.IdentifierValue } -func (gr GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } -func (gr GetRequest) RequestParams() map[string]string { +func (r *GetRequest) RequestParams() map[string]string { params := make(map[string]string) - if gr.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -87,32 +87,32 @@ type UpdateRequest struct { Rotations []og.Rotation `json:"rotations,omitempty"` } -func (ur UpdateRequest) Validate() error { - err := validateIdentifier(ur.IdentifierValue) +func (r *UpdateRequest) Validate() error { + err := validateIdentifier(r.IdentifierValue) if err != nil { return err } - err = og.ValidateRotations(ur.Rotations) + err = og.ValidateRotations(r.Rotations) if err != nil { return err } return nil } -func (ur UpdateRequest) ResourcePath() string { +func (r *UpdateRequest) ResourcePath() string { - return "/v2/schedules/" + ur.IdentifierValue + return "/v2/schedules/" + r.IdentifierValue } -func (ur UpdateRequest) Method() string { +func (r *UpdateRequest) Method() string { return "PATCH" } -func (ur UpdateRequest) RequestParams() map[string]string { +func (r *UpdateRequest) RequestParams() map[string]string { params := make(map[string]string) - if ur.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -127,28 +127,28 @@ type DeleteRequest struct { IdentifierValue string } -func (dr DeleteRequest) Validate() error { - err := validateIdentifier(dr.IdentifierValue) +func (r *DeleteRequest) Validate() error { + err := validateIdentifier(r.IdentifierValue) if err != nil { return err } return nil } -func (dr DeleteRequest) ResourcePath() string { +func (r *DeleteRequest) ResourcePath() string { - return "/v2/schedules/" + dr.IdentifierValue + return "/v2/schedules/" + r.IdentifierValue } -func (dr DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } -func (dr DeleteRequest) RequestParams() map[string]string { +func (r *DeleteRequest) RequestParams() map[string]string { params := make(map[string]string) - if dr.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" @@ -162,24 +162,24 @@ type ListRequest struct { Expand bool } -func (lr ListRequest) Validate() error { +func (r *ListRequest) Validate() error { return nil } -func (lr ListRequest) ResourcePath() string { +func (r *ListRequest) ResourcePath() string { return "/v2/schedules" } -func (lr ListRequest) Method() string { +func (r *ListRequest) Method() string { return "GET" } -func (lr ListRequest) RequestParams() map[string]string { +func (r *ListRequest) RequestParams() map[string]string { params := make(map[string]string) - if lr.Expand { + if r.Expand { params["expand"] = "rotation" } @@ -197,42 +197,42 @@ type GetTimelineRequest struct { Date *time.Time } -func (tr GetTimelineRequest) Validate() error { - err := validateIdentifier(tr.IdentifierValue) +func (r *GetTimelineRequest) Validate() error { + err := validateIdentifier(r.IdentifierValue) if err != nil { return err } - if tr.IntervalUnit != Days && tr.IntervalUnit != Months && tr.IntervalUnit != Weeks { + if r.IntervalUnit != Days && r.IntervalUnit != Months && r.IntervalUnit != Weeks { return errors.New("Provided InternalUnit is not valid.") } return nil } -func (tr GetTimelineRequest) ResourcePath() string { +func (r *GetTimelineRequest) ResourcePath() string { - return "/v2/schedules/" + tr.IdentifierValue + "/timeline" + return "/v2/schedules/" + r.IdentifierValue + "/timeline" } -func (tr GetTimelineRequest) Method() string { +func (r *GetTimelineRequest) Method() string { return "GET" } -func (tr GetTimelineRequest) RequestParams() map[string]string { +func (r *GetTimelineRequest) RequestParams() map[string]string { params := make(map[string]string) - if tr.IdentifierType == Name { + if r.IdentifierType == Name { params["identifierType"] = "name" } else { params["identifierType"] = "id" } - if len(tr.Expands) != 0 { + if len(r.Expands) != 0 { expands := "" - for i, expand := range tr.Expands { - if i != len(tr.Expands)-1 { + for i, expand := range r.Expands { + if i != len(r.Expands)-1 { expands = expands + string(expand) + "," } else { expands = expands + string(expand) @@ -241,20 +241,20 @@ func (tr GetTimelineRequest) RequestParams() map[string]string { params["expand"] = expands } - if tr.Interval > 1 { - params["interval"] = strconv.Itoa(tr.Interval) + if r.Interval > 1 { + params["interval"] = strconv.Itoa(r.Interval) } - params["intervalUnit"] = string(tr.IntervalUnit) + params["intervalUnit"] = string(r.IntervalUnit) - if tr.Date != nil { - params["date"] = tr.Date.Format("2006-01-02T15:04:05.000Z") + if r.Date != nil { + params["date"] = r.Date.Format("2006-01-02T15:04:05.000Z") } return params } -func (tr *GetTimelineRequest) WithExpands(expands ...ExpandType) GetTimelineRequest { - tr.Expands = expands - return *tr +func (r *GetTimelineRequest) WithExpands(expands ...ExpandType) GetTimelineRequest { + r.Expands = expands + return *r } type Unit string @@ -278,14 +278,14 @@ const ( Id ) -func (cr *CreateRequest) WithRotation(rotation *og.Rotation) *CreateRequest { - cr.Rotations = append(cr.Rotations, *rotation) - return cr +func (r *CreateRequest) WithRotation(rotation *og.Rotation) *CreateRequest { + r.Rotations = append(r.Rotations, *rotation) + return r } -func (ur *UpdateRequest) WithRotation(rotation *og.Rotation) *UpdateRequest { - ur.Rotations = append(ur.Rotations, *rotation) - return ur +func (r *UpdateRequest) WithRotation(rotation *og.Rotation) *UpdateRequest { + r.Rotations = append(r.Rotations, *rotation) + return r } func validateIdentifier(identifier string) error { @@ -302,7 +302,7 @@ type CreateRotationRequest struct { ScheduleIdentifierValue string } -func (r CreateRotationRequest) Validate() error { +func (r *CreateRotationRequest) Validate() error { err := validateIdentifier(r.ScheduleIdentifierValue) if err != nil { return err @@ -315,16 +315,16 @@ func (r CreateRotationRequest) Validate() error { return nil } -func (r CreateRotationRequest) ResourcePath() string { +func (r *CreateRotationRequest) ResourcePath() string { return "/v2/schedules/" + r.ScheduleIdentifierValue + "/rotations" } -func (r CreateRotationRequest) Method() string { +func (r *CreateRotationRequest) Method() string { return "POST" } -func (r CreateRotationRequest) RequestParams() map[string]string { +func (r *CreateRotationRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -344,7 +344,7 @@ type GetRotationRequest struct { RotationId string } -func (r GetRotationRequest) Validate() error { +func (r *GetRotationRequest) Validate() error { err := validateIdentifier(r.ScheduleIdentifierValue) if err != nil { @@ -358,16 +358,16 @@ func (r GetRotationRequest) Validate() error { return nil } -func (r GetRotationRequest) ResourcePath() string { +func (r *GetRotationRequest) ResourcePath() string { return "/v2/schedules/" + r.ScheduleIdentifierValue + "/rotations/" + r.RotationId } -func (r GetRotationRequest) Method() string { +func (r *GetRotationRequest) Method() string { return "GET" } -func (r GetRotationRequest) RequestParams() map[string]string { +func (r *GetRotationRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -387,7 +387,7 @@ type UpdateRotationRequest struct { *og.Rotation } -func (r UpdateRotationRequest) Validate() error { +func (r *UpdateRotationRequest) Validate() error { err := validateIdentifier(r.ScheduleIdentifierValue) if err != nil { @@ -401,17 +401,17 @@ func (r UpdateRotationRequest) Validate() error { return nil } -func (r UpdateRotationRequest) ResourcePath() string { +func (r *UpdateRotationRequest) ResourcePath() string { return "/v2/schedules/" + r.ScheduleIdentifierValue + "/rotations/" + r.RotationId } -func (r UpdateRotationRequest) Method() string { +func (r *UpdateRotationRequest) Method() string { return "PATCH" } -func (r UpdateRotationRequest) RequestParams() map[string]string { +func (r *UpdateRotationRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -431,7 +431,7 @@ type DeleteRotationRequest struct { RotationId string } -func (r DeleteRotationRequest) Validate() error { +func (r *DeleteRotationRequest) Validate() error { err := validateIdentifier(r.ScheduleIdentifierValue) if err != nil { @@ -445,17 +445,17 @@ func (r DeleteRotationRequest) Validate() error { return nil } -func (r DeleteRotationRequest) ResourcePath() string { +func (r *DeleteRotationRequest) ResourcePath() string { return "/v2/schedules/" + r.ScheduleIdentifierValue + "/rotations/" + r.RotationId } -func (r DeleteRotationRequest) Method() string { +func (r *DeleteRotationRequest) Method() string { return "DELETE" } -func (r DeleteRotationRequest) RequestParams() map[string]string { +func (r *DeleteRotationRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -474,7 +474,7 @@ type ListRotationsRequest struct { ScheduleIdentifierValue string } -func (r ListRotationsRequest) Validate() error { +func (r *ListRotationsRequest) Validate() error { err := validateIdentifier(r.ScheduleIdentifierValue) if err != nil { @@ -484,17 +484,17 @@ func (r ListRotationsRequest) Validate() error { return nil } -func (r ListRotationsRequest) ResourcePath() string { +func (r *ListRotationsRequest) ResourcePath() string { return "/v2/schedules/" + r.ScheduleIdentifierValue + "/rotations" } -func (r ListRotationsRequest) Method() string { +func (r *ListRotationsRequest) Method() string { return "GET" } -func (r ListRotationsRequest) RequestParams() map[string]string { +func (r *ListRotationsRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/schedule/result.go b/schedule/result.go index f636824..fb0c7e5 100644 --- a/schedule/result.go +++ b/schedule/result.go @@ -83,6 +83,17 @@ type Period struct { Recipient og.Participant `json:"recipient,omitempty"` } +type Rotation struct { + Id string `json:"id,omitempty"` + Name string `json:"name,omitempty"` + StartDate *time.Time `json:"startDate,omitempty"` + EndDate *time.Time `json:"endDate,omitempty"` + Type og.RotationType `json:"type,omitempty"` + Length uint32 `json:"length,omitempty"` + Participants []og.Participant `json:"participants,omitempty"` + TimeRestriction *og.TimeRestriction `json:"timeRestriction,omitempty"` +} + type CreateRotationResult struct { client.ResultMetadata Id string `json:"id,omitempty"` @@ -91,7 +102,7 @@ type CreateRotationResult struct { type GetRotationResult struct { client.ResultMetadata - og.Rotation + Rotation Info `json:"_parent,omitempty"` } @@ -103,5 +114,5 @@ type UpdateRotationResult struct { type ListRotationsResult struct { client.ResultMetadata - Rotations []og.Rotation `json:"data,omitempty"` + Rotations []Rotation `json:"data,omitempty"` } diff --git a/schedule/schedule.go b/schedule/schedule.go index f50bd3d..1cce4d1 100644 --- a/schedule/schedule.go +++ b/schedule/schedule.go @@ -6,7 +6,7 @@ import ( ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,59 +14,57 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - client := &Client{} - client.ogClient = *opsgenieClient - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetTimeline(context context.Context, request GetTimelineRequest) (*TimelineResult, error) { +func (c *Client) GetTimeline(context context.Context, request *GetTimelineRequest) (*TimelineResult, error) { result := &TimelineResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/schedule/schedule_override.go b/schedule/schedule_override.go index 2291854..910f344 100644 --- a/schedule/schedule_override.go +++ b/schedule/schedule_override.go @@ -4,45 +4,45 @@ import ( "context" ) -func (client *Client) CreateScheduleOverride(context context.Context, request CreateScheduleOverrideRequest) (*CreateScheduleOverrideResult, error) { +func (c *Client) CreateScheduleOverride(context context.Context, request *CreateScheduleOverrideRequest) (*CreateScheduleOverrideResult, error) { result := &CreateScheduleOverrideResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetScheduleOverride(context context.Context, request GetScheduleOverrideRequest) (*GetScheduleOverrideResult, error) { +func (c *Client) GetScheduleOverride(context context.Context, request *GetScheduleOverrideRequest) (*GetScheduleOverrideResult, error) { result := &GetScheduleOverrideResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListScheduleOverride(context context.Context, request ListScheduleOverrideRequest) (*ListScheduleOverrideResult, error) { +func (c *Client) ListScheduleOverride(context context.Context, request *ListScheduleOverrideRequest) (*ListScheduleOverrideResult, error) { result := &ListScheduleOverrideResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeleteScheduleOverride(context context.Context, request DeleteScheduleOverrideRequest) (*DeleteScheduleOverrideResult, error) { +func (c *Client) DeleteScheduleOverride(context context.Context, request *DeleteScheduleOverrideRequest) (*DeleteScheduleOverrideResult, error) { result := &DeleteScheduleOverrideResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateScheduleOverride(context context.Context, request UpdateScheduleOverrideRequest) (*UpdateScheduleOverrideResult, error) { +func (c *Client) UpdateScheduleOverride(context context.Context, request *UpdateScheduleOverrideRequest) (*UpdateScheduleOverrideResult, error) { result := &UpdateScheduleOverrideResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/schedule/schedule_override_request.go b/schedule/schedule_override_request.go index 7face67..3e41728 100644 --- a/schedule/schedule_override_request.go +++ b/schedule/schedule_override_request.go @@ -22,40 +22,40 @@ type CreateScheduleOverrideRequest struct { ScheduleIdentifier string } -func (request CreateScheduleOverrideRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *CreateScheduleOverrideRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } - err = validateUser(&request.User) + err = validateUser(&r.User) if err != nil { return err } - err = validateDates(&request.StartDate, "Start date cannot be empty.") + err = validateDates(&r.StartDate, "Start date cannot be empty.") if err != nil { return err } - err = validateDates(&request.EndDate, "End date cannot be empty.") + err = validateDates(&r.EndDate, "End date cannot be empty.") if err != nil { return err } return nil } -func (request CreateScheduleOverrideRequest) ResourcePath() string { +func (r *CreateScheduleOverrideRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/overrides" + return "/v2/schedules/" + r.ScheduleIdentifier + "/overrides" } -func (request CreateScheduleOverrideRequest) Method() string { +func (r *CreateScheduleOverrideRequest) Method() string { return "POST" } -func (request CreateScheduleOverrideRequest) RequestParams() map[string]string { +func (r *CreateScheduleOverrideRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" @@ -71,32 +71,32 @@ type GetScheduleOverrideRequest struct { Alias string } -func (request GetScheduleOverrideRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *GetScheduleOverrideRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } - err = validateIdentifiers(request.Alias, "Alias cannot be empty.") + err = validateIdentifiers(r.Alias, "Alias cannot be empty.") if err != nil { return err } return nil } -func (request GetScheduleOverrideRequest) ResourcePath() string { +func (r *GetScheduleOverrideRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/overrides/" + request.Alias + return "/v2/schedules/" + r.ScheduleIdentifier + "/overrides/" + r.Alias } -func (request GetScheduleOverrideRequest) Method() string { +func (r *GetScheduleOverrideRequest) Method() string { return "GET" } -func (request GetScheduleOverrideRequest) RequestParams() map[string]string { +func (r *GetScheduleOverrideRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" @@ -111,27 +111,27 @@ type ListScheduleOverrideRequest struct { ScheduleIdentifier string } -func (request ListScheduleOverrideRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *ListScheduleOverrideRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } return nil } -func (request ListScheduleOverrideRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/overrides" +func (r *ListScheduleOverrideRequest) ResourcePath() string { + return "/v2/schedules/" + r.ScheduleIdentifier + "/overrides" } -func (request ListScheduleOverrideRequest) Method() string { +func (r *ListScheduleOverrideRequest) Method() string { return "GET" } -func (request ListScheduleOverrideRequest) RequestParams() map[string]string { +func (r *ListScheduleOverrideRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" @@ -147,32 +147,32 @@ type DeleteScheduleOverrideRequest struct { Alias string } -func (request DeleteScheduleOverrideRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *DeleteScheduleOverrideRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } - err = validateIdentifiers(request.Alias, "Alias cannot be empty.") + err = validateIdentifiers(r.Alias, "Alias cannot be empty.") if err != nil { return err } return nil } -func (request DeleteScheduleOverrideRequest) ResourcePath() string { +func (r *DeleteScheduleOverrideRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/overrides/" + request.Alias + return "/v2/schedules/" + r.ScheduleIdentifier + "/overrides/" + r.Alias } -func (request DeleteScheduleOverrideRequest) Method() string { +func (r *DeleteScheduleOverrideRequest) Method() string { return "DELETE" } -func (request DeleteScheduleOverrideRequest) RequestParams() map[string]string { +func (r *DeleteScheduleOverrideRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" @@ -192,44 +192,44 @@ type UpdateScheduleOverrideRequest struct { ScheduleIdentifier string } -func (request UpdateScheduleOverrideRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *UpdateScheduleOverrideRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } - err = validateIdentifiers(request.Alias, "Alias cannot be empty.") + err = validateIdentifiers(r.Alias, "Alias cannot be empty.") if err != nil { return err } - err = validateUser(&request.User) + err = validateUser(&r.User) if err != nil { return err } - err = validateDates(&request.StartDate, "Start date cannot be empty.") + err = validateDates(&r.StartDate, "Start date cannot be empty.") if err != nil { return err } - err = validateDates(&request.EndDate, "End date cannot be empty.") + err = validateDates(&r.EndDate, "End date cannot be empty.") if err != nil { return err } return nil } -func (request UpdateScheduleOverrideRequest) ResourcePath() string { +func (r *UpdateScheduleOverrideRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/overrides/" + request.Alias + return "/v2/schedules/" + r.ScheduleIdentifier + "/overrides/" + r.Alias } -func (request UpdateScheduleOverrideRequest) Method() string { +func (r *UpdateScheduleOverrideRequest) Method() string { return "PUT" } -func (request UpdateScheduleOverrideRequest) RequestParams() map[string]string { +func (r *UpdateScheduleOverrideRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" diff --git a/schedule/schedule_rotation.go b/schedule/schedule_rotation.go index 07af9dc..5bbd4e8 100644 --- a/schedule/schedule_rotation.go +++ b/schedule/schedule_rotation.go @@ -2,45 +2,45 @@ package schedule import "context" -func (client *Client) CreateRotation(context context.Context, request CreateRotationRequest) (*CreateRotationResult, error) { +func (c *Client) CreateRotation(context context.Context, request *CreateRotationRequest) (*CreateRotationResult, error) { result := &CreateRotationResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetRotation(context context.Context, request GetRotationRequest) (*GetRotationResult, error) { +func (c *Client) GetRotation(context context.Context, request *GetRotationRequest) (*GetRotationResult, error) { result := &GetRotationResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) UpdateRotation(context context.Context, request UpdateRotationRequest) (*UpdateRotationResult, error) { +func (c *Client) UpdateRotation(context context.Context, request *UpdateRotationRequest) (*UpdateRotationResult, error) { result := &UpdateRotationResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeleteRotation(context context.Context, request DeleteRotationRequest) (*DeleteResult, error) { +func (c *Client) DeleteRotation(context context.Context, request *DeleteRotationRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListRotations(context context.Context, request ListRotationsRequest) (*ListRotationsResult, error) { +func (c *Client) ListRotations(context context.Context, request *ListRotationsRequest) (*ListRotationsResult, error) { result := &ListRotationsResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/schedule/schedule_test.go b/schedule/schedule_test.go index 9071bd1..8e0264b 100644 --- a/schedule/schedule_test.go +++ b/schedule/schedule_test.go @@ -38,7 +38,7 @@ func TestBuildCreateRequest(t *testing.T) { createRequest := &CreateRequest{Name: "sch1", Description: "desc", Timezone: "aZone", Enabled: true, OwnerTeam: ownerTeam} createRequest.WithRotation(rotation1.WithParticipants(*participant1, *participant2)). WithRotation(rotation2.WithParticipants(*participant1, *participant2). - WithTimeRestriction(tr)) + WithTimeRestriction(tr)) assert.Equal(t, expectedCreateRequest, createRequest) err := createRequest.Validate() diff --git a/schedule/who_is_oncall.go b/schedule/who_is_oncall.go index 7632d69..6f1d12f 100644 --- a/schedule/who_is_oncall.go +++ b/schedule/who_is_oncall.go @@ -5,18 +5,18 @@ import ( "os" ) -func (client *Client) GetOnCalls(context context.Context, request GetOnCallsRequest) (*GetOnCallsResult, error) { +func (c *Client) GetOnCalls(context context.Context, request *GetOnCallsRequest) (*GetOnCallsResult, error) { result := &GetOnCallsResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetNextOnCall(context context.Context, request GetNextOnCallsRequest) (*GetNextOnCallsResult, error) { +func (c *Client) GetNextOnCall(context context.Context, request *GetNextOnCallsRequest) (*GetNextOnCallsResult, error) { result := &GetNextOnCallsResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err @@ -24,7 +24,7 @@ func (client *Client) GetNextOnCall(context context.Context, request GetNextOnCa return result, nil } -func (client *Client) ExportOnCallUser(context context.Context, request ExportOnCallUserRequest) (*os.File, error) { +func (c *Client) ExportOnCallUser(context context.Context, request *ExportOnCallUserRequest) (*os.File, error) { result := &exportOncallUserResult{} file, err := os.Create(request.ExportedFilePath + request.getFileName()) @@ -34,7 +34,7 @@ func (client *Client) ExportOnCallUser(context context.Context, request ExportOn defer file.Close() - err = client.ogClient.Exec(context, request, result) + err = c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/schedule/who_is_oncall_request.go b/schedule/who_is_oncall_request.go index dc7a05c..88e4f86 100644 --- a/schedule/who_is_oncall_request.go +++ b/schedule/who_is_oncall_request.go @@ -13,37 +13,37 @@ type GetOnCallsRequest struct { ScheduleIdentifier string } -func (request GetOnCallsRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *GetOnCallsRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } return nil } -func (request GetOnCallsRequest) Method() string { +func (r *GetOnCallsRequest) Method() string { return "GET" } -func (request GetOnCallsRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/on-calls" +func (r *GetOnCallsRequest) ResourcePath() string { + return "/v2/schedules/" + r.ScheduleIdentifier + "/on-calls" } -func (request GetOnCallsRequest) RequestParams() map[string]string { +func (r *GetOnCallsRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" } - if request.Flat { + if r.Flat { params["flat"] = "true" } - if request.Date != nil { - params["date"] = request.Date.Format("2006-01-02T15:04:05.000Z") + if r.Date != nil { + params["date"] = r.Date.Format("2006-01-02T15:04:05.000Z") } return params @@ -57,37 +57,37 @@ type GetNextOnCallsRequest struct { ScheduleIdentifier string } -func (request GetNextOnCallsRequest) Validate() error { - err := validateIdentifiers(request.ScheduleIdentifier, "Schedule identifier cannot be empty.") +func (r *GetNextOnCallsRequest) Validate() error { + err := validateIdentifiers(r.ScheduleIdentifier, "Schedule identifier cannot be empty.") if err != nil { return err } return nil } -func (request GetNextOnCallsRequest) Method() string { +func (r *GetNextOnCallsRequest) Method() string { return "GET" } -func (request GetNextOnCallsRequest) ResourcePath() string { - return "/v2/schedules/" + request.ScheduleIdentifier + "/next-on-calls" +func (r *GetNextOnCallsRequest) ResourcePath() string { + return "/v2/schedules/" + r.ScheduleIdentifier + "/next-on-calls" } -func (request GetNextOnCallsRequest) RequestParams() map[string]string { +func (r *GetNextOnCallsRequest) RequestParams() map[string]string { params := make(map[string]string) - if request.ScheduleIdentifierType == Name { + if r.ScheduleIdentifierType == Name { params["scheduleIdentifierType"] = "name" } else { params["scheduleIdentifierType"] = "id" } - if request.Flat { + if r.Flat { params["flat"] = "true" } - if request.Date != nil { - params["date"] = request.Date.Format("2006-01-02T15:04:05.000Z") + if r.Date != nil { + params["date"] = r.Date.Format("2006-01-02T15:04:05.000Z") } return params @@ -99,22 +99,22 @@ type ExportOnCallUserRequest struct { ExportedFilePath string } -func (request ExportOnCallUserRequest) Validate() error { - err := validateIdentifiers(request.UserIdentifier, "User identifier cannot be empty.") +func (r *ExportOnCallUserRequest) Validate() error { + err := validateIdentifiers(r.UserIdentifier, "User identifier cannot be empty.") if err != nil { return err } return nil } -func (r ExportOnCallUserRequest) Method() string { +func (r *ExportOnCallUserRequest) Method() string { return "GET" } -func (r ExportOnCallUserRequest) getFileName() string { +func (r *ExportOnCallUserRequest) getFileName() string { return r.UserIdentifier + ".ics" } -func (request ExportOnCallUserRequest) ResourcePath() string { - return "/v2/schedules/on-calls/" + request.getFileName() +func (r *ExportOnCallUserRequest) ResourcePath() string { + return "/v2/schedules/on-calls/" + r.getFileName() } diff --git a/schedule/who_is_oncall_result.go b/schedule/who_is_oncall_result.go index 94b0b94..78c4c4b 100644 --- a/schedule/who_is_oncall_result.go +++ b/schedule/who_is_oncall_result.go @@ -3,9 +3,9 @@ package schedule import ( "github.com/opsgenie/opsgenie-go-sdk-v2/client" "github.com/opsgenie/opsgenie-go-sdk-v2/og" - "net/http" "github.com/pkg/errors" "io/ioutil" + "net/http" ) type GetOnCallsResult struct { diff --git a/schedule/who_is_oncall_test.go b/schedule/who_is_oncall_test.go index fb9da10..0b78437 100644 --- a/schedule/who_is_oncall_test.go +++ b/schedule/who_is_oncall_test.go @@ -1,9 +1,9 @@ package schedule import ( - "testing" "github.com/pkg/errors" "github.com/stretchr/testify/assert" + "testing" ) func TestGetOnCallsRequest_Validate(t *testing.T) { diff --git a/service/service.go b/service/service.go index b3b62f3..53d8ce7 100644 --- a/service/service.go +++ b/service/service.go @@ -6,59 +6,56 @@ import ( ) type Client struct { - executor *client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { - newClient, err := client.NewOpsGenieClient(config) + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - client := &Client{ - executor: newClient, - } - return client, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.executor.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/service/service_request.go b/service/service_request.go index b2ff8d3..41c19a2 100644 --- a/service/service_request.go +++ b/service/service_request.go @@ -14,7 +14,7 @@ type CreateRequest struct { Visibility Visibility `json:"visibility,omitempty"` } -func (r CreateRequest) Validate() error { +func (r *CreateRequest) Validate() error { if r.Name == "" { return errors.New("Name field cannot be empty.") } @@ -28,11 +28,11 @@ func (r CreateRequest) Validate() error { return nil } -func (r CreateRequest) ResourcePath() string { +func (r *CreateRequest) ResourcePath() string { return "/v1/services" } -func (r CreateRequest) Method() string { +func (r *CreateRequest) Method() string { return "POST" } @@ -44,7 +44,7 @@ type UpdateRequest struct { Visibility Visibility `json:"visibility,omitempty"` } -func (r UpdateRequest) Validate() error { +func (r *UpdateRequest) Validate() error { if r.Id == "" { return errors.New("Service ID cannot be blank.") } @@ -55,11 +55,11 @@ func (r UpdateRequest) Validate() error { return nil } -func (r UpdateRequest) ResourcePath() string { +func (r *UpdateRequest) ResourcePath() string { return "/v1/services/" + r.Id } -func (r UpdateRequest) Method() string { +func (r *UpdateRequest) Method() string { return "PATCH" } @@ -68,18 +68,18 @@ type DeleteRequest struct { Id string } -func (r DeleteRequest) Validate() error { +func (r *DeleteRequest) Validate() error { if r.Id == "" { return errors.New("Service ID cannot be blank.") } return nil } -func (r DeleteRequest) ResourcePath() string { +func (r *DeleteRequest) ResourcePath() string { return "/v1/services/" + r.Id } -func (r DeleteRequest) Method() string { +func (r *DeleteRequest) Method() string { return "DELETE" } @@ -88,18 +88,18 @@ type GetRequest struct { Id string } -func (r GetRequest) Validate() error { +func (r *GetRequest) Validate() error { if r.Id == "" { return errors.New("Service ID cannot be blank.") } return nil } -func (r GetRequest) ResourcePath() string { +func (r *GetRequest) ResourcePath() string { return "/v1/services/" + r.Id } -func (r GetRequest) Method() string { +func (r *GetRequest) Method() string { return "GET" } @@ -109,19 +109,19 @@ type ListRequest struct { Offset int } -func (r ListRequest) Validate() error { +func (r *ListRequest) Validate() error { return nil } -func (r ListRequest) ResourcePath() string { +func (r *ListRequest) ResourcePath() string { return "/v1/services" } -func (r ListRequest) Method() string { +func (r *ListRequest) Method() string { return "GET" } -func (r ListRequest) RequestParams() map[string]string { +func (r *ListRequest) RequestParams() map[string]string { params := map[string]string{} if r.Limit != 0 { params["limit"] = strconv.Itoa(r.Limit) diff --git a/team/request.go b/team/request.go index d51e278..fda8ef2 100644 --- a/team/request.go +++ b/team/request.go @@ -26,7 +26,7 @@ type CreateTeamRequest struct { Members []Member `json:"members,omitempty"` } -func (r CreateTeamRequest) Validate() error { +func (r *CreateTeamRequest) Validate() error { if r.Name == "" { return errors.New("name can not be empty") } @@ -34,12 +34,12 @@ func (r CreateTeamRequest) Validate() error { return nil } -func (r CreateTeamRequest) ResourcePath() string { +func (r *CreateTeamRequest) ResourcePath() string { return "/v2/teams" } -func (r CreateTeamRequest) Method() string { +func (r *CreateTeamRequest) Method() string { return "POST" } @@ -47,17 +47,17 @@ type ListTeamRequest struct { client.BaseRequest } -func (r ListTeamRequest) Validate() error { +func (r *ListTeamRequest) Validate() error { return nil } -func (r ListTeamRequest) ResourcePath() string { +func (r *ListTeamRequest) ResourcePath() string { return "/v2/teams" } -func (r ListTeamRequest) Method() string { +func (r *ListTeamRequest) Method() string { return "GET" } @@ -67,7 +67,7 @@ type DeleteTeamRequest struct { IdentifierValue string } -func (r DeleteTeamRequest) Validate() error { +func (r *DeleteTeamRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -75,16 +75,16 @@ func (r DeleteTeamRequest) Validate() error { return nil } -func (r DeleteTeamRequest) ResourcePath() string { +func (r *DeleteTeamRequest) ResourcePath() string { return "/v2/teams/" + r.IdentifierValue } -func (r DeleteTeamRequest) Method() string { +func (r *DeleteTeamRequest) Method() string { return "DELETE" } -func (r DeleteTeamRequest) RequestParams() map[string]string { +func (r *DeleteTeamRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -103,7 +103,7 @@ type GetTeamRequest struct { IdentifierValue string } -func (r GetTeamRequest) Validate() error { +func (r *GetTeamRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -111,16 +111,16 @@ func (r GetTeamRequest) Validate() error { return nil } -func (r GetTeamRequest) ResourcePath() string { +func (r *GetTeamRequest) ResourcePath() string { return "/v2/teams/" + r.IdentifierValue } -func (r GetTeamRequest) Method() string { +func (r *GetTeamRequest) Method() string { return "GET" } -func (r GetTeamRequest) RequestParams() map[string]string { +func (r *GetTeamRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -141,19 +141,19 @@ type UpdateTeamRequest struct { Members []Member `json:"members,omitempty"` } -func (r UpdateTeamRequest) Validate() error { +func (r *UpdateTeamRequest) Validate() error { if r.Id == "" { return errors.New("team id can not be empty") } return nil } -func (r UpdateTeamRequest) ResourcePath() string { +func (r *UpdateTeamRequest) ResourcePath() string { return "/v2/teams/" + r.Id } -func (r UpdateTeamRequest) Method() string { +func (r *UpdateTeamRequest) Method() string { return "PATCH" } @@ -166,7 +166,7 @@ type ListTeamLogsRequest struct { Offset int `json:"offset,omitempty"` } -func (r ListTeamLogsRequest) Validate() error { +func (r *ListTeamLogsRequest) Validate() error { err := validateIdentifier(r.IdentifierValue) if err != nil { return err @@ -175,17 +175,17 @@ func (r ListTeamLogsRequest) Validate() error { return nil } -func (r ListTeamLogsRequest) ResourcePath() string { +func (r *ListTeamLogsRequest) ResourcePath() string { return "/v2/teams/" + r.IdentifierValue + "/logs" } -func (r ListTeamLogsRequest) Method() string { +func (r *ListTeamLogsRequest) Method() string { return "GET" } -func (r ListTeamLogsRequest) RequestParams() map[string]string { +func (r *ListTeamLogsRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -222,7 +222,7 @@ type CreateTeamRoleRequest struct { Rights []Right `json:"rights"` } -func (r CreateTeamRoleRequest) Validate() error { +func (r *CreateTeamRoleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -239,17 +239,17 @@ func (r CreateTeamRoleRequest) Validate() error { return nil } -func (r CreateTeamRoleRequest) ResourcePath() string { +func (r *CreateTeamRoleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/roles" } -func (r CreateTeamRoleRequest) Method() string { +func (r *CreateTeamRoleRequest) Method() string { return "POST" } -func (r CreateTeamRoleRequest) RequestParams() map[string]string { +func (r *CreateTeamRoleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -270,7 +270,7 @@ type GetTeamRoleRequest struct { RoleName string } -func (r GetTeamRoleRequest) Validate() error { +func (r *GetTeamRoleRequest) Validate() error { if r.TeamID == "" && r.TeamName == "" { return errors.New("team identifier can not be empty") @@ -283,7 +283,7 @@ func (r GetTeamRoleRequest) Validate() error { return nil } -func (r GetTeamRoleRequest) ResourcePath() string { +func (r *GetTeamRoleRequest) ResourcePath() string { if r.TeamName != "" { if r.RoleName != "" { @@ -299,11 +299,11 @@ func (r GetTeamRoleRequest) ResourcePath() string { } -func (r GetTeamRoleRequest) Method() string { +func (r *GetTeamRoleRequest) Method() string { return "GET" } -func (r GetTeamRoleRequest) RequestParams() map[string]string { +func (r *GetTeamRoleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -332,7 +332,7 @@ type UpdateTeamRoleRequest struct { Rights []Right `json:"rights"` } -func (r UpdateTeamRoleRequest) Validate() error { +func (r *UpdateTeamRoleRequest) Validate() error { if r.TeamID == "" && r.TeamName == "" { return errors.New("team identifier can not be empty") @@ -345,7 +345,7 @@ func (r UpdateTeamRoleRequest) Validate() error { return nil } -func (r UpdateTeamRoleRequest) ResourcePath() string { +func (r *UpdateTeamRoleRequest) ResourcePath() string { if r.TeamName != "" { if r.RoleName != "" { @@ -361,11 +361,11 @@ func (r UpdateTeamRoleRequest) ResourcePath() string { } -func (r UpdateTeamRoleRequest) Method() string { +func (r *UpdateTeamRoleRequest) Method() string { return "PATCH" } -func (r UpdateTeamRoleRequest) RequestParams() map[string]string { +func (r *UpdateTeamRoleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -392,7 +392,7 @@ type DeleteTeamRoleRequest struct { RoleName string } -func (r DeleteTeamRoleRequest) Validate() error { +func (r *DeleteTeamRoleRequest) Validate() error { if r.TeamID == "" && r.TeamName == "" { return errors.New("team identifier can not be empty") } @@ -404,7 +404,7 @@ func (r DeleteTeamRoleRequest) Validate() error { return nil } -func (r DeleteTeamRoleRequest) ResourcePath() string { +func (r *DeleteTeamRoleRequest) ResourcePath() string { if r.TeamName != "" { if r.RoleName != "" { return "/v2/teams/" + r.TeamName + "/roles/" + r.RoleName @@ -419,11 +419,11 @@ func (r DeleteTeamRoleRequest) ResourcePath() string { } -func (r DeleteTeamRoleRequest) Method() string { +func (r *DeleteTeamRoleRequest) Method() string { return "DELETE" } -func (r DeleteTeamRoleRequest) RequestParams() map[string]string { +func (r *DeleteTeamRoleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -448,7 +448,7 @@ type ListTeamRoleRequest struct { TeamIdentifierValue string } -func (r ListTeamRoleRequest) Validate() error { +func (r *ListTeamRoleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -456,16 +456,16 @@ func (r ListTeamRoleRequest) Validate() error { return nil } -func (r ListTeamRoleRequest) ResourcePath() string { +func (r *ListTeamRoleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/roles" } -func (r ListTeamRoleRequest) Method() string { +func (r *ListTeamRoleRequest) Method() string { return "GET" } -func (r ListTeamRoleRequest) RequestParams() map[string]string { +func (r *ListTeamRoleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -500,7 +500,7 @@ type AddTeamMemberRequest struct { Role string `json:"role,omitempty"` } -func (r AddTeamMemberRequest) Validate() error { +func (r *AddTeamMemberRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -513,17 +513,17 @@ func (r AddTeamMemberRequest) Validate() error { return nil } -func (r AddTeamMemberRequest) ResourcePath() string { +func (r *AddTeamMemberRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/members" } -func (r AddTeamMemberRequest) Method() string { +func (r *AddTeamMemberRequest) Method() string { return "POST" } -func (r AddTeamMemberRequest) RequestParams() map[string]string { +func (r *AddTeamMemberRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -544,7 +544,7 @@ type RemoveTeamMemberRequest struct { MemberIdentifierValue string } -func (r RemoveTeamMemberRequest) Validate() error { +func (r *RemoveTeamMemberRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -561,17 +561,17 @@ func (r RemoveTeamMemberRequest) Validate() error { return nil } -func (r RemoveTeamMemberRequest) ResourcePath() string { +func (r *RemoveTeamMemberRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/members/" + r.MemberIdentifierValue } -func (r RemoveTeamMemberRequest) Method() string { +func (r *RemoveTeamMemberRequest) Method() string { return "DELETE" } -func (r RemoveTeamMemberRequest) RequestParams() map[string]string { +func (r *RemoveTeamMemberRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -611,7 +611,7 @@ type CreateRoutingRuleRequest struct { Notify *Notify `json:"notify"` } -func (r CreateRoutingRuleRequest) Validate() error { +func (r *CreateRoutingRuleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -642,17 +642,17 @@ func (r CreateRoutingRuleRequest) Validate() error { return nil } -func (r CreateRoutingRuleRequest) ResourcePath() string { +func (r *CreateRoutingRuleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules" } -func (r CreateRoutingRuleRequest) Method() string { +func (r *CreateRoutingRuleRequest) Method() string { return "POST" } -func (r CreateRoutingRuleRequest) RequestParams() map[string]string { +func (r *CreateRoutingRuleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -665,9 +665,9 @@ func (r CreateRoutingRuleRequest) RequestParams() map[string]string { return params } -func (r CreateRoutingRuleRequest) WithTimeRestriction(timeRestriction og.TimeRestriction) CreateRoutingRuleRequest { +func (r *CreateRoutingRuleRequest) WithTimeRestriction(timeRestriction og.TimeRestriction) CreateRoutingRuleRequest { r.TimeRestriction = &timeRestriction - return r + return *r } type GetRoutingRuleRequest struct { @@ -677,7 +677,7 @@ type GetRoutingRuleRequest struct { RoutingRuleId string } -func (r GetRoutingRuleRequest) Validate() error { +func (r *GetRoutingRuleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -690,17 +690,17 @@ func (r GetRoutingRuleRequest) Validate() error { return nil } -func (r GetRoutingRuleRequest) ResourcePath() string { +func (r *GetRoutingRuleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules/" + r.RoutingRuleId } -func (r GetRoutingRuleRequest) Method() string { +func (r *GetRoutingRuleRequest) Method() string { return "GET" } -func (r GetRoutingRuleRequest) RequestParams() map[string]string { +func (r *GetRoutingRuleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -725,7 +725,7 @@ type UpdateRoutingRuleRequest struct { Notify *Notify `json:"notify,omitempty"` } -func (r UpdateRoutingRuleRequest) Validate() error { +func (r *UpdateRoutingRuleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -759,17 +759,17 @@ func (r UpdateRoutingRuleRequest) Validate() error { return nil } -func (r UpdateRoutingRuleRequest) ResourcePath() string { +func (r *UpdateRoutingRuleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules/" + r.RoutingRuleId } -func (r UpdateRoutingRuleRequest) Method() string { +func (r *UpdateRoutingRuleRequest) Method() string { return "PATCH" } -func (r UpdateRoutingRuleRequest) RequestParams() map[string]string { +func (r *UpdateRoutingRuleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -789,7 +789,7 @@ type DeleteRoutingRuleRequest struct { RoutingRuleId string } -func (r DeleteRoutingRuleRequest) Validate() error { +func (r *DeleteRoutingRuleRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -802,17 +802,17 @@ func (r DeleteRoutingRuleRequest) Validate() error { return nil } -func (r DeleteRoutingRuleRequest) ResourcePath() string { +func (r *DeleteRoutingRuleRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules/" + r.RoutingRuleId } -func (r DeleteRoutingRuleRequest) Method() string { +func (r *DeleteRoutingRuleRequest) Method() string { return "DELETE" } -func (r DeleteRoutingRuleRequest) RequestParams() map[string]string { +func (r *DeleteRoutingRuleRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -831,7 +831,7 @@ type ListRoutingRulesRequest struct { TeamIdentifierValue string } -func (r ListRoutingRulesRequest) Validate() error { +func (r *ListRoutingRulesRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -840,17 +840,17 @@ func (r ListRoutingRulesRequest) Validate() error { return nil } -func (r ListRoutingRulesRequest) ResourcePath() string { +func (r *ListRoutingRulesRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules" } -func (r ListRoutingRulesRequest) Method() string { +func (r *ListRoutingRulesRequest) Method() string { return "GET" } -func (r ListRoutingRulesRequest) RequestParams() map[string]string { +func (r *ListRoutingRulesRequest) RequestParams() map[string]string { params := make(map[string]string) @@ -871,7 +871,7 @@ type ChangeRoutingRuleOrderRequest struct { Order *int `json:"order"` } -func (r ChangeRoutingRuleOrderRequest) Validate() error { +func (r *ChangeRoutingRuleOrderRequest) Validate() error { err := validateIdentifier(r.TeamIdentifierValue) if err != nil { return err @@ -888,17 +888,17 @@ func (r ChangeRoutingRuleOrderRequest) Validate() error { return nil } -func (r ChangeRoutingRuleOrderRequest) ResourcePath() string { +func (r *ChangeRoutingRuleOrderRequest) ResourcePath() string { return "/v2/teams/" + r.TeamIdentifierValue + "/routing-rules/" + r.RoutingRuleId + "/change-order" } -func (r ChangeRoutingRuleOrderRequest) Method() string { +func (r *ChangeRoutingRuleOrderRequest) Method() string { return "POST" } -func (r ChangeRoutingRuleOrderRequest) RequestParams() map[string]string { +func (r *ChangeRoutingRuleOrderRequest) RequestParams() map[string]string { params := make(map[string]string) diff --git a/team/team.go b/team/team.go index 5754080..791bc8d 100644 --- a/team/team.go +++ b/team/team.go @@ -6,30 +6,24 @@ import ( ) type Client struct { - restClient *client.OpsGenieClient + client *client.OpsGenieClient } -func NewClient(config client.Config) (*Client, error) { +func NewClient(config *client.Config) (*Client, error) { - restClient, err := client.NewOpsGenieClient( - &config, - ) - - teamClient := &Client{ - restClient: restClient, - } + opsgenieClient, err := client.NewOpsGenieClient(config) if err != nil { return nil, err } - return teamClient, nil + return &Client{opsgenieClient}, nil } -func (c *Client) Create(ctx context.Context, req CreateTeamRequest) (*CreateTeamResult, error) { +func (c *Client) Create(ctx context.Context, req *CreateTeamRequest) (*CreateTeamResult, error) { createTeamResponse := &CreateTeamResult{} - err := c.restClient.Exec(ctx, req, createTeamResponse) + err := c.client.Exec(ctx, req, createTeamResponse) if err != nil { return nil, err } @@ -38,11 +32,11 @@ func (c *Client) Create(ctx context.Context, req CreateTeamRequest) (*CreateTeam } -func (c *Client) Get(ctx context.Context, req GetTeamRequest) (*GetTeamResult, error) { +func (c *Client) Get(ctx context.Context, req *GetTeamRequest) (*GetTeamResult, error) { getTeamResponse := &GetTeamResult{} - err := c.restClient.Exec(ctx, req, getTeamResponse) + err := c.client.Exec(ctx, req, getTeamResponse) if err != nil { return nil, err } @@ -50,11 +44,11 @@ func (c *Client) Get(ctx context.Context, req GetTeamRequest) (*GetTeamResult, e return getTeamResponse, nil } -func (c *Client) Update(ctx context.Context, req UpdateTeamRequest) (*UpdateTeamResult, error) { +func (c *Client) Update(ctx context.Context, req *UpdateTeamRequest) (*UpdateTeamResult, error) { updateTeamResponse := &UpdateTeamResult{} - err := c.restClient.Exec(ctx, req, updateTeamResponse) + err := c.client.Exec(ctx, req, updateTeamResponse) if err != nil { return nil, err } @@ -62,11 +56,11 @@ func (c *Client) Update(ctx context.Context, req UpdateTeamRequest) (*UpdateTeam return updateTeamResponse, nil } -func (c *Client) Delete(ctx context.Context, req DeleteTeamRequest) (*DeleteTeamResult, error) { +func (c *Client) Delete(ctx context.Context, req *DeleteTeamRequest) (*DeleteTeamResult, error) { deleteTeamResponse := &DeleteTeamResult{} - err := c.restClient.Exec(ctx, req, deleteTeamResponse) + err := c.client.Exec(ctx, req, deleteTeamResponse) if err != nil { return nil, err } @@ -74,11 +68,11 @@ func (c *Client) Delete(ctx context.Context, req DeleteTeamRequest) (*DeleteTeam return deleteTeamResponse, nil } -func (c *Client) List(ctx context.Context, req ListTeamRequest) (*ListTeamResult, error) { +func (c *Client) List(ctx context.Context, req *ListTeamRequest) (*ListTeamResult, error) { listTeamResponse := &ListTeamResult{} - err := c.restClient.Exec(ctx, req, listTeamResponse) + err := c.client.Exec(ctx, req, listTeamResponse) if err != nil { return nil, err } @@ -86,11 +80,11 @@ func (c *Client) List(ctx context.Context, req ListTeamRequest) (*ListTeamResult return listTeamResponse, nil } -func (c *Client) ListTeamLogs(ctx context.Context, req ListTeamLogsRequest) (*ListTeamLogsResult, error) { +func (c *Client) ListTeamLogs(ctx context.Context, req *ListTeamLogsRequest) (*ListTeamLogsResult, error) { ListTeamLogsResponse := &ListTeamLogsResult{} - err := c.restClient.Exec(ctx, req, ListTeamLogsResponse) + err := c.client.Exec(ctx, req, ListTeamLogsResponse) if err != nil { return nil, err } @@ -99,11 +93,11 @@ func (c *Client) ListTeamLogs(ctx context.Context, req ListTeamLogsRequest) (*Li } //team role api -func (c *Client) CreateRole(ctx context.Context, req CreateTeamRoleRequest) (*CreateTeamRoleResult, error) { +func (c *Client) CreateRole(ctx context.Context, req *CreateTeamRoleRequest) (*CreateTeamRoleResult, error) { createTeamRoleResponse := &CreateTeamRoleResult{} - err := c.restClient.Exec(ctx, req, createTeamRoleResponse) + err := c.client.Exec(ctx, req, createTeamRoleResponse) if err != nil { return nil, err } @@ -111,11 +105,11 @@ func (c *Client) CreateRole(ctx context.Context, req CreateTeamRoleRequest) (*Cr return createTeamRoleResponse, nil } -func (c *Client) GetRole(ctx context.Context, req GetTeamRoleRequest) (*GetTeamRoleResult, error) { +func (c *Client) GetRole(ctx context.Context, req *GetTeamRoleRequest) (*GetTeamRoleResult, error) { getTeamRoleResponse := &GetTeamRoleResult{} - err := c.restClient.Exec(ctx, req, getTeamRoleResponse) + err := c.client.Exec(ctx, req, getTeamRoleResponse) if err != nil { return nil, err } @@ -123,11 +117,11 @@ func (c *Client) GetRole(ctx context.Context, req GetTeamRoleRequest) (*GetTeamR return getTeamRoleResponse, nil } -func (c *Client) UpdateRole(ctx context.Context, req UpdateTeamRoleRequest) (*UpdateTeamRoleResult, error) { +func (c *Client) UpdateRole(ctx context.Context, req *UpdateTeamRoleRequest) (*UpdateTeamRoleResult, error) { updateTeamRoleResponse := &UpdateTeamRoleResult{} - err := c.restClient.Exec(ctx, req, updateTeamRoleResponse) + err := c.client.Exec(ctx, req, updateTeamRoleResponse) if err != nil { return nil, err } @@ -135,11 +129,11 @@ func (c *Client) UpdateRole(ctx context.Context, req UpdateTeamRoleRequest) (*Up return updateTeamRoleResponse, nil } -func (c *Client) DeleteRole(ctx context.Context, req DeleteTeamRoleRequest) (*DeleteTeamRoleResult, error) { +func (c *Client) DeleteRole(ctx context.Context, req *DeleteTeamRoleRequest) (*DeleteTeamRoleResult, error) { deleteTeamRoleResponse := &DeleteTeamRoleResult{} - err := c.restClient.Exec(ctx, req, deleteTeamRoleResponse) + err := c.client.Exec(ctx, req, deleteTeamRoleResponse) if err != nil { return nil, err } @@ -147,11 +141,11 @@ func (c *Client) DeleteRole(ctx context.Context, req DeleteTeamRoleRequest) (*De return deleteTeamRoleResponse, nil } -func (c *Client) ListRole(ctx context.Context, req ListTeamRoleRequest) (*ListTeamRoleResult, error) { +func (c *Client) ListRole(ctx context.Context, req *ListTeamRoleRequest) (*ListTeamRoleResult, error) { listTeamRoleResponse := &ListTeamRoleResult{} - err := c.restClient.Exec(ctx, req, listTeamRoleResponse) + err := c.client.Exec(ctx, req, listTeamRoleResponse) if err != nil { return nil, err } @@ -160,11 +154,11 @@ func (c *Client) ListRole(ctx context.Context, req ListTeamRoleRequest) (*ListTe } //team member api -func (c *Client) AddMember(ctx context.Context, req AddTeamMemberRequest) (*AddTeamMemberResult, error) { +func (c *Client) AddMember(ctx context.Context, req *AddTeamMemberRequest) (*AddTeamMemberResult, error) { addTeamMemberResponse := &AddTeamMemberResult{} - err := c.restClient.Exec(ctx, req, addTeamMemberResponse) + err := c.client.Exec(ctx, req, addTeamMemberResponse) if err != nil { return nil, err } @@ -172,11 +166,11 @@ func (c *Client) AddMember(ctx context.Context, req AddTeamMemberRequest) (*AddT return addTeamMemberResponse, nil } -func (c *Client) RemoveMember(ctx context.Context, req RemoveTeamMemberRequest) (*RemoveTeamMemberResult, error) { +func (c *Client) RemoveMember(ctx context.Context, req *RemoveTeamMemberRequest) (*RemoveTeamMemberResult, error) { removeTeamMemberResponse := &RemoveTeamMemberResult{} - err := c.restClient.Exec(ctx, req, removeTeamMemberResponse) + err := c.client.Exec(ctx, req, removeTeamMemberResponse) if err != nil { return nil, err } @@ -185,11 +179,11 @@ func (c *Client) RemoveMember(ctx context.Context, req RemoveTeamMemberRequest) } //team routing rule api -func (c *Client) CreateRoutingRule(ctx context.Context, req CreateRoutingRuleRequest) (*RoutingRuleResult, error) { +func (c *Client) CreateRoutingRule(ctx context.Context, req *CreateRoutingRuleRequest) (*RoutingRuleResult, error) { createRoutingRuleResponse := &RoutingRuleResult{} - err := c.restClient.Exec(ctx, req, createRoutingRuleResponse) + err := c.client.Exec(ctx, req, createRoutingRuleResponse) if err != nil { return nil, err } @@ -197,11 +191,11 @@ func (c *Client) CreateRoutingRule(ctx context.Context, req CreateRoutingRuleReq return createRoutingRuleResponse, nil } -func (c *Client) GetRoutingRule(ctx context.Context, req GetRoutingRuleRequest) (*GetRoutingRuleResult, error) { +func (c *Client) GetRoutingRule(ctx context.Context, req *GetRoutingRuleRequest) (*GetRoutingRuleResult, error) { getRoutingRuleResponse := &GetRoutingRuleResult{} - err := c.restClient.Exec(ctx, req, getRoutingRuleResponse) + err := c.client.Exec(ctx, req, getRoutingRuleResponse) if err != nil { return nil, err } @@ -209,11 +203,11 @@ func (c *Client) GetRoutingRule(ctx context.Context, req GetRoutingRuleRequest) return getRoutingRuleResponse, nil } -func (c *Client) UpdateRoutingRule(ctx context.Context, req UpdateRoutingRuleRequest) (*RoutingRuleResult, error) { +func (c *Client) UpdateRoutingRule(ctx context.Context, req *UpdateRoutingRuleRequest) (*RoutingRuleResult, error) { updateRoutingRuleResponse := &RoutingRuleResult{} - err := c.restClient.Exec(ctx, req, updateRoutingRuleResponse) + err := c.client.Exec(ctx, req, updateRoutingRuleResponse) if err != nil { return nil, err } @@ -221,11 +215,11 @@ func (c *Client) UpdateRoutingRule(ctx context.Context, req UpdateRoutingRuleReq return updateRoutingRuleResponse, nil } -func (c *Client) DeleteRoutingRule(ctx context.Context, req DeleteRoutingRuleRequest) (*DeleteRoutingRuleResult, error) { +func (c *Client) DeleteRoutingRule(ctx context.Context, req *DeleteRoutingRuleRequest) (*DeleteRoutingRuleResult, error) { deleteRoutingRuleResponse := &DeleteRoutingRuleResult{} - err := c.restClient.Exec(ctx, req, deleteRoutingRuleResponse) + err := c.client.Exec(ctx, req, deleteRoutingRuleResponse) if err != nil { return nil, err } @@ -233,11 +227,11 @@ func (c *Client) DeleteRoutingRule(ctx context.Context, req DeleteRoutingRuleReq return deleteRoutingRuleResponse, nil } -func (c *Client) ListRoutingRules(ctx context.Context, req ListRoutingRulesRequest) (*ListRoutingRulesResult, error) { +func (c *Client) ListRoutingRules(ctx context.Context, req *ListRoutingRulesRequest) (*ListRoutingRulesResult, error) { listRoutingRulesResponse := &ListRoutingRulesResult{} - err := c.restClient.Exec(ctx, req, listRoutingRulesResponse) + err := c.client.Exec(ctx, req, listRoutingRulesResponse) if err != nil { return nil, err } @@ -245,11 +239,11 @@ func (c *Client) ListRoutingRules(ctx context.Context, req ListRoutingRulesReque return listRoutingRulesResponse, nil } -func (c *Client) ChangeRoutingRuleOrder(ctx context.Context, req ChangeRoutingRuleOrderRequest) (*RoutingRuleResult, error) { +func (c *Client) ChangeRoutingRuleOrder(ctx context.Context, req *ChangeRoutingRuleOrderRequest) (*RoutingRuleResult, error) { changeRoutingRuleOrderResponse := &RoutingRuleResult{} - err := c.restClient.Exec(ctx, req, changeRoutingRuleOrderResponse) + err := c.client.Exec(ctx, req, changeRoutingRuleOrderResponse) if err != nil { return nil, err } diff --git a/user/user.go b/user/user.go index 3f3aff8..b02aab6 100644 --- a/user/user.go +++ b/user/user.go @@ -1,12 +1,12 @@ package user import ( - "github.com/opsgenie/opsgenie-go-sdk-v2/client" "context" + "github.com/opsgenie/opsgenie-go-sdk-v2/client" ) type Client struct { - ogClient client.OpsGenieClient + client *client.OpsGenieClient } func NewClient(config *client.Config) (*Client, error) { @@ -14,108 +14,108 @@ func NewClient(config *client.Config) (*Client, error) { if err != nil { return nil, err } - return &Client{*opsgenieClient}, nil + return &Client{opsgenieClient}, nil } -func (client *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { +func (c *Client) Create(context context.Context, request *CreateRequest) (*CreateResult, error) { result := &CreateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { +func (c *Client) Get(context context.Context, request *GetRequest) (*GetResult, error) { result := &GetResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { +func (c *Client) Update(context context.Context, request *UpdateRequest) (*UpdateResult, error) { result := &UpdateResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { +func (c *Client) Delete(context context.Context, request *DeleteRequest) (*DeleteResult, error) { result := &DeleteResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { +func (c *Client) List(context context.Context, request *ListRequest) (*ListResult, error) { result := &ListResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListUserEscalations(context context.Context, request *ListUserEscalationsRequest) (*ListUserEscalationsResult, error) { +func (c *Client) ListUserEscalations(context context.Context, request *ListUserEscalationsRequest) (*ListUserEscalationsResult, error) { result := &ListUserEscalationsResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListUserTeams(context context.Context, request *ListUserTeamsRequest) (*ListUserTeamsResult, error) { +func (c *Client) ListUserTeams(context context.Context, request *ListUserTeamsRequest) (*ListUserTeamsResult, error) { result := &ListUserTeamsResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListUserForwardingRules(context context.Context, request *ListUserForwardingRulesRequest) (*ListUserForwardingRulesResult, error) { +func (c *Client) ListUserForwardingRules(context context.Context, request *ListUserForwardingRulesRequest) (*ListUserForwardingRulesResult, error) { result := &ListUserForwardingRulesResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListUserSchedules(context context.Context, request *ListUserSchedulesRequest) (*ListUserSchedulesResult, error) { +func (c *Client) ListUserSchedules(context context.Context, request *ListUserSchedulesRequest) (*ListUserSchedulesResult, error) { result := &ListUserSchedulesResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) GetSavedSearch(context context.Context, request *GetSavedSearchRequest) (*GetSavedSearchResult, error) { +func (c *Client) GetSavedSearch(context context.Context, request *GetSavedSearchRequest) (*GetSavedSearchResult, error) { result := &GetSavedSearchResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) ListSavedSearches(context context.Context, request *ListSavedSearchesRequest) (*ListSavedSearchesResult, error) { +func (c *Client) ListSavedSearches(context context.Context, request *ListSavedSearchesRequest) (*ListSavedSearchesResult, error) { result := &ListSavedSearchesResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } return result, nil } -func (client *Client) DeleteSavedSearch(context context.Context, request *DeleteSavedSearchRequest) (*DeleteSavedSearchResult, error) { +func (c *Client) DeleteSavedSearch(context context.Context, request *DeleteSavedSearchRequest) (*DeleteSavedSearchResult, error) { result := &DeleteSavedSearchResult{} - err := client.ogClient.Exec(context, request, result) + err := c.client.Exec(context, request, result) if err != nil { return nil, err } diff --git a/user/user_result.go b/user/user_result.go index 45de959..3521cf1 100644 --- a/user/user_result.go +++ b/user/user_result.go @@ -2,8 +2,8 @@ package user import ( "github.com/opsgenie/opsgenie-go-sdk-v2/client" - "time" "github.com/opsgenie/opsgenie-go-sdk-v2/og" + "time" ) type User struct { diff --git a/user/user_test.go b/user/user_test.go index 8e55243..5ebf3ad 100644 --- a/user/user_test.go +++ b/user/user_test.go @@ -1,9 +1,9 @@ package user import ( + "github.com/pkg/errors" "github.com/stretchr/testify/assert" "testing" - "github.com/pkg/errors" ) func TestCreateUserRequest_Validate(t *testing.T) { @@ -31,8 +31,7 @@ func TestCreateUserRequest_Validate(t *testing.T) { userRequest = &CreateRequest{ Username: "Name@gmail.com", FullName: "Name Surname", - Role: &UserRoleRequest{ - }, + Role: &UserRoleRequest{}, } err = userRequest.Validate() assert.Equal(t, err.Error(), errors.New("User Role can not be empty").Error()) @@ -113,9 +112,7 @@ func TestDeleteUserRequest_Validate(t *testing.T) { } func TestListUserRequest_Validate(t *testing.T) { - userRequest := &ListRequest{ - - } + userRequest := &ListRequest{} reqParam := userRequest.RequestParams() assert.Equal(t, len(reqParam), 0)