package task import ( log "github.com/sirupsen/logrus" "google.golang.org/protobuf/types/known/emptypb" "merch-api/internal/common" tt "merch-api/pkg/taskTransport/v1" ) type service struct { tt.UnimplementedTaskProcessorServer merchProvider common.MerchProvider } func newService(mp common.MerchProvider) *service { return &service{ merchProvider: mp, } } func (s *service) RequestTasks(_ *emptypb.Empty, stream tt.TaskProcessor_RequestTasksServer) error { tasks, err := s.merchProvider.GetTasks(stream.Context()) if err != nil { log.WithError(err).Errorf("%v Failed to get tasks", pkgLogHeader) return err } for _, task := range tasks { if err = stream.Send(&tt.Task{ MerchUuid: task.MerchUuid, Origins: task.Origins, }); err != nil { log.WithError(err).Errorf("%v Failed to send tasks", pkgLogHeader) return err } } return nil } func (s *service) SendResults(stream tt.TaskProcessor_SendResultsServer) error { //TODO return nil }