stash/internal/api/resolver_query_job.go

52 lines
984 B
Go
Raw Normal View History

2021-05-24 04:24:18 +00:00
package api
import (
"context"
"strconv"
"github.com/stashapp/stash/internal/manager"
2021-05-24 04:24:18 +00:00
"github.com/stashapp/stash/pkg/job"
)
func (r *queryResolver) JobQueue(ctx context.Context) ([]*Job, error) {
2021-05-24 04:24:18 +00:00
queue := manager.GetInstance().JobManager.GetQueue()
var ret []*Job
2021-05-24 04:24:18 +00:00
for _, j := range queue {
ret = append(ret, jobToJobModel(j))
}
return ret, nil
}
func (r *queryResolver) FindJob(ctx context.Context, input FindJobInput) (*Job, error) {
2021-05-24 04:24:18 +00:00
jobID, err := strconv.Atoi(input.ID)
if err != nil {
return nil, err
}
j := manager.GetInstance().JobManager.GetJob(jobID)
if j == nil {
return nil, nil
}
return jobToJobModel(*j), nil
}
func jobToJobModel(j job.Job) *Job {
ret := &Job{
2021-05-24 04:24:18 +00:00
ID: strconv.Itoa(j.ID),
Status: JobStatus(j.Status),
2021-05-24 04:24:18 +00:00
Description: j.Description,
SubTasks: j.Details,
StartTime: j.StartTime,
EndTime: j.EndTime,
AddTime: j.AddTime,
}
if j.Progress != -1 {
ret.Progress = &j.Progress
}
return ret
}