mirror of
https://github.com/harness/drone.git
synced 2025-05-05 03:41:45 +08:00

This change adds webhook APIs to swagger and regenerates the web service clients based on the latest swagger.
131 lines
3.5 KiB
Go
131 lines
3.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
|
|
|
|
import (
|
|
"sort"
|
|
"strings"
|
|
)
|
|
|
|
// PullReqState defines pull request state.
|
|
type PullReqState string
|
|
|
|
// PullReqState enumeration.
|
|
const (
|
|
PullReqStateOpen PullReqState = "open"
|
|
PullReqStateMerged PullReqState = "merged"
|
|
PullReqStateClosed PullReqState = "closed"
|
|
PullReqStateRejected PullReqState = "rejected"
|
|
)
|
|
|
|
// PullReqSort defines pull request attribute that can be used for sorting.
|
|
type PullReqSort int
|
|
|
|
// PullReqAttr enumeration.
|
|
const (
|
|
PullReqSortNone PullReqSort = iota
|
|
PullReqSortNumber
|
|
PullReqSortCreated
|
|
PullReqSortUpdated
|
|
)
|
|
|
|
// ParsePullReqSort parses the pull request attribute string
|
|
// and returns the equivalent enumeration.
|
|
func ParsePullReqSort(s string) PullReqSort {
|
|
switch strings.ToLower(s) {
|
|
case number:
|
|
return PullReqSortNumber
|
|
case created, createdAt:
|
|
return PullReqSortCreated
|
|
case updated, updatedAt:
|
|
return PullReqSortUpdated
|
|
default:
|
|
return PullReqSortNone
|
|
}
|
|
}
|
|
|
|
// String returns the string representation of the attribute.
|
|
func (a PullReqSort) String() string {
|
|
switch a {
|
|
case PullReqSortNumber:
|
|
return number
|
|
case PullReqSortCreated:
|
|
return created
|
|
case PullReqSortUpdated:
|
|
return updated
|
|
case PullReqSortNone:
|
|
return ""
|
|
default:
|
|
return undefined
|
|
}
|
|
}
|
|
|
|
// PullReqActivityType defines pull request activity message type.
|
|
// Essentially, the Type determines the structure of the pull request activity's Payload structure.
|
|
type PullReqActivityType string
|
|
|
|
// PullReqActivityType enumeration.
|
|
const (
|
|
PullReqActivityTypeComment PullReqActivityType = "comment"
|
|
PullReqActivityTypeCodeComment PullReqActivityType = "code-comment"
|
|
PullReqActivityTypeTitleChange PullReqActivityType = "title-change"
|
|
)
|
|
|
|
func GetAllPullReqActivityTypes() []PullReqActivityType {
|
|
return []PullReqActivityType{
|
|
PullReqActivityTypeComment,
|
|
PullReqActivityTypeCodeComment,
|
|
PullReqActivityTypeTitleChange,
|
|
}
|
|
}
|
|
|
|
var rawPullReqActivityTypes = enumToStringSlice(GetAllPullReqActivityTypes())
|
|
|
|
func init() {
|
|
sort.Strings(rawPullReqActivityTypes)
|
|
}
|
|
|
|
// ParsePullReqActivityType parses the pull request activity type.
|
|
func ParsePullReqActivityType(s string) (PullReqActivityType, bool) {
|
|
if existsInSortedSlice(rawPullReqActivityTypes, s) {
|
|
return PullReqActivityType(s), true
|
|
}
|
|
return "", false
|
|
}
|
|
|
|
// 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
|
|
|
|
// PullReqActivityKind enumeration.
|
|
const (
|
|
PullReqActivityKindSystem PullReqActivityKind = "system"
|
|
PullReqActivityKindComment PullReqActivityKind = "comment"
|
|
PullReqActivityKindCodeComment PullReqActivityKind = "code"
|
|
)
|
|
|
|
func GetAllPullReqActivityKinds() []PullReqActivityKind {
|
|
return []PullReqActivityKind{
|
|
PullReqActivityKindSystem,
|
|
PullReqActivityKindComment,
|
|
PullReqActivityKindCodeComment,
|
|
}
|
|
}
|
|
|
|
var rawPullReqActivityKinds = enumToStringSlice(GetAllPullReqActivityKinds())
|
|
|
|
func init() {
|
|
sort.Strings(rawPullReqActivityKinds)
|
|
}
|
|
|
|
// ParsePullReqActivityKind parses the pull request activity type.
|
|
func ParsePullReqActivityKind(s string) (PullReqActivityKind, bool) {
|
|
if existsInSortedSlice(rawPullReqActivityKinds, s) {
|
|
return PullReqActivityKind(s), true
|
|
}
|
|
return "", false
|
|
}
|