1package store
 2
 3import (
 4	"context"
 5
 6	"github.com/charmbracelet/soft-serve/server/db"
 7	"github.com/charmbracelet/soft-serve/server/db/models"
 8)
 9
10// CollaboratorStore is an interface for managing collaborators.
11type CollaboratorStore interface {
12	GetCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string) (models.Collab, error)
13	AddCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string) error
14	RemoveCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string) error
15	ListCollabsByRepo(ctx context.Context, h db.Handler, repo string) ([]models.Collab, error)
16	ListCollabsByRepoAsUsers(ctx context.Context, h db.Handler, repo string) ([]models.User, error)
17}