feat: api for fetch job state

This commit is contained in:
Jason Song
2022-10-13 17:38:47 +08:00
parent b7aaa3ba77
commit 027d748fe2
4 changed files with 135 additions and 2 deletions

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 {