mirror of
https://github.com/harness/drone.git
synced 2025-05-04 23:22:42 +08:00
191 lines
6.5 KiB
Go
191 lines
6.5 KiB
Go
// Copyright 2022 Harness Inc. All rights reserved.
|
|
// Use of this source code is governed by the Polyform Free Trial License
|
|
// that can be found in the LICENSE.md file for this repository.
|
|
|
|
package enum
|
|
|
|
// PullReqState defines pull request state.
|
|
type PullReqState string
|
|
|
|
func (PullReqState) Enum() []interface{} { return toInterfaceSlice(pullReqStates) }
|
|
func (s PullReqState) Sanitize() (PullReqState, bool) { return Sanitize(s, GetAllPullReqStates) }
|
|
func GetAllPullReqStates() ([]PullReqState, PullReqState) { return pullReqStates, "" }
|
|
|
|
// PullReqState enumeration.
|
|
const (
|
|
PullReqStateOpen PullReqState = "open"
|
|
PullReqStateMerged PullReqState = "merged"
|
|
PullReqStateClosed PullReqState = "closed"
|
|
)
|
|
|
|
var pullReqStates = sortEnum([]PullReqState{
|
|
PullReqStateOpen,
|
|
PullReqStateMerged,
|
|
PullReqStateClosed,
|
|
})
|
|
|
|
// PullReqSort defines pull request attribute that can be used for sorting.
|
|
type PullReqSort string
|
|
|
|
func (PullReqSort) Enum() []interface{} { return toInterfaceSlice(pullReqSorts) }
|
|
func (s PullReqSort) Sanitize() (PullReqSort, bool) { return Sanitize(s, GetAllPullReqSorts) }
|
|
func GetAllPullReqSorts() ([]PullReqSort, PullReqSort) { return pullReqSorts, PullReqSortNumber }
|
|
|
|
// PullReqSort enumeration.
|
|
const (
|
|
PullReqSortNumber = "number"
|
|
PullReqSortCreated = "created"
|
|
PullReqSortEdited = "edited"
|
|
PullReqSortMerged = "merged"
|
|
)
|
|
|
|
var pullReqSorts = sortEnum([]PullReqSort{
|
|
PullReqSortNumber,
|
|
PullReqSortCreated,
|
|
PullReqSortEdited,
|
|
PullReqSortMerged,
|
|
})
|
|
|
|
// PullReqActivityType defines pull request activity message type.
|
|
// Essentially, the Type determines the structure of the pull request activity's Payload structure.
|
|
type PullReqActivityType string
|
|
|
|
func (PullReqActivityType) Enum() []interface{} { return toInterfaceSlice(pullReqActivityTypes) }
|
|
|
|
func (t PullReqActivityType) Sanitize() (PullReqActivityType, bool) {
|
|
return Sanitize(t, GetAllPullReqActivityTypes)
|
|
}
|
|
|
|
func GetAllPullReqActivityTypes() ([]PullReqActivityType, PullReqActivityType) {
|
|
return pullReqActivityTypes, "" // No default value
|
|
}
|
|
|
|
// PullReqActivityType enumeration.
|
|
const (
|
|
PullReqActivityTypeComment PullReqActivityType = "comment"
|
|
PullReqActivityTypeCodeComment PullReqActivityType = "code-comment"
|
|
PullReqActivityTypeTitleChange PullReqActivityType = "title-change"
|
|
PullReqActivityTypeStateChange PullReqActivityType = "state-change"
|
|
PullReqActivityTypeReviewSubmit PullReqActivityType = "review-submit"
|
|
PullReqActivityTypeBranchUpdate PullReqActivityType = "branch-update"
|
|
PullReqActivityTypeBranchDelete PullReqActivityType = "branch-delete"
|
|
PullReqActivityTypeMerge PullReqActivityType = "merge"
|
|
)
|
|
|
|
var pullReqActivityTypes = sortEnum([]PullReqActivityType{
|
|
PullReqActivityTypeComment,
|
|
PullReqActivityTypeCodeComment,
|
|
PullReqActivityTypeTitleChange,
|
|
PullReqActivityTypeStateChange,
|
|
PullReqActivityTypeReviewSubmit,
|
|
PullReqActivityTypeBranchUpdate,
|
|
PullReqActivityTypeBranchDelete,
|
|
PullReqActivityTypeMerge,
|
|
})
|
|
|
|
// PullReqActivityKind defines kind of pull request activity system message.
|
|
// Kind defines the source of the pull request activity entry:
|
|
// Whether it's generated by the system, it's a user comment or a part of code review.
|
|
type PullReqActivityKind string
|
|
|
|
func (PullReqActivityKind) Enum() []interface{} { return toInterfaceSlice(pullReqActivityKinds) }
|
|
|
|
func (k PullReqActivityKind) Sanitize() (PullReqActivityKind, bool) {
|
|
return Sanitize(k, GetAllPullReqActivityKinds)
|
|
}
|
|
|
|
func GetAllPullReqActivityKinds() ([]PullReqActivityKind, PullReqActivityKind) {
|
|
return pullReqActivityKinds, "" // No default value
|
|
}
|
|
|
|
// PullReqActivityKind enumeration.
|
|
const (
|
|
PullReqActivityKindSystem PullReqActivityKind = "system"
|
|
PullReqActivityKindComment PullReqActivityKind = "comment"
|
|
PullReqActivityKindCodeComment PullReqActivityKind = "code"
|
|
)
|
|
|
|
var pullReqActivityKinds = sortEnum([]PullReqActivityKind{
|
|
PullReqActivityKindSystem,
|
|
PullReqActivityKindComment,
|
|
PullReqActivityKindCodeComment,
|
|
})
|
|
|
|
// PullReqReviewDecision defines state of a pull request review.
|
|
type PullReqReviewDecision string
|
|
|
|
func (PullReqReviewDecision) Enum() []interface{} {
|
|
return toInterfaceSlice(pullReqReviewDecisions)
|
|
}
|
|
|
|
func (decision PullReqReviewDecision) Sanitize() (PullReqReviewDecision, bool) {
|
|
return Sanitize(decision, GetAllPullReqReviewDecisions)
|
|
}
|
|
|
|
func GetAllPullReqReviewDecisions() ([]PullReqReviewDecision, PullReqReviewDecision) {
|
|
return pullReqReviewDecisions, "" // No default value
|
|
}
|
|
|
|
// PullReqReviewDecision enumeration.
|
|
const (
|
|
PullReqReviewDecisionPending PullReqReviewDecision = "pending"
|
|
PullReqReviewDecisionReviewed PullReqReviewDecision = "reviewed"
|
|
PullReqReviewDecisionApproved PullReqReviewDecision = "approved"
|
|
PullReqReviewDecisionChangeReq PullReqReviewDecision = "changereq"
|
|
)
|
|
|
|
var pullReqReviewDecisions = sortEnum([]PullReqReviewDecision{
|
|
PullReqReviewDecisionPending,
|
|
PullReqReviewDecisionReviewed,
|
|
PullReqReviewDecisionApproved,
|
|
PullReqReviewDecisionChangeReq,
|
|
})
|
|
|
|
// PullReqReviewerType defines type of a pull request reviewer.
|
|
type PullReqReviewerType string
|
|
|
|
func (PullReqReviewerType) Enum() []interface{} { return toInterfaceSlice(pullReqReviewerTypes) }
|
|
|
|
func (reviewerType PullReqReviewerType) Sanitize() (PullReqReviewerType, bool) {
|
|
return Sanitize(reviewerType, GetAllPullReqReviewerTypes)
|
|
}
|
|
|
|
func GetAllPullReqReviewerTypes() ([]PullReqReviewerType, PullReqReviewerType) {
|
|
return pullReqReviewerTypes, "" // No default value
|
|
}
|
|
|
|
// PullReqReviewerType enumeration.
|
|
const (
|
|
PullReqReviewerTypeRequested PullReqReviewerType = "requested"
|
|
PullReqReviewerTypeAssigned PullReqReviewerType = "assigned"
|
|
PullReqReviewerTypeSelfAssigned PullReqReviewerType = "self_assigned"
|
|
)
|
|
|
|
var pullReqReviewerTypes = sortEnum([]PullReqReviewerType{
|
|
PullReqReviewerTypeRequested,
|
|
PullReqReviewerTypeAssigned,
|
|
PullReqReviewerTypeSelfAssigned,
|
|
})
|
|
|
|
// MergeMethod represents the approach to merge commits into base branch.
|
|
type MergeMethod string
|
|
|
|
func (MergeMethod) Enum() []interface{} { return toInterfaceSlice(mergeMethods) }
|
|
func (m MergeMethod) Sanitize() (MergeMethod, bool) { return Sanitize(m, GetAllMergeMethods) }
|
|
func GetAllMergeMethods() ([]MergeMethod, MergeMethod) { return mergeMethods, MergeMethodMerge }
|
|
|
|
const (
|
|
// MergeMethodMerge create merge commit.
|
|
MergeMethodMerge MergeMethod = "merge"
|
|
// MergeMethodSquash squash commits into single commit before merging.
|
|
MergeMethodSquash MergeMethod = "squash"
|
|
// MergeMethodRebase rebase before merging.
|
|
MergeMethodRebase MergeMethod = "rebase"
|
|
)
|
|
|
|
var mergeMethods = sortEnum([]MergeMethod{
|
|
MergeMethodMerge,
|
|
MergeMethodSquash,
|
|
MergeMethodRebase,
|
|
})
|