Files
query-orchestration/internal/job/get.go
T

54 lines
940 B
Go
Raw Normal View History

package job
import (
"context"
"queryorchestration/internal/database"
"github.com/google/uuid"
)
func (s *Service) Get(ctx context.Context, id uuid.UUID) (*Job, error) {
job, err := s.cfg.GetDBQueries().GetJob(ctx, database.MustToDBUUID(id))
if err != nil {
return nil, err
}
client, err := s.svc.Client.Get(ctx, database.MustToUUID(job.Clientid))
if err != nil {
return nil, err
}
canSync := job.Cansync
if !client.CanSync {
canSync = false
}
return &Job{
ID: id,
ClientID: database.MustToUUID(job.Clientid),
CanSync: canSync,
}, nil
}
type JobWithStatus struct {
Job *Job
Status Status
}
func (s *Service) GetWithStatus(ctx context.Context, id uuid.UUID) (*JobWithStatus, error) {
job, err := s.Get(ctx, id)
if err != nil {
return nil, err
}
status, err := s.GetStatus(ctx, id)
if err != nil {
return nil, err
}
return &JobWithStatus{
Job: job,
Status: *status,
}, nil
}