git-project-manager/internal/remotes/remote/remote.go

25 lines
547 B
Go

package remote
import (
"context"
"gitlab.sweetwater.com/it/devops/tools/gitlab-project-manager/internal/remotes/load"
)
type RemoteInfo struct {
Ctx context.Context
Host string
Name string
Token string
}
// Any remote needs to be able to return
// the number of projects the user has access to and also
// stream all projects along with updates to channels
// provided by *load.ProgressInfo
type Remote interface {
GetInfo() *RemoteInfo
GetNumProjects(*RemoteQueryOpts) int
StreamProjects(*load.ProgressInfo, *RemoteQueryOpts)
}