feat: api for fetch job state

This commit is contained in:
Jason Song
2022-11-25 17:48:45 +08:00
parent b7aaa3ba77
commit 027d748fe2
4 changed files with 135 additions and 2 deletions
+8
View File
@@ -80,3 +80,11 @@ func GetRunJobByID(ctx context.Context, id int64) (*RunJob, error) {
return &job, nil
}
func GetRunJobsByRunID(ctx context.Context, runID int64) ([]*RunJob, error) {
var jobs []*RunJob
if err := db.GetEngine(ctx).Where("run_id=?", runID).Find(&jobs); err != nil {
return nil, err
}
return jobs, nil
}
+23
View File
@@ -69,6 +69,29 @@ func (task *Task) LoadAttributes(ctx context.Context) error {
return nil
}
// ErrTaskNotExist represents an error for bot task not exist
type ErrTaskNotExist struct {
ID int64
}
func (err ErrTaskNotExist) Error() string {
return fmt.Sprintf("task [%d] is not exist", err.ID)
}
func GetTaskByID(ctx context.Context, id int64) (*Task, error) {
var task Task
has, err := db.GetEngine(ctx).Where("id=?", id).Get(&task)
if err != nil {
return nil, err
} else if !has {
return nil, ErrTaskNotExist{
ID: id,
}
}
return &task, nil
}
func CreateTaskForRunner(runner *Runner) (*Task, bool, error) {
ctx, commiter, err := db.TxContext()
if err != nil {