mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
2.2 KiB
67 lines
2.2 KiB
// Copyright 2020 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package structs |
|
|
|
// CommitStatusState holds the state of a CommitStatus |
|
// It can be "pending", "success", "error" and "failure" |
|
type CommitStatusState string |
|
|
|
const ( |
|
// CommitStatusPending is for when the CommitStatus is Pending |
|
CommitStatusPending CommitStatusState = "pending" |
|
// CommitStatusSuccess is for when the CommitStatus is Success |
|
CommitStatusSuccess CommitStatusState = "success" |
|
// CommitStatusError is for when the CommitStatus is Error |
|
CommitStatusError CommitStatusState = "error" |
|
// CommitStatusFailure is for when the CommitStatus is Failure |
|
CommitStatusFailure CommitStatusState = "failure" |
|
// CommitStatusWarning is for when the CommitStatus is Warning |
|
CommitStatusWarning CommitStatusState = "warning" |
|
// CommitStatusSkipped is for when CommitStatus is Skipped |
|
CommitStatusSkipped CommitStatusState = "skipped" |
|
) |
|
|
|
var commitStatusPriorities = map[CommitStatusState]int{ |
|
CommitStatusError: 0, |
|
CommitStatusFailure: 1, |
|
CommitStatusWarning: 2, |
|
CommitStatusPending: 3, |
|
CommitStatusSuccess: 4, |
|
CommitStatusSkipped: 5, |
|
} |
|
|
|
func (css CommitStatusState) String() string { |
|
return string(css) |
|
} |
|
|
|
// HasHigherPriorityThan returns true if this state has higher priority than the other |
|
// Undefined states are considered to have the highest priority like CommitStatusError(0) |
|
func (css CommitStatusState) HasHigherPriorityThan(other CommitStatusState) bool { |
|
return commitStatusPriorities[css] < commitStatusPriorities[other] |
|
} |
|
|
|
// IsPending represents if commit status state is pending |
|
func (css CommitStatusState) IsPending() bool { |
|
return css == CommitStatusPending |
|
} |
|
|
|
// IsSuccess represents if commit status state is success |
|
func (css CommitStatusState) IsSuccess() bool { |
|
return css == CommitStatusSuccess |
|
} |
|
|
|
// IsError represents if commit status state is error |
|
func (css CommitStatusState) IsError() bool { |
|
return css == CommitStatusError |
|
} |
|
|
|
// IsFailure represents if commit status state is failure |
|
func (css CommitStatusState) IsFailure() bool { |
|
return css == CommitStatusFailure |
|
} |
|
|
|
// IsWarning represents if commit status state is warning |
|
func (css CommitStatusState) IsWarning() bool { |
|
return css == CommitStatusWarning |
|
}
|
|
|