summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/convert/repository.go102
-rw-r--r--modules/structs/repo.go38
-rw-r--r--templates/swagger/v1_json.tmpl8
3 files changed, 82 insertions, 66 deletions
diff --git a/modules/convert/repository.go b/modules/convert/repository.go
index eb6bb37707..d333c124b5 100644
--- a/modules/convert/repository.go
+++ b/modules/convert/repository.go
@@ -78,6 +78,8 @@ func innerToRepo(repo *repo_model.Repository, mode perm.AccessMode, isParent boo
allowRebase := false
allowRebaseMerge := false
allowSquash := false
+ allowRebaseUpdate := false
+ defaultDeleteBranchAfterMerge := false
defaultMergeStyle := repo_model.MergeStyleMerge
if unit, err := repo.GetUnit(unit_model.TypePullRequests); err == nil {
config := unit.PullRequestsConfig()
@@ -87,6 +89,8 @@ func innerToRepo(repo *repo_model.Repository, mode perm.AccessMode, isParent boo
allowRebase = config.AllowRebase
allowRebaseMerge = config.AllowRebaseMerge
allowSquash = config.AllowSquash
+ allowRebaseUpdate = config.AllowRebaseUpdate
+ defaultDeleteBranchAfterMerge = config.DefaultDeleteBranchAfterMerge
defaultMergeStyle = config.GetDefaultMergeStyle()
}
hasProjects := false
@@ -133,54 +137,56 @@ func innerToRepo(repo *repo_model.Repository, mode perm.AccessMode, isParent boo
repoAPIURL := repo.APIURL()
return &api.Repository{
- ID: repo.ID,
- Owner: ToUserWithAccessMode(repo.Owner, mode),
- Name: repo.Name,
- FullName: repo.FullName(),
- Description: repo.Description,
- Private: repo.IsPrivate,
- Template: repo.IsTemplate,
- Empty: repo.IsEmpty,
- Archived: repo.IsArchived,
- Size: int(repo.Size / 1024),
- Fork: repo.IsFork,
- Parent: parent,
- Mirror: repo.IsMirror,
- HTMLURL: repo.HTMLURL(),
- SSHURL: cloneLink.SSH,
- CloneURL: cloneLink.HTTPS,
- OriginalURL: repo.SanitizedOriginalURL(),
- Website: repo.Website,
- Language: language,
- LanguagesURL: repoAPIURL + "/languages",
- Stars: repo.NumStars,
- Forks: repo.NumForks,
- Watchers: repo.NumWatches,
- OpenIssues: repo.NumOpenIssues,
- OpenPulls: repo.NumOpenPulls,
- Releases: int(numReleases),
- DefaultBranch: repo.DefaultBranch,
- Created: repo.CreatedUnix.AsTime(),
- Updated: repo.UpdatedUnix.AsTime(),
- Permissions: permission,
- HasIssues: hasIssues,
- ExternalTracker: externalTracker,
- InternalTracker: internalTracker,
- HasWiki: hasWiki,
- HasProjects: hasProjects,
- ExternalWiki: externalWiki,
- HasPullRequests: hasPullRequests,
- IgnoreWhitespaceConflicts: ignoreWhitespaceConflicts,
- AllowMerge: allowMerge,
- AllowRebase: allowRebase,
- AllowRebaseMerge: allowRebaseMerge,
- AllowSquash: allowSquash,
- DefaultMergeStyle: string(defaultMergeStyle),
- AvatarURL: repo.AvatarLink(),
- Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
- MirrorInterval: mirrorInterval,
- MirrorUpdated: mirrorUpdated,
- RepoTransfer: transfer,
+ ID: repo.ID,
+ Owner: ToUserWithAccessMode(repo.Owner, mode),
+ Name: repo.Name,
+ FullName: repo.FullName(),
+ Description: repo.Description,
+ Private: repo.IsPrivate,
+ Template: repo.IsTemplate,
+ Empty: repo.IsEmpty,
+ Archived: repo.IsArchived,
+ Size: int(repo.Size / 1024),
+ Fork: repo.IsFork,
+ Parent: parent,
+ Mirror: repo.IsMirror,
+ HTMLURL: repo.HTMLURL(),
+ SSHURL: cloneLink.SSH,
+ CloneURL: cloneLink.HTTPS,
+ OriginalURL: repo.SanitizedOriginalURL(),
+ Website: repo.Website,
+ Language: language,
+ LanguagesURL: repoAPIURL + "/languages",
+ Stars: repo.NumStars,
+ Forks: repo.NumForks,
+ Watchers: repo.NumWatches,
+ OpenIssues: repo.NumOpenIssues,
+ OpenPulls: repo.NumOpenPulls,
+ Releases: int(numReleases),
+ DefaultBranch: repo.DefaultBranch,
+ Created: repo.CreatedUnix.AsTime(),
+ Updated: repo.UpdatedUnix.AsTime(),
+ Permissions: permission,
+ HasIssues: hasIssues,
+ ExternalTracker: externalTracker,
+ InternalTracker: internalTracker,
+ HasWiki: hasWiki,
+ HasProjects: hasProjects,
+ ExternalWiki: externalWiki,
+ HasPullRequests: hasPullRequests,
+ IgnoreWhitespaceConflicts: ignoreWhitespaceConflicts,
+ AllowMerge: allowMerge,
+ AllowRebase: allowRebase,
+ AllowRebaseMerge: allowRebaseMerge,
+ AllowSquash: allowSquash,
+ AllowRebaseUpdate: allowRebaseUpdate,
+ DefaultDeleteBranchAfterMerge: defaultDeleteBranchAfterMerge,
+ DefaultMergeStyle: string(defaultMergeStyle),
+ AvatarURL: repo.AvatarLink(),
+ Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
+ MirrorInterval: mirrorInterval,
+ MirrorUpdated: mirrorUpdated,
+ RepoTransfer: transfer,
}
}
diff --git a/modules/structs/repo.go b/modules/structs/repo.go
index ef247ebc9c..6a5736898d 100644
--- a/modules/structs/repo.go
+++ b/modules/structs/repo.go
@@ -77,24 +77,26 @@ type Repository struct {
// swagger:strfmt date-time
Created time.Time `json:"created_at"`
// swagger:strfmt date-time
- Updated time.Time `json:"updated_at"`
- Permissions *Permission `json:"permissions,omitempty"`
- HasIssues bool `json:"has_issues"`
- InternalTracker *InternalTracker `json:"internal_tracker,omitempty"`
- ExternalTracker *ExternalTracker `json:"external_tracker,omitempty"`
- HasWiki bool `json:"has_wiki"`
- ExternalWiki *ExternalWiki `json:"external_wiki,omitempty"`
- HasPullRequests bool `json:"has_pull_requests"`
- HasProjects bool `json:"has_projects"`
- IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"`
- AllowMerge bool `json:"allow_merge_commits"`
- AllowRebase bool `json:"allow_rebase"`
- AllowRebaseMerge bool `json:"allow_rebase_explicit"`
- AllowSquash bool `json:"allow_squash_merge"`
- DefaultMergeStyle string `json:"default_merge_style"`
- AvatarURL string `json:"avatar_url"`
- Internal bool `json:"internal"`
- MirrorInterval string `json:"mirror_interval"`
+ Updated time.Time `json:"updated_at"`
+ Permissions *Permission `json:"permissions,omitempty"`
+ HasIssues bool `json:"has_issues"`
+ InternalTracker *InternalTracker `json:"internal_tracker,omitempty"`
+ ExternalTracker *ExternalTracker `json:"external_tracker,omitempty"`
+ HasWiki bool `json:"has_wiki"`
+ ExternalWiki *ExternalWiki `json:"external_wiki,omitempty"`
+ HasPullRequests bool `json:"has_pull_requests"`
+ HasProjects bool `json:"has_projects"`
+ IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"`
+ AllowMerge bool `json:"allow_merge_commits"`
+ AllowRebase bool `json:"allow_rebase"`
+ AllowRebaseMerge bool `json:"allow_rebase_explicit"`
+ AllowSquash bool `json:"allow_squash_merge"`
+ AllowRebaseUpdate bool `json:"allow_rebase_update"`
+ DefaultDeleteBranchAfterMerge bool `json:"default_delete_branch_after_merge"`
+ DefaultMergeStyle string `json:"default_merge_style"`
+ AvatarURL string `json:"avatar_url"`
+ Internal bool `json:"internal"`
+ MirrorInterval string `json:"mirror_interval"`
// swagger:strfmt date-time
MirrorUpdated time.Time `json:"mirror_updated,omitempty"`
RepoTransfer *RepoTransfer `json:"repo_transfer"`
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 39c5026b77..4b24cb729d 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -17713,6 +17713,10 @@
"type": "boolean",
"x-go-name": "AllowRebaseMerge"
},
+ "allow_rebase_update": {
+ "type": "boolean",
+ "x-go-name": "AllowRebaseUpdate"
+ },
"allow_squash_merge": {
"type": "boolean",
"x-go-name": "AllowSquash"
@@ -17738,6 +17742,10 @@
"type": "string",
"x-go-name": "DefaultBranch"
},
+ "default_delete_branch_after_merge": {
+ "type": "boolean",
+ "x-go-name": "DefaultDeleteBranchAfterMerge"
+ },
"default_merge_style": {
"type": "string",
"x-go-name": "DefaultMergeStyle"