summaryrefslogtreecommitdiffstats
path: root/modules/migrations/base/downloader.go
diff options
context:
space:
mode:
Diffstat (limited to 'modules/migrations/base/downloader.go')
-rw-r--r--modules/migrations/base/downloader.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/modules/migrations/base/downloader.go b/modules/migrations/base/downloader.go
new file mode 100644
index 0000000000..9a09fdac0a
--- /dev/null
+++ b/modules/migrations/base/downloader.go
@@ -0,0 +1,23 @@
+// Copyright 2019 The Gitea Authors. All rights reserved.
+// Copyright 2018 Jonas Franz. All rights reserved.
+// Use of this source code is governed by a MIT-style
+// license that can be found in the LICENSE file.
+
+package base
+
+// Downloader downloads the site repo informations
+type Downloader interface {
+ GetRepoInfo() (*Repository, error)
+ GetMilestones() ([]*Milestone, error)
+ GetReleases() ([]*Release, error)
+ GetLabels() ([]*Label, error)
+ GetIssues(start, limit int) ([]*Issue, error)
+ GetComments(issueNumber int64) ([]*Comment, error)
+ GetPullRequests(start, limit int) ([]*PullRequest, error)
+}
+
+// DownloaderFactory defines an interface to match a downloader implementation and create a downloader
+type DownloaderFactory interface {
+ Match(opts MigrateOptions) (bool, error)
+ New(opts MigrateOptions) (Downloader, error)
+}