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.

commit_status.go 2.2KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. // Copyright 2020 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package structs
  4. // CommitStatusState holds the state of a CommitStatus
  5. // It can be "pending", "success", "error", "failure", and "warning"
  6. type CommitStatusState string
  7. const (
  8. // CommitStatusPending is for when the CommitStatus is Pending
  9. CommitStatusPending CommitStatusState = "pending"
  10. // CommitStatusSuccess is for when the CommitStatus is Success
  11. CommitStatusSuccess CommitStatusState = "success"
  12. // CommitStatusError is for when the CommitStatus is Error
  13. CommitStatusError CommitStatusState = "error"
  14. // CommitStatusFailure is for when the CommitStatus is Failure
  15. CommitStatusFailure CommitStatusState = "failure"
  16. // CommitStatusWarning is for when the CommitStatus is Warning
  17. CommitStatusWarning CommitStatusState = "warning"
  18. // CommitStatusRunning is for when the CommitStatus is Running
  19. CommitStatusRunning CommitStatusState = "running"
  20. )
  21. // NoBetterThan returns true if this State is no better than the given State
  22. func (css CommitStatusState) NoBetterThan(css2 CommitStatusState) bool {
  23. switch css {
  24. case CommitStatusError:
  25. return true
  26. case CommitStatusFailure:
  27. return css2 != CommitStatusError
  28. case CommitStatusWarning:
  29. return css2 != CommitStatusError && css2 != CommitStatusFailure
  30. case CommitStatusPending:
  31. return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning
  32. default:
  33. return css2 != CommitStatusError && css2 != CommitStatusFailure && css2 != CommitStatusWarning && css2 != CommitStatusPending
  34. }
  35. }
  36. // IsPending represents if commit status state is pending
  37. func (css CommitStatusState) IsPending() bool {
  38. return css == CommitStatusPending
  39. }
  40. // IsSuccess represents if commit status state is success
  41. func (css CommitStatusState) IsSuccess() bool {
  42. return css == CommitStatusSuccess
  43. }
  44. // IsError represents if commit status state is error
  45. func (css CommitStatusState) IsError() bool {
  46. return css == CommitStatusError
  47. }
  48. // IsFailure represents if commit status state is failure
  49. func (css CommitStatusState) IsFailure() bool {
  50. return css == CommitStatusFailure
  51. }
  52. // IsWarning represents if commit status state is warning
  53. func (css CommitStatusState) IsWarning() bool {
  54. return css == CommitStatusWarning
  55. }