2019-05-07 04:12:51 +03:00
// Copyright 2019 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
package migrations
import (
2019-12-17 07:16:54 +03:00
"context"
2020-08-28 04:36:37 +03:00
"io"
2019-12-17 07:16:54 +03:00
2019-05-07 04:12:51 +03:00
"code.gitea.io/gitea/modules/migrations/base"
)
var (
_ base . Downloader = & PlainGitDownloader { }
)
// PlainGitDownloader implements a Downloader interface to clone git from a http/https URL
type PlainGitDownloader struct {
ownerName string
repoName string
remoteURL string
}
// NewPlainGitDownloader creates a git Downloader
func NewPlainGitDownloader ( ownerName , repoName , remoteURL string ) * PlainGitDownloader {
return & PlainGitDownloader {
ownerName : ownerName ,
repoName : repoName ,
remoteURL : remoteURL ,
}
}
2019-12-17 07:16:54 +03:00
// SetContext set context
func ( g * PlainGitDownloader ) SetContext ( ctx context . Context ) {
}
2019-05-07 04:12:51 +03:00
// GetRepoInfo returns a repository information
func ( g * PlainGitDownloader ) GetRepoInfo ( ) ( * base . Repository , error ) {
// convert github repo to stand Repo
return & base . Repository {
Owner : g . ownerName ,
Name : g . repoName ,
CloneURL : g . remoteURL ,
} , nil
}
2019-08-14 09:16:12 +03:00
// GetTopics returns empty list for plain git repo
func ( g * PlainGitDownloader ) GetTopics ( ) ( [ ] string , error ) {
return [ ] string { } , nil
}
2019-05-07 04:12:51 +03:00
// GetMilestones returns milestones
func ( g * PlainGitDownloader ) GetMilestones ( ) ( [ ] * base . Milestone , error ) {
return nil , ErrNotSupported
}
// GetLabels returns labels
func ( g * PlainGitDownloader ) GetLabels ( ) ( [ ] * base . Label , error ) {
return nil , ErrNotSupported
}
// GetReleases returns releases
func ( g * PlainGitDownloader ) GetReleases ( ) ( [ ] * base . Release , error ) {
return nil , ErrNotSupported
}
2020-08-28 04:36:37 +03:00
// GetAsset returns an asset
func ( g * PlainGitDownloader ) GetAsset ( _ string , _ int64 ) ( io . ReadCloser , error ) {
return nil , ErrNotSupported
}
2019-05-30 23:26:57 +03:00
// GetIssues returns issues according page and perPage
func ( g * PlainGitDownloader ) GetIssues ( page , perPage int ) ( [ ] * base . Issue , bool , error ) {
return nil , false , ErrNotSupported
2019-05-07 04:12:51 +03:00
}
// GetComments returns comments according issueNumber
func ( g * PlainGitDownloader ) GetComments ( issueNumber int64 ) ( [ ] * base . Comment , error ) {
return nil , ErrNotSupported
}
2019-05-30 23:26:57 +03:00
// GetPullRequests returns pull requests according page and perPage
2019-05-07 04:12:51 +03:00
func ( g * PlainGitDownloader ) GetPullRequests ( start , limit int ) ( [ ] * base . PullRequest , error ) {
return nil , ErrNotSupported
}
2020-01-23 20:28:15 +03:00
// GetReviews returns reviews according issue number
func ( g * PlainGitDownloader ) GetReviews ( issueNumber int64 ) ( [ ] * base . Review , error ) {
return nil , ErrNotSupported
}