-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathschedules.go
More file actions
110 lines (99 loc) · 3.49 KB
/
Copy pathschedules.go
File metadata and controls
110 lines (99 loc) · 3.49 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
// Code generated by internal/cmd/gen; DO NOT EDIT.
package flashduty
import "context"
// SchedulesService handles the "On-call/Schedules" API resource.
type SchedulesService service
// Create schedule.
//
// Create a new on-call schedule (escalation rule schedule).
//
// API: POST /schedule/create (scheduleCreate).
func (s *SchedulesService) Create(ctx context.Context, req *ScheduleUpsertRequest) (*ScheduleIDResponse, *Response, error) {
out := new(ScheduleIDResponse)
resp, err := s.client.do(ctx, "/schedule/create", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// Delete schedules.
//
// Delete one or more on-call schedules by ID.
//
// API: POST /schedule/delete (scheduleDelete).
func (s *SchedulesService) Delete(ctx context.Context, req *ScheduleIDsBodyRequest) (*Response, error) {
return s.client.do(ctx, "/schedule/delete", req, nil)
}
// Get schedule info.
//
// Return details of an on-call schedule including the computed schedule layers for the requested time window (max 45 days).
//
// API: POST /schedule/info (scheduleInfo).
func (s *SchedulesService) Info(ctx context.Context, req *ScheduleInfoRequest) (*ScheduleItem, *Response, error) {
out := new(ScheduleItem)
resp, err := s.client.do(ctx, "/schedule/info", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// Batch get schedules.
//
// Return details of multiple on-call schedules by their IDs.
//
// API: POST /schedule/infos (scheduleInfos).
func (s *SchedulesService) Infos(ctx context.Context, req *ScheduleIDsRequest) (*ScheduleSelfResponse, *Response, error) {
out := new(ScheduleSelfResponse)
resp, err := s.client.do(ctx, "/schedule/infos", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// List schedules.
//
// Return a paginated list of on-call schedules. When both start and end are provided (max 45 days apart), computed layer schedules are included.
//
// API: POST /schedule/list (scheduleList).
func (s *SchedulesService) List(ctx context.Context, req *ScheduleListRequest) (*ScheduleListResponse, *Response, error) {
out := new(ScheduleListResponse)
resp, err := s.client.do(ctx, "/schedule/list", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// Preview schedule.
//
// Preview the coverage generated by a schedule configuration without persisting it. The request accepts the same body as create/update plus a required start/end window (max 45 days).
//
// API: POST /schedule/preview (schedulePreview).
func (s *SchedulesService) Preview(ctx context.Context, req *ScheduleUpsertRequest) (*ScheduleItem, *Response, error) {
out := new(ScheduleItem)
resp, err := s.client.do(ctx, "/schedule/preview", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// List my schedules.
//
// Return on-call schedules where the current user is assigned.
//
// API: POST /schedule/self (scheduleSelf).
func (s *SchedulesService) Self(ctx context.Context, req *ScheduleSelfRequest) (*ScheduleSelfResponse, *Response, error) {
out := new(ScheduleSelfResponse)
resp, err := s.client.do(ctx, "/schedule/self", req, out)
if err != nil {
return nil, resp, err
}
return out, resp, nil
}
// Update schedule.
//
// Update an existing on-call schedule. Provide schedule_id to identify the schedule.
//
// API: POST /schedule/update (scheduleUpdate).
func (s *SchedulesService) Update(ctx context.Context, req *ScheduleUpsertRequest) (*Response, error) {
return s.client.do(ctx, "/schedule/update", req, nil)
}