Files
query-orchestration/internal/job/get.go
T
Michael McGuinness 3d434eedb8 Merged in feature/jobsynced (pull request #72)
Job Status Get and DB tidy up

* initalquery

* tests

* shorttests

* testing queries

* job

* solvedthequery

* updatingdb

* fixingtests

* repotests

* shorttests

* docker

* testspassed
2025-02-20 19:02:44 +00:00

54 lines
940 B
Go

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
}