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

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