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) }