diff options
Diffstat (limited to 'modules/migrations/base/pullrequest.go')
-rw-r--r-- | modules/migrations/base/pullrequest.go | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/modules/migrations/base/pullrequest.go b/modules/migrations/base/pullrequest.go new file mode 100644 index 0000000000..515cab3f91 --- /dev/null +++ b/modules/migrations/base/pullrequest.go @@ -0,0 +1,53 @@ +// 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 + +import ( + "fmt" + "time" +) + +// PullRequest defines a standard pull request information +type PullRequest struct { + Number int64 + Title string + PosterName string + PosterEmail string + Content string + Milestone string + State string + Created time.Time + Closed *time.Time + Labels []*Label + PatchURL string + Merged bool + MergedTime *time.Time + MergeCommitSHA string + Head PullRequestBranch + Base PullRequestBranch + Assignee string + Assignees []string + IsLocked bool +} + +// IsForkPullRequest returns true if the pull request from a forked repository but not the same repository +func (p *PullRequest) IsForkPullRequest() bool { + return p.Head.RepoPath() != p.Base.RepoPath() +} + +// PullRequestBranch represents a pull request branch +type PullRequestBranch struct { + CloneURL string + Ref string + SHA string + RepoName string + OwnerName string +} + +// RepoPath returns pull request repo path +func (p PullRequestBranch) RepoPath() string { + return fmt.Sprintf("%s/%s", p.OwnerName, p.RepoName) +} |