frostfs-node/pkg/services/object/search/v2/service.go

33 lines
949 B
Go

package searchsvc
import (
objectV2 "git.frostfs.info/TrueCloudLab/frostfs-api-go/v2/object"
objectSvc "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object"
searchsvc "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/search"
objutil "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/services/object/util"
)
// Service implements Search operation of Object service v2.
type Service struct {
svc *searchsvc.Service
keyStorage *objutil.KeyStorage
}
// NewService constructs Service instance from provided options.
func NewService(s *searchsvc.Service, ks *objutil.KeyStorage) *Service {
return &Service{
svc: s,
keyStorage: ks,
}
}
// Search calls internal service and returns v2 object stream.
func (s *Service) Search(req *objectV2.SearchRequest, stream objectSvc.SearchStream) error {
p, err := s.toPrm(req, stream)
if err != nil {
return err
}
return s.svc.Search(stream.Context(), *p)
}