1package store23import (4 "context"56 "github.com/charmbracelet/soft-serve/pkg/db"7 "github.com/charmbracelet/soft-serve/pkg/db/models"8)910// RepositoryStore is an interface for managing repositories.11type RepositoryStore interface {12 GetRepoByName(ctx context.Context, h db.Handler, name string) (models.Repo, error)13 GetAllRepos(ctx context.Context, h db.Handler) ([]models.Repo, error)14 GetUserRepos(ctx context.Context, h db.Handler, userID int64) ([]models.Repo, error)15 CreateRepo(ctx context.Context, h db.Handler, name string, userID int64, projectName string, description string, isPrivate bool, isHidden bool, isMirror bool) error16 DeleteRepoByName(ctx context.Context, h db.Handler, name string) error17 SetRepoNameByName(ctx context.Context, h db.Handler, name string, newName string) error1819 GetRepoProjectNameByName(ctx context.Context, h db.Handler, name string) (string, error)20 SetRepoProjectNameByName(ctx context.Context, h db.Handler, name string, projectName string) error21 GetRepoDescriptionByName(ctx context.Context, h db.Handler, name string) (string, error)22 SetRepoDescriptionByName(ctx context.Context, h db.Handler, name string, description string) error23 GetRepoIsPrivateByName(ctx context.Context, h db.Handler, name string) (bool, error)24 SetRepoIsPrivateByName(ctx context.Context, h db.Handler, name string, isPrivate bool) error25 GetRepoIsHiddenByName(ctx context.Context, h db.Handler, name string) (bool, error)26 SetRepoIsHiddenByName(ctx context.Context, h db.Handler, name string, isHidden bool) error27 GetRepoIsMirrorByName(ctx context.Context, h db.Handler, name string) (bool, error)28}