GitRoot

Craft your forge, Build your project, Grow your community freely
 1// SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
 2//
 3// SPDX-License-Identifier: EUPL-1.2
 4
 5package user
 6
 7import (
 8	"github.com/go-git/go-git/v6/plumbing"
 9	"github.com/samber/oops"
10)
11
12type myRepo interface {
13	Name() string
14	ContentUserAtRef(name plumbing.ReferenceName) ([]byte, error)
15}
16
17func LoadGroup(repo myRepo, ref plumbing.ReferenceName) ([]Group, error) {
18	usersContent, err := repo.ContentUserAtRef(ref)
19	if err != nil {
20		return nil, oops.With("repo", repo.Name()).Wrapf(err, "can't get ContentUserAtRef")
21	}
22	return ParseGroups(usersContent)
23}