@@ -11,38 +11,17 @@ import (
1111 "github.com/pkg/errors"
1212)
1313
14+ type RequestStatus string
15+
1416// default statuses
1517const (
16- RequestStatusPreparing RequestStatus = iota
17- RequestStatusSent
18- RequestStatusFailed
19- RequestStatusStalled // if request destination wasn't listening - incoming requests will be stalled
20- RequestStatusReceived
21- RequestStatusRejected
18+ RequestStatusReceived RequestStatus = "received"
19+ RequestStatusSent RequestStatus = "sent"
20+ RequestStatusFailed RequestStatus = "failed"
21+ RequestStatusStalled RequestStatus = "stalled"
22+ RequestStatusRejected RequestStatus = "rejected"
2223)
2324
24- // RequestStatus - available request statuses
25- type RequestStatus int
26-
27- func (s RequestStatus ) String () string {
28- switch s {
29- case RequestStatusPreparing :
30- return "preparing"
31- case RequestStatusSent :
32- return "sent"
33- case RequestStatusFailed :
34- return "failed"
35- case RequestStatusStalled :
36- return "stalled"
37- case RequestStatusReceived :
38- return "received"
39- case RequestStatusRejected :
40- return "rejected"
41- default :
42- return "unknown"
43- }
44- }
45-
4625// Log - received webhook event
4726type Log struct {
4827 ID string `json:"id"`
@@ -121,8 +100,8 @@ func (l *Log) UnmarshalJSON(data []byte) error {
121100type WebhookLogsListOptions struct {
122101 BucketID string
123102 Status RequestStatus
124- From time.Time
125- To time.Time
103+ From * time.Time
104+ To * time.Time
126105 Limit int
127106 Offset int
128107}
@@ -157,10 +136,29 @@ func getQuery(options *WebhookLogsListOptions) string {
157136
158137 q := u .Query ()
159138
160- q .Add ("bucket" , options .BucketID )
161- q .Add ("status" , options .Status .String ())
162- q .Add ("limit" , strconv .Itoa (options .Limit ))
163- q .Add ("offset" , strconv .Itoa (options .Offset ))
139+ if options .BucketID != "" {
140+ q .Add ("bucket" , options .BucketID )
141+ }
142+
143+ if options .Status != "" {
144+ q .Add ("status" , string (options .Status ))
145+ }
146+
147+ if options .From != nil {
148+ q .Add ("from" , options .From .Format (time .RFC3339 ))
149+ }
150+
151+ if options .To != nil {
152+ q .Add ("to" , options .To .Format (time .RFC3339 ))
153+ }
154+
155+ if options .Limit != 0 {
156+ q .Add ("limit" , strconv .Itoa (options .Limit ))
157+ }
158+
159+ if options .Offset != 0 {
160+ q .Add ("offset" , strconv .Itoa (options .Offset ))
161+ }
164162
165163 return q .Encode ()
166164}
0 commit comments