api/pkg/audit/api.go

32 lines
542 B
Go
Raw Normal View History

2020-12-30 16:03:01 +00:00
//go:generate mockgen -source=$GOFILE -destination=./../../internal/mock/audit/audit.mock.go -package=audit_mock
package audit
import (
"errors"
"io"
)
var (
ErrSinkAlreadyRegistered = errors.New("sink with same name already registered")
)
type Emitter interface {
Emit(ev Event)
}
type CloseHandle func()
2020-12-30 16:03:01 +00:00
type Sink interface {
Name() string
OnSubscribe(evs <-chan Event, close CloseHandle)
2020-12-30 16:03:01 +00:00
}
type EventStream interface {
io.Closer
Emitter
RegisterSink(s Sink) error
Sinks() []string
2021-01-16 17:26:15 +00:00
RemoveSink(name string) (exists bool)
2020-12-30 16:03:01 +00:00
}