repo updater store: Simplify interface
Created by: ryanslade
The repo updater specific store should no longer be an interface but a concrete type, specifically:
// Concrete type with baked-in observability
type Store struct{}
ListExternalRepoSpecs(context.Context) (map[api.ExternalRepoSpec]struct{}, error)
UpsertRepos(ctx context.Context, repos ...*types.Repo) error
UpsertSources(ctx context.Context, inserts, updates, deletes map[api.RepoID][]SourceInfo) error
SetClonedRepos(ctx context.Context, repoNames ...string) error
CountNotClonedRepos(ctx context.Context) (uint64, error)
CountUserAddedRepos(ctx context.Context) (uint64, error)
EnqueueSyncJobs(ctx context.Context, ignoreSiteAdmin bool) error
The store must be moved to cmd/repo-updater/internal/store.go
Extracted from: https://github.com/sourcegraph/sourcegraph/issues/14092