-
Notifications
You must be signed in to change notification settings - Fork 0
/
sci_schedule.go
195 lines (178 loc) · 5.91 KB
/
sci_schedule.go
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
package bigdog
// API Version: 1.0.0
import (
"context"
"errors"
"io"
"net/http"
"net/url"
"time"
)
type SCIScheduleService struct {
apiClient *SCIClient
}
func NewSCIScheduleService(c *SCIClient) *SCIScheduleService {
s := new(SCIScheduleService)
s.apiClient = c
return s
}
func (ss *SCIService) SCIScheduleService() *SCIScheduleService {
return NewSCIScheduleService(ss.apiClient)
}
// SCIScheduleBatchDelete200ResponseType
//
// Definition: schedule_batchDelete200ResponseType
type SCIScheduleBatchDelete200ResponseType struct {
Count *float64 `json:"count,omitempty"`
}
type SCIScheduleBatchDelete200ResponseTypeAPIResponse struct {
*RawAPIResponse
Data *SCIScheduleBatchDelete200ResponseType
}
func newSCIScheduleBatchDelete200ResponseTypeAPIResponse(src APISource, meta APIResponseMeta, body io.ReadCloser) APIResponse {
r := new(SCIScheduleBatchDelete200ResponseTypeAPIResponse)
r.RawAPIResponse = newRawAPIResponse(src, meta, body).(*RawAPIResponse)
return r
}
func (r *SCIScheduleBatchDelete200ResponseTypeAPIResponse) Hydrate() (interface{}, error) {
r.mu.Lock()
defer r.mu.Unlock()
if r.err != nil {
if errors.Is(r.err, ErrResponseHydrated) {
return r.Data, nil
}
return nil, r.err
}
data := new(SCIScheduleBatchDelete200ResponseType)
if err := r.doHydrate(data); err != nil {
return nil, err
}
r.Data = data
return r.Data, nil
}
func NewSCIScheduleBatchDelete200ResponseType() *SCIScheduleBatchDelete200ResponseType {
m := new(SCIScheduleBatchDelete200ResponseType)
return m
}
// ScheduleBatchDelete
//
// Delete schedules with their related filters and occurrences in a single transaction.
//
// Operation ID: schedule_batchDelete
// Operation path: /schedules/batchDelete
// Success code: 200 (OK)
//
// Form data parameters:
// - ids string
// - required
func (s *SCIScheduleService) ScheduleBatchDelete(ctx context.Context, formValues url.Values, mutators ...RequestMutator) (*SCIScheduleBatchDelete200ResponseTypeAPIResponse, error) {
var (
req *APIRequest
httpResp *http.Response
execDur time.Duration
resp APIResponse
err error
respFn = newSCIScheduleBatchDelete200ResponseTypeAPIResponse
)
req = apiRequestFromPool(APISourceSCI, http.MethodPost, RouteSCIScheduleBatchDelete, true)
defer recycleAPIRequest(req)
req.Header.Set(headerKeyContentType, headerValueApplicationJSON)
req.Header.Set(headerKeyAccept, "*/*")
req.SetBody(formValues)
httpResp, execDur, err = s.apiClient.Do(ctx, req, mutators...)
resp, err = handleAPIResponse(req, http.StatusOK, httpResp, execDur, respFn, s.apiClient.autoHydrate, s.apiClient.ev, err)
return resp.(*SCIScheduleBatchDelete200ResponseTypeAPIResponse), err
}
// ScheduleCreateWithRelations
//
// Create schedule with filter and occurrence in a single transaction.
//
// Operation ID: schedule_createWithRelations
// Operation path: /schedules/createWithRelations
// Success code: 200 (OK)
//
// Form data parameters:
// - filterData string
// - required
// - reportId string
// - required
// - scheduleData string
// - required
func (s *SCIScheduleService) ScheduleCreateWithRelations(ctx context.Context, formValues url.Values, mutators ...RequestMutator) (*SCIModelsScheduleAPIResponse, error) {
var (
req *APIRequest
httpResp *http.Response
execDur time.Duration
resp APIResponse
err error
respFn = newSCIModelsScheduleAPIResponse
)
req = apiRequestFromPool(APISourceSCI, http.MethodPost, RouteSCIScheduleCreateWithRelations, true)
defer recycleAPIRequest(req)
req.Header.Set(headerKeyContentType, headerValueApplicationJSON)
req.Header.Set(headerKeyAccept, "*/*")
req.SetBody(formValues)
httpResp, execDur, err = s.apiClient.Do(ctx, req, mutators...)
resp, err = handleAPIResponse(req, http.StatusOK, httpResp, execDur, respFn, s.apiClient.autoHydrate, s.apiClient.ev, err)
return resp.(*SCIModelsScheduleAPIResponse), err
}
// ScheduleExecuteJob
//
// Run schedule job
//
// Operation ID: schedule_executeJob
// Operation path: /schedules/executeJob
// Success code: 200 (OK)
func (s *SCIScheduleService) ScheduleExecuteJob(ctx context.Context, mutators ...RequestMutator) (*RawAPIResponse, error) {
var (
req *APIRequest
httpResp *http.Response
execDur time.Duration
resp APIResponse
err error
respFn = newRawAPIResponse
)
req = apiRequestFromPool(APISourceSCI, http.MethodPost, RouteSCIScheduleExecuteJob, true)
defer recycleAPIRequest(req)
req.Header.Set(headerKeyContentType, "*/*")
req.Header.Set(headerKeyAccept, "*/*")
httpResp, execDur, err = s.apiClient.Do(ctx, req, mutators...)
resp, err = handleAPIResponse(req, http.StatusOK, httpResp, execDur, respFn, s.apiClient.autoHydrate, s.apiClient.ev, err)
return resp.(*RawAPIResponse), err
}
// ScheduleUpdateWithRelations
//
// Update schedule with filter and occurrence in a single transaction.
//
// Operation ID: schedule_updateWithRelations
// Operation path: /schedules/{id}/updateWithRelations
// Success code: 200 (OK)
//
// Form data parameters:
// - filterData string
// - required
// - scheduleData string
// - required
//
// Required parameters:
// - id string
// - required
func (s *SCIScheduleService) ScheduleUpdateWithRelations(ctx context.Context, formValues url.Values, id string, mutators ...RequestMutator) (*SCIModelsScheduleAPIResponse, error) {
var (
req *APIRequest
httpResp *http.Response
execDur time.Duration
resp APIResponse
err error
respFn = newSCIModelsScheduleAPIResponse
)
req = apiRequestFromPool(APISourceSCI, http.MethodPut, RouteSCIScheduleUpdateWithRelations, true)
defer recycleAPIRequest(req)
req.Header.Set(headerKeyContentType, headerValueApplicationJSON)
req.Header.Set(headerKeyAccept, "*/*")
req.SetBody(formValues)
req.PathParams.Set("id", id)
httpResp, execDur, err = s.apiClient.Do(ctx, req, mutators...)
resp, err = handleAPIResponse(req, http.StatusOK, httpResp, execDur, respFn, s.apiClient.autoHydrate, s.apiClient.ev, err)
return resp.(*SCIModelsScheduleAPIResponse), err
}