Skip to content

Commit 6149804

Browse files
committed
Add severities stream
As others, already had model, just a case of streaming to its own table.
1 parent 327ab86 commit 6149804

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

tap/stream_severities.go

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package tap
2+
3+
import (
4+
"context"
5+
6+
kitlog "github.com/go-kit/log"
7+
"github.com/incident-io/singer-tap/client"
8+
"github.com/incident-io/singer-tap/model"
9+
"github.com/pkg/errors"
10+
)
11+
12+
func init() {
13+
register(&StreamSeverities{})
14+
}
15+
16+
type StreamSeverities struct {
17+
}
18+
19+
func (s *StreamSeverities) Output() *Output {
20+
return &Output{
21+
Type: OutputTypeSchema,
22+
Stream: "severities",
23+
Schema: &model.Schema{
24+
HasAdditionalProperties: false,
25+
Type: []string{"object"},
26+
Properties: model.SeverityV2.Schema().Properties,
27+
},
28+
KeyProperties: []string{"id"},
29+
BookmarkProperties: []string{},
30+
}
31+
}
32+
33+
func (s *StreamSeverities) GetRecords(ctx context.Context, logger kitlog.Logger, cl *client.ClientWithResponses) ([]map[string]any, error) {
34+
var (
35+
results = []map[string]any{}
36+
)
37+
38+
response, err := cl.SeveritiesV1ListWithResponse(ctx)
39+
if err != nil {
40+
return nil, errors.Wrap(err, "listing severities")
41+
}
42+
43+
for _, element := range response.JSON200.Severities {
44+
results = append(results, model.SeverityV2.Serialize(&element))
45+
}
46+
47+
return results, nil
48+
}

0 commit comments

Comments
 (0)