1package store23import (4 "context"56 "github.com/charmbracelet/soft-serve/pkg/access"7 "github.com/charmbracelet/soft-serve/pkg/db"8 "github.com/charmbracelet/soft-serve/pkg/db/models"9)1011// CollaboratorStore is an interface for managing collaborators.12type CollaboratorStore interface {13 GetCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string) (models.Collab, error)14 AddCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string, level access.AccessLevel) error15 RemoveCollabByUsernameAndRepo(ctx context.Context, h db.Handler, username string, repo string) error16 ListCollabsByRepo(ctx context.Context, h db.Handler, repo string) ([]models.Collab, error)17 ListCollabsByRepoAsUsers(ctx context.Context, h db.Handler, repo string) ([]models.User, error)18}