mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-11-30 00:01:24 +00:00
f6e7798405
Tooltip: ![image](https://github.com/go-gitea/gitea/assets/18380374/237cb545-7844-424b-b995-1008eaaaedec) Link to the target job: ![image](https://github.com/go-gitea/gitea/assets/18380374/0c11a97f-6517-47f2-8773-f381488c084e)
66 lines
2 KiB
Go
66 lines
2 KiB
Go
// 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"
|
|
)
|
|
|
|
var commitStatusPriorities = map[CommitStatusState]int{
|
|
CommitStatusError: 0,
|
|
CommitStatusFailure: 1,
|
|
CommitStatusPending: 2,
|
|
CommitStatusSuccess: 3,
|
|
}
|
|
|
|
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 4 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
|
|
}
|