Refactor webhook events (#33337)

Extract from #33320

This PR uses a map instead of a struct to store webhook event
information. It removes many duplicated functions and makes the logic
clearer.
This commit is contained in:
Lunny Xiao 2025-01-23 10:53:06 -08:00 committed by GitHub
parent 594b8350b1
commit e94f37f95e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 176 additions and 335 deletions

20
modules/webhook/events.go Normal file
View file

@ -0,0 +1,20 @@
// Copyright 2025 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package webhook
type HookEvents map[HookEventType]bool
func (he HookEvents) Get(evt HookEventType) bool {
return he[evt]
}
// HookEvent represents events that will delivery hook.
type HookEvent struct {
PushOnly bool `json:"push_only"`
SendEverything bool `json:"send_everything"`
ChooseEvents bool `json:"choose_events"`
BranchFilter string `json:"branch_filter"`
HookEvents `json:"events"`
}