@@ -16,11 +16,13 @@ import (
1616 "golang.org/x/sync/errgroup"
1717)
1818
19+ type Group []string
20+
1921type Batch struct {
20- Groups map [string ][] string `json:"groups"`
21- Admins [] string `json:"admins"`
22- Files map [string ][] string `json:"files"`
23- OutDir string `json:"outDir"`
22+ Groups map [string ]Group `json:"groups"`
23+ Admins Group `json:"admins"`
24+ Files map [string ]Group `json:"files"`
25+ OutDir string `json:"outDir"`
2426
2527 root string
2628}
@@ -108,18 +110,16 @@ func (b *Batch) ExpandFiles() (map[string][]string, error) { //nolint: gocognit
108110 expanded := []string {}
109111 members = append (members , b .Admins ... )
110112 for _ , member := range members {
111- if ! strings .HasPrefix (member , "@" ) {
112- member = filepath .Join (b .root , member )
113- }
114-
115- if strings .HasPrefix (member , "$" ) {
113+ switch {
114+ case strings .HasPrefix (member , "$" ):
116115 if _ , ok := groups [member ]; ! ok {
117116 return nil , fmt .Errorf ("%w: %s" , ErrGroupNotDefined , member )
118117 }
119-
120118 expanded = append (expanded , groups [member ]... )
121- } else {
119+ case strings . HasPrefix ( member , "@" ):
122120 expanded = append (expanded , member )
121+ default :
122+ expanded = append (expanded , filepath .Join (b .root , member ))
123123 }
124124 }
125125
0 commit comments