code.gitea.io/gitea@v1.19.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", "failure", and "warning"
     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  	// CommitStatusRunning is for when the CommitStatus is Running
    22  	CommitStatusRunning CommitStatusState = "running"
    23  )
    24  
    25  // NoBetterThan returns true if this State is no better than the given State
    26  func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool {
    27  	switch css {
    28  	case CommitStatusError:
    29  		return true
    30  	case CommitStatusFailure:
    31  		return css2 != CommitStatusError
    32  	case CommitStatusWarning:
    33  		return css2 != CommitStatusError && css2 != CommitStatusFailure
    34  	case CommitStatusPending:
    35  		return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning
    36  	default:
    37  		return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning && css2 != CommitStatusPending
    38  	}
    39  }
    40  
    41  // IsPending represents if commit status state is pending
    42  func (css CommitStatusState) IsPending() bool {
    43  	return css == CommitStatusPending
    44  }
    45  
    46  // IsSuccess represents if commit status state is success
    47  func (css CommitStatusState) IsSuccess() bool {
    48  	return css == CommitStatusSuccess
    49  }
    50  
    51  // IsError represents if commit status state is error
    52  func (css CommitStatusState) IsError() bool {
    53  	return css == CommitStatusError
    54  }
    55  
    56  // IsFailure represents if commit status state is failure
    57  func (css CommitStatusState) IsFailure() bool {
    58  	return css == CommitStatusFailure
    59  }
    60  
    61  // IsWarning represents if commit status state is warning
    62  func (css CommitStatusState) IsWarning() bool {
    63  	return css == CommitStatusWarning
    64  }