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.
73 lines
2.2 KiB
73 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" |
|
) |
|
|
|
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 |
|
}
|
|
|