12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- // 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"
- )
-
- var commitStatusPriorities = map[CommitStatusState]int{
- CommitStatusError: 0,
- CommitStatusFailure: 1,
- CommitStatusWarning: 2,
- CommitStatusPending: 3,
- CommitStatusSuccess: 4,
- }
-
- func (css CommitStatusState) String() string {
- return string(css)
- }
-
- // NoBetterThan returns true if this State is no better than the given State
- // This function only handles the states defined in CommitStatusPriorities
- func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool {
- // NoBetterThan only handles the 5 states above
- if _, exist := commitStatusPriorities[css]; !exist {
- return false
- }
-
- if _, exist := commitStatusPriorities[css2]; !exist {
- return false
- }
-
- return commitStatusPriorities[css] <= commitStatusPriorities[css2]
- }
-
- // 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
- }
|