autogits/workflow-pr/reviewers.go
2025-02-05 14:43:38 +01:00

36 lines
617 B
Go

package main
import (
"slices"
"src.opensuse.org/autogits/common"
)
type Reviewers struct {
Prj []string
Pkg []string
}
func ParseReviewers(input []string) *Reviewers {
r := &Reviewers{}
for _, reviewer := range input {
switch reviewer[0] {
case '*':
r.Prj = append(r.Prj, reviewer[1:])
r.Pkg = append(r.Pkg, reviewer[1:])
case '-':
r.Prj = append(r.Prj, reviewer[1:])
case '+':
r.Pkg = append(r.Pkg, reviewer[1:])
default:
r.Pkg = append(r.Pkg, reviewer)
}
}
if !slices.Contains(r.Prj, common.Bot_BuildReview) {
r.Prj = append(r.Prj, common.Bot_BuildReview)
}
return r
}