repo.go

 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// 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	CreateRepo(ctx context.Context, h db.Handler, name string, projectName string, description string, isPrivate bool, isHidden bool, isMirror bool) error
15	DeleteRepoByName(ctx context.Context, h db.Handler, name string) error
16	SetRepoNameByName(ctx context.Context, h db.Handler, name string, newName string) error
17
18	GetRepoProjectNameByName(ctx context.Context, h db.Handler, name string) (string, error)
19	SetRepoProjectNameByName(ctx context.Context, h db.Handler, name string, projectName string) error
20	GetRepoDescriptionByName(ctx context.Context, h db.Handler, name string) (string, error)
21	SetRepoDescriptionByName(ctx context.Context, h db.Handler, name string, description string) error
22	GetRepoIsPrivateByName(ctx context.Context, h db.Handler, name string) (bool, error)
23	SetRepoIsPrivateByName(ctx context.Context, h db.Handler, name string, isPrivate bool) error
24	GetRepoIsHiddenByName(ctx context.Context, h db.Handler, name string) (bool, error)
25	SetRepoIsHiddenByName(ctx context.Context, h db.Handler, name string, isHidden bool) error
26	GetRepoIsMirrorByName(ctx context.Context, h db.Handler, name string) (bool, error)
27}