code.gitea.io/gitea@v1.21.7/models/actions/task_step.go (about) 1 // Copyright 2022 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package actions 5 6 import ( 7 "context" 8 "time" 9 10 "code.gitea.io/gitea/models/db" 11 "code.gitea.io/gitea/modules/timeutil" 12 ) 13 14 // ActionTaskStep represents a step of ActionTask 15 type ActionTaskStep struct { 16 ID int64 17 Name string `xorm:"VARCHAR(255)"` 18 TaskID int64 `xorm:"index unique(task_index)"` 19 Index int64 `xorm:"index unique(task_index)"` 20 RepoID int64 `xorm:"index"` 21 Status Status `xorm:"index"` 22 LogIndex int64 23 LogLength int64 24 Started timeutil.TimeStamp 25 Stopped timeutil.TimeStamp 26 Created timeutil.TimeStamp `xorm:"created"` 27 Updated timeutil.TimeStamp `xorm:"updated"` 28 } 29 30 func (step *ActionTaskStep) Duration() time.Duration { 31 return calculateDuration(step.Started, step.Stopped, step.Status) 32 } 33 34 func init() { 35 db.RegisterModel(new(ActionTaskStep)) 36 } 37 38 func GetTaskStepsByTaskID(ctx context.Context, taskID int64) ([]*ActionTaskStep, error) { 39 var steps []*ActionTaskStep 40 return steps, db.GetEngine(ctx).Where("task_id=?", taskID).OrderBy("`index` ASC").Find(&steps) 41 }