gitea/modules/structs
Lunny Xiao 6d0b24064a
Keeping consistent between UI and API about combined commit status state and fix some bugs (#34562)
Extract from #34531 

## Move Commit status state to a standalone package

Move the state from `structs` to `commitstatus` package. It also
introduce `CommitStatusStates` so that the combine function could be
used from UI and API logic.

## Combined commit status Changed

This PR will follow Github's combined commit status. Before this PR,
every commit status could be a combined one.
According to
https://docs.github.com/en/rest/commits/statuses?apiVersion=2022-11-28#get-the-combined-status-for-a-specific-reference
> Additionally, a combined state is returned. The state is one of:
> failure if any of the contexts report as error or failure
> pending if there are no statuses or a context is pending
> success if the latest status for all contexts is success

This PR will follow that rule and remove the `NoBetterThan` logic. This
also fixes the inconsistent between UI and API. In the API convert
package, it has implemented this which is different from the UI. It also
fixed the missing `URL` and `CommitURL` in the API.

## `CalcCommitStatus` return nil if there is no commit statuses

The behavior of `CalcCommitStatus` is changed. If the parameter commit
statuses is empty, it will return nil. The reference places should check
the returned value themselves.
2025-06-09 04:05:33 +00:00
..
activity.go
activitypub.go
admin_user.go
attachment.go
cron.go
doc.go
fork.go
git_blob.go Add API endpoint to request contents of multiple files simultaniously (#34139) 2025-04-22 01:20:11 +08:00
git_hook.go
hook.go Add workflow_job webhook (#33694) 2025-03-11 10:40:38 -07:00
issue_comment.go
issue_label.go
issue_milestone.go
issue_reaction.go
issue_stopwatch.go
issue_test.go Support issue template assignees (#31083) 2024-08-12 16:00:40 +08:00
issue_tracked_time.go
issue.go Add API routes to lock and unlock issues (#34165) 2025-04-21 00:43:43 +00:00
lfs_lock.go
mirror.go
miscellaneous.go Refactor render system (#32492) 2024-11-14 05:02:11 +00:00
nodeinfo.go
notifications.go
org_member.go
org_team.go
org.go Inclusion of rename organization api (#33303) 2025-02-01 00:59:49 +00:00
package.go Add package version api endpoints (#34173) 2025-04-13 20:00:44 +00:00
pull_review.go
pull.go Decouple diff stats query from actual diffing (#33810) 2025-03-08 17:36:08 +08:00
release.go
repo_actions.go Actions Runner rest api (#33873) 2025-04-18 15:22:41 +00:00
repo_branch.go Fix sync fork for consistency (#33147) 2025-01-10 05:29:55 +00:00
repo_collaborator.go
repo_commit.go
repo_compare.go
repo_file.go Add API endpoint to request contents of multiple files simultaniously (#34139) 2025-04-22 01:20:11 +08:00
repo_key.go
repo_note.go
repo_refs.go
repo_tag.go fix: do not return archive download URLs in API if downloads are disabled (#34324) 2025-04-30 10:06:37 -07:00
repo_topic.go
repo_tree.go
repo_watch.go
repo_wiki.go
repo.go add codecommit to supported services in api docs (#34626) 2025-06-07 03:31:34 +00:00
secret.go Added Description Field for Secrets and Variables (#33526) 2025-03-17 19:24:54 +00:00
settings.go Add API endpoint to request contents of multiple files simultaniously (#34139) 2025-04-22 01:20:11 +08:00
status.go Keeping consistent between UI and API about combined commit status state and fix some bugs (#34562) 2025-06-09 04:05:33 +00:00
task.go
user_app.go feat: return time of last usage for public keys and access tokens in the api (#34323) 2025-05-01 21:42:17 +03:00
user_email.go
user_gpgkey.go
user_key.go feat: return time of last usage for public keys and access tokens in the api (#34323) 2025-05-01 21:42:17 +03:00
user.go
variable.go Added Description Field for Secrets and Variables (#33526) 2025-03-17 19:24:54 +00:00
visible_type.go