code.gitea.io/gitea@v1.22.3/modules/structs/commit_status.go (about) 1 // Copyright 2020 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package structs 5 6 // CommitStatusState holds the state of a CommitStatus 7 // It can be "pending", "success", "error" and "failure" 8 type CommitStatusState string 9 10 const ( 11 // CommitStatusPending is for when the CommitStatus is Pending 12 CommitStatusPending CommitStatusState = "pending" 13 // CommitStatusSuccess is for when the CommitStatus is Success 14 CommitStatusSuccess CommitStatusState = "success" 15 // CommitStatusError is for when the CommitStatus is Error 16 CommitStatusError CommitStatusState = "error" 17 // CommitStatusFailure is for when the CommitStatus is Failure 18 CommitStatusFailure CommitStatusState = "failure" 19 // CommitStatusWarning is for when the CommitStatus is Warning 20 CommitStatusWarning CommitStatusState = "warning" 21 ) 22 23 var commitStatusPriorities = map[CommitStatusState]int{ 24 CommitStatusError: 0, 25 CommitStatusFailure: 1, 26 CommitStatusWarning: 2, 27 CommitStatusPending: 3, 28 CommitStatusSuccess: 4, 29 } 30 31 func (css CommitStatusState) String() string { 32 return string(css) 33 } 34 35 // NoBetterThan returns true if this State is no better than the given State 36 // This function only handles the states defined in CommitStatusPriorities 37 func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool { 38 // NoBetterThan only handles the 5 states above 39 if _, exist := commitStatusPriorities[css]; !exist { 40 return false 41 } 42 43 if _, exist := commitStatusPriorities[css2]; !exist { 44 return false 45 } 46 47 return commitStatusPriorities[css] <= commitStatusPriorities[css2] 48 } 49 50 // IsPending represents if commit status state is pending 51 func (css CommitStatusState) IsPending() bool { 52 return css == CommitStatusPending 53 } 54 55 // IsSuccess represents if commit status state is success 56 func (css CommitStatusState) IsSuccess() bool { 57 return css == CommitStatusSuccess 58 } 59 60 // IsError represents if commit status state is error 61 func (css CommitStatusState) IsError() bool { 62 return css == CommitStatusError 63 } 64 65 // IsFailure represents if commit status state is failure 66 func (css CommitStatusState) IsFailure() bool { 67 return css == CommitStatusFailure 68 } 69 70 // IsWarning represents if commit status state is warning 71 func (css CommitStatusState) IsWarning() bool { 72 return css == CommitStatusWarning 73 }