Files
catalyst/service/service.go
Jonas Plum 2bad1f5f28 Migrate to Go 1.18 (#45)
* Migrate to Go 1.18 and add linters
2022-03-20 03:17:18 +01:00

44 lines
971 B
Go

package service
import (
"context"
"log"
"github.com/arangodb/go-driver"
"github.com/SecurityBrewery/catalyst/bus"
"github.com/SecurityBrewery/catalyst/database"
"github.com/SecurityBrewery/catalyst/database/busdb"
"github.com/SecurityBrewery/catalyst/storage"
)
type Service struct {
bus *bus.Bus
database *database.Database
storage *storage.Storage
version string
}
func New(bus *bus.Bus, database *database.Database, storage *storage.Storage, version string) (*Service, error) {
return &Service{database: database, bus: bus, storage: storage, version: version}, nil
}
func (s *Service) publishRequest(ctx context.Context, err error, function string, ids []driver.DocumentID) {
if err != nil {
return
}
if ids != nil {
userID := "unknown"
user, ok := busdb.UserFromContext(ctx)
if ok {
userID = user.ID
}
go func() {
if err := s.bus.PublishRequest(userID, function, ids); err != nil {
log.Println(err)
}
}()
}
}