X-Git-Url: http://source.bookstackapp.com/bookstack/blobdiff_plain/8716b1922b5a619e1b070184e0a4d7b565cb1f39..refs/pull/3138/head:/app/Http/Controllers/WebhookController.php diff --git a/app/Http/Controllers/WebhookController.php b/app/Http/Controllers/WebhookController.php index 497d623b2..eca3002c6 100644 --- a/app/Http/Controllers/WebhookController.php +++ b/app/Http/Controllers/WebhookController.php @@ -24,6 +24,7 @@ class WebhookController extends Controller ->orderBy('name', 'desc') ->with('trackedEvents') ->get(); + return view('settings.webhooks.index', ['webhooks' => $webhooks]); } @@ -41,16 +42,19 @@ class WebhookController extends Controller public function store(Request $request) { $validated = $this->validate($request, [ - 'name' => ['required', 'max:150'], + 'name' => ['required', 'max:150'], 'endpoint' => ['required', 'url', 'max:500'], - 'events' => ['required', 'array'] + 'events' => ['required', 'array'], + 'active' => ['required'], ]); $webhook = new Webhook($validated); + $webhook->active = $validated['active'] === 'true'; $webhook->save(); $webhook->updateTrackedEvents(array_values($validated['events'])); $this->logActivity(ActivityType::WEBHOOK_CREATE, $webhook); + return redirect('/settings/webhooks'); } @@ -73,18 +77,21 @@ class WebhookController extends Controller public function update(Request $request, string $id) { $validated = $this->validate($request, [ - 'name' => ['required', 'max:150'], + 'name' => ['required', 'max:150'], 'endpoint' => ['required', 'url', 'max:500'], - 'events' => ['required', 'array'] + 'events' => ['required', 'array'], + 'active' => ['required'], ]); /** @var Webhook $webhook */ $webhook = Webhook::query()->findOrFail($id); + $webhook->active = $validated['active'] === 'true'; $webhook->fill($validated)->save(); $webhook->updateTrackedEvents($validated['events']); $this->logActivity(ActivityType::WEBHOOK_UPDATE, $webhook); + return redirect('/settings/webhooks'); } @@ -95,6 +102,7 @@ class WebhookController extends Controller { /** @var Webhook $webhook */ $webhook = Webhook::query()->findOrFail($id); + return view('settings.webhooks.delete', ['webhook' => $webhook]); } @@ -110,6 +118,7 @@ class WebhookController extends Controller $webhook->delete(); $this->logActivity(ActivityType::WEBHOOK_DELETE, $webhook); + return redirect('/settings/webhooks'); } }