summaryrefslogtreecommitdiffstats
path: root/modules/structs/repo.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-09-11 00:29:19 +0200
committerGitHub <noreply@github.com>2020-09-10 23:29:19 +0100
commitfd60ebfe14927657ff5cfa4e75f975eaadae65f1 (patch)
tree38c3d70146920a13c228fed91bc1a55c9be72436 /modules/structs/repo.go
parentdaefdd1385d12bf0c8321f291dbb6ab242b41c99 (diff)
downloadgitea-fd60ebfe14927657ff5cfa4e75f975eaadae65f1.tar.gz
gitea-fd60ebfe14927657ff5cfa4e75f975eaadae65f1.zip
[API] Migration: Change ServiceType String (#12672)
* use different structs for MigrateRepoOptions on UI and API * Fix TokenAuth and rename UID to an understandable Name * fix swagger doc * simplify & mk redable * R E F A C T O R: migration has now internal 3 structs to store its options: * the Options for WebUI: modules/auth/repo_form.go * the Options for API: modules/structs/repo.go * the option struct with after validation for internal prossessing: modules/migrations/base/options.go * Copyright Header * Deprecate UID - add RepoOwner * adopt repo.go -> migrate.go * add comment about each struct purpose * lint
Diffstat (limited to 'modules/structs/repo.go')
-rw-r--r--modules/structs/repo.go55
1 files changed, 29 insertions, 26 deletions
diff --git a/modules/structs/repo.go b/modules/structs/repo.go
index f751c00789..c57702b282 100644
--- a/modules/structs/repo.go
+++ b/modules/structs/repo.go
@@ -226,6 +226,35 @@ func (gt GitServiceType) Title() string {
return ""
}
+// MigrateRepoOptions options for migrating repository's
+// this is used to interact with api v1
+type MigrateRepoOptions struct {
+ // required: true
+ CloneAddr string `json:"clone_addr" binding:"Required"`
+ // deprecated (only for backwards compatibility)
+ RepoOwnerID int64 `json:"uid"`
+ // Name of User or Organisation who will own Repo after migration
+ RepoOwner string `json:"repo_owner"`
+ // required: true
+ RepoName string `json:"repo_name" binding:"Required;AlphaDashDot;MaxSize(100)"`
+
+ // enum: git,github,gitea,gitlab
+ Service string `json:"service"`
+ AuthUsername string `json:"auth_username"`
+ AuthPassword string `json:"auth_password"`
+ AuthToken string `json:"auth_token"`
+
+ Mirror bool `json:"mirror"`
+ Private bool `json:"private"`
+ Description string `json:"description" binding:"MaxSize(255)"`
+ Wiki bool `json:"wiki"`
+ Milestones bool `json:"milestones"`
+ Labels bool `json:"labels"`
+ Issues bool `json:"issues"`
+ PullRequests bool `json:"pull_requests"`
+ Releases bool `json:"releases"`
+}
+
// TokenAuth represents whether a service type supports token-based auth
func (gt GitServiceType) TokenAuth() bool {
switch gt {
@@ -243,29 +272,3 @@ var (
GitlabService,
}
)
-
-// MigrateRepoOption options for migrating a repository from an external service
-type MigrateRepoOption struct {
- // required: true
- CloneAddr string `json:"clone_addr" binding:"Required"`
- AuthUsername string `json:"auth_username"`
- AuthPassword string `json:"auth_password"`
- AuthToken string `json:"auth_token"`
- // required: true
- UID int `json:"uid" binding:"Required"`
- // required: true
- RepoName string `json:"repo_name" binding:"Required"`
- Mirror bool `json:"mirror"`
- Private bool `json:"private"`
- Description string `json:"description"`
- OriginalURL string
- GitServiceType GitServiceType
- Wiki bool
- Issues bool
- Milestones bool
- Labels bool
- Releases bool
- Comments bool
- PullRequests bool
- MigrateToRepoID int64
-}