tenseleyflow/shithub / d99c093

Browse files

S33: declare RepoWebhooksMounter

Authored by espadonne
SHA
d99c093cc5615583e96037615f113e591f161984
Parents
3897a08
Tree
3bfc940

1 changed file

StatusFile+-
M internal/web/handlers/handlers.go 10 0
internal/web/handlers/handlers.gomodified
@@ -75,6 +75,10 @@ type Deps struct {
7575
 	// the deferred-tab placeholders (webhooks, keys, notifications,
7676
 	// tags) under /{owner}/{repo}/settings/* (S32). Auth-required.
7777
 	RepoSettingsGeneralMounter func(chi.Router)
78
+	// RepoWebhooksMounter registers the per-repo webhook CRUD +
79
+	// delivery views under /{owner}/{repo}/settings/webhooks/* (S33).
80
+	// Auth-required.
81
+	RepoWebhooksMounter func(chi.Router)
7882
 	// RepoIssuesMounter registers /{owner}/{repo}/issues, /labels, and
7983
 	// /milestones routes (S21). Reads are public (per-repo policy gate);
8084
 	// writes are auth-required.
@@ -243,6 +247,12 @@ func RegisterChi(r *chi.Mux, deps Deps) (*chi.Mux, middleware.PanicHandler, http
243247
 		if deps.RepoSettingsGeneralMounter != nil {
244248
 			deps.RepoSettingsGeneralMounter(r)
245249
 		}
250
+		// Webhooks (S33) — register BEFORE the general mounter so the
251
+		// /settings/webhooks GET resolves to the new CRUD list, not
252
+		// any stale placeholder.
253
+		if deps.RepoWebhooksMounter != nil {
254
+			deps.RepoWebhooksMounter(r)
255
+		}
246256
 		if deps.RepoIssuesMounter != nil {
247257
 			deps.RepoIssuesMounter(r)
248258
 		}