(key string)
| 19 | } |
| 20 | |
| 21 | func GetTaskPluginUsage(key string) ([]TaskPluginChannelRef, int64, error) { |
| 22 | var channels []Channel |
| 23 | if err := DB.Where("type = ? AND status = ?", constant.ChannelTypeTaskPlugin, common.ChannelStatusEnabled).Find(&channels).Error; err != nil { |
| 24 | return nil, 0, err |
| 25 | } |
| 26 | refs := make([]TaskPluginChannelRef, 0) |
| 27 | for _, channel := range channels { |
| 28 | if channel.GetSetting().TaskPluginKey == key { |
| 29 | refs = append(refs, TaskPluginChannelRef{Id: channel.Id, Name: channel.Name}) |
| 30 | } |
| 31 | } |
| 32 | var inFlight int64 |
| 33 | err := DB.Model(&Task{}).Where("platform = ? AND status NOT IN ?", key, []TaskStatus{TaskStatusSuccess, TaskStatusFailure}).Count(&inFlight).Error |
| 34 | return refs, inFlight, err |
| 35 | } |
| 36 | |
| 37 | type TaskPlugin struct { |
| 38 | Id int64 `json:"id"` |
no test coverage detected