(e Engine, issueID int64)
| 191 | } |
| 192 | |
| 193 | func getLabelsByIssueID(e Engine, issueID int64) ([]*Label, error) { |
| 194 | issueLabels, err := getIssueLabels(e, issueID) |
| 195 | if err != nil { |
| 196 | return nil, errors.Newf("getIssueLabels: %v", err) |
| 197 | } else if len(issueLabels) == 0 { |
| 198 | return []*Label{}, nil |
| 199 | } |
| 200 | |
| 201 | labelIDs := make([]int64, len(issueLabels)) |
| 202 | for i := range issueLabels { |
| 203 | labelIDs[i] = issueLabels[i].LabelID |
| 204 | } |
| 205 | |
| 206 | labels := make([]*Label, 0, len(labelIDs)) |
| 207 | return labels, e.Where("id > 0").In("id", tool.Int64sToStrings(labelIDs)).Asc("name").Find(&labels) |
| 208 | } |
| 209 | |
| 210 | // GetLabelsByIssueID returns all labels that belong to given issue by ID. |
| 211 | func GetLabelsByIssueID(issueID int64) ([]*Label, error) { |
no test coverage detected